package/mender-grubenv: bump version to 2ac898f5924d5870f8394ad8ecd3ef1ab1422e3b

mender-grubenv no longer uses the mender_grubenv* directories, instead opting
to put the mender_grubenv directories in a grub-mender-grubenv top-level
directory. While there is a legacy install mode which keeps the two separate
directories, it is better to move forward and rip the bandaid off before it
becomes too painful to update in the future if the legacy option is removed
entirely.

- Update the license file sha256 sum due to a year change.

- mender-grubenv no longer installs grub.cfg, so mender_grub.cfg must be copied
  manually to grub.cfg.

- BOOT_DIR replaces ENV_DIR in the Makefile.

- The sleep grub2 module is now a requirement.

- /etc/mender_grubenv.config file must be present on the system for the
  grub-mender-grubenv-{print,set} scripts to work properly.

In addition to the above changes, update the mender example board file to work
with the updated mender-grubenv version.

Signed-off-by: Adam Duskett <aduskett@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
This commit is contained in:
Adam Duskett 2022-10-05 14:21:50 -07:00 committed by Thomas Petazzoni
parent b31acdccef
commit 9e698c552b
4 changed files with 21 additions and 10 deletions

View File

@ -3,6 +3,9 @@ image efi-part.vfat {
file EFI {
image = "efi-part/EFI"
}
file grub-mender-grubenv {
image = "efi-part/grub-mender-grubenv"
}
file bzImage {
image = "bzImage"
}

View File

@ -19,7 +19,7 @@ BR2_PACKAGE_HOST_MTOOLS=y
BR2_TARGET_GRUB2=y
BR2_TARGET_GRUB2_X86_64_EFI=y
# Add mandatory modules from MENDER_GRUBENV_MANDATORY_MODULES
BR2_TARGET_GRUB2_BUILTIN_MODULES_EFI="boot linux ext2 fat squash4 part_msdos part_gpt normal efi_gop loadenv hashsum echo halt gcry_sha256 test regexp"
BR2_TARGET_GRUB2_BUILTIN_MODULES_EFI="boot linux ext2 fat squash4 part_msdos part_gpt normal efi_gop loadenv hashsum echo halt gcry_sha256 test regexp sleep"
BR2_TARGET_GRUB2_INSTALL_TOOLS=y
# Required tools to create a mender image

View File

@ -1,3 +1,3 @@
# Locally computed
sha256 00a574d2bed8d54ba6739700da789a420a02de900df56dd2cfbe0df460a98dca mender-grubenv-1a7db967495bbe8be53b7a69dcb42822f39d9a74.tar.gz
sha256 b4acfcfa2a0ba1a8c82ec3965fbcee886cff8394ca4214e0ddac0a36beb1e05a LICENSE
sha256 b7a08eb3d996afb38c1a4f7c51b7eb44aec6197ff713ce75e4f39d5b448cfc82 mender-grubenv-2ac898f5924d5870f8394ad8ecd3ef1ab1422e3b.tar.gz
sha256 1033348db7606a7e61b6484f293847cf8d7a35766efebb97e304d4bd5d7f3f6b LICENSE

View File

@ -4,7 +4,7 @@
#
################################################################################
MENDER_GRUBENV_VERSION = 1a7db967495bbe8be53b7a69dcb42822f39d9a74
MENDER_GRUBENV_VERSION = 2ac898f5924d5870f8394ad8ecd3ef1ab1422e3b
MENDER_GRUBENV_SITE = $(call github,mendersoftware,grub-mender-grubenv,$(MENDER_GRUBENV_VERSION))
MENDER_GRUBENV_LICENSE = Apache-2.0
MENDER_GRUBENV_LICENSE_FILES = LICENSE
@ -30,13 +30,15 @@ MENDER_GRUBENV_MODULES_MISSING_PC = \
$(filter-out $(call qstrip,$(BR2_TARGET_GRUB2_BUILTIN_MODULES_PC)),\
$(MENDER_GRUBENV_MANDATORY_MODULES))
MENDER_GRUBENV_MAKE_ENV += ENV_DIR=/boot/grub
MENDER_GRUBENV_MAKE_ENV += BOOT_DIR=/boot/grub
define MENDER_GRUBENV_INSTALL_I386_CFG
mkdir -p $(BINARIES_DIR)/boot-part/grub
cp -dpfr $(@D)/mender_grub.cfg \
$(TARGET_DIR)/boot/grub/grub.cfg
cp -dpfr $(TARGET_DIR)/boot/grub/grub.cfg \
$(TARGET_DIR)/boot/grub/mender_grubenv* \
$(BINARIES_DIR)/boot-part/grub
$(TARGET_DIR)/boot/grub/grub-mender-grubenv \
$(BINARIES_DIR)/boot-part/
endef
endif # BR2_TARGET_GRUB2_HAS_LEGACY_BOOT
@ -45,13 +47,16 @@ MENDER_GRUBENV_MODULES_MISSING_EFI = \
$(filter-out $(call qstrip,$(BR2_TARGET_GRUB2_BUILTIN_MODULES_EFI)),\
$(MENDER_GRUBENV_MANDATORY_MODULES))
MENDER_GRUBENV_MAKE_ENV += ENV_DIR=/boot/EFI/BOOT
MENDER_GRUBENV_MAKE_ENV += BOOT_DIR=/boot/EFI/BOOT
define MENDER_GRUBENV_INSTALL_EFI_CFG
mkdir -p $(BINARIES_DIR)/efi-part/EFI/BOOT
cp -dpfr $(@D)/mender_grub.cfg \
$(TARGET_DIR)/boot/EFI/BOOT/grub.cfg
cp -dpfr $(TARGET_DIR)/boot/EFI/BOOT/grub.cfg \
$(TARGET_DIR)/boot/EFI/BOOT/mender_grubenv* \
$(BINARIES_DIR)/efi-part/EFI/BOOT
cp -dpfr $(TARGET_DIR)/boot/EFI/BOOT/grub-mender-grubenv \
$(BINARIES_DIR)/efi-part/
endef
endif # BR2_TARGET_GRUB2_HAS_EFI_BOOT
@ -75,7 +80,10 @@ define MENDER_GRUBENV_BUILD_CMDS
endef
define MENDER_GRUBENV_INSTALL_TARGET_CMDS
$(MENDER_GRUBENV_MAKE_ENV) $(MAKE) DESTDIR=$(TARGET_DIR) -C $(@D) install
$(MENDER_GRUBENV_MAKE_ENV) $(MAKE) DESTDIR=$(TARGET_DIR) -C $(@D) \
install install-boot-env
# The grub-mender-grubenv-* utilities use this file to function.
echo 'ENV_DIR=/boot/grub-mender-grubenv' > $(TARGET_DIR)/etc/mender_grubenv.config
endef
define MENDER_GRUBENV_INSTALL_IMAGES_CMDS