j
: Next unread message k
: Previous unread message j a
: Jump to all threads
j l
: Jump to MailingList overview
Hi all,
I've checked out the Sun OpenBOOT code they provided, and gotten a little lost. I was curious if anyone else has reviewed or built the firmware?
I've found the two key Makefiles: ./obp/arch/sun4v/ontario/release/Makefile ./tools/Makefile
I figured out that a 'make' from the latter works on building the tools for constructing the firmware, while the former uses them to build a firmware image. I've gotten stuck trying to build this since it causes a SIGSEGV in libc on my Ultra60. Would anyone else be interested if I start trying to patch it to have debug symbols and use gcc as well as Oracle Solaris Studio (SUNWpro)?
Nathan
On 2011-Oct-23 18:12 , Nathan Kunkee wrote:
I've checked out the Sun OpenBOOT code they provided, and gotten a little lost. I was curious if anyone else has reviewed or built the firmware?
Well, I have. I was part of the team that reviewed and exported that code for open source. Although the motivation was more a matter of making the source readable than buildable. That was back when we were Sun, Oracle doesn't do this kind of thing.
I've found the two key Makefiles: ./obp/arch/sun4v/ontario/release/Makefile ./tools/Makefile
Yup. Generally, you run the tools/Makefile first, which builds pieces the individual platform builds will need. That's now an automatic part of ordinary builds, although I don't think it was back then. Once you have tools built, you go into arch/sun4v/ontario/release/ and make there. That should produce an openboot.bin.
I figured out that a 'make' from the latter works on building the tools for constructing the firmware, while the former uses them to build a firmware image. I've gotten stuck trying to build this since it causes a SIGSEGV in libc on my Ultra60. Would anyone else be interested if I start trying to patch it to have debug symbols and use gcc as well as Oracle Solaris Studio (SUNWpro)?
Are you running Solaris 10 or later? You might try under Solaris 9 (the release that was current at the time we shipped it), there was a disagreement between Solaris and Openboot's assembler code on use of a couple of the %g registers. This caused openboot builds to break in Solaris 10. I believe this build was snapshotted before we fixed that.