[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Any progress with grub-installer?



On 06/01/2019 20:40, John Paul Adrian Glaubitz wrote:

> Switching list for GRUB on SPARC.
> 
> On 1/6/19 9:35 PM, Frank Scheiner wrote:
>>> I think I will work on GRUB on SPARC next to address the build issues there.
>>
>> Before re-enabling COFF for GRUB, we could look into GRUB as ELF on sparc64, because looking at OpenBSD, their second stage bootloader is actually an ELF binary:
>>
>> ```
>> root@nfs:/srv/nfs/openbsd/6.3/sparc64# file ofwboot.net
>> ofwboot.net: ELF 64-bit MSB executable, SPARC V9, relaxed memory ordering, version 1 (SYSV), statically linked, stripped
>>
>> root@nfs:/srv/nfs/openbsd/6.3/sparc64# file bsd.mp
>> bsd.mp: ELF 64-bit MSB executable, SPARC V9, total store ordering, version 1 (SYSV), statically linked, not stripped
>> ```
>>
>> ...so the sparc64 firmware seems to also support ELF binaries. And according to [6] this seems to work for a lot of systems. If an ELF version of GRUB can be provided by someone, I have a lot of sparc64 gear to test on - though not as many as OpenBSD supports ;-).
> 
> I do actually. I have built a version of GRUB for sparc64 with the COFF
> linker options stripped off. Feel free to try the packages from [1].
> 
> If we actually don't ned COFF even on older SPARC boxes, that would be
> great.

>From memory whilst working on this for OpenBIOS: real OBPs can understand an ELF
executable when fed to init-program but something else still has to load them from
disk into memory. Possibly much newer hardware can run something like "boot
hd:,\path\to\me.elf" but certainly the Ultra series don't have elf-files or equivalent.

The BSD bootloaders follow the Solaris method which is to have a Fcode (compiled
Forth) bootblock which pulls in the ELF and then executes it via "init-program go".
SILO works by having an a.out bootblock which pulls in the next stage by memorising
the set of block numbers at installation time, loads it and then executes it.


ATB,

Mark.


Reply to: