# Architecture
BR2_aarch64=y

# Toolchain, required for eudev and grub
BR2_TOOLCHAIN_BUILDROOT_WCHAR=y

# System
BR2_TARGET_GENERIC_GETTY_PORT="ttyAMA0"
BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y

## Required tools to create bootable media
BR2_PACKAGE_HOST_GENIMAGE=y

# Bootloader
BR2_TARGET_GRUB2=y
BR2_TARGET_GRUB2_AARCH64_EFI=y

# Filesystem / image
BR2_TARGET_ROOTFS_EXT2=y
BR2_TARGET_ROOTFS_EXT2_4=y
BR2_TARGET_ROOTFS_EXT2_SIZE="200M"
# BR2_TARGET_ROOTFS_TAR is not set
BR2_ROOTFS_POST_IMAGE_SCRIPT="board/aarch64-efi/post-image.sh support/scripts/genimage.sh"
BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/aarch64-efi/genimage-efi.cfg"

# Linux headers same as kernel, a 4.18 series
BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_18=y

# Kernel
BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_CUSTOM_VERSION=y
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.18.10"
BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y
BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y

# Host tools for genimage
BR2_PACKAGE_HOST_DOSFSTOOLS=y
BR2_PACKAGE_HOST_MTOOLS=y
