[openfirmware] Using Open Firmware as a boot manager

Mark Morgan Lloyd markMLl.openfirmware at telemetry.co.uk
Fri Mar 18 19:18:55 CET 2011


Mitch Bradley wrote:
> On 3/16/2011 7:43 AM, Mark Morgan Lloyd wrote:
>> No rush, obviously.
>>
>> OK, that's working. What is c actually representing here- the entire disc?
> 
> 
> It represents the default partition, except in the case of ".partitions", which explicitly adds the "whole disk" partition specifier.
> 
>  /pci/pci-ide at 1f,1/ide at 0/disk at 0    means the default partition
>  /pci/pci-ide at 1f,1/ide at 0/disk at 0:0  means the whole disk
>  /pci/pci-ide at 1f,1/ide at 0/disk at 0:1  means the first partition
>  /pci/pci-ide at 1f,1/ide at 0/disk at 0:2  means the second partition
>  /pci/pci-ide at 1f,1/ide at 0/disk at 0:1,\foo   means the file "foo" on the first partition

Right. So your previous example

ok devalias c /pci/pci-ide at 1f,1/ide at 0/disk at 0

can be equally-well written as

ok devalias c /pci/pci-ide at 1f,1/ide at 0/disk at 0:1

>> I've set myself up a disk with DOS and Linux which .partitions c 
>> describes as
>>
>> 1 Primary Yes FAT-16>32M 37
>> 2 Primary No Extended 2252
>> 2 Logical No FAT-16>32M 2045
>> 3 Logical No 0x82 207
>>
>> That final partition isn't right, it's actually filling all the 
>> otherwise-unused space on a 6Gb disc, but let's skip that for the moment.
>>
>> What do I define d as so I can look at the content of the second FAT 
>> partition? 
> 
> 
>  /pci/pci-ide at 1f,1/ide at 0/disk at 0:2

ok devalias d /pci/pci-ide at 1f,1/ide at 0/disk at 0:2

Got that, working.

>> What is disk at 0- a reference to a block?
> 
>    ide at 0 means the primary IDE string.  ide at 1 means the secondary string
>    disk at 0 means the master disk on the string.  disk at 1 means the slave disk

OK, noting the distinction between that and the earlier part that 
specifies the port address.

So by extension, I can do

ok devalias a /pci/isa at 1f/fdc at i3f0/disk
ok dir a:\

Let me guess: I can't see the SCSI devices because the 2940 ROM doesn't 
contain fcode :-)

>> What do I need to do to look in the Linux filesystem, including 
>> identifying what file in /boot can be booted?
> 
> ok dir /pci/pci-ide at 1f,1/ide at 0/disk at 0:2,\boot\

0:2 is the second FAT partition, do you mean 0:3 there? If I do

ok dir /pci/pci-ide at 1f,1/ide at 0/disk at 0:2,\

I see the content of the second FAT filesystem, if I do

ok dir /pci/pci-ide at 1f,1/ide at 0/disk at 0:3,\

I get

Error: Unknown file system
Can't open disk label package
Can't open directory

OFW was built using the instructions from 
http://www.openfirmware.info/Building_OFW_to_Run_Under_BIOS which worked 
without problems. I'd note however that when I tried a year or so ago 
using an older compiler I had problems and had to fall back to mkdosfs 
and still had problems: is that block count correct for a 1.44Mb disc?

> Alternatively:
> 
> ok dir /ide/disk:2,\boot\
> 
> You can omit path components that are unnecessary for disambiguation, because OFW will look for anything that matches.
> 
>  Can I then boot/load it?
> 
> ok boot /ide/disk:2,\boot\vmlinuz

Can't get there yet pending sorting out dir problem above. I assume that 
OFW specifically knows about the compressed kernel format, since it's 
already (I presume) in protected mode it can't go via the standard boot 
sectors. If my understanding is correct I think those instructions might 
be better headed "Building OFW to be Loaded by BIOS".

If I can ask one further question, expecting only the sketchiest reply: 
if I attach a partitioned IDE disk (or insert an unpartitioned floppy) 
containing an alien unix-style filesystem (specifically, Sanos's DFS as 
described at http://www.jbox.dk/sanos/source/include/os/dfs.h.html), 
where would this get patched into OFW? I presume that it would have a 
driver very similar to that for ext2.

I'm interested to sort out accessing the Linux disc as discussed above, 
but will then probably be going quiet for a few weeks while I clear some 
other jobs (and stuff relating to Open Source) off my desk. Then I'll be 
asking all sorts of awkward questions about putting OFW on the ARM 
boards I have here.

-- 
Mark Morgan Lloyd
markMLl .AT. telemetry.co .DOT. uk

[Opinions above are the author's, not those of his employers or colleagues]



More information about the openfirmware mailing list