menuconfig SIGN_ENABLED
	bool "Image Signing"
	default y

choice
	prompt "Signing key source"
	depends on SIGN_ENABLED
	default SIGN_SRC_DIR

config SIGN_SRC_DIR
	bool "Directory"

config SIGN_SRC_PKCS11
	bool "PKCS#11 URL"

endchoice

config SIGN_KEY
	string "Signing key"
	depends on SIGN_ENABLED
	default "${BR2_EXTERNAL_INFIX_PATH}/board/common/signing-keys/development"  if SIGN_SRC_DIR

menuconfig TRUSTED_KEYS
	bool "Trusted keys for image"
	depends on SIGN_ENABLED
	help
	 Keys that will be accepted for this image


config TRUSTED_KEYS_DEVELOPMENT
	bool "Development key"
	depends on TRUSTED_KEYS

config TRUSTED_KEYS_DEVELOPMENT_PATH
	string
	depends on TRUSTED_KEYS_DEVELOPMENT
	default "${BR2_EXTERNAL_INFIX_PATH}/board/common/signing-keys/development/infix.crt"

config TRUSTED_KEYS_EXTRA_PATH
	string "Path to extra keys to include in image"
	depends on TRUSTED_KEYS

menuconfig DISK_IMAGE
	bool "Disk image"
	help
	  Compose a full disk image with redundant Linux OS partitions,
	  configuration partition, etc.

	  This is useful when:
	  - Bringing up a blank system during manufacturing
	  - Creating a GNS3 appliance
	  - Developing/debugging issues in the boot process in QEMU

menuconfig DISK_IMAGE_SIZE
	string "Image size"
	depends on DISK_IMAGE
	default "512M"
	help
	  Create a disk image of this size.  A K/M/G suffix may be used
	  to multiply by powers of 1024.  Suffixes like KB/MB/GB may be
	  used to multiply by powers of 1000.  The image will be split
	  proportionally to fit the two rootfs, a kernel, a writable
	  /cfg and /var partiotions.

	  Minimum supported size is 512M.

choice
	prompt "Bootloader"
	depends on DISK_IMAGE
	default DISK_IMAGE_BOOT_EFI if BR2_x86_64
	default DISK_IMAGE_BOOT_NONE

config DISK_IMAGE_BOOT_NONE
	bool "None"
	help
	  Do not create any bootloader partition in the disk image.

config DISK_IMAGE_BOOT_EFI
	bool "EFI"
	help
	  Create a boot partition from a directory containing an EFI
	  boot application, e.g. GRUB.

config DISK_IMAGE_BOOT_BIN
	bool "Binary"
	help
	  Create a boot partition from a raw image containing the boot
	  application, e.g. U-Boot.

endchoice

config DISK_IMAGE_BOOT_DATA
	string "Bootloader data"
	depends on DISK_IMAGE
	depends on DISK_IMAGE_BOOT_EFI || DISK_IMAGE_BOOT_BIN
	default "${BINARIES_DIR}/efi-part/EFI" if BR2_x86_64
	help
	  Path to the directory or file holding the bootloader data.

config DISK_IMAGE_BOOT_OFFSET
	hex "Bootloader offset"
	depends on DISK_IMAGE
	depends on DISK_IMAGE_BOOT_EFI || DISK_IMAGE_BOOT_BIN
	default 0x8000
	help
	  Offset at which the bootloader partition is placed. Remember
	  to make sure that the GPT still fits at the start of the
	  image.

config DISK_IMAGE_RELEASE_URL
	string "Infix URL"
	depends on DISK_IMAGE
	depends on !BR2_TARGET_ROOTFS_SQUASHFS
	default "https://github.com/kernelkit/infix/releases/download/latest/infix-${BR2_ARCH}.tar.gz"
	help
	  In situations where Infix itself is not being built, but a
	  disk image is, i.e. when building a bootloader: place this
	  Infix release in the primary and secondary partitions.

menuconfig GNS3_APPLIANCE
	bool "GNS3 Appliance"
	select DISK_IMAGE
	default y
	help
	  Create a GNS3 appliance description that, together with the
	  disk image, can be imported into GNS3.

config GNS3_APPLIANCE_RAM
	int "Reserved RAM (MiB)"
	depends on GNS3_APPLIANCE
	default "192"
	help
	  Amount of host RAM reserved for an appliance instance.

	  Minimum supported size is 192M.

config GNS3_APPLIANCE_IFNUM
	int "Number of interfaces"
	depends on GNS3_APPLIANCE
	default "1"
	help
	  Number of Ethernet interfaces to create for an appliance instance.

menuconfig FIT_IMAGE
	bool "Traditional FIT image"
	help
	  Create a "regular" FIT image where the kernel and DTBs are
	  stored in the FIT rather than inside the rootfs (like it
	  normally is in Infix).

	  This is useful when trying out Infix on targets whose
	  bootloader might not be capable of booting a raw Squash, but
	  is able to handle an FIT.

config FIT_ARCH
	string
	depends on FIT_IMAGE
	default "arm64" if BR2_aarch64

config FIT_KERNEL_LOAD_ADDR
	string "Kernel load address"
	depends on FIT_IMAGE

config SDCARD_AUX
	bool "Create SD-card aux partition"
	help
	  Create and populate aux.ext4 with rootfs.itbh and rauc.status
	  For use with a static genimage.cfg for, e.g., SD-cards.
