Welcome to the Tiny Core Linux Wiki at tinycorelinux.net!

Only 5 or so files need to be copied to the drive. The process consists of booting to a live cd, making some directories, copying some files, and installing a boot loader. The whole install could take as little as 10 minutes. I will use a $<space>command or #<space>command format. Whatever comes after the $ or # is what you type. « » indicates a changing parameter that you have to fill in based on your own situation. Text that you have to type is in bold.

Pre-install:

1. Download and burn to CD the Core_current.iso file (8MB) from the main downloads page. http://distro.ibiblio.org/tinycorelinux/downloads.html

2. Download vmlinuz64 and core64.gz from http://distro.ibiblio.org/tinycorelinux/4.x/x86/release/distribution_files/

3. Copy the 2 files to a partition that will be easy for you to identify later by size or type. This can be done in Windows. I would recommend a usb pendrive. Preferably not formatted with NTFS.

4. Put the core live cd in the drive and reboot. If your CDRom drive is not set to boot first you will have to change that in BIOS.

5. Hit ENTER when prompted to get to a console prompt.

6. Check your partitions with fdisk and identify the sdxy ID for both the partition you want to install to and the partition that contains vmlinuz64 and core64.gz:
$ fdisk -l

7. Mount those 2 partitions:
$ mount /mnt/«sda5»
$ mount /mnt/«sdk1» (if sda5 is the partition I want to install tinycore64 on and sdk1 is my pendrive)

Main Install:

Now we are ready to begin the actual installation process. While we are still logged in as user tc let's do the temp installations. These will not be permanent. When you reboot they will be gone. They will only be installed to the ram disk. I chose to install jed, an easy to use text mode text editor because I am not familiar with using vi. If you are familiar with vi you can skip the jed installation

1. Install grub and, if you are not familiar with vi, a text editor of your choice. I think 'jed' is a nice alternative.
$ tce grub

This will lead you to a screen with some applications listed. You type the number that precedes the listing you want to install. In this case the package you want is 'grub-0.97-splash.tcz'. Enter the number that precedes it. A readme file will automatically be displayed. Press 'Q' to exit from that and then 'I' to install grub. If you are not familiar with the vi editor then enter 'S' to do a new search. Enter 'jed' and install that the same way you installed grub. Type 'Q' to exit the application browser.

2. Login as root:
$ sudo su

3. Make your boot and grub directories:
# mkdir -p /mnt/«sda5»/boot/grub

4. Copy vmlinuz64 and core64.gz from the now mounted device that contains them (possibly a pendrive) to your boot directory:
# cp /mnt/«sdl1»/vmlinuz64 /mnt/«sda5»/boot
# cp /mnt/«sdl1»/core64.gz /mnt/«sda5»/boot

5. Copy your grub image files to the grub directory:
# cp /tmp/tcloop/grub-0.97-splash/usr/lib/grub/i386-pc/* /mnt/«sda5»/boot/grub

6. Create the grub config file:
# jed /mnt/«sda5»/boot/grub/menu.lst (substitute vi for jed if you are using vi)

Now enter the following lines in the text editor (obviously without the comments in parenthesis):

default 0 (This tells grub to boot the first entry in this file if nothing else is selected)
timeout 10 (This is the number of seconds grub waits for someone to choose which OS to boot. Substitute whatever you want)
title TinyCore64 Linux (the name of this boot entry; replace with whatever you want to call it)
root (hd0,4) (the grub device designation for the partition where your kernel and ramdisk image are located so that your relative paths will be understood. In this case it is the fifth partition on the first drive)
kernel /boot/vmlinuz64 quiet (Your space seperated boot codes go here. Which boot codes depends on the complex topic of package install persistence. Without any you will have cloud level of persistence. No installed packages or user settings will remain on reboot.)
initrd /boot/core64.gz
In jed enter <alt>F to open the file menu and <alt>S to save the file and <alt>F X to exit

7. Run grub:
# grub

8. Install grub to your TinyCore partition boot record for chain loading from another boot loader installed to your MBR or if you are not multibooting with Windows or if you wish to use legacy grub as your main bootloader then you can install grub directly into the MBR. For the following grub commands you must convert between the standard linux device designation of sdxy (sata device xy) where x=drive and y=partition and where x starts at 'a' and y starts at '1' to the grub designation of hdx,y where x and y are both numbers starting at 0. In my case, I wanted to install grub to the first sector (partition boot record) of the TinyCore partition itself for chainloading from another (MBR installed) bootloader. Since my linux partition was sda5 my grub device name would be: hd0,4. For an MBR installation sda would become hd0. So, for an installation to the 5th partition (or first extended/logical partition) on your first hard drive, at the grub prompt type the following, substituting your grub device name for mine:

root (hd0,4)
setup (hd0,4)
quit

For an MBR installation (for the drive connected to the first sata port of your motherboard or RAID card; check fdisk -l first):
root (hd0,0)
setup (hd0)
quit

And that's it. TinyCore64 is now “installed”. If you installed grub to the MBR then when you remove the Core live CD from the drive and reboot you should end up at the console command prompt logged in as 'tc' in cloud persistence mode. The grub and jed packages will no longer be installed. Whatever packages (aka 'extensions') you install will only install to RAM and will no longer be installed after reboot. If you are chainloading grub from another bootloader in the MBR you will have to install or modify that boot loader before you can boot to this installation. There always has to be a boot loader in the MBR. You could even install grub in both the MBR and the partition boot record, but that is beyond the scope of this guide.

If you don't want to reinstall all of your programs on every boot you will have to choose a persistence mode. The minimal persistence level would be a tce directory with a mydata.tgz file and 'tce=«sdxy»' in menu.lst. This is also called mount or PPR mode. For that do the following:
# mkdir /mnt/«sda5»/tce (After reboot you will have to mount the partition first with: mount /mnt/«sda5» and either login as root or precede the command by 'sudo')

You can create your mydata.tgz file with:
# touch /mnt/«sda5»/tce/mydata.tgz

After you have created the tce directory and the mydata.tgz file and added 'tce=sdxy' to menu.lst you should be able to permanently install more programs after you reboot. They will be stored in the /mnt/«sda5»/tce/optional directory.

Print/export