<feed xmlns='http://www.w3.org/2005/Atom'>
<title>openslx-ng/ipxe.git/src/arch/x86/scripts, branch openslx</title>
<subtitle>Fork of ipxe; additional commands and features</subtitle>
<id>https://git.openslx.org/openslx-ng/ipxe.git/atom/src/arch/x86/scripts?h=openslx</id>
<link rel='self' href='https://git.openslx.org/openslx-ng/ipxe.git/atom/src/arch/x86/scripts?h=openslx'/>
<link rel='alternate' type='text/html' href='https://git.openslx.org/openslx-ng/ipxe.git/'/>
<updated>2025-06-24T13:40:57+00:00</updated>
<entry>
<title>[build] Allow for the existence of small-data sections</title>
<updated>2025-06-24T13:40:57+00:00</updated>
<author>
<name>Michael Brown</name>
</author>
<published>2025-06-24T13:40:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/openslx-ng/ipxe.git/commit/?id=8df3b96402d1d35a4de928aaaca9f08018932fa3'/>
<id>urn:sha1:8df3b96402d1d35a4de928aaaca9f08018932fa3</id>
<content type='text'>
Signed-off-by: Michael Brown &lt;mcb30@ipxe.org&gt;
</content>
</entry>
<entry>
<title>[efi] Include Secure Boot Advanced Targeting (SBAT) metadata</title>
<updated>2022-01-13T14:12:44+00:00</updated>
<author>
<name>Michael Brown</name>
</author>
<published>2022-01-13T14:10:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/openslx-ng/ipxe.git/commit/?id=f4f9adf618cd85d330a896e1f721f3aa78d2409d'/>
<id>urn:sha1:f4f9adf618cd85d330a896e1f721f3aa78d2409d</id>
<content type='text'>
SBAT defines an encoding for security generation numbers stored as a
CSV file within a special ".sbat" section in the signed binary.  If a
Secure Boot exploit is discovered then the generation number will be
incremented alongside the corresponding fix.

Platforms may then record the minimum generation number required for
any given product.  This allows for an efficient revocation mechanism
that consumes minimal flash storage space (in contrast to the DBX
mechanism, which allows for only a single-digit number of revocation
events to ever take place across all possible signed binaries).

Add SBAT metadata to iPXE EFI binaries to support this mechanism.

Signed-off-by: Michael Brown &lt;mcb30@ipxe.org&gt;
</content>
</entry>
<entry>
<title>[build] Work around stray sections introduced by some binutils versions</title>
<updated>2021-02-15T10:02:32+00:00</updated>
<author>
<name>Michael Brown</name>
</author>
<published>2021-02-15T09:54:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/openslx-ng/ipxe.git/commit/?id=1b99ba2a93df92df63a7cddfb1b2cfb7b96be772'/>
<id>urn:sha1:1b99ba2a93df92df63a7cddfb1b2cfb7b96be772</id>
<content type='text'>
Some versions of GNU ld (observed with binutils 2.36 on Arch Linux)
introduce a .note.gnu.property section marked as loadable at a high
address and with non-empty contents.  This adds approximately 128MB of
garbage to the BIOS .usb disk images.

Fix by using a custom linker script for the prefix-only binaries such
as the USB disk partition table and MBR, in order to allow unwanted
sections to be explicitly discarded.

Reported-by: Christian Hesse &lt;mail@eworm.de&gt;
Tested-by: Christian Hesse &lt;mail@eworm.de&gt;
Signed-off-by: Michael Brown &lt;mcb30@ipxe.org&gt;
</content>
</entry>
<entry>
<title>[build] Allow BIOS linker script to be used with FreeBSD linker</title>
<updated>2021-01-30T18:37:01+00:00</updated>
<author>
<name>Michael Brown</name>
</author>
<published>2021-01-30T11:48:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/openslx-ng/ipxe.git/commit/?id=82dbca4938704d543d8b7b215708a416b51dbf9d'/>
<id>urn:sha1:82dbca4938704d543d8b7b215708a416b51dbf9d</id>
<content type='text'>
Add a few more ABSOLUTE() expressions to convince the FreeBSD linker
that already-absolute symbols are, in fact, absolute.

Signed-off-by: Michael Brown &lt;mcb30@ipxe.org&gt;
</content>
</entry>
<entry>
<title>[build] Avoid modifying load addresses when stripping .zinfo section</title>
<updated>2021-01-30T18:37:01+00:00</updated>
<author>
<name>Michael Brown</name>
</author>
<published>2021-01-30T01:35:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/openslx-ng/ipxe.git/commit/?id=fe52f8e8bef150c50e88c78ccc1f2b75a8d0f192'/>
<id>urn:sha1:fe52f8e8bef150c50e88c78ccc1f2b75a8d0f192</id>
<content type='text'>
Some versions of objcopy will spuriously complain when asked to
extract the .zinfo section since doing so will nominally alter the
load addresses of the (non-loadable) .bss.* sections.

Avoid these warnings by placing the .zinfo section at the very end of
the load memory address space.

Allocate non-overlapping load memory addresses for the (non-loadable)
.bss.* sections, in the hope of avoiding spurious warnings about
overlapping load addresses.

Signed-off-by: Michael Brown &lt;mcb30@ipxe.org&gt;
</content>
</entry>
<entry>
<title>[efi] Centralise architecture-independent EFI Makefile and linker script</title>
<updated>2016-03-12T21:47:13+00:00</updated>
<author>
<name>Michael Brown</name>
</author>
<published>2016-03-12T21:47:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/openslx-ng/ipxe.git/commit/?id=a8037ee131a9501ddfc89ce157e3718b1a3b86a7'/>
<id>urn:sha1:a8037ee131a9501ddfc89ce157e3718b1a3b86a7</id>
<content type='text'>
Signed-off-by: Michael Brown &lt;mcb30@ipxe.org&gt;
</content>
</entry>
<entry>
<title>[build] Fix building on older versions of binutils</title>
<updated>2016-02-19T20:03:30+00:00</updated>
<author>
<name>Michael Brown</name>
</author>
<published>2016-02-19T19:45:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/openslx-ng/ipxe.git/commit/?id=a4923354e31f83c17b9c5befadb801b80c9f9cc1'/>
<id>urn:sha1:a4923354e31f83c17b9c5befadb801b80c9f9cc1</id>
<content type='text'>
Some older versions of binutils have issues with both the use of
PROVIDE() and the interpretation of numeric literals within a section
description.

Work around these older versions by defining the required numeric
literals outside of any section description, and by automatically
determining whether or not to generate extra space for page tables
rather than relying on LDFLAGS.

Signed-off-by: Michael Brown &lt;mcb30@ipxe.org&gt;
</content>
</entry>
<entry>
<title>[librm] Generate page tables for 64-bit builds</title>
<updated>2016-02-19T03:21:38+00:00</updated>
<author>
<name>Michael Brown</name>
</author>
<published>2016-02-19T03:18:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/openslx-ng/ipxe.git/commit/?id=163f8acba0fbb6e3c44aec5286d3d076e1f44f22'/>
<id>urn:sha1:163f8acba0fbb6e3c44aec5286d3d076e1f44f22</id>
<content type='text'>
Signed-off-by: Michael Brown &lt;mcb30@ipxe.org&gt;
</content>
</entry>
<entry>
<title>[bios] Add bin-x86_64-pcbios build platform</title>
<updated>2016-02-16T19:32:32+00:00</updated>
<author>
<name>Michael Brown</name>
</author>
<published>2016-02-16T15:19:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/openslx-ng/ipxe.git/commit/?id=f468f12b1eca15e703aa2a79f1c82969c04c2322'/>
<id>urn:sha1:f468f12b1eca15e703aa2a79f1c82969c04c2322</id>
<content type='text'>
Move most arch/i386 files to arch/x86, and adjust the contents of the
Makefiles and the include/bits/*.h headers to reflect the new
locations.

This patch makes no substantive code changes, as can be seen using a
rename-aware diff (e.g. "git show -M5").

This patch does not make the pcbios platform functional for x86_64; it
merely allows it to compile without errors.

Signed-off-by: Michael Brown &lt;mcb30@ipxe.org&gt;
</content>
</entry>
<entry>
<title>[build] Fix %.licence build target</title>
<updated>2013-07-15T22:50:54+00:00</updated>
<author>
<name>Michael Brown</name>
</author>
<published>2013-07-15T22:08:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/openslx-ng/ipxe.git/commit/?id=ca319873bf43d5d955cc3d8770b5b2415798907d'/>
<id>urn:sha1:ca319873bf43d5d955cc3d8770b5b2415798907d</id>
<content type='text'>
Our use of --gc-sections causes the linker to discard the symbols
defined by FILE_LICENCE(), meaning that the resulting licence
determination is incomplete.

We must use the KEEP() directive in the linker script to force the
linker to not discard the licence symbols.  Using KEEP(*(COMMON))
would be undesirable, since there are some symbols in COMMON which we
may wish to discard.

Fix by placing symbols defined by PROVIDE_SYMBOL() (which is used by
FILE_LICENCE()) into a special ".provided" section, which we then mark
with KEEP().  All such symbols are zero-length, so there is no cost in
terms of the final binary size.

Since the symbols are no longer in COMMON, the linker will reject
symbols with the same name coming from multiple objects.  We therefore
append the object name to the licence symbol, to ensure that it is
unique.

Reported-by: Marin Hannache &lt;git@mareo.fr&gt;
Signed-off-by: Michael Brown &lt;mcb30@ipxe.org&gt;
</content>
</entry>
</feed>
