summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xmake_boot_img54
-rw-r--r--perl-install/any.pm2
-rw-r--r--perl-install/install_steps_interactive.pm2
-rw-r--r--perl-install/modules.pm19
4 files changed, 71 insertions, 6 deletions
diff --git a/make_boot_img b/make_boot_img
index 52a432e19..0900801b4 100755
--- a/make_boot_img
+++ b/make_boot_img
@@ -320,9 +320,57 @@ image=/vmlinux$I.gz
sub boot_img_ppc {
my ($mnt, $img) = @_;
- # Here's a quick hack... just to give the script somethign to do. :)
- # We do not yet have a set way of making bootable images.
- _ "cp $type.rdz $img";
+ my $dir = "/export";
+ my $boot = "boot"; #- non-absolute pathname only!
+ _ "mkdir -p $dir/$boot";
+ _ "cp -f vmlinux $dir/$boot/vmlinux";
+ _ "cp -f all.rdz $dir/boot/all.gz";
+ _ "cp -f tools/ppc/yaboot $dir/boot/yaboot";
+
+ output("$dir/$boot/yaboot.conf", "
+init-message = \"\\nWelcome to Mandrake Linux PPC!\\nHit <TAB> for boot options.\\n\\n\"
+timeout = 150
+default = install-novideo
+
+image = cd:,\\\\\\\\vmlinux
+ label = install-novideo
+ initrd = cd:,\\\\\\\\all.gz
+ initrd-size = 32000
+ append = \" video=ofonly\"
+
+image = cd:,\\\\\\\\vmlinux
+ label = install-atyfb
+ initrd = cd:,\\\\\\\\all.gz
+ initrd-size = 32000
+ append = \" video=atyfb:vmode:17\"
+
+image = cd:,\\\\\\\\vmlinux
+ label = install-aty128fb
+ initrd = cd:,\\\\\\\\all.gz
+ initrd-size = 32000
+ append = \" video=aty128fb:vmode:17\"
+
+image = cd:,\\\\\\\\vmlinux
+ label = install-text
+ initrd = cd:,\\\\\\\\all.gz
+ initrd-size = 32000
+ append = \" text\"
+
+image = cd:,\\\\\\\\vmlinux
+ label = rescue
+ initrd = cd:,\\\\\\\\all.gz
+ initrd-size = 32000
+ append = \" rescue\"
+");
+ #- seem to need 2 yaboot.conf, one in the root, and one in boot
+ _ "cp -f $dir/boot/yaboot.conf $dir/yaboot.conf";
+
+ output("$dir/$boot/README", "
+To Build a Bootable CD-ROM, do:
+cd /tools/ppc
+./mkINSTALLCD /export ppc-cd.img
+");
+
}
sub output {
diff --git a/perl-install/any.pm b/perl-install/any.pm
index 260983fa8..d015e5897 100644
--- a/perl-install/any.pm
+++ b/perl-install/any.pm
@@ -281,7 +281,7 @@ if (arch() !~ /ppc/) {
@l );
if ($e->{type} eq "image") {
@l = ({ label => _("Label"), val => \$e->{label} },
- $::expert ? @l[1..4] : @l[1..2], { label => _("Append"), val => \$e->{append} } ,
+ $::expert ? @l[1..4] : (@l[1..2], { label => _("Append"), val => \$e->{append} }) ,
if_($::expert, { label => _("Initrd-size"), val => \$e->{initrdsize}, list => [ '', '4096', '8192', '16384', '24576' ] }),
if_($::expert, $l[5]),
{ label => _("NoVideo"), val => \$e->{novideo}, type => 'bool' },
diff --git a/perl-install/install_steps_interactive.pm b/perl-install/install_steps_interactive.pm
index 874099d14..62c1ba7b5 100644
--- a/perl-install/install_steps_interactive.pm
+++ b/perl-install/install_steps_interactive.pm
@@ -789,7 +789,7 @@ sub summary {
} grep { $_->{driver} eq 'hisax' } detect_devices::probeall()),
(map {
{ label => _("Sound card"), val => $_->{description} }
- } modules::get_that_type('sound')),
+ } arch() !~ /ppc/ ? modules::get_that_type('sound') : modules::load_thiskind('sound')),
(map {
{ label => _("TV card"), val => $_->{description} }
} grep { $_->{driver} eq 'bttv' } detect_devices::probeall()),
diff --git a/perl-install/modules.pm b/perl-install/modules.pm
index a93c79c02..092320cc1 100644
--- a/perl-install/modules.pm
+++ b/perl-install/modules.pm
@@ -84,6 +84,10 @@ arch() =~ /^sparc/ ? (
"de4x5" => "Digital 425,434,435,450,500",
"rtl8139" => "RealTek RTL8129/8139",
"8139too" => "Realtek RTL-8139",
+arch() =~ /ppc/ ? (
+ "mace" => "Apple PowerMac Ethernet",
+ "bmac" => "Apple G3 Ethernet",
+ "gmac" => "Apple G4/iBook Ethernet") : (),
}],
[ 'net_raw', {
"8390" => "8390",
@@ -138,6 +142,9 @@ arch() =~ /^sparc/ ? (
"pci2000" => "Perceptive Solutions PCI-2000", # TODO
"qlogicisp" => "Qlogic ISP",
"sym53c8xx" => "Symbios 53c8xx",
+arch() =~ /ppc/ ? (
+ "mesh" => "Apple Internal SCSI",
+ "mac53c94" => "Apple External SCSI") : (),
}],
[ 'scsi_raw', {
"scsi_mod" => "scsi_mod",
@@ -213,6 +220,8 @@ arch() !~ /^sparc/ ? (
"snd-card-trident" => "Silicon Integrated Systems [SiS]|7018 PCI Audio",
"snd-card-via686a" => "VIA Technologies|VT82C686 [Apollo Super AC97/Audio]",
"snd-card-ymfpci" => "Yamaha Corporation|YMF-740",
+) : arch() =~ /ppc/ ? (
+ "dmasound" => "Amiga or PowerMac DMA sound",
) : (),
}],
[ 'pcmcia', {
@@ -441,6 +450,10 @@ sub load {
add_alias($_, $name) foreach difference2([ detect_devices::getNet() ], \@netdev);
}
+ if ($type eq 'sound' && arch() =~ /ppc/) {
+ add_alias($type, $name);
+ }
+
when_load($name, $type, @options);
}
sub load_multi {
@@ -629,7 +642,11 @@ sub load_thiskind {
} get_that_type($type),
$type =~ /scsi/ && arch() !~ /sparc/ ?
(map { +{ driver => $_, description => $_, try => 1 } }
- detect_devices::usbZips() ? "usb-storage" : (), "imm", "ppa") : ();
+ detect_devices::usbZips() ? "usb-storage" : (), arch() =~ /ppc/ ? ("mesh", "mac53c94",) : ("imm", "ppa",)) :
+ $type =~ /net/ && arch() =~ /ppc/ ?
+ (map { +{ driver => $_, description => $_, try => 1 } } ("bmac", "gmac", "pmac",)) :
+ $type =~ /sound/ && arch() =~ /ppc/ ?
+ (map { +{ driver => $_, description => $_, try => 1 } } "dmasound") : ();
}
sub get_that_type {