On 8/10/22 8:31 PM, Warner Losh wrote:
The branch main has been updated by imp:

URL: 
https://cgit.FreeBSD.org/src/commit/?id=e2295b9117233d8248fe919c6b28ef1d44a8950d

commit e2295b9117233d8248fe919c6b28ef1d44a8950d
Author:     Warner Losh <i...@freebsd.org>
AuthorDate: 2022-08-11 03:18:32 +0000
Commit:     Warner Losh <i...@freebsd.org>
CommitDate: 2022-08-11 03:28:22 +0000

     stand: i386/amd64: Always use elf format for /boot/loader and pxeldr
The first level boot blocks have understood how to load ELF code since
     1999. Switch /boot/loader and /boot/pxeldr over to being ELF format so
     that in-tree tools can examine them more closely. In addition, one
     could, in theory, now have a 'lo-mem' and a 'hi-mem' segment (though a
     lot of work would need to be done with bounce buffers, btx, code segment
     marking, etc for an arrangement like that to work).
As far as I can tell, this is the last a.out binary in the tree. There
     are several raw binaries left, but everything else is ELF.

Unfortunately not all of our boot blocks are ready for this.

pxeboot consists of pxldr.S glued in front of a /boot/loader binary and pxeldr.S
assumes an a.out header which it parses to know how large /boot/loader is how
to relocate it and it's nested BTX kernel.

Similarly, cdboot.S used for booting of ISO images reads /boot/loader directly
off of an ISO and also assumes an a.out header for /boot/loader.

--
John Baldwin

Reply via email to