--------------------------------------------------------------------
--------------------------------------------------------------------
Build Live CD/DVD for CentOS 4
--------------------------------------------------------------------
--------------------------------------------------------------------
The build script can be found at
http://mirror.centos.org/centos/4/build/livecd/
--------------------------------------------------------------------


Please run ./build-livecd.sh to build the LiveCD ISO images
--------------------------------------------------------------------

Scripts:
--------------------------------------------------------------------
- build-livecd.sh:          Main build script run it on the CentOS-4 system
- customize-livecd.sh:      Prepares the system for a LiveCD
- linux-live.sl4/runme.sh:  Based on build scripts of http://www.linux-live.org
- restore-system.sh:        Restores the system to a bootable installation
- mini_livecd.sh:           Prepares the system to create Mini Livecd
                            (save diskspace, etc.) - {NOT TESTED for CENTOS)

Example:
--------------------------------------------------------------------
to build CentOS-4 LiveCD
# ./build-livecd.sh -sl


Requirements:
--------------------------------------------------------------------
- CentOS4 installation

- patched kernel including squashfs support
  SRPMS and RPMS of a patched CentOS-4 LiveCD kernel:

  http://mirror.centos.org/centos/4/build/livecd/

- unionfs kernel module (see below how to build)
- static linked unionctl (see below)


Unionfs:
--------------------------------------------------------------------
- http://www.fsl.cs.sunysb.edu/project-unionfs.html
- tar xfvz unionfs-1.0.14_patched.tar.gz
- build kernel module for the runinnig kernel (ctags needed):
  # cd unionfs-1.0.14_patched
  # make clean; make
- statically linked unionctl:
  # emacs Makefile replace 'CC = gcc' with 'CC = gcc -static'
  # make clean; make
- the build of all unionfs may fail (for example "unionimap"), 
  but you should get: "unionfs.ko" and "unionctl" 
- copy to linux-live:
  cp -a ./unionfs-1.0.14_patched/unionctl ./linux-live.sl4/initrd/static-binaries/unionctl_i686
  or
  cp -a ./unionfs-1.0.14_patched/unionctl ./linux-live.sl4/initrd/static-binaries/unionctl_x86_64
  cp -a ./unionfs-1.0.14_patched/unionctl ./linux-live.sl4/tools/unionctl
- kernel module:
  gzip unionfs.ko
  copy ./unionfs-1.0.14_patched/unionfs.ko into
   ./linux-live.sl4/initrd/kernel-modules/2.6.9-34.19.EL.livecd.2_i686/
  Create a folder for your kernel if needed.
- copy config:
  cp -a /boot/config-2.6.9-34.19.EL.livecd.2 ./linux-live.sl4/initrd/kernel-modules/2.6.9-34.19.EL.livecd.2_i686/.config
- test if you can load the unionfs module:
  cp ./linux-live.sl4/initrd/kernel-modules/2.6.9-34.19.EL.livecd.2_i686/unionfs.ko /tmp/
  insmod /tmp/unionfs.ko


Links:
--------------------------------------------------------------------
Original Scripts:
http://www.linux-live.org/

Scientific Linux Version:
http://linux.web.psi.ch/livecd/

CentOS Version:
http://mirror.centos.org/centos/4/build/livecd/


Changelog:
--------------------------------------------------------------------
CentOS
- 0.9.1: Modified to make CentOS-4 and not SL ... only -sl option is tested

Scientific Linux
- 0.9.x: kernel updated to 2.6.9-34.EL
- 0.8.x: improved diskless client
- 0.7.x: update to SL42
- 0.6.x: kernel updated to 2.6.9-22.0.1.EL
- 0.5.x: use a patched version of unionfs 1.0.14
- 0.4.x: nvidia driver
- 0.3.x: add x86_64 support

--------------------------------------------------------------------
Original PSI/SL CD and Docs by:
 Urs Beyerle, PSI

CentOS-4 info by:
 Johnny Hughes, CentOS Project
