1 # SPDX-License-Identifier: GPL-2.0-only
3 # Copyright (C) 2006-2013 OpenWrt.org
7 menuconfig TARGET_ROOTFS_INITRAMFS
9 default y if USES_INITRAMFS
11 Embed the root filesystem into the kernel (initramfs).
15 default TARGET_INITRAMFS_COMPRESSION_LZMA if TARGET_apm821xx
16 default TARGET_INITRAMFS_COMPRESSION_LZMA if TARGET_ath79_mikrotik
17 default TARGET_INITRAMFS_COMPRESSION_LZMA if TARGET_lantiq
18 default TARGET_INITRAMFS_COMPRESSION_LZMA if TARGET_mpc85xx
19 default TARGET_INITRAMFS_COMPRESSION_LZMA if TARGET_ramips
20 default TARGET_INITRAMFS_COMPRESSION_XZ if USES_SEPARATE_INITRAMFS
21 default TARGET_INITRAMFS_COMPRESSION_NONE
22 depends on TARGET_ROOTFS_INITRAMFS
24 Select ramdisk compression.
26 config TARGET_INITRAMFS_COMPRESSION_NONE
29 config TARGET_INITRAMFS_COMPRESSION_GZIP
32 config TARGET_INITRAMFS_COMPRESSION_BZIP2
35 config TARGET_INITRAMFS_COMPRESSION_LZMA
38 config TARGET_INITRAMFS_COMPRESSION_LZO
39 depends on !TARGET_ROOTFS_INITRAMFS_SEPARATE
42 config TARGET_INITRAMFS_COMPRESSION_LZ4
43 depends on !TARGET_ROOTFS_INITRAMFS_SEPARATE
46 config TARGET_INITRAMFS_COMPRESSION_XZ
49 config TARGET_INITRAMFS_COMPRESSION_ZSTD
55 prompt "Use external cpio" if TARGET_ROOTFS_INITRAMFS
58 Kernel uses specified external cpio as INITRAMFS_SOURCE.
60 config TARGET_INITRAMFS_FORCE
62 depends on TARGET_ROOTFS_INITRAMFS
65 Ignore the initramfs passed by the bootloader.
67 config TARGET_ROOTFS_INITRAMFS_SEPARATE
68 bool "separate ramdisk"
69 depends on USES_SEPARATE_INITRAMFS && TARGET_ROOTFS_INITRAMFS && !TARGET_INITRAMFS_FORCE
70 default y if USES_SEPARATE_INITRAMFS
72 Generate separate initrd.cpio instead of embedding it.
73 This is useful for generating images with a dedicated
74 ramdisk e.g. in U-Boot's uImage and uImage.FIT formats.
76 comment "Root filesystem archives"
78 config TARGET_ROOTFS_CPIOGZ
80 default y if USES_CPIOGZ
82 Build a compressed cpio archive of the root filesystem.
84 config TARGET_ROOTFS_TARGZ
86 default y if USES_TARGZ
88 Build a compressed tar archive of the root filesystem.
90 comment "Root filesystem images"
92 menuconfig TARGET_ROOTFS_EXT4FS
94 default y if USES_EXT4
96 Build an ext4 root filesystem.
98 config TARGET_EXT4_RESERVED_PCT
99 int "Percentage of reserved blocks in root filesystem"
100 depends on TARGET_ROOTFS_EXT4FS
103 Select the percentage of reserved blocks in the root filesystem.
106 prompt "Root filesystem block size"
107 default TARGET_EXT4_BLOCKSIZE_4K
108 depends on TARGET_ROOTFS_EXT4FS
110 Select the block size of the root filesystem.
112 config TARGET_EXT4_BLOCKSIZE_4K
115 config TARGET_EXT4_BLOCKSIZE_2K
118 config TARGET_EXT4_BLOCKSIZE_1K
122 config TARGET_EXT4_BLOCKSIZE
124 default 4096 if TARGET_EXT4_BLOCKSIZE_4K
125 default 2048 if TARGET_EXT4_BLOCKSIZE_2K
126 default 1024 if TARGET_EXT4_BLOCKSIZE_1K
127 depends on TARGET_ROOTFS_EXT4FS
129 config TARGET_EXT4_JOURNAL
130 bool "Create a journaling filesystem"
131 depends on TARGET_ROOTFS_EXT4FS
134 Create an ext4 filesystem with a journal.
136 config TARGET_ROOTFS_JFFS2
138 depends on USES_JFFS2
140 Build a JFFS2 root filesystem.
142 config TARGET_ROOTFS_JFFS2_NAND
143 bool "jffs2 for NAND"
144 default y if USES_JFFS2_NAND
145 depends on USES_JFFS2_NAND
147 Build a JFFS2 root filesystem for NAND flash.
149 menuconfig TARGET_ROOTFS_SQUASHFS
151 default y if USES_SQUASHFS
153 Build a squashfs root filesystem.
155 config TARGET_SQUASHFS_BLOCK_SIZE
156 int "Block size (in KiB)"
157 depends on TARGET_ROOTFS_SQUASHFS
158 default 64 if LOW_MEMORY_FOOTPRINT
159 default 1024 if (SMALL_FLASH && !LOW_MEMORY_FOOTPRINT)
162 Select squashfs block size, must be one of:
163 4, 8, 16, 32, 64, 128, 256, 512, 1024
165 menuconfig TARGET_ROOTFS_UBIFS
167 default y if USES_UBIFS
168 depends on USES_UBIFS
170 Build a UBIFS root filesystem.
174 default TARGET_UBIFS_COMPRESSION_ZLIB
175 depends on TARGET_ROOTFS_UBIFS
177 Select compression type
179 config TARGET_UBIFS_COMPRESSION_NONE
182 config TARGET_UBIFS_COMPRESSION_LZO
185 config TARGET_UBIFS_COMPRESSION_ZLIB
189 config TARGET_UBIFS_FREE_SPACE_FIXUP
190 bool "free space fixup" if TARGET_ROOTFS_UBIFS
193 The filesystem free space has to be fixed up on first mount.
195 config TARGET_UBIFS_JOURNAL_SIZE
197 prompt "journal size" if TARGET_ROOTFS_UBIFS
201 bool "Build GRUB images (Linux x86 or x86_64 host only)"
202 depends on TARGET_x86
203 depends on TARGET_ROOTFS_EXT4FS || TARGET_ROOTFS_JFFS2 || TARGET_ROOTFS_SQUASHFS
205 select PACKAGE_grub2-bios-setup
208 config GRUB_EFI_IMAGES
209 bool "Build GRUB EFI images (Linux x86 or x86_64 host only)"
210 depends on TARGET_x86
211 depends on TARGET_ROOTFS_EXT4FS || TARGET_ROOTFS_JFFS2 || TARGET_ROOTFS_SQUASHFS
213 select PACKAGE_grub2-efi
214 select PACKAGE_grub2-bios-setup
215 select PACKAGE_kmod-fs-vfat
219 bool "Use Console Terminal (in addition to Serial)"
220 depends on GRUB_IMAGES || GRUB_EFI_IMAGES
224 string "Serial port device"
225 depends on GRUB_IMAGES || GRUB_EFI_IMAGES
229 int "Serial port baud rate"
230 depends on GRUB_IMAGES || GRUB_EFI_IMAGES
231 default 38400 if TARGET_x86_generic
234 config GRUB_FLOWCONTROL
235 bool "Use RTE/CTS on serial console"
236 depends on GRUB_SERIAL != ""
240 string "Extra kernel boot options"
241 depends on GRUB_IMAGES || GRUB_EFI_IMAGES
243 If you don't know, just leave it blank.
246 string "Seconds to wait before booting the default entry"
247 depends on GRUB_IMAGES || GRUB_EFI_IMAGES
250 If you don't know, 5 seconds is a reasonable default.
253 string "Title for the menu entry in GRUB"
254 depends on GRUB_IMAGES || GRUB_EFI_IMAGES
257 This is the title of the GRUB menu entry.
258 If unspecified, it defaults to OpenWrt.
261 bool "Build LiveCD image (ISO)"
262 depends on TARGET_x86
263 depends on GRUB_IMAGES || GRUB_EFI_IMAGES
266 bool "Build VirtualBox image files (VDI)"
267 depends on TARGET_x86
268 depends on GRUB_IMAGES || GRUB_EFI_IMAGES
269 select PACKAGE_kmod-e1000
272 bool "Build VMware image files (VMDK)"
273 depends on TARGET_x86
274 depends on GRUB_IMAGES || GRUB_EFI_IMAGES
275 select PACKAGE_kmod-e1000
278 bool "Build Hyper-V image files (VHDX)"
279 depends on TARGET_x86
280 depends on GRUB_IMAGES || GRUB_EFI_IMAGES
281 select PACKAGE_kmod-e1000
283 config TARGET_IMAGES_GZIP
285 depends on TARGET_ROOTFS_EXT4FS || TARGET_x86 || TARGET_armvirt || TARGET_malta
288 comment "Image Options"
290 source "target/linux/*/image/Config.in"
292 config TARGET_KERNEL_PARTSIZE
293 int "Kernel partition size (in MiB)"
294 depends on USES_BOOT_PART
295 default 8 if TARGET_apm821xx_sata
296 default 64 if TARGET_bcm27xx
299 config TARGET_ROOTFS_PARTSIZE
300 int "Root filesystem partition size (in MiB)"
301 depends on USES_ROOTFS_PART || TARGET_ROOTFS_EXT4FS
304 Select the root filesystem partition size.
306 config TARGET_ROOTFS_PARTNAME
307 string "Root partition on target device"
308 depends on GRUB_IMAGES || GRUB_EFI_IMAGES
310 Override the root partition on the final device. If left empty,
311 it will be mounted by PARTUUID which makes the kernel find the
312 appropriate disk automatically.
314 config TARGET_ROOTFS_PERSIST_VAR
315 bool "Make /var persistent"
318 Do not symlink /var to /tmp, so that its content will persist
319 across reboots. When enabled, /var/run will still be linked