diff options
-rw-r--r-- | images/NEWS | 2 | ||||
-rwxr-xr-x | images/make_boot_img | 12 |
2 files changed, 9 insertions, 5 deletions
diff --git a/images/NEWS b/images/NEWS index 50bead4f3..9cb6124ce 100644 --- a/images/NEWS +++ b/images/NEWS @@ -1,3 +1,5 @@ +- fix firmware loading + Version 1.42 - 9 September 2009, by Pascal Terjan - include squashfs-lzma and sqlzma kernel modules in all.rdz diff --git a/images/make_boot_img b/images/make_boot_img index 2d077d4b2..60906f4c5 100755 --- a/images/make_boot_img +++ b/images/make_boot_img @@ -141,6 +141,7 @@ EOF sub initrd { my ($type, $I, $img, $o_bootsplash_cfg) = @_; my $stage1_root = $ENV{DEBUGSTAGE1} ? "../mdk-stage1" : "/usr/$lib/drakx-installer-binaries"; + my ($ext) = $img =~ /rdz-(.*)/ or die "bad initrd name ($img)"; _ "rm -rf $tmp_initrd"; mkdir_p("$tmp_initrd$_") foreach qw(/etc /firmware /lib /modules /sbin /tmp /var); @@ -157,13 +158,15 @@ sub initrd { foreach ("/usr/share/ldetect-lst/fallback-modules.alias", "/lib/module-init-tools/ldetect-lst-modules.alias") { _ "install -D $_ $tmp_initrd$_"; } - foreach (glob_("all.kernels$I/firmware/*")) { - _ "cp -a $_ $tmp_initrd$_"; + foreach my $firm (glob_("all.kernels$I/$ext/firmware/*")) { + my $dest=$firm; + $dest =~ s|all.kernels$I/$ext/firmware/||; + _ "cp -a $firm $tmp_initrd/$dest"; }; output("$tmp_initrd/hotplug", q{#!/bin/sh -e if [ "$SUBSYSTEM" = firmware ] && [ "$ACTION" = add ] && [ -n "$FIRMWARE" ] ; then - if [ ! -e /sys\$DEVPATH/loading ]; then + if [ ! -e /sys$DEVPATH/loading ]; then exit 1 fi if [ -e "/lib/firmware/$FIRMWARE" ]; then @@ -188,7 +191,6 @@ fi _ "cp -a /etc/pcmcia/config.opts $tmp_initrd/etc/pcmcia"; } { - my ($ext) = $img =~ /rdz-(.*)/ or die "bad initrd name ($img)"; my $modz = "all.kernels$I/$ext"; mkdir_p("$tmp_initrd/modules/$ext"); __ "tar xC $tmp_initrd/modules/$ext -f $modz/${type}_modules.tar"; @@ -198,7 +200,7 @@ fi } # ka deploy need some files in all.rdz { - mkdir_p("$tmp_initrd/$_") foreach qw(sbin dev ka proc sbin var/tmp); + mkdir_p("$tmp_initrd/$_") foreach qw(dev ka proc var/tmp); symlink("/sbin", "$tmp_initrd/bin"); cp_af("/usr/bin/ka-d-client", "$tmp_initrd/ka/ka-d-client"); cp_af("/usr/bin/mke2fs_diet", "$tmp_initrd/sbin/mke2fs"); |