---
lib/Sys/VirtConvert/Converter/RedHat.pm | 97 +++++++++++++++----------------
1 files changed, 47 insertions(+), 50 deletions(-)
diff --git a/lib/Sys/VirtConvert/Converter/RedHat.pm
b/lib/Sys/VirtConvert/Converter/RedHat.pm
index 8a6ff6b..5704fd8 100644
--- a/lib/Sys/VirtConvert/Converter/RedHat.pm
+++ b/lib/Sys/VirtConvert/Converter/RedHat.pm
@@ -621,67 +621,64 @@ sub _init_kernels
if($@) {
warn __x("Grub entry {title} has no kernel",
title => $config{title});
+ next;
}
- # Check we've got a kernel entry
- if(defined($grub_kernel)) {
- my $path = "$grub$grub_kernel";
+ my $path = "$grub$grub_kernel";
- # Reconstruct the kernel command line
- my @args = ();
- foreach my $arg ($g->aug_match("$bootable/kernel/*")) {
- $arg =~ m{/kernel/([^/]*)$}
- or die("Unexpected return from aug_match: $arg");
+ # Reconstruct the kernel command line
+ my @args = ();
+ foreach my $arg ($g->aug_match("$bootable/kernel/*")) {
+ $arg =~ m{/kernel/([^/]*)$}
+ or die("Unexpected return from aug_match: $arg");
- my $name = $1;
- my $value;
- eval { $value = $g->aug_get($arg); };
+ my $name = $1;
+ my $value;
+ eval { $value = $g->aug_get($arg); };
- if(defined($value)) {
- push(@args, "$name=$value");
- } else {
- push(@args, $name);
- }
- }
- $config{cmdline} = join(' ', @args) if(scalar(@args) > 0);
-
- my $kernel;
- if ($g->exists($path)) {
- $kernel = _inspect_linux_kernel($g, $path);
+ if(defined($value)) {
+ push(@args, "$name=$value");
} else {
- warn __x("grub refers to {path}, which doesn't
exist\n",
- path => $path);
+ push(@args, $name);
}
+ }
+ $config{cmdline} = join(' ', @args) if(scalar(@args) > 0);
- # Check the kernel was recognised
- if(defined($kernel)) {
- # Put this kernel on the top level kernel list
- $desc->{kernels} ||= [];
- push(@{$desc->{kernels}}, $kernel);
-
- $config{kernel} = $kernel;
-
- # Look for an initrd entry
- my $initrd;
- eval {
- $initrd = $g->aug_get("$bootable/initrd");
- };
-
- unless($@) {
- $config{initrd} =
- _inspect_initrd($g, $desc, "$grub$initrd",
- $kernel->{version});
- } else {
- warn __x("Grub entry {title} does not specify an ".
- "initrd", title => $config{title});
- }
- }
+ my $kernel;
+ if ($g->exists($path)) {
+ $kernel = _inspect_linux_kernel($g, $path);
+ } else {
+ warn __x("grub refers to {path}, which doesn't exist\n",
+ path => $path);
+ }
+
+ # Check the kernel was recognised
+ next unless defined($kernel);
+
+ # Put this kernel on the top level kernel list
+ $desc->{kernels} ||= [];
+ push(@{$desc->{kernels}}, $kernel);
+
+ $config{kernel} = $kernel;
+
+ # Look for an initrd entry
+ my $initrd;
+ eval {
+ $initrd = $g->aug_get("$bootable/initrd");
+ };
+
+ unless($@) {
+ $config{initrd} =
+ _inspect_initrd($g, $desc, "$grub$initrd",
+ $kernel->{version});
+ } else {
+ warn __x("Grub entry {title} does not specify an ".
+ "initrd", title => $config{title});
}
push(@configs, \%config);
}
-
# Create the top level boot entry
my %boot;
$boot{configs} = \@configs;
--
1.7.4.4