To make a live cd :

  1. Get the Microdrive Linux Live script set from above.
  2. Untar the files to a directory.
  3. 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!
  4. Copy the kernel to ./src/bzImage .
  5. Download busybox source tarball and put it in ./src .
  6. Download syslinux source tarball and put it in ./src .
  7. 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.]
  8. 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.
  9. 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