Subject: Re: that was really easy
To: None <port-macppc@netbsd.org>
From: T. M. Pederson <salvage@galaxy.plethora.net>
List: port-macppc
Date: 11/17/1999 12:24:34
>>Off the top of my head, I've only got a hint:
>>
>>It's going to depend on the specific IDE/SCSI address of the drive and
>>the version of Open Firmware, but something like:
>>boot scsi/sd@1:0
>>should work for a drive with SCSI ID 1 on the default buss.  Essentially,
>>you need to tell Open Firmware the device and id of the disk, and to start
>>loading from block/partition 0 on that disk.
>>
>>I'm sure I found the info somewhere at one point, but I can't seem to
>>locate it now.
>
>It's not quite that easy.  LinuxPPC had a very hard time with this issue

It's not necessarily easy to specify the device, but once you've got that
you're essentially done.

>until BootX was written, which is a great program by the way.  I seem to

My experience with BootX puts it in the category of a 'cute toy'.  It's
great for experimenting, but I wouldn't trust a production box to it.

>remember that the guy who wrote BootX said something about porting it to
>NetBSD.  I think this should be first priority since, after all, what good
>is an OS if you can't boot it?  But, who am I to talk, since I am not

And I haven't been able to launch BootX on some boxes.  It's a nice option,
but I would not make it first priority as Open Firmware based booting is
already working (on most boxen).  I'd say first priority is to get a bit
of added functionality in the installer so it can set the requisite OF
variables.

>much of a programmer and can not help developing such a thing.  Anyway,
>a large number of macs have broken firmware that doesn't do what it should
>do, so you could be in for quite an adventure trying to figure out what
>the right boot command is.

There is that.

>On my 8500 I have to use
>
>boot scsi-int/sd@4:0

Doh!  I forgot about the dual scsi boxen.  :-)

Basic breakdown:
* Pick one of:
    scsi (for single buss boxen)
    scsi-int (internal buss on dual buss boxen)
    scsi-ext (external buss on dual buss boxen)
* separate from the next part with a '/'
* and then:
    sd (SCSI Disk)
* separate from the next part with a '@'
* put in the disk ID #, this ranges from 0-6
* separate from the next bit with a ':'
* put in the boot partition #, NetBSD uses 0 at the moment.
In short: <buss>/sd@<ID>:0

If you've got an IDE based system, things get more complicated.  One of:
ata/@0:0
ata/ata-disk@0:0
ata/ATA-Disk@0:0
ATA/ATA-Disk@0:0
ata0/@0:0
ide0/disk@0:0
should work depending on hardware and Open Firmware version.  Most systems
work with the first line.  G3s claim the last, and PowerBooks claim the
next-to-last (ata0/@0:0).

>Of course if the kernel isn't on the first partition, then that adds
>additional complications.  I would look at the linuxppc site for more
>info.

My understanding from reading the NetBSD/macppc docs is that NetBSD (at
this time) doesn't share a given drive with others.  Thus, it's always
on the 'first' partition.  Also, unless there's been a change since last
I checked, NetBSD/macppc doesn't do the Apple partition map (which is why
it doesn't share).

LinuxPPC has a page at http://www.linuxppc.org/userguide/booting.html
that goes into some detail on Open Firmware boot variables.
--
T. M. Pederson
salvage@galaxy.plethora.net