[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

saving the list of loaded modules in /etc/modules



Hello,

I wondered that we load some modules on the rootdisk, but he target
system does not know anything about the modules. This is critical if
(for example) the usb keyboard driver is not loaded at the first boot
time. So I prepared some changes. The plan is simple, if a module has
been loaded successfully, it will be added to a temporary /etc/modules
file. Before calling modconf, we look in /target/etc and copy ours
/etc/modules to /target/etc if neccessary.

As usual, if nobody objects, I will commit soon.

Gruss/Regards,
Eduard.
-- 
Diese Message wurde erstellt mit freundlicher Unterstützung eines frei-
laufenden Pinguins aus artgerechter Freilandhaltung.  Er ist garantiert
frei von Micro$oft'schen Viren.
Index: utilities/dbootstrap/baseconfig.c
===================================================================
RCS file: /cvs/debian-boot/boot-floppies/utilities/dbootstrap/baseconfig.c,v
retrieving revision 1.102
diff -u -r1.102 baseconfig.c
--- utilities/dbootstrap/baseconfig.c	2002/01/28 17:26:59	1.102
+++ utilities/dbootstrap/baseconfig.c	2002/02/02 22:16:47
@@ -580,6 +580,9 @@
 
   old_locale = getenv("LC_ALL");
   setenv("LC_ALL", "C", 1);
+  
+  /* copy the preconfigured modules file to target/etc */
+  execlog("test -f /target/etc/modules || cp /etc/modules /target/etc/", LOG_INFO);
 
   fullscreen_execlog("/target/usr/sbin/modconf"
                      " --exclude-section pcmcia"
Index: scripts/rootdisk/prototype/etc/init.d/rcS
===================================================================
RCS file: /cvs/debian-boot/boot-floppies/scripts/rootdisk/prototype/etc/init.d/rcS,v
retrieving revision 1.41
diff -u -r1.41 rcS
--- scripts/rootdisk/prototype/etc/init.d/rcS	2001/11/10 20:29:43	1.41
+++ scripts/rootdisk/prototype/etc/init.d/rcS	2002/02/02 22:16:47
@@ -28,36 +28,51 @@
     mount /dev/ram0 /tmp -o rw -t ext2
 fi
 
+cat <<EOF > /etc/modules
+# /etc/modules: kernel modules to load at boot time.
+#
+# This file should contain the names of kernel modules that are
+# to be loaded at boot time, one per line.  Comments begin with
+# a "#", and everything on the line after them are ignored.
+
+EOF
+chmod 644 /etc/modules
+
+
 # load extra kernel modules if they exist
-insmod /lib/modules/unix.o >/dev/null 2>&1
-insmod /lib/modules/misc/unix.o >/dev/null 2>&1
-insmod /lib/modules/cdrom/cdrom.o >/dev/null 2>&1
-insmod /lib/modules/block/ide-cd.o >/dev/null 2>&1
-insmod /lib/modules/block/loop.o >/dev/null 2>&1
-insmod /lib/modules/fs/isofs.o >/dev/null 2>&1
-insmod /lib/modules/net/8390.o >/dev/null 2>&1
-insmod /lib/modules/net/ether1.o >/dev/null 2>&1
-insmod /lib/modules/net/ether3.o >/dev/null 2>&1
-insmod /lib/modules/net/etherh.o >/dev/null 2>&1
-insmod /lib/modules/net/ne2k-pci.o >/dev/null 2>&1
-insmod /lib/modules/net/tulip.o >/dev/null 2>&1
-insmod /lib/modules/af_packet.o >/dev/null 2>&1
-insmod /lib/modules/misc/af_packet.o >/dev/null 2>&1
-insmod /lib/modules/scsi/queue.o >/dev/null 2>&1
-insmod /lib/modules/scsi/msgqueue.o >/dev/null 2>&1
-insmod /lib/modules/scsi/scsi_mod.o >/dev/null 2>&1
-insmod /lib/modules/scsi/sd_mod.o >/dev/null 2>&1
-insmod /lib/modules/scsi/sr_mod.o >/dev/null 2>&1
-insmod /lib/modules/scsi/cumana_1.o >/dev/null 2>&1
-insmod /lib/modules/scsi/cumana_2.o >/dev/null 2>&1
-insmod /lib/modules/scsi/oak.o >/dev/null 2>&1
-insmod /lib/modules/scsi/powertec.o >/dev/null 2>&1
-insmod /lib/modules/scsi/eesox.o >/dev/null 2>&1
-insmod /lib/modules/scsi/acornscsi_mod.o >/dev/null 2>&1
-insmod /lib/modules/scsi/arxescsi.o >/dev/null 2>&1
-insmod /lib/modules/scsi/fas216.o >/dev/null 2>&1
-insmod /lib/modules/block/floppy.o >/dev/null 2>&1
-insmod /lib/modules/fs/adfs.o >/dev/null 2>&1
+insmod /lib/modules/unix.o >/dev/null 2>&1 && echo unix >>/etc/modules
+insmod /lib/modules/misc/unix.o >/dev/null 2>&1 && echo unix >>/etc/modules
+insmod /lib/modules/cdrom/cdrom.o >/dev/null 2>&1 && echo cdrom >>/etc/modules
+insmod /lib/modules/block/ide-cd.o >/dev/null 2>&1 && echo ide-cd >>/etc/modules
+insmod /lib/modules/block/loop.o >/dev/null 2>&1 && echo loop >>/etc/modules
+insmod /lib/modules/fs/isofs.o >/dev/null 2>&1 && echo isofs >>/etc/modules
+insmod /lib/modules/net/8390.o >/dev/null 2>&1 && echo 8390 >>/etc/modules
+insmod /lib/modules/net/ether1.o >/dev/null 2>&1 && echo ether1 >>/etc/modules
+insmod /lib/modules/net/ether3.o >/dev/null 2>&1 && echo ether3 >>/etc/modules
+insmod /lib/modules/net/etherh.o >/dev/null 2>&1 && echo etherh >>/etc/modules
+insmod /lib/modules/net/ne2k-pci.o >/dev/null 2>&1 && echo ne2k-pci >>/etc/modules
+insmod /lib/modules/net/tulip.o >/dev/null 2>&1 && echo tulip >>/etc/modules
+insmod /lib/modules/af_packet.o >/dev/null 2>&1 && echo af_packet >>/etc/modules
+insmod /lib/modules/misc/af_packet.o >/dev/null 2>&1 && echo af_packet >>/etc/modules
+insmod /lib/modules/scsi/queue.o >/dev/null 2>&1 && echo queue >>/etc/modules
+insmod /lib/modules/scsi/msgqueue.o >/dev/null 2>&1 && echo msgqueue >>/etc/modules
+insmod /lib/modules/scsi/scsi_mod.o >/dev/null 2>&1 && echo scsi_mod >>/etc/modules
+insmod /lib/modules/scsi/sd_mod.o >/dev/null 2>&1 && echo sd_mod >>/etc/modules
+insmod /lib/modules/scsi/sr_mod.o >/dev/null 2>&1 && echo sr_mod >>/etc/modules
+insmod /lib/modules/scsi/cumana_1.o >/dev/null 2>&1 && echo cumana_1 >>/etc/modules
+insmod /lib/modules/scsi/cumana_2.o >/dev/null 2>&1 && echo cumana_2 >>/etc/modules
+insmod /lib/modules/scsi/oak.o >/dev/null 2>&1 && echo oak >>/etc/modules
+insmod /lib/modules/scsi/powertec.o >/dev/null 2>&1 && echo powertec >>/etc/modules
+insmod /lib/modules/scsi/eesox.o >/dev/null 2>&1 && echo eesox >>/etc/modules
+insmod /lib/modules/scsi/acornscsi_mod.o >/dev/null 2>&1 && echo acornscsi_mod >>/etc/modules
+insmod /lib/modules/scsi/arxescsi.o >/dev/null 2>&1 && echo arxescsi >>/etc/modules
+insmod /lib/modules/scsi/fas216.o >/dev/null 2>&1 && echo fas216 >>/etc/modules
+insmod /lib/modules/block/floppy.o >/dev/null 2>&1 && echo floppy >>/etc/modules
+insmod /lib/modules/fs/adfs.o >/dev/null 2>&1 && echo adfs >>/etc/modules
+# usb keyboard
+insmod /lib/modules/`uname -r`/kernel/drivers/usb/hid.o >/dev/null 2>&1 && echo hid >>/etc/modules
+insmod /lib/modules/`uname -r`/kernel/drivers/input/input.o >/dev/null 2>&1 && echo input >>/etc/modules
+insmod /lib/modules/`uname -r`/kernel/drivers/input/keybdev.o >/dev/null 2>&1 && echo keybdev >>/etc/modules
 
 # insmod seems to want this
 mkdir -p /lib/modules/`uname -r` >/dev/null 2>&1

Reply to: