To make a live cd :
- Get the Microdrive Linux Live script set from above.
- Untar the files to a directory.
- Make a kernel appropriate for live cd.
- needs initrd, ramdisk and ext2
- preferably also support basic devices as below. [ cd, devfs, framebuffer, vesa etc ]
- No hard and fast rules. Afterall it's your damn cd!
- Copy the kernel to ./src/bzImage .
- Download busybox source tarball and put it in ./src .
- Download syslinux source tarball and put it in ./src .
- Run the scripts listed in ./scripts directory.
[ Please note. Don't cd in to scripts directory. Rather run them as
./scripts/SCRIPT_NAME . All the scripts assume that they are working from
directory where ./src and ./scripts ./doc etc are the sub directories.]
- The purpose of scripts [ At first run them in this order as well ] :
- ./scripts/make-prelim-dirs :
This will make all the necessary directories such as
itree - where the initrd image will be made.
cdtree - whatever is here will endup on cd.
cdtree/zz - whatever other software you want to install,
install it here. Also /etc/rc.d/links on the live
cd will link lib, usr, etc, etc/X11/* from here to
the live system during runtime.
cdtree/isolinux - where the initrd.img, isolinux end up.
- ./scripts/build-busybox :
This will build and install busybox in to itree. Will also
chmod u+s the busybox library.
- ./scripts/build-isolinux :
Well, guess what.
- ./scripts/find-libs :
After installing the busybox binaries, you will ofcourse need
the libraries i:e; libc, libm, ld-so etc. Well, this does exactly
that. It cannibalises them from your host system.
- ./scripts/install-base :
This will install a basic /itree/etc to go in to initrd.img.
You can customize the actions there to your hearts content.
- ./scripts/update-itree :
As root, this will ldconfig the libs in itree. Then chroot's to
the itree. You should get a shell. If it doesn't work here, it ain't
gonna work on the cd.
- ./scripts/make-initrd :
You need to run this as root. Please read the script before
reaching out for the "su" . It will create a initrd.img from
itree/ and puts it in cdtree/isolinux/ . This is what the kernel
from live cd loads and feels content that it has a root file system.
- ./scripts/make-iso :
Finally ! . Make a iso9660 bootable image to burn to cd or cdrw.
- In other words :
- ./scripts/make-prelim-dirs
- ./scripts/build-busybox
- ./scripts/build-isolinux
- ./scripts/find-libs
- ./scripts/install-base
- ./scripts/update-itree [ as root ]
- ./scripts/make-initrd [ as root ]
- ./scripts/make-iso