Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 11 Aug 2022 09:44:39 -0700
From:      John Baldwin <jhb@FreeBSD.org>
To:        Warner Losh <imp@FreeBSD.org>, src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
Subject:   Re: git: e2295b911723 - main - stand: i386/amd64: Always use elf format for /boot/loader and pxeldr
Message-ID:  <f44dddfc-80df-fbfd-f6b1-4bafae4b9580@FreeBSD.org>
In-Reply-To: <202208110331.27B3VZj9007311@gitrepo.freebsd.org>
References:  <202208110331.27B3VZj9007311@gitrepo.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
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 <imp@FreeBSD.org>
> AuthorDate: 2022-08-11 03:18:32 +0000
> Commit:     Warner Losh <imp@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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?f44dddfc-80df-fbfd-f6b1-4bafae4b9580>