[OpenBIOS] Latest SPARC64 & Milax update
mark.cave-ayland at siriusit.co.uk
Sun Jan 3 04:40:13 CET 2010
Tarl Neustaedter wrote:
>> Tarl: is this nested boot process something that auto-boot should
>> handle automatically based on various bootarchive properties set by
>> the initial Fcode loader?
> Sorry about the delay, I just checked my email.
> I don't believe there is anything that should be automatically handled
> by the boot process - when you load /boot-archive, the fcode loaded
> should itself at the end invoke whatever execution method is required.
> My recollection is that boot-archive proceeds to load an ELF file and
> then jumps to that - I can verify that on monday.
Yeah; the part I couldn't see was how on earth the Fcode was loaded from
/ramdisk-root. However some searching on the internet gave the following
URL from one of the opensolaris mailing list archives:
http://markmail.org/message/sfoiqklq7xcpcrld which gives the following
quote about the booter phase:
6.2 Booter phase
This phase is derived from the SPARC wanboot ramdisk process (see PSARC
2001/009), and is responsible for reading the boot archive from the root
file system (or install server in wanboot's case) into a ramdisk device.
It does this by:
1) opening the boot-device (which it found as the "bootpath" property in
the OBP "/chosen" node)
2) using its file system specific reader to read the boot archive (by
default, /platform/`uname -m`/boot_archive)
3) creating a ramdisk device in "/ramdisk"
4) creating "bootarchive" and "fstype" properties in | "/chosen" |
5) booting the archive (a ramdisk is just another type of disk, so
executing the boot block area serves this purpose)
Given that init-program in OpenBIOS checks for several different
payloads, I've simply added an Fcode payload detection routine that
detects the version1 or startX words, skips the Fcode header and then
runs the Fcode evaluator. This seems to work fine on my tests here, so
I'll commit in a short while.
> Have we verified that OpenBios can jump to a SPARC ELF file?
Hmmm no - looking at the PPC code for the go word it seems that we need
someone who owns a copy of the IEEE-1275 bindings for SPARC and who is
proficient in SPARC assembler to implement this :(
Mark Cave-Ayland - Senior Technical Architect
PostgreSQL - PostGIS
Sirius Corporation plc - control through freedom
t: +44 870 608 0063
Sirius Labs: http://www.siriusit.co.uk/labs
More information about the OpenBIOS