Alpha issues (SRM installation)
I've been doing a few things to make installing Debian on Alphas that boot
from SRM firmware a bit more pleasant, and I'm wondering about how to
proceed with a few things.
First, on MILO machines, the "make the system bootable from hard disk" and
"write a boot floppy" steps are not relevant to the installation, as the
details of MILO installation are, I fear, beyond the scope of dbootstrap
(you either have to flash it into firmware or make a small DOS partition
containing MILO and linload.exe), so these steps should not (IMHO) be
present in the main dbootstrap menu.
However, on SRM machines, they are definitely relevant. I've committed some
patches to bootconfig.c and to the root.bin scripts to include the necessary
aboot utilities and files in order to make SRM-bootable floppies and disks.
There are two things I'm wondering about:
1) dbootstrap needs to detect whether it has been booted from SRM or MILO,
then adjust the installation sequence accordingly, neither of which I can
figure out how to do. (well, the former can probably be done by a 'dmesg |
grep -q SRM' :) Can one remove/add steps from the main menu at runtime or
does it have to be done at compile time?
2) dbootstrap also needs to run the correct fdisk program based on this
detection - cfdisk cannot create OSF partition maps, so SRM machines must
use fdisk instead. I would also like to put up a dialog box explaining that
you need to put fdisk into disklabel mode with the 'b' command (it would be
nice if you could simply launch fdisk in disklabel mode - I might hack it so
that this can be done), and start the first partition at cylinder 2 rather
than cylinder 1 to leave room for aboot. (BTW, the Red Hat 6.1 installer is
very nice about this - it has its own partitioning utility, so it does all
that for you automatically and transparently)
Obviously I could compile two separate dbootstraps, and make two separate
root.bins, one for MILO and one for SRM, but I don't want to do that (it's
bad enough that people have to deal with fdisk :P)
How should I go about this stuff?