This was prompted by my need to setup another 'headless' server on a VXL Percio. I'd picked on the Percio as it conveniently has a Compact Flash card slot built-in. The downside is that its BIOS does not support booting from USB. I was too lazy to dig out an old CDROM drive, power supply for it, write the Tiny Core ISO to a CD.... and decided to use what was to hand which would mean starting with LiLi Linux Live USB Creator (or similar) and a Windows machine.
However a problem I had here is that the Windows based installers put the system in a FAT32 partition - I wanted my system running with an ext2 partition. A few seconds thought showed that there was no problem here as Tiny Core loads and runs from RAM. Once I got the system booted on the target system I could happily destroy/re-format the boot media and then perform a fresh installation that used the ext2 file system.
As I was headed for a 'headless' system I decided to use the Tiny Core 'Core' distribution that doesn't include the GUI, so the description that follows here is how to do things from a command line prompt.
This How-to is based on my experience with Tiny Core 4.6.2.
I have an all-in-one card reader that I bought for ~£3 from 7dayshop.com which I use with my Windows machine. It's just a matter of plugging this in, downloading a Tiny Core ISO and running LiLi or similar. If you need it the detail of this is covered elsewhere.
Note: LiLi has one annoying feature - it insists that the pen drive (Compact Flash card in our case) be at least 1GB in size. It will not put a small distribution (~10MB) on a 32MB, 64MB, 128MB or 512MB Compact Flash Card. However the Universal USB installer from www.pendrivelinux.com will. In this case I wanted to use a 1GB card so LiLi was fine. If you're using a smaller card then you'll have to use the alternative.
So a quick run of LiLi or similar to install Core-4.6.2.iso will hopefully get you a running system on a Compact Flash card that will boot and run on your target system.
Transfer the Compact Flash card across to your target machine and boot. You should see the initial boot screen..
You want to ensure that Tiny Core will ignore the Compact Flash card once it has booted. If you've just created the installation on a virgin card then this will be the case. If you haven't, there may be an existing tce directory there in which case Tiny Core will find it, mount the drive, and refuse to let go. The safest thing to do is boot Tiny Core using the command mc base at the prompt. This should get you to the command line prompt with a minimal system. In order to get more of a screen to work with it's worth adding something like vga=791 as well to get a 1024 x 768 screen - so the full boot command would be mc base vga=791
We now want to install the Tiny Core installation program. We do this using tce-ab, the command line version of the app browser. One thing you might like to do here is change the repository that the install script will use. The default is distro.ibiblio.org. At the time of writing I find that quite slow from here in the UK. The mirror ftp.nluug.nl is a lot quicker. tce-ab gets the repository address from the file /opt/tcemirror. A list of mirrors is on the Tiny Core Wiki. To change the default to your preferred mirror all you need to do is:
tc@box:~$ sudo echo http://ftp.nluug.nl/os/Linux/distr/tinycorelinux/ >/opt/tcemirror tc@box:~$
Now run tce-ab and you'll be asked what you want to do:
Type s to search and then enter tc-install for what you want to find. The installer will come back with a list of applications that start with the string you typed in. In this case there is just the one option:
Type 1 to select it. You are then shown the 'info' screen of the application.
Press q to get out of the info screen. You gain a prompt along the bottom of the screen. Hit i to start the installation. The installer now starts downloading all the dependencies and then the application itself.
When it has finished you are back to the 'What next' prompt:
Hit q to get out of the application.
We now have the installer software downloaded. Tiny Core has downloaded and installed these into RAM. If you check with ls and mount you'll find that the Compact Flash card is not being used in any way and so we can reformat it with impunity.
However, you will find when you run the installer, it will prompt for the source files for the installation. One of the options is the 'Running System'; another is an iso file. 'Running System' is not an option for us as that means the boot media - it will try and extract the vmlinuz and core.gz files from the compact flash card which we will have just formatted.... so our option has to be an iso file.
I did have trouble trying to download the file from the Tiny Core site (http://distro.ibiblio.org/) and so ended up using one of the European mirrors from this list. You can peruse these using a browser to find the right path to the iso you wish to download. In my case I picked on:
The file is downloaded using the wget command and the syntax is simply wget url. I downloaded it to the /tmp directory.
NB: When I first wrote this up there was a bug in the installation script. The script determined the name of the initial ram disk from the file name of the ISO. It assumed the name started xxxxx_ In order to get the script to work I had to rename the file to core_4.6.2.iso. i.e. Lower case 'c' at the start, and an underscore instead of the dash. This has now been fixed. In fact a corrected version was uploaded to the repository within a few hours of me reporting the bug. However the screen grabs below reflect what I had to do at the time - I haven't gone through the laborious process of updating them.
Ok, we've now got all the files we need - on with the installation.
You have an option here depending on what you're intending to do. If you are intending to have multiple partitions on the Compact Flash card you must run fdisk now to set them up. Later on the install script just asks whether you want to use the whole disk or an existing partition. It will then either format the entire Compact Flash card and create a single partition on it or just use the partition you select.
You must run the installer as root. You cannot just do a sudo as that just gives the root privilege to the initial script. It isn't handed on to the applications it runs. So start off with sudo su to turn yourself into root.
Run the command line installer tc-install.sh
Type i and then enter the full path to the iso file you downloaded.
You then get prompted for the type of installation. We're effectively installing to a hard disk so we pick f for frugal.
Next we pick the type of target - a whole disk or just a partition?:
In this case I picked 1 for whole disk. We now get prompted for the actual device. There is only one. On the Percio the prompt actually reads "1. sda On a removable device." (My screen grabs are actually from carrying out this process on a virtual machine).
After you make your selection the next prompt relates to the bootloader.
We obviously say y here. The system then steps on to formatting the partition we've picked for installation. First we need to pick the partition type:
I always use ext2 for Compact Flash based systems as these are read-mostly systems. The additional features in ext3/4 are not really applicable to our environment and also can add needless write-cycles to our media.
Having made our selection (1) the installer moves on to requesting our boot options.
You don't have to get things right at this stage as you can subsequently edit the configuration file where this set. For the Percio I added:
You then get a final warning before you commit:
Having hit y it goes ahead, formats the Compact Flash and installs the operating system.
You can now reboot into the newly installed operating system and use the appbrowser tce-ab to install all the applications you need.
The boot options, should you wish to change them, can be found in:
Any comments? email me. Last update October 2012