Переглянути джерело

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>
Adam Duskett 2 роки тому
батько
коміт
9e698c552b

+ 3 - 0
board/mender/x86_64/genimage-efi.cfg

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

+ 1 - 1
configs/mender_x86_64_efi_defconfig

@@ -19,7 +19,7 @@ BR2_PACKAGE_HOST_MTOOLS=y
 BR2_TARGET_GRUB2=y
 BR2_TARGET_GRUB2=y
 BR2_TARGET_GRUB2_X86_64_EFI=y
 BR2_TARGET_GRUB2_X86_64_EFI=y
 # Add mandatory modules from MENDER_GRUBENV_MANDATORY_MODULES
 # 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
 BR2_TARGET_GRUB2_INSTALL_TOOLS=y
 
 
 # Required tools to create a mender image
 # Required tools to create a mender image

+ 2 - 2
package/mender-grubenv/mender-grubenv.hash

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

+ 15 - 7
package/mender-grubenv/mender-grubenv.mk

@@ -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_SITE = $(call github,mendersoftware,grub-mender-grubenv,$(MENDER_GRUBENV_VERSION))
 MENDER_GRUBENV_LICENSE = Apache-2.0
 MENDER_GRUBENV_LICENSE = Apache-2.0
 MENDER_GRUBENV_LICENSE_FILES = LICENSE
 MENDER_GRUBENV_LICENSE_FILES = LICENSE
@@ -30,13 +30,15 @@ MENDER_GRUBENV_MODULES_MISSING_PC = \
 	$(filter-out $(call qstrip,$(BR2_TARGET_GRUB2_BUILTIN_MODULES_PC)),\
 	$(filter-out $(call qstrip,$(BR2_TARGET_GRUB2_BUILTIN_MODULES_PC)),\
 		$(MENDER_GRUBENV_MANDATORY_MODULES))
 		$(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
 define MENDER_GRUBENV_INSTALL_I386_CFG
 	mkdir -p $(BINARIES_DIR)/boot-part/grub
 	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 \
 	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
 endef
 endif # BR2_TARGET_GRUB2_HAS_LEGACY_BOOT
 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)),\
 	$(filter-out $(call qstrip,$(BR2_TARGET_GRUB2_BUILTIN_MODULES_EFI)),\
 		$(MENDER_GRUBENV_MANDATORY_MODULES))
 		$(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
 define MENDER_GRUBENV_INSTALL_EFI_CFG
 	mkdir -p $(BINARIES_DIR)/efi-part/EFI/BOOT
 	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 \
 	cp -dpfr $(TARGET_DIR)/boot/EFI/BOOT/grub.cfg \
-		$(TARGET_DIR)/boot/EFI/BOOT/mender_grubenv* \
 		$(BINARIES_DIR)/efi-part/EFI/BOOT
 		$(BINARIES_DIR)/efi-part/EFI/BOOT
+	cp -dpfr $(TARGET_DIR)/boot/EFI/BOOT/grub-mender-grubenv \
+		$(BINARIES_DIR)/efi-part/
 endef
 endef
 endif # BR2_TARGET_GRUB2_HAS_EFI_BOOT
 endif # BR2_TARGET_GRUB2_HAS_EFI_BOOT
 
 
@@ -75,7 +80,10 @@ define MENDER_GRUBENV_BUILD_CMDS
 endef
 endef
 
 
 define MENDER_GRUBENV_INSTALL_TARGET_CMDS
 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
 endef
 
 
 define MENDER_GRUBENV_INSTALL_IMAGES_CMDS
 define MENDER_GRUBENV_INSTALL_IMAGES_CMDS