Thanks Mitch, generally noted. I've still got problems reading ext2 (Linux) filesystems, below reordered and truncated to focus on this.
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@1f,1/ide@0/disk@0:2,\boot\
0:2 is the second FAT partition, do you mean 0:3 there? If I do
ok dir /pci/pci-ide@1f,1/ide@0/disk@0:2,\
I see the content of the second FAT filesystem, if I do
ok dir /pci/pci-ide@1f,1/ide@0/disk@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.
Those instructions say to use config-virtualbox.fth, which doesn't include linux support. Just add a "create linux-support" line to config.fth. That will cause fw.bth to include the ext2 filesystem module.
Doing that builds OK, but I still can't read the directory. I'm suspicious about the partition table layout on the drive I'm using:
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
Linux's fdisk -l shows this to have start cylinders
/dev/hda1 1 6, FAT16 /dev/hda2 6 5, Extended /dev/hda3 311 83, Linux /dev/hda5 6 6, FAT16 /dev/hda6 283 82, Linux swap
I think one fair question here is how to tell .partitions to display all available, rather than stopping after four.
I've just put Debian onto another disk, which Linux's fdisk -l shows as
/dev/hda1 1 83, Linux /dev/hda2 248 5, Extended /dev/hda5 248 82, Linux swap
ok dir /pci/pci-ide@1f,1/ide@0/disk@0:1,\ ok dir /pci/pci-ide@1f,1/ide@0/disk@0:1,\boot\
both get me directory listings. Almost there now :-)
Setting up symlinks in /boot to save typing, and working on my experience with Sun systems that parameters get passed through,
ok boot /pci/pci-ide@1f,1/ide@0/disk@0:1,\boot\vmlinuz initrd=/boot/initrd.img root=/dev/hda1
That (plus a few variants) doesn't work, I think I need to have the initrd "piggybacked" onto the kernel, or quite simply use a kernel that doesn't rely heavily on modules... yes, testing with a Slackware kernel works fine.
So that leaves a possible issue with partition tables on some systems but apart from that looks pretty good.