summaryrefslogtreecommitdiffstats
path: root/initramfs/stage3-stuff
diff options
context:
space:
mode:
authorDirk von Suchodoletz2009-11-14 01:33:23 +0100
committerDirk von Suchodoletz2009-11-14 01:33:23 +0100
commit4d0b301db88bfafda70e336a7851d48d804f6831 (patch)
treee98853877a7525292c6db74297778466f63e3553 /initramfs/stage3-stuff
parentlet vmware-include in vmware path (diff)
downloadcore-4d0b301db88bfafda70e336a7851d48d804f6831.tar.gz
core-4d0b301db88bfafda70e336a7851d48d804f6831.tar.xz
core-4d0b301db88bfafda70e336a7851d48d804f6831.zip
Might be fix for the after fs mounted module loading (problems reported
for specific wlan cards requiring firmware). Untested yet. git-svn-id: http://svn.openslx.org/svn/openslx/openslx/trunk@3204 95ad53e4-c205-0410-b2fa-d234c58c8868
Diffstat (limited to 'initramfs/stage3-stuff')
-rw-r--r--initramfs/stage3-stuff/etc/messages10
-rw-r--r--initramfs/stage3-stuff/etc/messages.de8
-rwxr-xr-xinitramfs/stage3-stuff/init12
3 files changed, 20 insertions, 10 deletions
diff --git a/initramfs/stage3-stuff/etc/messages b/initramfs/stage3-stuff/etc/messages
index c72008e9..734414c7 100644
--- a/initramfs/stage3-stuff/etc/messages
+++ b/initramfs/stage3-stuff/etc/messages
@@ -57,11 +57,12 @@ files."
init_dnbd2s=" After 100 retries, it was not possible to start the dnbd2 \
service. Please\n check that at least one server is available. You might \
use the\n /sys/block/vnbd0 interface for this."
-init_moddir=" The requested modules directory does not exist. That could \
-mean:\n * The kernel was updated but the demuxer was not run afterwards.\n\
+init_moddir=" The requested modules or firmware directory does not exist. \
+That could mean:\n\
+ * The kernel was updated but the demuxer was not run afterwards.\n\
* The mounted filesystem does not contain the modules directory at all.\n\
You might want to check the list of mounted filesystems and if /mnt is\n\
- not empty run 'ls /mnt/lib/modules' to check."
+ not empty run 'ls /mnt/lib/modules; ls /mnt/lib/firmware' to check."
init_loadaufs=" Loading of AUFS and/or UnionFS failed - Either the module(s) \
are not\n present or do not match the running kernel. If you do not want to \
see\n this message add the token(s) 'noaufs'/'nounionfs' to your kernel \
@@ -107,7 +108,8 @@ process list and list the modules loaded until\n now."
init_errhw=" For some reason the hardware autoconfig $init_errcfg"
init_errxorg=" For some reason no xorg.conf appeared, check xconfig!"
init_errsw=" For some reason the software configuration $init_errcfg"
-init_wait=" Waited $ticks ticks to unmount kernel module directory ..."
+init_wait=" Waited $ticks ticks to unmount kernel module or firmware \
+directory ..."
init_errumnt=" Unmount of the kernel modules directory \
failed for some reason. Some\n modprobe process still active!?"
init_erritab=" The file /etc/inittab does not exist or is no regular one. It \
diff --git a/initramfs/stage3-stuff/etc/messages.de b/initramfs/stage3-stuff/etc/messages.de
index 1fcf9743..dee39590 100644
--- a/initramfs/stage3-stuff/etc/messages.de
+++ b/initramfs/stage3-stuff/etc/messages.de
@@ -57,8 +57,9 @@ init_nbddev=" Aus irgendeinem Grund ist /dev/${NBD}0 nie erschienen. Sie \
sollten ihr udev-System\n nach Listen von statischen Geraeten untersuchen."
init_dnbd2s=" Nach 100 Versuchen konnte das dnbd2 Blockdevice keinen laufenden \
Server finden.\n Bitte ueberpruefen Sie die Erreichbarkeit."
-init_moddir=" Das angeforderte Modul-Verzeichnis existiert nicht. Das koennte \
-bedeuten:\n * Der Kernel wurde ausgetauscht/erneuert ohne einen neuen Aufruf \
+init_moddir=" Das angeforderte Modul- bzw. Firmware-Verzeichnis existiert \
+nicht. Das\n koennte bedeuten:\n\
+ * Der Kernel wurde ausgetauscht/erneuert ohne einen neuen Aufruf \
von slxmkramfs oder\n mkdxsinitrd.\n * Das eingehaengte Dateisystem \
beinhaltet das Modul-Verzeichnis ueberhaupt nicht.\n Sie sollten die Liste \
der eingehaengten Dateisysteme pruefen und wenn /mnt\n nicht leer ist, \
@@ -116,7 +117,8 @@ Liste pruefen und die Module, die bis zum jetzigen Zeitpunkt geladen wurden."
init_errhw=" Aus irgendeinem Grund wurde die Hardware Auto-Konfiguration \
$init_errcfg"
init_errsw=" Aus irgendeinem Grund wurde die Software Konfiguration $init_errcfg"
-init_wait=" Wartete $i Schlaege das Kernel Modul Verzeichnis auszuhaengen ..."
+init_wait=" Wartete $i Zeiteinheiten das Kernel-Modul- bzw. Firmware-Verzeichnis \
+auszuhaengen ..."
init_errumnt=" Das Kernel Modul Verzeichnis auszuhaengen \
scheiterte aus irgendeinem Grund. Sind einige\n ,,modprobe'' noch aktiv!?"
init_erritab=" Die Datei /etc/inittab existiert nicht oder \
diff --git a/initramfs/stage3-stuff/init b/initramfs/stage3-stuff/init
index 16d0494e..535b3e02 100755
--- a/initramfs/stage3-stuff/init
+++ b/initramfs/stage3-stuff/init
@@ -689,8 +689,9 @@ fi
runinithook '35-have-network-root'
-# get the complete collection of kernel modules available
-mount -n --bind /mnt/lib/modules /lib/modules || error "$init_moddir"
+# get the complete collection of kernel modules and firmwares available
+mount -n --bind /mnt/lib/modules /lib/modules && \
+mount -n --bind /mnt/lib/firmware /lib/firmware || error "$init_moddir"
# start hardware configuration as background process if not a special
# debuglevel (21) is used for the option of manual hwautocfg start
if [ ${DEBUGLEVEL} = 21 ] ; then
@@ -950,12 +951,17 @@ postinit
runinithook '90-postinit-done'
-# unmount the bind mounted modules directory and nfs /tmp/scratch (if present)
+# unmount the bind mounted modules, firmware directories and nfs /tmp/scratch
+# (if present)
export ticks
for ticks in 0 1 2 5 10 20 30; do
sleep $ticks && umount -n /lib/modules 2>/dev/null && break
error "$init_wait" nonfatal
done
+for ticks in 0 1 2 5 10 20 30; do
+ sleep $ticks && umount -n /lib/modules 2>/dev/null && break
+ error "$init_wait" nonfatal
+done
mount 2>/dev/null | grep -q "/tmp/scratch type nfs" && \
for ticks in 0 1 2 5 10 20 30; do
sleep $ticks && umount -n /tmp/scratch 2>/dev/null && break