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
|