openwrt/config/Config-images.in
Petr Štetiar d03ef97c1b build: remove TARGET_IMAGES_PAD option
It's being used only in x86 target to produce combined images, where
it's mandatory to have padded images in order to produce working
squashfs combined images usable in QEMU.

Currently we're producing unusable x86 combined squashfs images
(18.06.1, 18.06.2 and snapshots) as we don't enable TARGET_IMAGES_PAD,
thus providing very small space for the overlay filesystem, leading to
the following with OpenWrt 18.06.1 r7258-5eb055306f images on x86 QEMU:

 root@(none):/# mount | egrep 'root|overlay'
  /dev/root on /rom type squashfs
  /dev/loop0 on /overlay type ext4
  overlayfs:/overlay on / type overlay

 root@(none):/# df -h | egrep 'root|overlay|Size'
  Filesystem                Size      Used Available Use% Mounted on
  /dev/root                 2.5M      2.5M         0 100% /rom
  /dev/loop0              113.0K      8.0K     97.0K   8% /overlay
  overlayfs:/overlay      113.0K      8.0K     97.0K   8% /

So we should rather ensure proper image padding in image generation code
and we shouldn't rely on config options in order to generate usable
images.

Signed-off-by: Petr Štetiar <ynezz@true.cz>
2019-06-25 14:12:21 +00:00

284 lines
6.8 KiB
Plaintext

# Copyright (C) 2006-2013 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
menu "Target Images"
menuconfig TARGET_ROOTFS_INITRAMFS
bool "ramdisk"
default y if USES_INITRAMFS
help
Embed the root filesystem into the kernel (initramfs).
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_lantiq
default TARGET_INITRAMFS_COMPRESSION_LZMA if TARGET_mpc85xx
default TARGET_INITRAMFS_COMPRESSION_LZMA if TARGET_ramips
default TARGET_INITRAMFS_COMPRESSION_NONE
depends on TARGET_ROOTFS_INITRAMFS
help
Select ramdisk compression.
config TARGET_INITRAMFS_COMPRESSION_NONE
bool "none"
config TARGET_INITRAMFS_COMPRESSION_GZIP
bool "gzip"
config TARGET_INITRAMFS_COMPRESSION_BZIP2
bool "bzip2"
config TARGET_INITRAMFS_COMPRESSION_LZMA
bool "lzma"
config TARGET_INITRAMFS_COMPRESSION_LZO
bool "lzo"
config TARGET_INITRAMFS_COMPRESSION_LZ4
bool "lz4"
config TARGET_INITRAMFS_COMPRESSION_XZ
bool "xz"
endchoice
config EXTERNAL_CPIO
string
prompt "Use external cpio" if TARGET_ROOTFS_INITRAMFS
default ""
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.
comment "Root filesystem archives"
config TARGET_ROOTFS_CPIOGZ
bool "cpio.gz"
default y if USES_CPIOGZ
help
Build a compressed cpio archive of the root filesystem.
config TARGET_ROOTFS_TARGZ
bool "tar.gz"
default y if USES_TARGZ
help
Build a compressed tar archive of the root filesystem.
comment "Root filesystem images"
menuconfig TARGET_ROOTFS_EXT4FS
bool "ext4"
default y if USES_EXT4
help
Build an ext4 root filesystem.
config TARGET_EXT4_RESERVED_PCT
int "Percentage of reserved blocks in root filesystem"
depends on TARGET_ROOTFS_EXT4FS
default 0
help
Select the percentage of reserved blocks in the root filesystem.
choice
prompt "Root filesystem block size"
default TARGET_EXT4_BLOCKSIZE_4K
depends on TARGET_ROOTFS_EXT4FS
help
Select the block size of the root filesystem.
config TARGET_EXT4_BLOCKSIZE_4K
bool "4k"
config TARGET_EXT4_BLOCKSIZE_2K
bool "2k"
config TARGET_EXT4_BLOCKSIZE_1K
bool "1k"
endchoice
config TARGET_EXT4_BLOCKSIZE
int
default 4096 if TARGET_EXT4_BLOCKSIZE_4K
default 2048 if TARGET_EXT4_BLOCKSIZE_2K
default 1024 if TARGET_EXT4_BLOCKSIZE_1K
depends on TARGET_ROOTFS_EXT4FS
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
help
Build a JFFS2 root filesystem.
config TARGET_ROOTFS_JFFS2_NAND
bool "jffs2 for NAND"
default y if USES_JFFS2_NAND
depends on USES_JFFS2_NAND
help
Build a JFFS2 root filesystem for NAND flash.
menuconfig TARGET_ROOTFS_SQUASHFS
bool "squashfs"
default y if USES_SQUASHFS
help
Build a squashfs-lzma 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
menuconfig TARGET_ROOTFS_UBIFS
bool "ubifs"
default y if USES_UBIFS
depends on USES_UBIFS
help
Build a UBIFS root filesystem.
choice
prompt "compression"
default TARGET_UBIFS_COMPRESSION_ZLIB
depends on TARGET_ROOTFS_UBIFS
help
Select compression type
config TARGET_UBIFS_COMPRESSION_NONE
bool "none"
config TARGET_UBIFS_COMPRESSION_LZO
bool "lzo"
config TARGET_UBIFS_COMPRESSION_ZLIB
bool "zlib"
endchoice
config TARGET_UBIFS_FREE_SPACE_FIXUP
bool "free space fixup" if TARGET_ROOTFS_UBIFS
default y
help
The filesystem free space has to be fixed up on first mount.
config TARGET_UBIFS_JOURNAL_SIZE
string
prompt "journal size" if TARGET_ROOTFS_UBIFS
default ""
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
select PACKAGE_grub2
default y
config GRUB_CONSOLE
bool "Use Console Terminal (in addition to Serial)"
depends on GRUB_IMAGES
default y
config GRUB_SERIAL
string "Serial port device"
depends on GRUB_IMAGES
default "ttyS0"
config GRUB_BAUDRATE
int "Serial port baud rate"
depends on GRUB_IMAGES
default 38400 if TARGET_x86_generic
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
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
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
default "OpenWrt"
help
This is the title of the GRUB menu entry.
If unspecified, it defaults to OpenWrt.
config VDI_IMAGES
bool "Build VirtualBox image files (VDI)"
depends on TARGET_x86
select GRUB_IMAGES
select PACKAGE_kmod-e1000
config VMDK_IMAGES
bool "Build VMware image files (VMDK)"
depends on TARGET_x86
select GRUB_IMAGES
select PACKAGE_kmod-e1000
config TARGET_IMAGES_GZIP
bool "GZip images"
depends on TARGET_ROOTFS_EXT4FS || TARGET_x86
default y
comment "Image Options"
source "target/linux/*/image/Config.in"
config TARGET_KERNEL_PARTSIZE
int "Kernel partition size (in MB)"
depends on GRUB_IMAGES || USES_BOOT_PART
default 8 if TARGET_apm821xx_sata
default 20 if TARGET_brcm2708
default 16
config TARGET_ROOTFS_PARTSIZE
int "Root filesystem partition size (in MB)"
depends on GRUB_IMAGES || USES_ROOTFS_PART || TARGET_ROOTFS_EXT4FS || TARGET_omap || TARGET_rb532 || TARGET_sunxi || TARGET_uml
default 256
help
Select the root filesystem partition size.
config TARGET_ROOTFS_PARTNAME
string "Root partition on target device"
depends on GRUB_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.
endmenu