[SPBLinux-user] Network boot
Brought to you by:
spblinux
From: Sean A. <se...@ne...> - 2004-07-19 15:44:21
|
Hi, Thanks for the great work so far - SPBLinux is proving much easier to understand and customise than all the Knoppix-based alternatives. I've been trying to use SPBLinux as a base to setup a range of distribution installers on fresh machines from USB boot. To save time re-writing changes to a USB stick over and over, I'm using network booting. I notice that this feature was added in 2.1b7, but it doesn't work in the current b11 and I'm not sure how to use the development b12. I thought I'd describe what I've changed in b11 to re-enable network booting in the hope it will help it be re-introduced to future releases. All the changes are to the compressed initial RAM disk file "ramdisk". First I edit /linuxrc: --- /tmp/ramdisk-2.1_b11c/linuxrc 2004-07-19 13:21:52.703881552 +0200 +++ linuxrc 2004-07-14 12:29:07.000000000 +0200 @@ -60,6 +60,9 @@ if [ "$bootd" ]; then D=$bootd D2=$bootd2 + d1=$D + d2="" + d3="" echo -n "Using boot-parameter(s) bootd" [ "$bootd2" ] && echo -n " and bootd2" echo ": $D$D2" It seems the migration from D/D2 to d1/d2/d3 isn't yet complete. This then sources /etc/rc_boottftp later around line 168 when bootd=tftp is included as a kernel argument: [ -f /etc/rc_boot$d1 ] && . /etc/rc_boot$d1 Next I edit /etc/rc_boottftp to load some network drivers since it fails otherwise. The insmod command doesn't pull in some necessary module dependencies and also trying to load every network module without order loads some unnecessary modules preventing the correct one loading. --- etc/rc_boottftp 2004-07-19 13:21:52.882863103 +0200 +++ /mnt/tmp/etc/rc_boottftp 2004-07-14 12:46:47.000000000 +0200 @@ -1,19 +1,10 @@ # echo "Loading start files with tftp from $D2 ..." . /etc/functions_tftp -#from rc_spbnet: if [ -z "$eth0_is_up" ]; then - mod_dir="/lib/modules/`cat /proc/sys/kernel/osrelease`" - mod_subdir="kernel/drivers/net" - insmod mii >/dev/null 2>/dev/null - for m in $mod_dir/$mod_subdir/*; do - if [ -d $m ]; then - for mm in $m/*; do - insmod $mm - done - else - insmod $m - fi + for m in mii 8139too sis900 + do + modprobe $m done if [ "$ipaddr" ]; then Finally I include the necessary network module files from spbnet(2).bz2 in the ramdisk so they can be loaded to bring the remaining files over the network post-boot. Hope this helps! Cheers, Sean. -- Sean Atkinson <se...@ne...> Netproject |