install-x86-minimal-2006.0.iso
Ability to run the Gentoo install totally from the PXE boot. Modify booting to not need nfs to get the image.squashfs.
mkdir .../tftproot/gentoo20060 cd .../tftproot/gentoo20060
You need to obtain these files from the CD:
isolinux/gentoo isolinux/gentoo.igz image.squashfs
label 3 kernel gentoo20060/gentoo append initrd=gentoo20060/gentoo.igz.new root=/dev/ram0 init=/linuxrc loop=/image.squashfs looptype=squashfs cdroot=1 real_root=/ vga=791 ip=dhcp
#!/usr/bin/perl -w # use strict; use File::Slurp qw(slurp); my $ifile = slurp($ARGV[0], binmode=> ':raw'); my $newfile; my $i=1; my @newfiles = split(/TRAILER!!!/,$ifile); `mkdir $ARGV[0].dir`; foreach $newfile (@newfiles) { open F, "> ./$ARGV[0].dir/$i"; print F $newfile; print F "TRAILER!!!\0"; close F; `cd $ARGV[0].dir; cpio -i -H newc < $i; rm $i; cd ..`; $i++; }
mv gentoo.igz gentoo-image.gz ./unigz.pl gentoo-image
cd gentoo-image.dir mkdir -p mnt/cdrom/ cp ../image.squashfs mnt/cdrom/ cp init init.orig
--- init.orig 2005-12-15 15:14:38.000000000 +1100 +++ init 2005-12-15 16:39:59.000000000 +1100 @@ -270,7 +270,7 @@ sdelay - [ "${REAL_ROOT}" = "/dev/nfs" ] || bootstrapCD + #[ "${REAL_ROOT}" = "/dev/nfs" ] || bootstrapCD if [ "${REAL_ROOT}" = '' ] then echo -n -e "${WARN}>>${NORMAL}${BOLD} No bootable medium found. Waiting for new devices" @@ -369,7 +369,7 @@ else bad_msg "Block device ${REAL_ROOT} is not a valid root device..." REAL_ROOT="" - got_good_root=0 + got_good_root=1 fi done @@ -452,7 +452,7 @@ fi fi - cache_cd_contents + #cache_cd_contents # Setup the loopback mounts if [ "${LOOPTYPE}" = 'normal' ] @@ -466,7 +466,8 @@ elif [ "${LOOPTYPE}" = 'squashfs' ] then good_msg 'Mounting squashfs filesystem' - mount -t squashfs -o loop,ro ${NEW_ROOT}/mnt/cdrom/${LOOPEXT}${LOOP} ${NEW_ROOT}/mnt/livecd + #mount -t squashfs -o loop,ro ${NEW_ROOT}/mnt/cdrom/${LOOPEXT}${LOOP} ${NEW_ROOT}/mnt/livecd + mount -t squashfs -o loop,ro /mnt/cdrom/${LOOPEXT}${LOOP} ${NEW_ROOT}/mnt/livecd test_success 'Mount filesystem' FS_LOCATION='mnt/livecd'
copy to ./init
find . -print | cpio -o -H newc > ../gentoo.igz.new
reference http://www.byteclub.net/wiki/index.php?title=Gentoo_live