lp:ipxe

Created by Peter J. Mello and last modified
Get this branch:
bzr branch lp:ipxe

Related bugs

Related blueprints

Branch information

Owner:
Peter J. Mello
Project:
iPXE
Status:
Development

Import details

Import Status: Reviewed

This branch is an import of the HEAD branch of the Git repository at https://github.com/ipxe/ipxe.git.

The next import is scheduled to run .

Last successful import was .

Import started on alnitak and finished taking 10 seconds — see the log
Import started on izar and finished taking 10 seconds — see the log
Import started on izar and finished taking 10 seconds — see the log
Import started on alnitak and finished taking 15 seconds — see the log
Import started on alnitak and finished taking 10 seconds — see the log
Import started on alnitak and finished taking 10 seconds — see the log
Import started on izar and finished taking 10 seconds — see the log
Import started on alnitak and finished taking 10 seconds — see the log
Import started on izar and finished taking 10 seconds — see the log
Import started on alnitak and finished taking 10 seconds — see the log

Recent revisions

5984. By Bernhard M. Wiedemann on 2021-06-14

[build] Ensure build ID is deterministic

Commit 040cdd0 ("[linux] Add a prefix to all symbols to avoid future
name collisions") unintentionally reintroduced an element of
non-determinism into the build ID, by omitting the -D option when
manipulating the blib.a archive.

Fix by adding the -D option to restore determinism.

Reworded-by: Michael Brown <email address hidden>
Signed-off-by: Michael Brown <email address hidden>

5983. By Michael Brown <email address hidden> on 2021-06-11

[efi] Veto the Itautec Ip4ConfigDxe driver

The Ip4ConfigDxe driver bug that was observed on Dell systems in
commit 64b4452 ("[efi] Blacklist the Dell Ip4ConfigDxe driver") has
also been observed on systems with a manufacturer name of "Itautec
S.A.". The symptoms of the bug are identical: an attempt to call
DisconnectController() on the LOM device handle will lock up the
system.

Fix by extending the veto to cover the Ip4ConfigDxe driver for this
manufacturer.

Debugged-by: Celso Viana <email address hidden>
Signed-off-by: Michael Brown <email address hidden>

5982. By Michael Brown <email address hidden> on 2021-06-07

[libc] Match standard prototype for putchar()

Reported-by: Bernhard M. Wiedemann <email address hidden>
Signed-off-by: Michael Brown <email address hidden>

5981. By Michael Brown <email address hidden> on 2021-06-07

[base64] Include terminating NUL within base64 character array

Reported-by: Bernhard M. Wiedemann <email address hidden>
Signed-off-by: Michael Brown <email address hidden>

5980. By Michael Brown <email address hidden> on 2021-06-07

[rndis] Fix size of reserved fields

Most RNDIS data structures include a trailing 4-byte reserved field.
For the REMOTE_NDIS_PACKET_MSG and REMOTE_NDIS_INITIALIZE_CMPLT
structures, this is an 8-byte field instead.

iPXE currently uses incorrect structure definitions with a 4-byte
reserved field in all data structures, resulting in data payloads that
overlap the last 4 bytes of the 8-byte reserved field.

RNDIS uses explicit offsets to locate any data payloads beyond the
message header, and so liberal RNDIS parsers (such as those used in
Hyper-V and in the Linux USB Ethernet gadget driver) are still able to
parse the malformed structures.

A stricter RNDIS parser (such as that found in some older Android
builds that seem to use an out-of-tree USB Ethernet gadget driver) may
reject the malformed structures since the data payload offset is less
than the header length, causing iPXE to be unable to transmit packets.

Fix by correcting the length of the reserved fields.

Debugged-by: Martin Nield <email address hidden>
Signed-off-by: Michael Brown <email address hidden>

5979. By Michael Brown <email address hidden> on 2021-06-04

[ath5k] Avoid returning uninitialised data on EEPROM read errors

Originally-implemented-by: Bernhard M. Wiedemann <email address hidden>
Signed-off-by: Michael Brown <email address hidden>

5978. By Michael Brown <email address hidden> on 2021-06-03

[crypto] Add memory output constraints for big-integer inline assembly

The ARM versions of the big-integer inline assembly functions include
constraints to indicate that the output value is modified by the
assembly code. These constraints are not present in the equivalent
code for the x86 versions.

As of GCC 11, this results in the compiler reporting that the output
values may be uninitialized.

Fix by including the relevant memory output constraints.

Reported-by: Christian Hesse <email address hidden>
Signed-off-by: Michael Brown <email address hidden>

5977. By Michael Brown <email address hidden> on 2021-05-24

[build] Use SOURCE_DATE_EPOCH for isohybrid MBR ID if it exists

Signed-off-by: Michael Brown <email address hidden>

5976. By Michael Brown <email address hidden> on 2021-05-24

[build] Use SOURCE_DATE_EPOCH for .iso timestamps if it exists

Originally-implemented-by: Bernhard M. Wiedemann <email address hidden>
Signed-off-by: Michael Brown <email address hidden>

5975. By Michael Brown <email address hidden> on 2021-05-21

[efi] Provide an "initrd.magic" file for use by UEFI kernels

Provide a file "initrd.magic" via the EFI_SIMPLE_FILE_SYSTEM_PROTOCOL
that contains the initrd file as constructed for BIOS bzImage kernels
(including injected files with CPIO headers constructed by iPXE).

This allows BIOS and UEFI kernels to obtain the exact same initramfs
image, by adding "initrd=initrd.magic" to the kernel command line.
For example:

  #!ipxe
  kernel boot/vmlinuz initrd=initrd.magic
  initrd boot/initrd.img
  initrd boot/modules/e1000.ko /lib/modules/e1000.ko
  initrd boot/modules/af_packet.ko /lib/modules/af_packet.ko
  boot

Do not include the "initrd.magic" file within the root directory
listing, since doing so would break software such as wimboot that
processes all files within the root directory.

Signed-off-by: Michael Brown <email address hidden>

Branch metadata

Branch format:
Branch format 7
Repository format:
Bazaar repository format 2a (needs bzr 1.16 or later)
This branch contains Public information 
Everyone can see this information.

Subscribers