Subject: port-sgimips/17568: sgimips ECOFF bootblock not readable by early I2 proms
To: None <gnats-bugs@gnats.netbsd.org>
From: None <rafal@netbsd.org>
List: netbsd-bugs
Date: 07/11/2002 23:07:29
>Number: 17568
>Category: port-sgimips
>Synopsis: sgimips ECOFF bootblock not readable by early I2 proms
>Confidential: no
>Severity: critical
>Priority: high
>Responsible: port-sgimips-maintainer
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Thu Jul 11 20:08:00 PDT 2002
>Closed-Date:
>Last-Modified:
>Originator: Rafal Boni
>Release: NetBSD 1.6_BETA4
>Organization:
...or lack thereof...
>Environment:
The build host is:
System: NetBSD cyclops 1.6D NetBSD 1.6D (CYCLOPS.mp) #16: Tue Jul 9 22:05:56 EDT 2002 rafal@cyclops:/extra/src-current/sys/arch/i386/compile/CYCLOPS.mp i386
Architecture: i386
Machine: i386
The machine being installed is an R4400@150Mhz Indigo2 with the
following PROM: "SGI Version 5.1 Rev B IP22 Sep 16, 1993 (BE)".
>Description:
Attempting to boot the NetBSD/sgimips ECOFF bootloader/bootblock
results in the following on the above Indigo2:
Cannot load scsi(0)disk(2)rdisk(0)partition(8)/boot.
Illegal a_magic number 0x10b, expected OMAGIC.
Unable to load scsi(0)disk(2)rdisk(0)partition(8)/boot: execute format error
It looks like the ECOFF version is generated using objcopy, whereas
the kernels (which this box has no problem grokking) use elf2ecoff
to do the conversion.
This is what file(1) says for `boot' (the original objcopy'd boot-
block) and boot-elf2ecoff.ecoff (one generated using elf2ecoff on
the same x86 build host):
boot: MIPSEB ECOFF executable (paged) stripped - version 0.0
boot-elf2ecoff.ecoff: MIPSEB ECOFF executable (impure) not stripped - version 2.10
My guess is making the ecoff version via elf2ecoff will solve this
problem.
>How-To-Repeat:
Install ECOFF version of bootblock on above Indigo2, attempt to boot
it.
>Fix:
Use elf2ecoff to convert the ELF bootblock version to ECOFF?
>Release-Note:
>Audit-Trail:
>Unformatted: