A tutorial discuss Linux Core installation using an installation script that can be downloaded as an extension from Tinycore repository. Thanks to the script, installation is automated and easy thus much more preferable than manual installation.
The installation steps provided below have been tested for both x86 and x86-64 Linux Core 6.x and and show step-by-step installation on Qemu virtual machine. Linux Core image can be downloaded from here.
1. Creating Qemu Disk
$ /usr/local/bin/qemu-img create -f qcow2 ./linux-core.img 200M
2. Starting Qemu Virtual Machine with Attached Installation ISO Image
$ /usr/local/bin/qemu-system-i386 -boot d -cdrom ./Core.iso -hda linux-core.img
3. Installing tc-install Extension
$ tce-load -wi tc-install
Note: Additional extensions - perl5, dosfstools, syslinux will be installed.
4. Starting Installation Script
$ sudo /usr/local/bin/tc-install.sh
Select - c - install from CDROM.
Picture 1 - Selecting Install Source
5. Install Type
Select install type - f - frugal.
Picture 2 - Selecting Installation Type
6. Target for Installation of Core
Select target for installation Core - 1 - Whole disk.
Picture 3 - Selecting target for installation
7. Selecting Disk
Select disk for Core - 2 - disk sda.
Picture 4 - Selecting disk for Core
8. Bootloader Installation
Install boot loader - y
Picture 5 - Bootloader installation
9. Format for Partition Disk
Select format option for disk /dev/sda - 3 - ext4.
Picture 6 - Selecting Format Option
Finally, press ENTER - we do not need to enter any boot code. Last chance to exit before destroying data, continue: y.
Picture 7 - Boot Code Menu
Installation process begins.
Picture 8 - Core Installation
10. Shutdown Core Linux
$ sudo halt
Start your fresh x86 Linux Core installation with the command:
$ /usr/local/bin/qemu-system-i386 -boot c -hda linux-core.img
11. Linux Core x86-64 Installation
In case you want to install Linux Core x86-64 version some some extra steps are needed. First download CorePure64 ISO disk image from here.
Start Linux x86 Core virtual machine with attached Core Linux x86-64 ISO disk and mount CDROM.
$ /usr/local/bin/qemu-system-i386 -m 1G -boot c -cdrom CorePure64.iso -hda linux-core.img
$ mount /mnt/sr0
Copy x86-64 Linux kernel vmlinuz64, and root filesystem core64.gz and remove their 32 bit versions that are not needed anymore.
$ cp /mnt/sr0/boot/corepure64.gz /mnt/sda1/tce/boot
$ cp /mnt/sr0/boot/vmlinuz64 /mnt/sda1/tce/boot
$ rm /mnt/sda1/tce/boot/core.gz
$ rm /mnt/sda1/tce/boot/vmlinuz
Edit extlinux config file and replace keywords vmlinuz and core with their 64 bit command versions.
$ sed -i 's/vmlinuz/vmlinuz64/g' /mnt/sda1/tce/boot/extlinux/extlinux.conf
$ sed -i 's/core/corepure64/g' /mnt/sda1/tce/boot/extlinux/extlinux.conf
Shutdown Core Linux. Optionally rename linux-core image to CorePure64.img.
$ sudo halt
$ mv linux-core CorePure64.img
Start your fresh x86-64 Linux Core installation with the command:
$ /usr/local/bin/qemu-system-x86_64 -m 1G -boot c -hda CorePure64.img
12. Remastering Core for Graphical Output to Serial Port
Core Linux has to be remastered in order to send graphical output to a serial port. The steps are explained here.
brezular,
Thanks for the detailed instructions. The tinycore documentation is difficult to follow and often outdated for anything other than Cloud mode.
Hi Brezular,
Do you know if the bridge-utils and tunctl extensions for Tiny Core 5 still exist or have been renamed ?
I cannot find them in the repository. In TinyCore 4 i saw them.
Thanks
Hello,
seems that both extensions have gone in 5.x repo. They are two ways how to solve your problem:
1. Temporary force Core to search extensions in 4.x repo instead of 5.x.
Change Core version:
Edit /usr/share/doc/tc/release.txt and change your version to 4.7.7
Install extensions:
tce-load -wi tunctl bridge-utils
Explanation:
Core version mentioned in /usr/share/doc/tc/release.txt is input for function getMajorVer() that is input for function getMirror(). Both functions are part of the script /etc/init.d/tc-functions
You can check a mirror that you actually use with the command:
$ tce-status -o
2. Manually copy tunctl and bridge-utils from Core 4.x installation