summaryrefslogtreecommitdiffstats
path: root/perl-install/install_any.pm
diff options
context:
space:
mode:
Diffstat (limited to 'perl-install/install_any.pm')
-rw-r--r--perl-install/install_any.pm33
1 files changed, 21 insertions, 12 deletions
diff --git a/perl-install/install_any.pm b/perl-install/install_any.pm
index fa963c4d4..34540d103 100644
--- a/perl-install/install_any.pm
+++ b/perl-install/install_any.pm
@@ -345,21 +345,30 @@ sub setupFB {
pkgs::select($o->{packages}, $o->{packages}{'XFree86-FBDev'});
$o->installPackages($o->{packages});
- #- update lilo entries with a new fb label. a bit hack.
- my $root = $o->{bootloader}{entries}{'/boot/vmlinuz'}{root};
- if (lilo::add_kernel($o->{prefix}, $o->{bootloader}, kernelVersion(), 'fb',
- {
- label => 'linux-fb',
- root => $root,
- vga => $vga || 785,
- })) {
- $o->{bootloader}{default} = 'linux-fb';
+ $vga ||= 785; #- assume at least 640x480x16.
+
+ #- update lilo entries with a new fb label. a bit hack unless
+ #- a frame buffer kernel is used, in such case we use it instead
+ #- with the right mode, nothing more to do.
+ if ($o->{bootloader}{entries}{'/boot/vmlinuz-smp'}) {
+ $o->{bootloader}{entries}{'/boot/vmlinuz-smp'}{vga} = $vga;
lilo::install($o->{prefix}, $o->{bootloader});
} else {
- #- should deactivate X11 in such case.
- #- TODO
- die _("I can't access the kernel with frame buffer support.\nDisabling automatic X11 startup if any.");
+ my $root = $o->{bootloader}{entries}{'/boot/vmlinuz'}{root};
+ if (lilo::add_kernel($o->{prefix}, $o->{bootloader}, kernelVersion(), 'fb',
+ {
+ label => 'linux-fb',
+ root => $root,
+ vga => $vga,
+ })) {
+ $o->{bootloader}{default} = 'linux-fb';
+ lilo::install($o->{prefix}, $o->{bootloader});
+ } else {
+ log::l("unable to install kernel with frame buffer support, disabling");
+ return 0;
+ }
}
+ 1;
}
sub auto_inst_file() { "$::o->{prefix}/root/auto_inst.cfg.pl" }