X-Git-Url: http://rtime.felk.cvut.cz/gitweb/novaboot.git/blobdiff_plain/bd6e5917a4b675537fba613b914d4cdd2a79c7a1..2e6374908fe6803bebd9c871195709e8d1b39d9d:/novaboot diff --git a/novaboot b/novaboot index 2e70e79..756cbe3 100755 --- a/novaboot +++ b/novaboot @@ -17,7 +17,9 @@ use strict; use warnings; -use warnings (exists $ENV{NOVABOOT_TEST} ? (FATAL => 'all') : ()); +use warnings (exists $ENV{NOVABOOT_TEST} ? + (FATAL => 'all') : + (FATAL => qw(inplace))); # Open warnings in <<>> are fatal use Getopt::Long qw(GetOptionsFromString GetOptionsFromArray); use Pod::Usage; use File::Basename; @@ -357,7 +359,7 @@ my $EOF; my $last_fn = ''; my ($modules, $variables, $generated, $copy, $chainload, $continuation) = ([], {}, [], []); my $skip_reading = defined($on_opt) || defined($off_opt); -while (!$skip_reading && ($_ = <>)) { +while (!$skip_reading && ($_ = <<>>)) { if ($ARGV ne $last_fn) { # New script die "Missing EOF in $last_fn" if $file; die "Unfinished line in $last_fn" if $continuation; @@ -594,9 +596,11 @@ sub generate_grub2_config($$$$;$$) print $fg " $boot_method ${base}$kbin $kcmd\n"; } else { my @args = split; - # GRUB2 doesn't pass filename in multiboot info so we have to duplicate it here - $_ = join(' ', ($args[0], @args)); - s|\brom://|$rom_prefix|g; # We do not need to translate path for GRUB2 + if ($boot_method eq "multiboot") { + # GRUB2 doesn't pass filename in multiboot info so we have to duplicate it here + $_ = join(' ', ($args[0], @args)); + s|\brom://|$rom_prefix|g; # We do not need to translate path for GRUB2 + } print $fg " $module_load_method $base$_\n"; } } @@ -1291,7 +1295,7 @@ if (defined $uboot) { die "No '--uboot-addr kernel' given" unless $uboot_addr{kernel}; $exp->send("tftpboot $uboot_addr{kernel} $prefix$kbin\n"); $exp->expect(15, - [qr/##/, sub { exp_continue; }], + [qr/#/, sub { exp_continue; }], $uboot_prompt) || die "Kernel load: " . ($! || "timeout"); } if (defined $dtb) {