[openfirmware] Using Open Firmware as a boot manager
Mark Morgan Lloyd
markMLl.openfirmware at telemetry.co.uk
Sat Mar 19 11:36:44 CET 2011
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 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.
>
> 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 at 1f,1/ide at 0/disk at 0:1,\
ok dir /pci/pci-ide at 1f,1/ide at 0/disk at 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 at 1f,1/ide at 0/disk at 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.
--
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