-# 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_ZSTD if TARGET_qualcommax
+ default TARGET_INITRAMFS_COMPRESSION_XZ if USES_SEPARATE_INITRAMFS
default TARGET_INITRAMFS_COMPRESSION_NONE
depends on TARGET_ROOTFS_INITRAMFS
help
config TARGET_INITRAMFS_COMPRESSION_XZ
bool "xz"
+
+ config TARGET_INITRAMFS_COMPRESSION_ZSTD
+ 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
+ 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
config TARGET_EXT4_JOURNAL
bool "Create a journaling filesystem"
depends on TARGET_ROOTFS_EXT4FS
- default n
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
bool "squashfs"
default y if USES_SQUASHFS
help
- Build a squashfs-lzma root filesystem.
+ Build a squashfs root filesystem.
config TARGET_SQUASHFS_BLOCK_SIZE
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
+ help
+ Select squashfs block size, must be one of:
+ 4, 8, 16, 32, 64, 128, 256, 512, 1024
menuconfig TARGET_ROOTFS_UBIFS
bool "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
+ select PACKAGE_grub2-bios-setup
+ default y
+
+ config GRUB_EFI_IMAGES
+ bool "Build GRUB EFI images (Linux x86 or x86_64 host only)"
+ depends on TARGET_x86 || TARGET_armsr
+ depends on TARGET_ROOTFS_EXT4FS || TARGET_ROOTFS_JFFS2 || TARGET_ROOTFS_SQUASHFS
+ select PACKAGE_grub2 if TARGET_x86
+ select PACKAGE_grub2-efi if TARGET_x86
+ select PACKAGE_grub2-bios-setup if TARGET_x86
+ select PACKAGE_grub2-efi-arm if TARGET_armsr
+ 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
-
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_IMAGES || GRUB_EFI_IMAGES
+ depends on TARGET_SERIAL != ""
+
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 || TARGET_armsr
+ 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 VHDX_IMAGES
+ bool "Build Hyper-V image files (VHDX)"
+ depends on TARGET_x86
+ depends on GRUB_IMAGES || GRUB_EFI_IMAGES
+ select PACKAGE_kmod-e1000
+
+ config TARGET_SERIAL
+ string "Serial port device"
+ depends on TARGET_x86 || TARGET_armsr
+ default "ttyS0"
config TARGET_IMAGES_GZIP
bool "GZip images"
- depends on TARGET_IMAGES_PAD || TARGET_ROOTFS_EXT4FS
+ depends on TARGET_ROOTFS_EXT4FS || TARGET_x86 || TARGET_armsr || TARGET_malta
default y
comment "Image Options"
source "target/linux/*/image/Config.in"
+ source "target/linux/*/*/image/Config.in"
config TARGET_KERNEL_PARTSIZE
- int "Kernel partition size (in MB)"
- depends on GRUB_IMAGES
- default 4
+ int "Kernel partition size (in MiB)"
+ depends on USES_BOOT_PART
+ default 8 if TARGET_apm821xx_sata
+ default 64 if TARGET_bcm27xx
+ default 128 if TARGET_armsr
+ 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 256
+ int "Root filesystem partition size (in MiB)"
+ depends on USES_ROOTFS_PART || TARGET_ROOTFS_EXT4FS
+ 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
appropriate disk automatically.
+ config TARGET_ROOTFS_PERSIST_VAR
+ bool "Make /var persistent"
+ help
+ Do not symlink /var to /tmp, so that its content will persist
+ across reboots. When enabled, /var/run will still be linked
+ to /tmp/run.
+
endmenu