summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--perl-install/ChangeLog4
-rw-r--r--perl-install/install_any.pm62
-rw-r--r--perl-install/install_steps_interactive.pm61
3 files changed, 72 insertions, 55 deletions
diff --git a/perl-install/ChangeLog b/perl-install/ChangeLog
index 893caaae4..c4f4418f7 100644
--- a/perl-install/ChangeLog
+++ b/perl-install/ChangeLog
@@ -1,5 +1,9 @@
2000-02-23 Pixel <pixel@mandrakesoft.com>
+ * install_steps_interactive.pm (load_thiskind): moved the HPT
+ stuff to install_any::ultra66 and call it.
+ Add sound card configuration (3 lines :)
+
* my_gtk.pm and interactive_gtk: resize the list and tree based on
root window size
diff --git a/perl-install/install_any.pm b/perl-install/install_any.pm
index 4e6464a2e..10572a2e1 100644
--- a/perl-install/install_any.pm
+++ b/perl-install/install_any.pm
@@ -706,4 +706,66 @@ sub move_desktop_file($) {
}
}
+sub ultra66 {
+ my ($o) = @_;
+
+ if (cat_("/proc/cmdline") !~ /ide2=/) {
+ require pci_probing::main;
+ my @l = map { $_->[0] } grep { $_->[1] =~ /(HPT|Ultra66)/ } pci_probing::main::probe('STORAGE_OTHER', 'more');
+ if (@l && $o->ask_yesorno('',
+_("Linux does not yet fully support ultra dma 66.
+As a work-around i can make a custom floppy giving access the hard drive on ide2 and ide3"), 1)) {
+ log::l("HPT|Ultra66: found");
+ my $ide = sprintf "ide2=0x%x,0x%x ide3=0x%x,0x%x",
+ map_index { hex($_) + (odd($::i) ? 1 : -1) } do {
+ if (@l == 2) {
+ map { (split ' ')[3..4] } @l
+ } else {
+ map { (split ' ')[3..6] } @l
+ }
+ };
+ log::l("HPT|Ultra66: gonna add ($ide)");
+
+ my $dev = devices::make("fd0");
+ my $image = $o->{pcmcia} ? "pcmcia" :
+ ${{ hd => 'hd', cdrom => 'cdrom',
+ ftp => 'network', nfs => 'network', http => 'network' }}{$o->{method}};
+
+ my $nb_try;
+ for ($nb_try = 0; $nb_try <= 1; $nb_try++) {
+ eval { fs::mount($dev, "/floppy", "vfat", 0) };
+ last if !$@ && -e "/floppy/syslinux.cfg";
+
+ eval { fs::umount("/floppy") };
+ $o->ask_warn('',
+_("Enter a floppy to create an HTP enabled boot
+(all data on floppy will be lost)"));
+ if (my $fd = getFile("$image.img")) {
+ my $w = $o->wait_message('', _("Creating bootdisk"));
+ local *OUT;
+ open OUT, ">$dev" or log::l("failed to write $dev"), return;
+ local $/ = \ (16 * 1024);
+ print OUT foreach <$fd>;
+ }
+ }
+ if (-e "/floppy/syslinux.cfg") {
+ log::l("HTP: modifying syslinux.cfg");
+ substInFile { s/(?=$)/ $ide/ if /^\s*append\s/ } "/floppy/syslinux.cfg";
+ fs::umount("/floppy");
+ log::l("HPT|Ultra66: all done");
+
+ $o->ask_warn('', $nb_try ?
+ _("It is necessary to restart installation booting on the floppy") :
+ _("It is necessary to restart installation with the new parameters"));
+ install_steps::rebootNeeded ($o);
+ } else {
+ $o->ask_warn('',
+_("Failed to create an HTP boot floppy.
+You may have to restart installation and give ``%s'' at the prompt", $ide));
+ }
+ }
+ }
+}
+
+
1;
diff --git a/perl-install/install_steps_interactive.pm b/perl-install/install_steps_interactive.pm
index b664433d1..78b5f68c3 100644
--- a/perl-install/install_steps_interactive.pm
+++ b/perl-install/install_steps_interactive.pm
@@ -1139,63 +1139,14 @@ sub load_thiskind {
!$o->ask_yesorno('', _("Try to find PCMCIA cards?"), 1);
$w = $o->wait_message(_("PCMCIA"), _("Configuring PCMCIA cards...")) if modules::pcmcia_need_config($pcmcia);
- if ($type =~ /scsi/i && cat_("/proc/cmdline") !~ /ide2=/) {
- require pci_probing::main;
- my @l = map { $_->[0] } grep { $_->[1] =~ /(HPT|Ultra66)/ } pci_probing::main::probe('STORAGE_OTHER', 'more');
- if (@l && $o->ask_yesorno('',
-_("Linux does not yet fully support ultra dma 66.
-As a work-around i can make a custom floppy giving access the hard drive on ide2 and ide3"), 1)) {
- log::l("HPT|Ultra66: found");
- my $ide = sprintf "ide2=0x%x,0x%x ide3=0x%x,0x%x",
- map_index { hex($_) + (odd($::i) ? 1 : -1) } do {
- if (@l == 2) {
- map { (split ' ')[3..4] } @l
- } else {
- map { (split ' ')[3..6] } @l
- }
- };
- log::l("HPT|Ultra66: gonna add ($ide)");
-
- my $dev = devices::make("fd0");
- my $image = $o->{pcmcia} ? "pcmcia" :
- ${{ hd => 'hd', cdrom => 'cdrom',
- ftp => 'network', nfs => 'network', http => 'network' }}{$o->{method}};
-
- my $nb_try;
- for ($nb_try = 0; $nb_try <= 1; $nb_try++) {
- eval { fs::mount($dev, "/floppy", "vfat", 0) };
- last if !$@ && -e "/floppy/syslinux.cfg";
-
- eval { fs::umount("/floppy") };
- $o->ask_warn('',
-_("Enter a floppy to create an HTP enabled boot
-(all data on floppy will be lost)"));
- if (my $fd = install_any::getFile("$image.img")) {
- my $w = $o->wait_message('', _("Creating bootdisk"));
- local *OUT;
- open OUT, ">$dev" or log::l("failed to write $dev"), return;
- local $/ = \ (16 * 1024);
- print OUT foreach <$fd>;
- }
- }
- if (-e "/floppy/syslinux.cfg") {
- log::l("HTP: modifying syslinux.cfg");
- substInFile { s/(?=$)/ $ide/ if /^\s*append\s/ } "/floppy/syslinux.cfg";
- fs::umount("/floppy");
- log::l("HPT|Ultra66: all done");
-
- $o->ask_warn('', $nb_try ?
- _("It is necessary to restart installation booting on the floppy") :
- _("It is necessary to restart installation with the new parameters"));
- install_steps::rebootNeeded($o);
- } else {
- $o->ask_warn('',
-_("Failed to create an HTP boot floppy.
-You may have to restart installation and give ``%s'' at the prompt", $ide));
- }
+ if ($type =~ /scsi/i) {
+ #- hey, we're allowed to pci probe :) let's do a lot of probing!
+ install_any::ultra66($o);
+
+ if (my ($c) = pci_probing::main::probe('AUDIO')) {
+ modules::add_alias("sound", $c);
}
}
-
my @l = eval { modules::load_thiskind($type, sub { $w = wait_load_module($o, $type, @_) }, $pcmcia) };
$@ and $o->errorInStep($@), return undef;
@l;