Subject: port-sgimips/17568: sgimips ECOFF bootblock not readable by early I2 proms
To: None <>
From: None <>
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
>Originator:     Rafal Boni
>Release:        NetBSD 1.6_BETA4
...or lack thereof...
	The build host is:
System: NetBSD cyclops 1.6D NetBSD 1.6D ( #16: Tue Jul 9 22:05:56 EDT 2002 rafal@cyclops:/extra/src-current/sys/arch/i386/compile/ 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)".

	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

	Install ECOFF version of bootblock on above Indigo2, attempt to boot

	Use elf2ecoff to convert the ELF bootblock version to ECOFF?