[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Second round of powerpc subarch investigation : boot-loaders.



On Sun, Oct 19, 2003 at 11:29:38AM +0200, Sven Luther wrote:
> oldpmac: uses bootx, miboot, quik or serial console OF. OF uses the
> .coff kernel, don't know about initrd. miboot uses floopy for kernel
> (compressed) and initrd. bootx can use a kernel and separate initrd, and
> quik cannot be used for cdrom boot. It is said that it is possible to
> use miboot to cdrom boot or ssomething such, but i have not confirmed
> these rumors. debian-installer will be installable from either bootx
> (uncompressed kernel + separate initrd) altough we will not provide
> bootx on the CD, or miboot (two or more floppy images).

I'll see if I can remember enough to explain a few of these. Just as
an overview: bootx is a MacOS application, miboot is a fake MacOS
system, quik is a boot-block based bootloader for OF, and you can
specify an xcoff formatted executable on any readable filesystem
as the boot-device/boot-file in OF. In theory, miboot can be used
on any device the MacOS can use to boot. You can use it on floppies,
hard drives, and CD-ROM as far as I know. I have never setup a
miboot based boot system, so I'm not 100% familiar with it.

It can definitely be used as the basis of a bootable CD for oldworld
models, but currently you need to use a commercial product such as
Toast to properly setup the image. The current problem is a lack of
device drivers. Just as a background, the classic MacOS is very anal
about it's abstraction layers. There are separate drivers for
everything, including each drive. The drivers for a drive live in
partitions on any normal block device, or in ROM for the floppy.
These drivers are the rough equivalent of the sd, sr, ide_disk,
and ide_cdrom in Linux. These drivers are loaded based on the
drive and controller type, and are sent block requests. They talk
to the appropriate controller subsystem (e.g.: SCSI Manager) to
get data from the low level hardware. While this is all documented
by Apple (at least mostly), there has been no real effort to write
free drivers, since most people use the commercial or built-in tools
to setup hard drives, and you only really need them on CD for boot
support on old ROM-based Macs.

I do remember the very first bootable installer, which was an
XCOFF file based on the RedHat install. I believe the coffboot
in the Linux kernel is really a little bootloader that has a
kernel and an optional initrd shoved into it. I'm sure that it
could be built with or without an initrd. It's been ages since
I've fiddled around with it, tho.

Just as a historical note, I actually installed Linux on my 7600
before that installer was available. The original way was to
install mklinux and use a MacOS version of quik to install the
bootblocks and copy a kernel over to the ext2 partition. I was
very grateful to Paul and all the rest who took the time to
figure out the broken mess of the first generation PCI PowerMacs.

	Brad Boyer
	flar@allandria.com



Reply to: