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