buildroot.busybox.net archive mirror
 help / color / mirror / Atom feed
* [Buildroot] [PATCH v3 0/7] Add support for ISO9660 image compatible with Legacy and EFI BIOS
@ 2021-09-23 15:57 Kory Maincent
  2021-09-23 15:57 ` [Buildroot] [PATCH v3 1/7] board, boot, package: remove usage of startup.nsh in EFI partition Kory Maincent
                   ` (6 more replies)
  0 siblings, 7 replies; 45+ messages in thread
From: Kory Maincent @ 2021-09-23 15:57 UTC (permalink / raw)
  To: buildroot; +Cc: yann.morin.1998, thomas.petazzoni

This series of patches aims to support the generation of an ISO9660 hybrid
image compatible with Legacy BIOS and EFI BIOS. To implement this, we need
to improve the grub2 package and modify the ISO9660 image support

Grub2 was written to build only one configuration at a time. For the hybrid
image we need to have several configuration of Grub2 in the same image.
For example we might want to have Grub2 built for BIOS, EFI 32 bits and EFI
64 bits in the same image. To support this, we chose to fill a list of
configuration name tuples, and then build each Grub2 configuration in a
separate build-$(tuple) folder. It seems simpler than having multiple
duplicated grub2 packages for each possible configuration.

The generation of ISO9660 image was only supporting bootloaders based on
Legacy BIOS boot. We first change the ISO9660 image generation to use
xorriso instead of genimageiso, in order to be able to build an image
compatible with both legacy and EFI BIOS. Then we add the generation of an
EFI System Partition in iso9660 so that we can install the EFI-compatible
bootloader."

In detail:

 - PATCH 1 drop the usage of the useless startup.nsh file
 - PATCH 2 implements simultaneous build of GRUB for different configurations
 - PATCH 3 implements the generation of ISO9660 image booting on a EFI BIOS
 - PATCH 4 implements the generation of hybrid image compatible with Legacy
   and EFI BIOS
 - PATCH 5 updates the encoding of the text return from testing emulator
 - PATCH 6 add support to i386 architecture to edk2 package
 - PATCH 7 updates iso9660 tests and implements a test for EFI image and
   hybrid image.

Changes in v2:
- Update the typo of Grub2 configuration tuples to make more legible code
- Expand explanation in few commit messages.
- Fix typos.
- Fix Grub2 Legacy builtin configurations.
- Add mkfs and mcopy parameters in iso9660 package to build reproducible
  images.
- Remove the implementation of host-efi-bios package.
- Add support for i386 architecture to edk2 package.

Changes in v3:
- Add a patch to drop all the startup.nsh usage in Buildroot. The EFI
  payload naming is sufficient to choose the right boot payload.
- Update the Grub2 tuples management to have a more readable package.
- Fix ISO9660 EFI image generation options.
- Fix Kconfig options between EFI and BIOS bootloader in the ISO9660
  package.

Thanks in advance for your review and feedback

Kory Maincent (7):
  board, boot, package: remove usage of startup.nsh in EFI partition
  boot/grub2: add support to build multiple Grub2 configurations in the
    same build
  fs/iso9660: add support to Grub EFI bootloader in the image
  fs/iso9660: add support for hybrid image using Grub bootloader on BIOS
    and EFI
  support/testing/infra/emulator.py: update encoding when calling qemu
  boot/edk2: add support to i386 architecture
  support/testing/tests/fs/test_iso9660.py: add support to test using
    EFI BIOS

 Config.in.legacy                         |  24 +++
 board/aarch64-efi/genimage-efi.cfg       |   3 -
 board/intel/galileo/genimage.cfg         |   3 -
 board/minnowboard/genimage.cfg           |   3 -
 board/pc/genimage-efi.cfg                |   3 -
 board/pc/post-build.sh                   |   2 +-
 board/qemu/aarch64-sbsa/genimage.cfg     |   3 -
 boot/edk2/Config.in                      |  12 +-
 boot/edk2/edk2.mk                        |  12 +-
 boot/grub2/Config.in                     |  53 +++++--
 boot/grub2/grub2.mk                      | 181 +++++++++++++----------
 boot/gummiboot/gummiboot.mk              |   2 -
 fs/iso9660/Config.in                     |  27 +++-
 fs/iso9660/iso9660.mk                    |  64 +++++++-
 package/systemd/systemd.mk               |   2 -
 support/testing/conf/grub2-efi.cfg       |   2 +
 support/testing/infra/emulator.py        |   2 +-
 support/testing/tests/fs/test_iso9660.py |  80 +++++++++-
 18 files changed, 342 insertions(+), 136 deletions(-)
 create mode 100644 support/testing/conf/grub2-efi.cfg

-- 
2.25.1

_______________________________________________
buildroot mailing list
buildroot@lists.buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 45+ messages in thread

end of thread, other threads:[~2021-10-20 15:58 UTC | newest]

Thread overview: 45+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-09-23 15:57 [Buildroot] [PATCH v3 0/7] Add support for ISO9660 image compatible with Legacy and EFI BIOS Kory Maincent
2021-09-23 15:57 ` [Buildroot] [PATCH v3 1/7] board, boot, package: remove usage of startup.nsh in EFI partition Kory Maincent
2021-09-23 20:06   ` Yann E. MORIN
2021-09-24 20:28     ` Erico Nunes
2021-09-27 19:28       ` Yann E. MORIN
2021-09-27 19:27   ` Yann E. MORIN
2021-09-23 15:57 ` [Buildroot] [PATCH v3 2/7] boot/grub2: add support to build multiple Grub2 configurations in the same build Kory Maincent
2021-09-27 19:42   ` Yann E. MORIN
2021-10-06 18:11   ` Yann E. MORIN
2021-10-07  8:23     ` Köry Maincent
2021-10-07  9:53       ` Yann E. MORIN
2021-10-07 12:43         ` Köry Maincent
2021-10-07 16:29           ` Yann E. MORIN
2021-10-08  8:20             ` Köry Maincent
2021-10-11 10:27             ` Köry Maincent
2021-10-14 20:02               ` Yann E. MORIN
2021-10-14 20:27                 ` Yann E. MORIN
2021-10-14 20:48                 ` Adam Duskett
2021-10-14 21:02                 ` Yann E. MORIN
2021-10-15  9:19                 ` Köry Maincent
2021-10-15  9:28                   ` Thomas Petazzoni
2021-10-15 20:50                 ` Yann E. MORIN
2021-10-19 16:30                   ` Adam Duskett
2021-10-20 15:58                     ` Köry Maincent
2021-09-23 15:57 ` [Buildroot] [PATCH v3 3/7] fs/iso9660: add support to Grub EFI bootloader in the image Kory Maincent
2021-09-27 20:43   ` Yann E. MORIN
2021-09-28  5:35     ` Yann E. MORIN
2021-09-23 15:57 ` [Buildroot] [PATCH v3 4/7] fs/iso9660: add support for hybrid image using Grub bootloader on BIOS and EFI Kory Maincent
2021-09-27 21:05   ` Yann E. MORIN
2021-09-29  8:23     ` Köry Maincent
2021-09-29 21:26   ` Yann E. MORIN
2021-09-30  9:12     ` Köry Maincent
2021-09-23 15:57 ` [Buildroot] [PATCH v3 5/7] support/testing/infra/emulator.py: update encoding when calling qemu Kory Maincent
2021-09-30 20:28   ` Yann E. MORIN
2021-10-02 20:28     ` Yann E. MORIN
2021-10-03  9:09       ` Thomas Petazzoni
2021-10-03 12:47   ` Yann E. MORIN
2021-10-04  7:47     ` Köry Maincent
2021-10-06 14:59     ` Peter Korsgaard
2021-09-23 15:57 ` [Buildroot] [PATCH v3 6/7] boot/edk2: add support to i386 architecture Kory Maincent
2021-09-30 19:51   ` Yann E. MORIN
2021-10-03 12:49   ` Yann E. MORIN
2021-10-04 10:22     ` Köry Maincent
2021-09-23 15:57 ` [Buildroot] [PATCH v3 7/7] support/testing/tests/fs/test_iso9660.py: add support to test using EFI BIOS Kory Maincent
2021-10-03 12:50   ` Yann E. MORIN

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).