initial buildroot for linux 5.15

This commit is contained in:
Huan.Feng
2021-12-06 14:12:13 +08:00
parent d7767d594e
commit 7b6fc358fa
12736 changed files with 508822 additions and 0 deletions
+41
View File
@@ -0,0 +1,41 @@
config BR2_PACKAGE_MENDER_GRUBENV
bool "mender-grubenv"
depends on BR2_TARGET_GRUB2_ARCH_SUPPORTS
depends on BR2_PACKAGE_MENDER # runtime
depends on BR2_TARGET_GRUB2
depends on !(BR2_TARGET_GRUB2_HAS_LEGACY_BOOT && BR2_TARGET_GRUB2_HAS_EFI_BOOT)
help
Contains the boot scripts and tools used by Mender to
integrate with the GRUB bootloader.
The following Grub modules must be selected for this package:
loadenv hashsum echo halt gcry_sha256 test regexp
https://github.com/mendersoftware/grub-mender-grubenv
if BR2_PACKAGE_MENDER_GRUBENV
config BR2_PACKAGE_MENDER_GRUBENV_DEFINES
string "path to grubenv defines"
help
Specify a path to the mender grubenv defines file.
If no path is specified, the example file in the source
directory will be used.
The example file in the source directory sets the following:
mender_rootfsa_part=2
mender_rootfsb_part=3
mender_kernel_root_base=/dev/mmcblk0p
mender_grub_storage_device=hd0
kernel_imagetype=bzImage
endif
comment "mender-grubenv needs a grub2 bootloader"
depends on BR2_TARGET_GRUB2_ARCH_SUPPORTS
depends on BR2_PACKAGE_MENDER
depends on !BR2_TARGET_GRUB2
comment "mender-grubenv does not support both legacy and EFI grub2 bootloaders at the same time"
depends on BR2_PACKAGE_MENDER
depends on BR2_TARGET_GRUB2_HAS_LEGACY_BOOT && BR2_TARGET_GRUB2_HAS_EFI_BOOT
@@ -0,0 +1,3 @@
# Locally computed
sha256 00a574d2bed8d54ba6739700da789a420a02de900df56dd2cfbe0df460a98dca mender-grubenv-1a7db967495bbe8be53b7a69dcb42822f39d9a74.tar.gz
sha256 b4acfcfa2a0ba1a8c82ec3965fbcee886cff8394ca4214e0ddac0a36beb1e05a LICENSE
+86
View File
@@ -0,0 +1,86 @@
################################################################################
#
# mender-grubenv
#
################################################################################
MENDER_GRUBENV_VERSION = 1a7db967495bbe8be53b7a69dcb42822f39d9a74
MENDER_GRUBENV_SITE = $(call github,mendersoftware,grub-mender-grubenv,$(MENDER_GRUBENV_VERSION))
MENDER_GRUBENV_LICENSE = Apache-2.0
MENDER_GRUBENV_LICENSE_FILES = LICENSE
# Grub2 must be built first so this package can overwrite the config files
# provided by grub.
MENDER_GRUBENV_DEPENDENCIES = grub2
MENDER_GRUBENV_INSTALL_IMAGES = YES
MENDER_GRUBENV_MAKE_ENV = \
$(TARGET_CONFIGURE_OPTS) \
$(TARGET_MAKE_ENV)
MENDER_GRUBENV_DEFINES = \
$(or $(call qstrip,$(BR2_PACKAGE_MENDER_GRUBENV_DEFINES)),\
$(@D)/mender_grubenv_defines.example)
# These grub modules must be built in for the grub scripts to work properly.
# Without them, the system will not boot.
MENDER_GRUBENV_MANDATORY_MODULES = loadenv hashsum echo halt gcry_sha256 test regexp
ifeq ($(BR2_TARGET_GRUB2_HAS_LEGACY_BOOT),y)
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
define MENDER_GRUBENV_INSTALL_I386_CFG
mkdir -p $(BINARIES_DIR)/boot-part/grub
cp -dpfr $(TARGET_DIR)/boot/grub/grub.cfg \
$(TARGET_DIR)/boot/grub/mender_grubenv* \
$(BINARIES_DIR)/boot-part/grub
endef
endif # BR2_TARGET_GRUB2_HAS_LEGACY_BOOT
ifeq ($(BR2_TARGET_GRUB2_HAS_EFI_BOOT),y)
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
define MENDER_GRUBENV_INSTALL_EFI_CFG
mkdir -p $(BINARIES_DIR)/efi-part/EFI/BOOT
cp -dpfr $(TARGET_DIR)/boot/EFI/BOOT/grub.cfg \
$(TARGET_DIR)/boot/EFI/BOOT/mender_grubenv* \
$(BINARIES_DIR)/efi-part/EFI/BOOT
endef
endif # BR2_TARGET_GRUB2_HAS_EFI_BOOT
ifeq ($(BR2_PACKAGE_MENDER_GRUBENV)$(BR_BUILDING),yy)
ifneq ($(MENDER_GRUBENV_MODULES_MISSING_EFI),)
$(error The following missing grub2 efi modules must be enabled for mender-grubenv \
to work: $(MENDER_GRUBENV_MODULES_MISSING_EFI))
endif
ifneq ($(MENDER_GRUBENV_MODULES_MISSING_PC),)
$(error The following missing grub2 pc modules must be enabled for mender-grubenv \
to work: $(MENDER_GRUBENV_MODULES_MISSING_PC))
endif
endif
define MENDER_GRUBENV_CONFIGURE_CMDS
$(INSTALL) -m 0644 $(MENDER_GRUBENV_DEFINES) $(@D)/mender_grubenv_defines
endef
define MENDER_GRUBENV_BUILD_CMDS
$(MENDER_GRUBENV_MAKE_ENV) $(MAKE) -C $(@D)
endef
define MENDER_GRUBENV_INSTALL_TARGET_CMDS
$(MENDER_GRUBENV_MAKE_ENV) $(MAKE) DESTDIR=$(TARGET_DIR) -C $(@D) install
endef
define MENDER_GRUBENV_INSTALL_IMAGES_CMDS
$(MENDER_GRUBENV_INSTALL_I386_CFG)
$(MENDER_GRUBENV_INSTALL_EFI_CFG)
endef
$(eval $(generic-package))