Linux Live scripts Requirements         by Tomas M.   http://www.linux-live.org

  To be able to create a Linux Live CD, your kernel must meet all the
  requirements noted below. Sample kernel config file can be found in
  ./DOC/config/.config.kernel

  If you don't wish to compile anything, go to www.linux-live.org
  and download precompiled Linux kernel with everything included.

  * Your distro must use kernel 2.6.9 or higher
  * udev must be installed and working in your distribution
    (because devices from /dev are not copied to LiveCD)

  * all the following things must be compiled directly into kernel:
     (these options are usually compiled so you shouldn't have problems)
     - ext2 (CONFIG_EXT2_FS=y)
     - tmpfs (CONFIG_TMPFS=y)
     - ramdisk (CONFIG_BLK_DEV_RAM=y)
     - initrd (CONFIG_BLK_DEV_INITRD=y)

    You can use untouched Vanila Linux kernel 2.6 from Slackware!
    but in that case you have to compile unionfs and squashfs modules yourself

  * all the following things must be compiled in the kernel or must be
     available as a kernel modules (.ko):
     - loop (else mount -o loop won't work)
     - zlib_inflate (used by squashfs module)
     - isofs (if you will boot your live distro from CDROM)
     - ehci-hcd, ohci-hcd, uhci-hcd, usb-storage (if you will boot your live distro from USB)

  * all these modules must be available:
     - unionfs.ko (http://www.filesystems.org/project-unionfs.html)
     - squashfs.ko (http://squashfs.sourceforge.net)

     If you compile them yourself, make sure unionfs.ko doesn't contain
     debug info so it can fit 4MB initrd image. Copy your .ko modules to
     linux live scripts to ./initrd/kernel-modules/2.6.* (create the dir!)

     In general, you don't need to compile anything unless you wish to use
     some own kernel configuration, or you wish to use newer version of
     squashfs or unionfs.

  * Your distro must have /usr/bin/chroot or /usr/sbin/chroot

  * You must modify your distro to NOT test the status of root directory
     (whether it is (is not) writable). For example, Slackware is testing 
     the status of the root partition during boot and if it's read-write,
     it will display a message and will wait for user input. This is something 
     we don't like, right? Unionfs can't be remounted ro, so I can't avoid 
     this in linux live scripts. I have to patch Slackware rc scripts (rc.S)
     to skip the test. You will need to do something similar for your distro.

  * some distributions can't handle compressed kernel modules well, for
    example debian-based distros like debian itself or ubuntu
    In this case, modify 'config' file and disable gzipping (set COMPRESS=0)

  These requirements could change with new kernel or unionfs versions.
