[OpenBIOS] Booting SunOS from OpenBIOS

Lennart Sorensen lsorense at csclub.uwaterloo.ca
Wed Mar 27 18:42:25 CET 2013


On Wed, Mar 27, 2013 at 06:04:07PM +0100, Artyom Tarasenko wrote:
> On Wed, Mar 27, 2013 at 5:44 PM, Lennart Sorensen
> <lsorense at csclub.uwaterloo.ca> wrote:
> > On Tue, Mar 26, 2013 at 04:07:15PM -0400,  wrote:
> >> On Tue, Mar 26, 2013 at 08:28:58PM +0100, Artyom Tarasenko wrote:
> >> > That would explain it, but are you sure that was already so in the
> >> > SunOS 4.x times?
> >> >
> >> > $ dd if=sunos.img of=sunos4.bb bs=512 skip=1 count=15
> >> > 15+0 records in
> >> > 15+0 records out
> >> > 7680 bytes (7.7 kB) copied, 6.3956e-05 s, 120 MB/s
> >> > $  file sunos4.bb
> >> > sunos4.bb: sparc executable not stripped
> >> > $  sparc64-linux-gnu-objdump -x sunos4.bb
> >> >
> >> > sunos4.bb:     file format a.out-sunos-big
> >> > sunos4.bb
> >> > architecture: sparc, flags 0x0000003e:
> >> > EXEC_P, HAS_LINENO, HAS_DEBUG, HAS_SYMS, HAS_LOCALS
> >> > start address 0x00440000
> >> >
> >> > Sections:
> >> > Idx Name          Size      VMA               LMA               File off  Algn
> >> >   0 .text         00001a58  00000000  00000000  00000020  2**3
> >> >                   CONTENTS, ALLOC, LOAD, CODE
> >> >   1 .data         00000310  00001a58  00001a58  00001a78  2**3
> >> >                   CONTENTS, ALLOC, LOAD, DATA
> >> >   2 .bss          0000c588  00001d68  00001d68  00000000  2**3
> >> >                   ALLOC
> >> > sparc64-linux-gnu-objdump: sunos4.bb: File truncated
> >>
> >> The boot file for sunos4 at http://chris.shenton.org/sysadm/xterminals/
> >> is a 110336 byte a.out binary by the looks of it.
> >>
> >> I am not sure if all sun machines used openboot with forth.  Anyone know?
> >
> > Well I found a page that said the sun4/110 does not use forth (and
> > apparently this made the firmware interface vastly faster to work with
> > than the ones written in forth).  So at least some early sparc boxes
> > had a sun3 style firmware.  Probably meant the boot code would be different
> > too on those.
> >
> > My guess would be that the sun4/1xx and sun4/2xx were not openboot,
> > while the sparcstation and sparcserver models probable all are.
> > So probably sun4c and sun4m were the first with openboot then.  Sure is
> > hard to find good details on these old things.
> 
> It doesn't look like FCode:
> 
> $  hexdump -C sunos4.bb |head
> 00000000  01 03 01 07 00 00 1a 58  00 00 03 10 00 00 c5 88  |.......X........|
> 00000010  00 00 06 cc 00 44 00 00  00 00 00 00 00 00 00 00  |.....D..........|
> 00000020  30 80 00 43 00 1b c0 10  00 1b d0 10 00 1b e0 10  |0..C............|
> 00000030  00 1b f0 10 00 1c 00 10  00 1c 10 10 00 1c 20 10  |.............. .|
> 
> There is no marker fd 03, mentioned by Tarl.
> 
> But still it's somehow strange a.out: I tried objdump from Linux/sparc
> and from Solaris/Sparc. Both of them can't extract the symbols, in
> spite of claiming that "HAS_DEBUG, HAS_SYMS".

The one I looked at says:

boot.sun4c.sunos.4.1.3:     file format a.out-sunos-big
boot.sun4c.sunos.4.1.3
architecture: sparc, flags 0x00000002:
EXEC_P
start address 0x00300000

Sections:
Idx Name          Size      VMA               LMA               File off  Algn
  0 .text         00016960  00000000  00000000  00000020  2**3
                  CONTENTS, ALLOC, LOAD, CODE
  1 .data         00004580  00016960  00016960  00016980  2**3
                  CONTENTS, ALLOC, LOAD, DATA
  2 .bss          00018550  0001aee0  0001aee0  00000000  2**3
                  ALLOC
SYMBOL TABLE:
no symbols

-- 
Len Sorensen



More information about the OpenBIOS mailing list