summaryrefslogtreecommitdiffstats
path: root/initramfs/stage3-stuff
diff options
context:
space:
mode:
authorDirk von Suchodoletz2009-08-15 19:09:23 +0200
committerDirk von Suchodoletz2009-08-15 19:09:23 +0200
commit09660578b9e88e2d42c9c52dbf861edd0856f2be (patch)
tree70ccc3204f11f162c3c2dd9edd90c6b3fbaf585c /initramfs/stage3-stuff
parentRe-enabling the functionality to boot from a local block device (mainly (diff)
downloadcore-09660578b9e88e2d42c9c52dbf861edd0856f2be.tar.gz
core-09660578b9e88e2d42c9c52dbf861edd0856f2be.tar.xz
core-09660578b9e88e2d42c9c52dbf861edd0856f2be.zip
Fixes for the local device boot (loading fast USB driver, ...)
git-svn-id: http://svn.openslx.org/svn/openslx/openslx/trunk@3093 95ad53e4-c205-0410-b2fa-d234c58c8868
Diffstat (limited to 'initramfs/stage3-stuff')
-rwxr-xr-xinitramfs/stage3-stuff/bin/hwautocfg2
-rw-r--r--initramfs/stage3-stuff/etc/messages3
-rw-r--r--initramfs/stage3-stuff/etc/messages.de3
-rwxr-xr-xinitramfs/stage3-stuff/init5
4 files changed, 9 insertions, 4 deletions
diff --git a/initramfs/stage3-stuff/bin/hwautocfg b/initramfs/stage3-stuff/bin/hwautocfg
index d332e36b..550afaa7 100755
--- a/initramfs/stage3-stuff/bin/hwautocfg
+++ b/initramfs/stage3-stuff/bin/hwautocfg
@@ -41,7 +41,7 @@ ash /etc/modprobe.base; mdev -s
echo -e "ext3\next2\nreiserfs\nxfs\njfs\next4\nvfat" >/etc/filesystems
# request a local block device for config and root filesystem (lbd://)
if grep -iq '"lbd://' /proc/cmdline /etc/initramfs-setup; then
- modprobe -a ${MODPRV} usb-storage sd_mod
+ modprobe -a ${MODPRV} ehci_hcd usb-storage sd_mod
mdev -s
fi
return 0
diff --git a/initramfs/stage3-stuff/etc/messages b/initramfs/stage3-stuff/etc/messages
index f6561f1f..3535f5a5 100644
--- a/initramfs/stage3-stuff/etc/messages
+++ b/initramfs/stage3-stuff/etc/messages
@@ -99,6 +99,9 @@ after this file was created on server."
init_errlfg=" The ConfTGZ filesource was some local device which was not \
mounted successfully.\n Either the wrong device was given or the filesystem \
is not known to the kernel."
+init_errloop=" The loopback mounting of the rootfs container failed. Either \
+the file is\n not available, unreadable or problems with the filesystem \
+modules."
init_errcfg="of this client did not finish in\n time. You might check the \
process list and list the modules loaded until\n now."
init_errhw=" For some reason the hardware autoconfig $init_errcfg"
diff --git a/initramfs/stage3-stuff/etc/messages.de b/initramfs/stage3-stuff/etc/messages.de
index 6fd2dd46..a8ee76bf 100644
--- a/initramfs/stage3-stuff/etc/messages.de
+++ b/initramfs/stage3-stuff/etc/messages.de
@@ -108,6 +108,9 @@ werden nachdem diese Datei auf dem Server erstellt wurde."
init_errlfg=" Die ConfTGZ Quelle war ein lokales Device, welches nicht korrekt \
eingebunden werden\n konnte. Entweder wurde das falsche Device/Partition \
angegeben oder das\n Dateisystem ist dem Kernel nicht bekannt."
+init_errloop=" Der Loopback-Mounting des Rootfilesystem-Containers schlug \
+fehl. Entweder\n die Datei existiert nicht, ist unlesbar oder es gibt \
+Probleme mit\n den Filesystem-Modulen."
init_errcfg="des Clients nicht rechtzeitig beendet\n Sie sollten die Prozess \
Liste pruefen und die Module, die bis zum jetzigen Zeitpunkt geladen wurden."
init_errhw=" Aus irgendeinem Grund wurde die Hardware Auto-Konfiguration \
diff --git a/initramfs/stage3-stuff/init b/initramfs/stage3-stuff/init
index 962c657b..16d0494e 100755
--- a/initramfs/stage3-stuff/init
+++ b/initramfs/stage3-stuff/init
@@ -588,8 +588,7 @@ if [ -n "${bldmod}" ] ; then
echo 0 > /sys/block/dnbd0/queue/read_ahead_kb
;;
lbd)
- # using clients local block device (disk partition is to be specified)
- set -x
+ # using clients local block device (disk partition is to be specified
RDEV=/dev/$blddev
echo "$bldrfst" >>/etc/filesystems
realbldrfst=$bldrfst
@@ -637,7 +636,7 @@ if [ -n "${bldmod}" ] ; then
mkdir /dev/bootdisk
mount --move /mnt /dev/bootdisk
mount -t ${realbldrfst} -o loop \
- /dev/bootdisk/boot/${slxconf_system_name} /mnt
+ /dev/bootdisk/boot/${slxconf_system_name} /mnt || error "$init_errloop"
fi
[ $DEBUGLEVEL -eq 20 ] && echo "** finished blockdev setup stuff at $(sysup)"
elif [ -n ${iscsiserver} ] ; then