Re: git: e2295b911723 - main - stand: i386/amd64: Always use elf format for /boot/loader and pxeldr
- Reply: Warner Losh : "Re: git: e2295b911723 - main - stand: i386/amd64: Always use elf format for /boot/loader and pxeldr"
- In reply to: Warner Losh : "git: e2295b911723 - main - stand: i386/amd64: Always use elf format for /boot/loader and pxeldr"
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Thu, 11 Aug 2022 16:44:39 UTC
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