Linux Core Installation Using Installation Script

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.

pict1

Picture 1 - Selecting Install Source

5. Install Type

Select install type - - frugal.

pict2

Picture 2 - Selecting Installation Type

6. Target for Installation of Core

Select target for installation Core - 1 - Whole disk.

pict3

Picture 3 - Selecting target for installation

7. Selecting Disk

Select disk for Core - 2 - disk sda.

pict4

Picture 4 - Selecting disk for Core

8. Bootloader Installation

Install boot loader - y     

pict5

Picture 5 - Bootloader installation

9. Format for Partition Disk

Select format option for disk /dev/sda - 3 - ext4.

pict6

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.

pict7

Picture 7 - Boot Code Menu

Installation process begins.

pict8

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.

5 thoughts on “Linux Core Installation Using Installation Script

  1. 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

Leave a comment

Your email address will not be published. Required fields are marked *