[Buildroot] [PATCH v3 1/7] board, boot, package: remove usage of startup.nsh in EFI partition

Yann E. MORIN yann.morin.1998 at free.fr
Mon Sep 27 19:27:42 UTC 2021


Köry, All,

On 2021-09-23 17:57 +0200, Kory Maincent spake thusly:
> The startup.nsh file is useless to boot EFI payloads. We just need to
> follow the naming detection specified in the UEFI spec.
> The EFI payload need to be placed in the boot/efi folder in the EFI partition
> and follow the architecture naming as described below:
> 32bit : bootia32.efi
> x64 : bootx64.efi
> aarch32 : bootarm.efi
> aarch64 : bootaa64.efi
> 
> This naming is already right in the packages involved (systemd, grub2,
> gummiboot), therefore we just need to drop the generation of the
> startup.nsh file.
> 
> The usage of the startup.nsh in genimage is also dropped to avoid errors in
> the image generation.
> 
> Signed-off-by: Kory Maincent <kory.maincent at bootlin.com>

Applied to master, thanks.

Regards,
Yann E. MORIN.

> ---
>  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/grub2/grub2.mk                  | 8 --------
>  boot/gummiboot/gummiboot.mk          | 2 --
>  package/systemd/systemd.mk           | 2 --
>  9 files changed, 1 insertion(+), 28 deletions(-)
> 
> diff --git a/board/aarch64-efi/genimage-efi.cfg b/board/aarch64-efi/genimage-efi.cfg
> index 34cca1d64e..2daa70c361 100644
> --- a/board/aarch64-efi/genimage-efi.cfg
> +++ b/board/aarch64-efi/genimage-efi.cfg
> @@ -1,8 +1,5 @@
>  image efi-part.vfat {
>    vfat {
> -    file startup.nsh {
> -      image = "efi-part/startup.nsh"
> -    }
>      file EFI {
>        image = "efi-part/EFI"
>      }
> diff --git a/board/intel/galileo/genimage.cfg b/board/intel/galileo/genimage.cfg
> index 31add21e67..b930c0deb9 100644
> --- a/board/intel/galileo/genimage.cfg
> +++ b/board/intel/galileo/genimage.cfg
> @@ -1,9 +1,6 @@
>  # Create an image of the efi partition
>  image efi-part.vfat {
>  	vfat {
> -		file startup.nsh {
> -			image = "efi-part/startup.nsh"
> -		}
>  		file EFI {
>  			image = "efi-part/EFI"
>  		}
> diff --git a/board/minnowboard/genimage.cfg b/board/minnowboard/genimage.cfg
> index c5b07179b4..521385aadd 100644
> --- a/board/minnowboard/genimage.cfg
> +++ b/board/minnowboard/genimage.cfg
> @@ -1,9 +1,6 @@
>  # Create an image of the efi partition
>  image efi-part.vfat {
>  	vfat {
> -		file startup.nsh {
> -			image = "efi-part/startup.nsh"
> -		}
>  		file EFI {
>  			image = "efi-part/EFI"
>  		}
> diff --git a/board/pc/genimage-efi.cfg b/board/pc/genimage-efi.cfg
> index ec7e85b06c..34befb7d69 100644
> --- a/board/pc/genimage-efi.cfg
> +++ b/board/pc/genimage-efi.cfg
> @@ -1,8 +1,5 @@
>  image efi-part.vfat {
>    vfat {
> -    file startup.nsh {
> -      image = "efi-part/startup.nsh"
> -    }
>      file EFI {
>        image = "efi-part/EFI"
>      }
> diff --git a/board/pc/post-build.sh b/board/pc/post-build.sh
> index ed37b3b87e..db23795e27 100755
> --- a/board/pc/post-build.sh
> +++ b/board/pc/post-build.sh
> @@ -5,7 +5,7 @@ set -e
>  BOARD_DIR=$(dirname "$0")
>  
>  # Detect boot strategy, EFI or BIOS
> -if [ -f "$BINARIES_DIR/efi-part/startup.nsh" ]; then
> +if [ -d "$BINARIES_DIR/efi-part/" ]; then
>      cp -f "$BOARD_DIR/grub-efi.cfg" "$BINARIES_DIR/efi-part/EFI/BOOT/grub.cfg"
>  else
>      cp -f "$BOARD_DIR/grub-bios.cfg" "$TARGET_DIR/boot/grub/grub.cfg"
> diff --git a/board/qemu/aarch64-sbsa/genimage.cfg b/board/qemu/aarch64-sbsa/genimage.cfg
> index 285b308d90..c75d9fcca1 100644
> --- a/board/qemu/aarch64-sbsa/genimage.cfg
> +++ b/board/qemu/aarch64-sbsa/genimage.cfg
> @@ -1,8 +1,5 @@
>  image efi-part.vfat {
>    vfat {
> -    file startup.nsh {
> -      image = "efi-part/startup.nsh"
> -    }
>      file EFI {
>        image = "efi-part/EFI"
>      }
> diff --git a/boot/grub2/grub2.mk b/boot/grub2/grub2.mk
> index 52e9199ae9..ad2edf17aa 100644
> --- a/boot/grub2/grub2.mk
> +++ b/boot/grub2/grub2.mk
> @@ -168,13 +168,5 @@ define GRUB2_INSTALL_IMAGES_CMDS
>  	$(GRUB2_IMAGE_INSTALL_ELTORITO)
>  endef
>  
> -ifeq ($(GRUB2_PLATFORM),efi)
> -define GRUB2_EFI_STARTUP_NSH
> -	echo $(notdir $(GRUB2_IMAGE)) > \
> -		$(BINARIES_DIR)/efi-part/startup.nsh
> -endef
> -GRUB2_POST_INSTALL_IMAGES_HOOKS += GRUB2_EFI_STARTUP_NSH
> -endif
> -
>  $(eval $(autotools-package))
>  $(eval $(host-autotools-package))
> diff --git a/boot/gummiboot/gummiboot.mk b/boot/gummiboot/gummiboot.mk
> index 748e87030e..eb1f3da78c 100644
> --- a/boot/gummiboot/gummiboot.mk
> +++ b/boot/gummiboot/gummiboot.mk
> @@ -32,8 +32,6 @@ GUMMIBOOT_CONF_OPTS = \
>  define GUMMIBOOT_INSTALL_IMAGES_CMDS
>  	$(INSTALL) -D -m 0644 $(@D)/gummiboot$(GUMMIBOOT_IMGARCH).efi \
>  		$(BINARIES_DIR)/efi-part/EFI/BOOT/boot$(GUMMIBOOT_IMGARCH).efi
> -	echo "boot$(GUMMIBOOT_IMGARCH).efi" > \
> -		$(BINARIES_DIR)/efi-part/startup.nsh
>  	$(INSTALL) -D -m 0644 boot/gummiboot/loader.conf \
>  		$(BINARIES_DIR)/efi-part/loader/loader.conf
>  	$(INSTALL) -D -m 0644 boot/gummiboot/buildroot.conf \
> diff --git a/package/systemd/systemd.mk b/package/systemd/systemd.mk
> index 5a76f2f246..c403896759 100644
> --- a/package/systemd/systemd.mk
> +++ b/package/systemd/systemd.mk
> @@ -514,8 +514,6 @@ SYSTEMD_BOOT_EFI_ARCH = $(call qstrip,$(BR2_PACKAGE_SYSTEMD_BOOT_EFI_ARCH))
>  define SYSTEMD_INSTALL_BOOT_FILES
>  	$(INSTALL) -D -m 0644 $(@D)/build/src/boot/efi/systemd-boot$(SYSTEMD_BOOT_EFI_ARCH).efi \
>  		$(BINARIES_DIR)/efi-part/EFI/BOOT/boot$(SYSTEMD_BOOT_EFI_ARCH).efi
> -	echo "boot$(SYSTEMD_BOOT_EFI_ARCH).efi" > \
> -		$(BINARIES_DIR)/efi-part/startup.nsh
>  	$(INSTALL) -D -m 0644 $(SYSTEMD_PKGDIR)/boot-files/loader.conf \
>  		$(BINARIES_DIR)/efi-part/loader/loader.conf
>  	$(INSTALL) -D -m 0644 $(SYSTEMD_PKGDIR)/boot-files/buildroot.conf \
> -- 
> 2.25.1
> 
> _______________________________________________
> buildroot mailing list
> buildroot at lists.buildroot.org
> https://lists.buildroot.org/mailman/listinfo/buildroot

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 561 099 427 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'


More information about the buildroot mailing list