summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPascal Rigaux <pixel@mandriva.com>2005-06-06 06:29:05 +0000
committerPascal Rigaux <pixel@mandriva.com>2005-06-06 06:29:05 +0000
commit799496f23aae816375aee7dd1e2227ae08f7d000 (patch)
tree3dbd821bb2f0cda22f971c503ce56305f712fa76
parent621d75e8ff3e03c640b9bf7191d157de81a11817 (diff)
downloaddrakx-799496f23aae816375aee7dd1e2227ae08f7d000.tar
drakx-799496f23aae816375aee7dd1e2227ae08f7d000.tar.gz
drakx-799496f23aae816375aee7dd1e2227ae08f7d000.tar.bz2
drakx-799496f23aae816375aee7dd1e2227ae08f7d000.tar.xz
drakx-799496f23aae816375aee7dd1e2227ae08f7d000.zip
install2 functions should be steps
-rw-r--r--perl-install/install2.pm23
-rw-r--r--perl-install/install_any.pm16
2 files changed, 20 insertions, 19 deletions
diff --git a/perl-install/install2.pm b/perl-install/install2.pm
index 2e2a4e0e9..aaca3a6dd 100644
--- a/perl-install/install2.pm
+++ b/perl-install/install2.pm
@@ -316,24 +316,6 @@ sub exitInstall {
installStepsCall($o, $auto, 'exitInstall', getNextStep($::o) eq 'exitInstall');
}
-sub start_i810fb() {
- # keep the result otherwise monitor-edid does not return good results afterwards
- eval { any::monitor_full_edid() };
-
- my ($vga) = cat_('/proc/cmdline') =~ /vga=(\S+)/;
- return if !$vga || listlength(cat_('/proc/fb'));
-
- my %vga_to_xres = (0x311 => '640', 0x314 => '800', 0x317 => '1024');
- my $xres = $vga_to_xres{$vga} || '800';
-
- log::l("trying to load i810fb module with xres <$xres> (vga was <$vga>)");
- eval { modules::load('intel-agp') };
- eval {
- my $opt = "xres=$xres hsync1=32 hsync2=48 vsync1=50 vsync2=70 vram=2 bpp=16 accel=1 mtrr=1"; #- this sucking i810fb does not accept floating point numbers in hsync!
- modules::load_with_options([ 'i810fb' ], { i810fb => $opt });
- };
-}
-
#-######################################################################################
#- MAIN
@@ -569,7 +551,10 @@ sub main {
$o->{locale}{lang} = lang::set($o->{locale}) if $o->{locale}{lang} ne 'en_US' && !$::move; #- mainly for defcfg
- start_i810fb();
+ # keep the result otherwise monitor-edid does not return good results afterwards
+ eval { any::monitor_full_edid() };
+
+ install_any::start_i810fb();
$o->{allowFB} = listlength(cat_("/proc/fb"));
diff --git a/perl-install/install_any.pm b/perl-install/install_any.pm
index 53e4cc0b3..4e9a71405 100644
--- a/perl-install/install_any.pm
+++ b/perl-install/install_any.pm
@@ -295,6 +295,22 @@ sub dont_run_directly_stage2() {
readlink("/usr/bin/runinstall2") eq "runinstall2.sh";
}
+
+sub start_i810fb() {
+ my ($vga) = cat_('/proc/cmdline') =~ /vga=(\S+)/;
+ return if !$vga || listlength(cat_('/proc/fb'));
+
+ my %vga_to_xres = (0x311 => '640', 0x314 => '800', 0x317 => '1024');
+ my $xres = $vga_to_xres{$vga} || '800';
+
+ log::l("trying to load i810fb module with xres <$xres> (vga was <$vga>)");
+ eval { modules::load('intel-agp') };
+ eval {
+ my $opt = "xres=$xres hsync1=32 hsync2=48 vsync1=50 vsync2=70 vram=2 bpp=16 accel=1 mtrr=1"; #- this sucking i810fb does not accept floating point numbers in hsync!
+ modules::load_with_options([ 'i810fb' ], { i810fb => $opt });
+ };
+}
+
sub spawnShell() {
return if $::local_install || $::testing || dont_run_directly_stage2();