From 302187e05bb4c920507e43604f36a5916b68fa0c Mon Sep 17 00:00:00 2001 From: Olivier Blin Date: Tue, 28 Jul 2009 16:28:14 +0000 Subject: detect some modules as built-in and do not wrongly abort --- lib/MDV/Draklive/Initrd.pm | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/lib/MDV/Draklive/Initrd.pm b/lib/MDV/Draklive/Initrd.pm index c02fa5b..a40de3a 100644 --- a/lib/MDV/Draklive/Initrd.pm +++ b/lib/MDV/Draklive/Initrd.pm @@ -8,6 +8,11 @@ use MDV::Draklive::StorageFS; use MDV::Draklive::Loopback; use MDV::Draklive::Overlay; +my %module_to_config = ( + ext3 => 'EXT3_FS', + sd_mod => 'BLK_DEV_SD', +); + sub nls_modules { my ($live) = @_; my $fs = $live->{media}->get_media_setting('fs'); @@ -138,7 +143,11 @@ sub create_media_specific_initrd { } my @missing = sort(difference2($extra_missing, \@additional_modules)); - @missing and die "missing mandatory modules:\n" . join("\n", @missing, ''); + if (@missing) { + my @config = map { if_(/^CONFIG_(.*)=y$/, $1) } cat_($root . "/boot/config-" . $kernel); + my @really_missing = grep { !member($module_to_config{$_}, @config) } @missing; + @really_missing and die "missing mandatory modules:\n" . join("\n", @really_missing, ''); + } mkdir_p($initrd_tree . $kernel_root . "/kernel"); my @modules = (@$storage_modules, @$extra_modules); -- cgit v1.2.1