summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--docs/TODO2
-rw-r--r--perl-install/lang.pm1
-rw-r--r--perl-install/raid.pm19
3 files changed, 21 insertions, 1 deletions
diff --git a/docs/TODO b/docs/TODO
index d7c0a8086..1ae073830 100644
--- a/docs/TODO
+++ b/docs/TODO
@@ -52,6 +52,8 @@ aha152x needs "insmod aha152x.o aha152x=0x140,11,7"
try detect_devices::floppies (and how are scsi floppies handled?)
maybe: do a iotcl FDGETPRM to detect fd1, fd0.
+cancel button in packages installation
+
grub, chos
(?)maybe remove commented lines in /usr/lib/perl5/... files
diff --git a/perl-install/lang.pm b/perl-install/lang.pm
index 6f10c460d..445a134c5 100644
--- a/perl-install/lang.pm
+++ b/perl-install/lang.pm
@@ -76,7 +76,6 @@ my %charsets = (
"Big5" => [ "?????", "????",
"-*-*-*-*-*-*-*-*-*-*-*-*-big5-0" ],
"gb2312" => [ "?????", "????",
- "*-helvetica-medium-r-normal--14-*-*-*-*-*-iso8859-1," .
"-isas-song ti-medium-r-normal--16-*-*-*-*-*-gb2312.1980-0" ],
"iso-8859-1" => [ "lat0-sun16", "iso15", std("iso8859-1") ],
"iso-8859-2" => [ "lat2-sun16", "iso02", std("iso8859-2") ],
diff --git a/perl-install/raid.pm b/perl-install/raid.pm
index 7cc2eb7d6..45d58c750 100644
--- a/perl-install/raid.pm
+++ b/perl-install/raid.pm
@@ -9,6 +9,7 @@ use strict;
use common qw(:common :functional);
use run_program;
use devices;
+use commands;
use fs;
sub nb($) {
@@ -63,6 +64,15 @@ sub updateSize($) {
};
}
+sub module($) {
+ my ($part) = @_;
+ my $mod = $part->{level};
+
+ $mod = 5 if $mod eq "4";
+ $mod = "raid$mod" if $mod =~ /^\d+$/;
+ $mod;
+}
+
sub updateIsFormatted($) {
my ($part) = @_;
$part->{isFormatted} = and_ map { $_->{isFormatted} } @{$part->{disks}};
@@ -97,6 +107,7 @@ EOF
sub make($$) {
my ($raid, $part) = @_;
my $dev = devices::make($part->{device});
+ eval { commands::modprobe(module($part)) };
run_program::run("raidstop", $dev);
&write($raid, "/etc/raidtab");
run_program::run("mkraid", "--really-force", $dev);
@@ -109,4 +120,12 @@ sub format_part($$) {
fs::format_part($part);
}
+sub verify($) {
+ my ($raid) = @_;
+ $raid && $raid->{raid} or return;
+ foreach (@{$raid->{raid}}) {
+ @{$_->{disks}} >= ($_->{level} =~ /4|5/ ? 3 : 2) or die _("Not enough partitions for RAID level %d\n", $_->{level});
+ }
+}
+
1;