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@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