From 77ff585ab48626ade2d312102ae98202bf8b8d98 Mon Sep 17 00:00:00 2001 From: Michael Janczyk Date: Tue, 4 Dec 2012 18:32:15 +0100 Subject: - respect blacklisting of modules when autoloading modules in hwautocfg '-b' (stage3). - preinit.local enabled again for config/systemName/default, until now it was only possible for the default system in config/default. It make no sense for client specific configurations though. --- src/boot-env/OpenSLX/MakeInitRamFS/Engine/SlxBoot.pm | 4 ++-- src/initramfs/scripts/bin/hwautocfg | 13 +++++++------ src/initramfs/scripts/init | 8 ++++++-- 3 files changed, 15 insertions(+), 10 deletions(-) (limited to 'src') diff --git a/src/boot-env/OpenSLX/MakeInitRamFS/Engine/SlxBoot.pm b/src/boot-env/OpenSLX/MakeInitRamFS/Engine/SlxBoot.pm index a0c24edb..cc5cc409 100644 --- a/src/boot-env/OpenSLX/MakeInitRamFS/Engine/SlxBoot.pm +++ b/src/boot-env/OpenSLX/MakeInitRamFS/Engine/SlxBoot.pm @@ -235,9 +235,9 @@ sub _copyPreAndPostinitFiles foreach my $cfg ( 'default/initramfs/preinit.local', - "$self->{'system-name'}/initramfs/preinit.local", + "$self->{'system-name'}/default/initramfs/preinit.local", 'default/initramfs/postinit.local', - "$self->{'system-name'}/initramfs/postinit.local" + "$self->{'system-name'}/default/initramfs/postinit.local" ) { my $cfgPath = "$openslxConfig{'private-path'}/config/stage3/$cfg"; next if !-f $cfgPath; diff --git a/src/initramfs/scripts/bin/hwautocfg b/src/initramfs/scripts/bin/hwautocfg index 22323e84..482c9f9a 100755 --- a/src/initramfs/scripts/bin/hwautocfg +++ b/src/initramfs/scripts/bin/hwautocfg @@ -66,11 +66,12 @@ fi nwcardlist=$(echo ${slxconf_listnwmod}|sed "s/\ /|/g") # save results for later info and for Xen plugin when starting Xen VM hwinfo --netcard --usb-ctrl >/etc/hwinfo.netcard-usbctrl -grep modprobe /etc/hwinfo.netcard-usbctrl | grep -E "$nwcardlist|hcd" | \ - grep -v ehci | sed 's/.* Cmd: "//;s/"//' | sort -u >/etc/modprobe.base +grep modprobe /etc/hwinfo.netcard-usbctrl | grep -E "$nwcardlist|hcd" \ + | grep -v ehci | sed 's/.* Cmd: "//;s/"//;s/modprobe/modprobe -b ${MODPRV}/' \ + | sort -u >/etc/modprobe.base # virtio hack if [ $(grep -ic "virtio_pci" /etc/modprobe.base) -ge 1 ]; then - echo "modprobe virtio_net" >>/etc/modprobe.base + echo 'modprobe ${MODPRV} virtio_net' >>/etc/modprobe.base fi sh /etc/modprobe.base; mdev -s @@ -97,9 +98,9 @@ hwmain () { # check for rtc if not compiled directly into the kernel ( [ -e /proc/driver/rtc ] || modprobe ${MODPRV} rtc-cmos ) & waitfor /tmp/hwdataready 10000 -sed '/Driver Info #1/,/Config Status:/d' \ - /etc/hwinfo.data | grep modprobe | sed "s|.* Cmd: \"||;s|\"|$modloadbg|" \ - | sort -u >/etc/modprobe.pci +sed '/Driver Info #1/,/Config Status:/d' /etc/hwinfo.data | grep modprobe \ + | sed "s|.* Cmd: \"||;s|\"|$modloadbg|;s|modprobe|modprobe -b ${MODPRV}|" \ + | sort -u >/etc/modprobe.pci sh /etc/modprobe.pci mdev -s diff --git a/src/initramfs/scripts/init b/src/initramfs/scripts/init index 3f41d3c6..d1d7945b 100755 --- a/src/initramfs/scripts/init +++ b/src/initramfs/scripts/init @@ -121,8 +121,12 @@ runinithook '00-started' # run pre init script and user defined preinit.local, copied by mkdxsinitrd # from /var/lib/openslx/config/... in stage2 preinit -[ -x /bin/preinit.local ] && /bin/preinit.local - +[ -f /bin/preinit.local ] && { + [ $DEBUGLEVEL -gt 0 ] && \ + echo -n "Running script /bin/preinit.local ... " + chmod u+x /bin/preinit.local + /bin/preinit.local + [ $DEBUGLEVEL -gt 0 ] && echo "ok"; } # switch off the several configuration methods, will be switched on # according to kernel commandline settings -- cgit v1.2.3-55-g7522