Tiny Core Linux: Difference between revisions
Created page with "TinyCore is a nifty linux distro that's extremely small. Similar to DamnSmallLinux, but even smaller. == Booting == If you use TinyCore with PXE, all you need to do is to cr..." |
No edit summary |
||
| Line 29: | Line 29: | ||
This will extract the squashfs package files and dump them into the root directory of the extracted initrd file system. | This will extract the squashfs package files and dump them into the root directory of the extracted initrd file system. | ||
If you wish to run something on startup, put it in /opt/bootsync.sh or /opt/bootlocal.sh. /opt/bootsync.sh gets called by /etc/init.d/tc-config. Just note that networking might not be up immediately since the dhcp client runs asynchronously. I got around this by running `while true ; do wget -O - http://somewhere.com && break ; done` just to verify networking is up. | |||
=== Remastering === | === Remastering === | ||
Revision as of 21:53, 4 February 2014
TinyCore is a nifty linux distro that's extremely small. Similar to DamnSmallLinux, but even smaller.
Booting
If you use TinyCore with PXE, all you need to do is to create a menu entry with:
LABEL Core
MENU LABEL Core
kernel /images/core/vmlinuz
INITRD /images/core/core.gz
Altering Initrd
Extract
To remaster the base image with additional packages, do the following:
mkdir -p /tmp/tinycore/extract mv core.gz /tmp/tinycore # where core.gz is the initrd file cd /tmp/tinycore/extract zcat ../core.gz | cpio -i
The extract directory should now contain the contents of the initrd file system.
Adding Additional Packages
To add additional packages to the system, download the .tcz files you want installed from the repository. Store them in /tmp/tinycore/packages, then run:
cd /tmp/tinycore/extract for i in `ls ../packages/*.tcz` ; do unsquashfs -f -d . $i ; done
This will extract the squashfs package files and dump them into the root directory of the extracted initrd file system.
If you wish to run something on startup, put it in /opt/bootsync.sh or /opt/bootlocal.sh. /opt/bootsync.sh gets called by /etc/init.d/tc-config. Just note that networking might not be up immediately since the dhcp client runs asynchronously. I got around this by running `while true ; do wget -O - http://somewhere.com && break ; done` just to verify networking is up.
Remastering
With the changes made to the root file system, you will want to package the directory back up to create the initrd image. To do this, do:
cd /tmp/tinycore/extract find | cpio -o -H newc > ../core cd .. gzip core advdef -z4 core.gz # this step is optional, but may save you ~2% of space.