build: config: cleanup impossible dependency logic
[openwrt/staging/jow.git] / config / Config-images.in
index e4db0482ce2afedfcaa8355350c24e9a9c5cdff7..aa238762590eb7b2ffe6923ffae83ea49bb13260 100644 (file)
@@ -1,8 +1,6 @@
-# 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"
 
 
 menu "Target Images"
 
@@ -15,10 +13,11 @@ menu "Target Images"
                choice
                        prompt "Compression"
                        default TARGET_INITRAMFS_COMPRESSION_LZMA if TARGET_apm821xx
                choice
                        prompt "Compression"
                        default TARGET_INITRAMFS_COMPRESSION_LZMA if TARGET_apm821xx
-                       default TARGET_INITRAMFS_COMPRESSION_LZMA if TARGET_ar71xx
+                       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_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
                        default TARGET_INITRAMFS_COMPRESSION_NONE
                        depends on TARGET_ROOTFS_INITRAMFS
                        help
@@ -37,13 +36,18 @@ menu "Target Images"
                                bool "lzma"
 
                        config TARGET_INITRAMFS_COMPRESSION_LZO
                                bool "lzma"
 
                        config TARGET_INITRAMFS_COMPRESSION_LZO
+                               depends on !TARGET_ROOTFS_INITRAMFS_SEPARATE
                                bool "lzo"
 
                        config TARGET_INITRAMFS_COMPRESSION_LZ4
                                bool "lzo"
 
                        config TARGET_INITRAMFS_COMPRESSION_LZ4
+                               depends on !TARGET_ROOTFS_INITRAMFS_SEPARATE
                                bool "lz4"
 
                        config TARGET_INITRAMFS_COMPRESSION_XZ
                                bool "xz"
                                bool "lz4"
 
                        config TARGET_INITRAMFS_COMPRESSION_XZ
                                bool "xz"
+
+                       config TARGET_INITRAMFS_COMPRESSION_ZSTD
+                               bool "zstd"
                endchoice
 
                config EXTERNAL_CPIO
                endchoice
 
                config EXTERNAL_CPIO
@@ -54,11 +58,20 @@ menu "Target Images"
                          Kernel uses specified external cpio as INITRAMFS_SOURCE.
 
                config TARGET_INITRAMFS_FORCE
                          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.
+                       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"
 
 
        comment "Root filesystem archives"
 
@@ -186,21 +199,32 @@ menu "Target Images"
                depends on TARGET_x86
                depends on TARGET_ROOTFS_EXT4FS || TARGET_ROOTFS_JFFS2 || TARGET_ROOTFS_SQUASHFS
                select PACKAGE_grub2
                depends on TARGET_x86
                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
+               depends on TARGET_ROOTFS_EXT4FS || TARGET_ROOTFS_JFFS2 || TARGET_ROOTFS_SQUASHFS
+               select PACKAGE_grub2
+               select PACKAGE_grub2-efi
+               select PACKAGE_grub2-bios-setup
+               select PACKAGE_kmod-fs-vfat
                default y
 
        config GRUB_CONSOLE
                bool "Use Console Terminal (in addition to Serial)"
                default y
 
        config GRUB_CONSOLE
                bool "Use Console Terminal (in addition to Serial)"
-               depends on GRUB_IMAGES
+               depends on GRUB_IMAGES || GRUB_EFI_IMAGES
                default y
 
        config GRUB_SERIAL
                string "Serial port device"
                default y
 
        config GRUB_SERIAL
                string "Serial port device"
-               depends on GRUB_IMAGES
+               depends on GRUB_IMAGES || GRUB_EFI_IMAGES
                default "ttyS0"
 
        config GRUB_BAUDRATE
                int "Serial port baud rate"
                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 115200
 
                default 38400 if TARGET_x86_generic
                default 115200
 
@@ -211,20 +235,20 @@ menu "Target Images"
 
        config GRUB_BOOTOPTS
                string "Extra kernel boot options"
 
        config GRUB_BOOTOPTS
                string "Extra kernel boot options"
-               depends on GRUB_IMAGES
+               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"
                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"
                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
+               depends on GRUB_IMAGES || GRUB_EFI_IMAGES
                default "OpenWrt"
                help
                  This is the title of the GRUB menu entry.
                default "OpenWrt"
                help
                  This is the title of the GRUB menu entry.
@@ -233,18 +257,24 @@ menu "Target Images"
        config ISO_IMAGES
                bool "Build LiveCD image (ISO)"
                depends on TARGET_x86
        config ISO_IMAGES
                bool "Build LiveCD image (ISO)"
                depends on TARGET_x86
-               select GRUB_IMAGES
+               depends on GRUB_IMAGES || GRUB_EFI_IMAGES
 
        config VDI_IMAGES
                bool "Build VirtualBox image files (VDI)"
                depends on TARGET_x86
 
        config VDI_IMAGES
                bool "Build VirtualBox image files (VDI)"
                depends on TARGET_x86
-               select GRUB_IMAGES
+               depends on GRUB_IMAGES || GRUB_EFI_IMAGES
                select PACKAGE_kmod-e1000
 
        config VMDK_IMAGES
                bool "Build VMware image files (VMDK)"
                depends on TARGET_x86
                select PACKAGE_kmod-e1000
 
        config VMDK_IMAGES
                bool "Build VMware image files (VMDK)"
                depends on TARGET_x86
-               select GRUB_IMAGES
+               depends on GRUB_IMAGES || GRUB_EFI_IMAGES
+               select PACKAGE_kmod-e1000
+
+       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_IMAGES_GZIP
                select PACKAGE_kmod-e1000
 
        config TARGET_IMAGES_GZIP
@@ -257,25 +287,33 @@ menu "Target Images"
        source "target/linux/*/image/Config.in"
 
        config TARGET_KERNEL_PARTSIZE
        source "target/linux/*/image/Config.in"
 
        config TARGET_KERNEL_PARTSIZE
-               int "Kernel partition size (in MB)"
+               int "Kernel partition size (in MiB)"
                depends on USES_BOOT_PART
                default 8 if TARGET_apm821xx_sata
                default 64 if TARGET_bcm27xx
                default 16
 
        config TARGET_ROOTFS_PARTSIZE
                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 USES_ROOTFS_PART || TARGET_ROOTFS_EXT4FS || TARGET_omap || TARGET_rb532 || TARGET_sunxi || TARGET_uml
+               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"
                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.
 
                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"
+               default n
+               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
 endmenu