Subject: no netbootable boot prog
To: None <port-vax@netbsd.org>
From: Manuel Bouyer <bouyer@antioche.lip6.fr>
List: port-vax
Date: 04/19/2002 15:41:28
Hi,
unless I missed something, since the switch to ELF it's not possible
to netboot a vax any more: the vax wants to load a file in mop format,
which was produced by the mopa.out utility from the a.out boot file.
Now the boot file is ELF and I didn't find any way to produce a a.out file.
I can see 2 solutions:
1) build a a.out in addition to the ELF one
2) convert mopa.out to read ELF files.

If we go 2) then we shall make mopa.out a host tool and reinclude boot.mop
as part of the distribution. I think it's the best way of handling it.

I played a bit with 1), however, to see if there is a simple way of getting
my vax boot again (I installed a ELF kernel, so I need a ELF-aware boot prog
now). objcopy can't convert boot to a.out because of the .rodata sections.
Using a ld script stolen from perp, I've been able to get a boot with 
.rodata merged in .text. Ignoring .comment I can convert it to a.out,
and mopa.aout seems happy with it. However the vax doesn't want to load it:
  2..
-ESA0
  1..0..


?06 HLT INST
        PC = 002F6601
>>>

I guess something's wrong with the script (alignement, or size, or something -
a vax isn't a powerpc after all :)

I won't spend more time on this yet. However I suspect converting
mopa.out to mopelf should be very easy for anyone familiar with vax/ELF
(mopa.out.c if only 87 lines long once copyrigth have been stripped).

--
Manuel Bouyer, LIP6, Universite Paris VI.           Manuel.Bouyer@lip6.fr
--