Download BusyBox config file from here.
Download ISO build script from here.
Make sure Linux has he following configs enabled:
CONFIG_BLK_DEV_INITRD=y
CONFIG_INITRAMFS_SOURCE=""
CONFIG_BLK_DEV_RAM=y
CONFIG_BLK_DEV_RAM_COUNT=16
CONFIG_BLK_DEV_RAM_SIZE=4096
# chmod +x script.sh
# ./script.sh
untarring busybox...OK
making busybox...OK
making initrd...OK
crreating iso image...OK
making ISO image (grub.iso)...OK
Test "grub.iso" in VmWare:
RAMDISK: gzip image found at block 0
EXT4-fs (ram0): mounted filesystem without journal
VFS: Mounted root (ext2 filesystem) readonly on device 1:0
Freeing unused kernel memory: 276k freed
BusyBox v1.17.1 (2010-08-03 19:24:37 IST) built-in shell (ash)
Enter 'help' for a list of build-in commands.
/bin/sh: can't access tty: job control turned off
#
Reference:
http://tldp.org/HOWTO/Bootdisk-HOWTO/cd-roms.html
http://www.yolinux.com/TUTORIALS/LinuxTutorialCDBurn.html
http://linuxtuneup.blogspot.com/2006/01/slipstreaming-windows-cd-under-linux.html
http://odin.himinbi.org/xp_cds/eltorito_extraction.html
http://alinux.tv/Kernel-2.6.34/initrd.txt
http://en.gentoo-wiki.com/wiki/Initramfs