[OpenBIOS] Booting SunOS from OpenBIOS
mark.cave-ayland at ilande.co.uk
Sat Apr 6 10:57:22 CEST 2013
On 06/04/13 09:27, Artyom Tarasenko wrote:
>> So when we are auto-allocating from OFMEM, rather than starting from beneath
>> the internal heap, we simply start auto-allocating from 0xff000000 downwards
>> which should leave the 0xffc00000 region being used by kadb well alone. A
>> quick test with the patch shows that my Solaris 8 image can still boot both
>> normally and into kadb.
> Yes! In kadb I get!
Great - I'll spin up a couple of patches for this.
> FMEM: ofmem_map_page_range ffcb0000 -> 006ea0000 00008000 mode 000000bc
> .vmunix loaded - 0x7c000 bytes used
> Unfortunately it's not as helpful as it became under Solaris 2.6+ :
> kadb> :c
> OFMEM: ofmem_claim phys=ffffffffffffffff size=00001000 align=00001000
> OFMEM: ofmem_claim_virt virt=00000000 size=00001000 align=00001000
> OFMEM: ofmem_map_page_range fef65000 -> 006f77000 00001000 mode 000000bc
> Begin traceback... sp = f0186b20
> Called from ffc017cc, fp=f0186b80, args=9 f013f870 f013f874 0 200 0
> Called from f013f83c, fp=f0186c08, args=f01e4000 1 f01e2bf0 fd020000
> f0186d88 f01e2ff4
> Called from f0140a38, fp=f0186c68, args=f01e563c 1cc5 f01e5652
> ff000008 ff000008 4400fe1
> Called from f0054f44, fp=f0186cc8, args=f0186d8c 22 ffffffff a f0186d8c 22
> Called from f0054724, fp=f0186d28, args=f0186d8c 22 5 0 ffffffff 0
> Called from f0054494, fp=f0186e18, args=f01e2173 f0186ec0 5 0 f0186e10 0
> Called from f0132e7c, fp=f0186e78, args=f01e2173 0 0 0 f0186e98 f0186ec0
> Called from f01375e0, fp=f0186ef8, args=f01e43c2 ffd2e31c f01e28f4 0
> f01e2b1c ffffffff
> Called from f0005250, fp=f0186f58, args=400 f01aa000 f9fbe000 0 200 f0178570
> Called from ffc11c94, fp=0, args=4000 3ffb78 0 ffc37570 ffc259d0 1
> End traceback...
> fault and calling cmd: trap 9 sp f0186b20 pc f013f870 npc f013f874
> stopped at 0: unimp 0x0
> kadb> bt
> symbol not found
> But still it's definitely a progress!
Indeed :) I remember when I got this far with Solaris 8, my next step
was to extract vmunix from the ISO image and run it through objdump -
while it didn't contain full debug information, it did contain function
name symbols which was enough for me to work out where the problem was.
Note that it may be worth grabbing vmunix from the original boot CD and
checking that too, just in case kernels with extra debug information are
used for the installation media but not for a HD image.
More information about the OpenBIOS