80 lines
2.2 KiB
Makefile
80 lines
2.2 KiB
Makefile
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 =
|
|
# Do not run preset-all at build time
|
|
SYSTEMD_PRESET_ALL =
|
|
|
|
# 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_EFI)
|
|
$(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_VFAT_FS)
|
|
$(call KCONFIG_SET_OPT,CONFIG_BTRFS_FS,y)
|
|
$(call KCONFIG_SET_OPT,CONFIG_OVERLAY_FS,y)
|
|
$(call KCONFIG_SET_OPT,CONFIG_SQUASHFS,y)
|
|
$(call KCONFIG_SET_OPT,CONFIG_MSDOS_FS,y)
|
|
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)
|
|
|
|
# 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 $(LINUX_IMAGE_NAME)
|
|
endef
|
|
LINUX_TARGET_FINALIZE_HOOKS += AIMEEOS_GEN_GRUB_CFG
|
|
|
|
define AIMEEOS_TARGET_FINALIZE_HOOKS
|
|
echo uninitialized > $(TARGET_DIR)/etc/machine-id
|
|
endef
|
|
TARGET_FINALIZE_HOOKS += AIMEEOS_TARGET_FINALIZE_HOOKS
|
|
|
|
BR2_ROOTFS_POST_IMAGE_SCRIPT += $(BR2_EXTERNAL_AIMEEOS_PATH)/update/make-package.sh
|
|
|
|
endif
|
|
|
|
include $(sort $(wildcard $(BR2_EXTERNAL_AIMEEOS_PATH)/package/*/*.mk))
|