-# Copyright (C) 2006-2013 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
+# SPDX-License-Identifier: GPL-2.0-only
#
+# Copyright (C) 2006-2013 OpenWrt.org
menu "Target Images"
choice
prompt "Compression"
- default TARGET_INITRAMFS_COMPRESSION_LZMA if TARGET_ar71xx
- default TARGET_INITRAMFS_COMPRESSION_LZMA if TARGET_ramips
default TARGET_INITRAMFS_COMPRESSION_LZMA if TARGET_apm821xx
+ default TARGET_INITRAMFS_COMPRESSION_LZMA if TARGET_ath79_mikrotik
+ default TARGET_INITRAMFS_COMPRESSION_LZMA if TARGET_lantiq
+ default TARGET_INITRAMFS_COMPRESSION_LZMA if TARGET_mpc85xx
+ default TARGET_INITRAMFS_COMPRESSION_LZMA if TARGET_ramips
+ default TARGET_INITRAMFS_COMPRESSION_XZ if USES_SEPARATE_INITRAMFS
default TARGET_INITRAMFS_COMPRESSION_NONE
depends on TARGET_ROOTFS_INITRAMFS
help
bool "lzma"
config TARGET_INITRAMFS_COMPRESSION_LZO
+ depends on !TARGET_ROOTFS_INITRAMFS_SEPARATE
bool "lzo"
config TARGET_INITRAMFS_COMPRESSION_LZ4
+ depends on !TARGET_ROOTFS_INITRAMFS_SEPARATE
bool "lz4"
config TARGET_INITRAMFS_COMPRESSION_XZ
bool "xz"
+
+ config TARGET_INITRAMFS_COMPRESSION_ZSTD
+ depends on !LINUX_5_4 && !LINUX_4_19
+ bool "zstd"
endchoice
config EXTERNAL_CPIO
help
Kernel uses specified external cpio as INITRAMFS_SOURCE.
+ config TARGET_INITRAMFS_FORCE
+ bool "Force"
+ depends on TARGET_ROOTFS_INITRAMFS
+ default n
+ help
+ Ignore the initramfs passed by the bootloader.
+
+ config TARGET_ROOTFS_INITRAMFS_SEPARATE
+ bool "separate ramdisk"
+ depends on USES_SEPARATE_INITRAMFS && TARGET_ROOTFS_INITRAMFS && !TARGET_INITRAMFS_FORCE
+ default y if USES_SEPARATE_INITRAMFS
+ help
+ Generate separate initrd.cpio instead of embedding it.
+ This is useful for generating images with a dedicated
+ ramdisk e.g. in U-Boot's uImage and uImage.FIT formats.
+
comment "Root filesystem archives"
config TARGET_ROOTFS_CPIOGZ
help
Create an ext4 filesystem with a journal.
- config TARGET_ROOTFS_ISO
- bool "iso"
- default n
- depends on TARGET_x86_generic
- help
- Create a bootable ISO image.
-
config TARGET_ROOTFS_JFFS2
bool "jffs2"
depends on USES_JFFS2
int "Block size (in KiB)"
depends on TARGET_ROOTFS_SQUASHFS
default 64 if LOW_MEMORY_FOOTPRINT
+ default 1024 if (SMALL_FLASH && !LOW_MEMORY_FOOTPRINT)
default 256
menuconfig TARGET_ROOTFS_UBIFS
config GRUB_IMAGES
bool "Build GRUB images (Linux x86 or x86_64 host only)"
depends on TARGET_x86
- depends on TARGET_ROOTFS_EXT4FS || TARGET_ROOTFS_ISO || TARGET_ROOTFS_JFFS2 || TARGET_ROOTFS_SQUASHFS
+ depends on TARGET_ROOTFS_EXT4FS || TARGET_ROOTFS_JFFS2 || TARGET_ROOTFS_SQUASHFS
select PACKAGE_grub2
default y
+ config GRUB_EFI_IMAGES
+ bool "Build GRUB EFI images (Linux x86 or x86_64 host only)"
+ depends on TARGET_x86
+ depends on TARGET_ROOTFS_EXT4FS || TARGET_ROOTFS_JFFS2 || TARGET_ROOTFS_SQUASHFS
+ select PACKAGE_grub2
+ select PACKAGE_grub2-efi
+ select PACKAGE_kmod-fs-vfat
+ default y
+
config GRUB_CONSOLE
bool "Use Console Terminal (in addition to Serial)"
- depends on GRUB_IMAGES
- default n if (TARGET_x86_generic_Soekris45xx || TARGET_x86_generic_Soekris48xx || TARGET_x86_net5501 || TARGET_x86_geos || TARGET_x86_alix2)
+ depends on GRUB_IMAGES || GRUB_EFI_IMAGES
default y
config GRUB_SERIAL
string "Serial port device"
- depends on GRUB_IMAGES
- default "hvc0" if TARGET_x86_xen_domu
- default "ttyS0" if ! TARGET_x86_xen_domu
+ depends on GRUB_IMAGES || GRUB_EFI_IMAGES
+ default "ttyS0"
config GRUB_BAUDRATE
int "Serial port baud rate"
- depends on GRUB_IMAGES
+ depends on GRUB_IMAGES || GRUB_EFI_IMAGES
default 38400 if TARGET_x86_generic
- default 38400 if TARGET_x86_geode
default 115200
+ config GRUB_FLOWCONTROL
+ bool "Use RTE/CTS on serial console"
+ depends on GRUB_SERIAL != ""
+ default n
+
config GRUB_BOOTOPTS
string "Extra kernel boot options"
- depends on GRUB_IMAGES
- default "xencons=hvc" if TARGET_x86_xen_domu
+ depends on GRUB_IMAGES || GRUB_EFI_IMAGES
help
If you don't know, just leave it blank.
config GRUB_TIMEOUT
string "Seconds to wait before booting the default entry"
- depends on GRUB_IMAGES
+ depends on GRUB_IMAGES || GRUB_EFI_IMAGES
default "5"
help
If you don't know, 5 seconds is a reasonable default.
+ config GRUB_TITLE
+ string "Title for the menu entry in GRUB"
+ depends on GRUB_IMAGES || GRUB_EFI_IMAGES
+ default "OpenWrt"
+ help
+ This is the title of the GRUB menu entry.
+ If unspecified, it defaults to OpenWrt.
+
+ config ISO_IMAGES
+ bool "Build LiveCD image (ISO)"
+ depends on TARGET_x86
+ depends on GRUB_IMAGES || GRUB_EFI_IMAGES
+
config VDI_IMAGES
bool "Build VirtualBox image files (VDI)"
- depends on TARGET_x86 || TARGET_x86_64
- select GRUB_IMAGES
- select TARGET_IMAGES_PAD
+ depends on TARGET_x86
+ depends on GRUB_IMAGES || GRUB_EFI_IMAGES
select PACKAGE_kmod-e1000
config VMDK_IMAGES
bool "Build VMware image files (VMDK)"
- depends on TARGET_x86 || TARGET_x86_64
- select GRUB_IMAGES
- select TARGET_IMAGES_PAD
+ depends on TARGET_x86
+ depends on GRUB_IMAGES || GRUB_EFI_IMAGES
select PACKAGE_kmod-e1000
- config TARGET_IMAGES_PAD
- bool "Pad images to filesystem size (for JFFS2)"
- depends on GRUB_IMAGES
-
config TARGET_IMAGES_GZIP
bool "GZip images"
- depends on TARGET_IMAGES_PAD || TARGET_ROOTFS_EXT4FS
+ depends on TARGET_ROOTFS_EXT4FS || TARGET_x86 || TARGET_armvirt || TARGET_malta
default y
comment "Image Options"
config TARGET_KERNEL_PARTSIZE
int "Kernel partition size (in MB)"
- depends on GRUB_IMAGES
- default 4
+ depends on USES_BOOT_PART
+ default 8 if TARGET_apm821xx_sata
+ default 64 if TARGET_bcm27xx
+ default 16
config TARGET_ROOTFS_PARTSIZE
int "Root filesystem partition size (in MB)"
- depends on GRUB_IMAGES || TARGET_ROOTFS_EXT4FS || TARGET_rb532 || TARGET_mvebu
- default 2048 if TARGET_x86
- default 256 if ! TARGET_x86
+ depends on USES_ROOTFS_PART || TARGET_ROOTFS_EXT4FS || TARGET_omap || TARGET_sunxi || TARGET_uml
+ default 104
help
Select the root filesystem partition size.
config TARGET_ROOTFS_PARTNAME
string "Root partition on target device"
- depends on GRUB_IMAGES
+ depends on GRUB_IMAGES || GRUB_EFI_IMAGES
help
Override the root partition on the final device. If left empty,
it will be mounted by PARTUUID which makes the kernel find the