summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--perl-install/bootloader.pm11
1 files changed, 10 insertions, 1 deletions
diff --git a/perl-install/bootloader.pm b/perl-install/bootloader.pm
index ff5fc4c70..83e4fbf95 100644
--- a/perl-install/bootloader.pm
+++ b/perl-install/bootloader.pm
@@ -422,7 +422,16 @@ sub add_kernel {
type => 'image',
label => kernel_str2label($kernel_str),
});
- $v->{append} = normalize_append("$bootloader->{perImageAppend} $v->{append}");
+
+ #- normalize append and handle special options
+ {
+ my ($simple, $dict) = unpack_append("$bootloader->{perImageAppend} $v->{append}");
+ if (-e "$::prefix/sbin/udev" && $kernel_str->{version} =~ /^2\.(\d+\.\d+)/ && $1 >= 6.8) {
+ log::l("it is a recent kernel, so we remove any existing devfs= kernel option to enable udev");
+ @$dict = grep { $_->[0] ne 'devfs' } @$dict;
+ }
+ $v->{append} = pack_append($simple, $dict);
+ }
#- new versions of yaboot don't handle symlinks
$b_nolink ||= arch() =~ /ppc/;