ifeq ($(AIMEEOS),y) BR2_TOOLCHAIN_BUILDROOT_VENDOR = "aimeeos" # Disable the default fstab SKELETON_INIT_SYSTEMD_ROOT_RO_OR_RW = # Disable the default var.mount SKELETON_INIT_SYSTEMD_ROOTFS_PRE_CMD_HOOKS = # Enable required kernel options for Aimee OS storage define AIMEEOS_LINUX_CONFIG_FIXUPS $(call KCONFIG_ENABLE_OPT,CONFIG_BLK_DEV_INITRD) $(call KCONFIG_ENABLE_OPT,CONFIG_BTRFS_FS) $(call KCONFIG_ENABLE_OPT,CONFIG_EFI) $(call KCONFIG_ENABLE_OPT,CONFIG_MSDOS_FS) $(call KCONFIG_ENABLE_OPT,CONFIG_NLS_CODEPAGE_437) $(call KCONFIG_ENABLE_OPT,CONFIG_NLS_ISO8859_1) $(call KCONFIG_ENABLE_OPT,CONFIG_NLS_UTF8) $(call KCONFIG_ENABLE_OPT,CONFIG_SQUASHFS) $(call KCONFIG_ENABLE_OPT,CONFIG_VFAT_FS) endef LINUX_KCONFIG_FIXUP_CMDS += $(AIMEEOS_LINUX_CONFIG_FIXUPS) # Generate the initramfs image after building the target BR2_ROOTFS_POST_BUILD_SCRIPT += $(BR2_EXTERNAL_AIMEEOS_PATH)/boot/mkinitramfs.sh # Ensure the requisite GRUB2 modules are selected define AIMEEOS_GRUB2_MODULES boot configfile echo efi_gop fat gzio linux loadenv minicmd normal part_gpt probe regexp squash4 terminfo test zstd endef BR2_TARGET_GRUB2_BUILTIN_MODULES_EFI += $(AIMEEOS_GRUB2_MODULES) # Overwrite the grub.cfg provided by Buildroot with our own. define AIMEEOS_GRUB2_INSTALL_IMAGES_CMDS $(foreach tuple, $(GRUB2_TUPLES-y), \ $(INSTALL) -D -m 0644 $(BR2_EXTERNAL_AIMEEOS_PATH)/boot/grub2/grub.cfg $(GRUB2_CFG_$(tuple)) ) $(HOST_DIR)/bin/grub-editenv $(BINARIES_DIR)/efi-part/EFI/BOOT/grubenv set \ default=0 \ timeout=3 \ rootflags=$(AIMEEOS_DEFAULT_ROOTFLAGS) endef GRUB2_INSTALL_IMAGES_CMDS += $(AIMEEOS_GRUB2_INSTALL_IMAGES_CMDS) ifneq ($(BR2_LINUX_KERNEL_IMAGE_TARGET_CUSTOM),) AIMEEOS_KERNEL_FILENAME = $(BR2_LINUX_KERNEL_IMAGE_TARGET_CUSTOM) else ifeq ($(BR2_LINUX_KERNEL_IMAGE),y) AIMEEOS_KERNEL_FILENAME = Image else ifeq ($(BR2_LINUX_KERNEL_IMAGEZ),y) AIMEEOS_KERNEL_FILENAME = zImage else ifeq ($(BR2_LINUX_KERNEL_VMLINUX),y) AIMEEOS_KERNEL_FILENAME = vmlinux else $(error "Must define a Linux kernel target") endif # Generate the grub.cfg stub for the kernel embedded in rootfs.squashfs define AIMEEOS_GEN_GRUB_CFG $(BR2_EXTERNAL_AIMEEOS_PATH)/boot/grub2/gen-grub-cfg.sh $(AIMEEOS_KERNEL_FILENAME) endef LINUX_TARGET_FINALIZE_HOOKS += AIMEEOS_GEN_GRUB_CFG BR2_ROOTFS_POST_IMAGE_SCRIPT += $(BR2_EXTERNAL_AIMEEOS_PATH)/update/make-package.sh endif include $(sort $(wildcard $(BR2_EXTERNAL_AIMEEOS_PATH)/package/*/*.mk))