image: allow building FIT and uImage with ramdisk
[openwrt/staging/chunkeey.git] / config / Config-images.in
1 # SPDX-License-Identifier: GPL-2.0-only
2 #
3 # Copyright (C) 2006-2013 OpenWrt.org
4
5 menu "Target Images"
6
7 menuconfig TARGET_ROOTFS_INITRAMFS
8 bool "ramdisk"
9 default y if USES_INITRAMFS
10 help
11 Embed the root filesystem into the kernel (initramfs).
12
13 choice
14 prompt "Compression"
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_NONE
21 depends on TARGET_ROOTFS_INITRAMFS
22 help
23 Select ramdisk compression.
24
25 config TARGET_INITRAMFS_COMPRESSION_NONE
26 bool "none"
27
28 config TARGET_INITRAMFS_COMPRESSION_GZIP
29 bool "gzip"
30
31 config TARGET_INITRAMFS_COMPRESSION_BZIP2
32 bool "bzip2"
33
34 config TARGET_INITRAMFS_COMPRESSION_LZMA
35 bool "lzma"
36
37 config TARGET_INITRAMFS_COMPRESSION_LZO
38 depends on !TARGET_ROOTFS_INITRAMFS_SEPERATE
39 bool "lzo"
40
41 config TARGET_INITRAMFS_COMPRESSION_LZ4
42 depends on !TARGET_ROOTFS_INITRAMFS_SEPERATE
43 bool "lz4"
44
45 config TARGET_INITRAMFS_COMPRESSION_XZ
46 bool "xz"
47
48 config TARGET_INITRAMFS_COMPRESSION_ZSTD
49 depends on !LINUX_5_4 && !LINUX_4_19
50 bool "zstd"
51 endchoice
52
53 config EXTERNAL_CPIO
54 string
55 prompt "Use external cpio" if TARGET_ROOTFS_INITRAMFS
56 default ""
57 help
58 Kernel uses specified external cpio as INITRAMFS_SOURCE.
59
60 config TARGET_INITRAMFS_FORCE
61 bool "Force"
62 depends on TARGET_ROOTFS_INITRAMFS
63 default n
64 help
65 Ignore the initramfs passed by the bootloader.
66
67 config TARGET_ROOTFS_INITRAMFS_SEPERATE
68 bool "seperate ramdisk"
69 depends on TARGET_ROOTFS_INITRAMFS && !TARGET_INITRAMFS_FORCE
70 default y if USES_SEPERATE_INITRAMFS
71 help
72 Generate seperate 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.
75
76 comment "Root filesystem archives"
77
78 config TARGET_ROOTFS_CPIOGZ
79 bool "cpio.gz"
80 default y if USES_CPIOGZ
81 help
82 Build a compressed cpio archive of the root filesystem.
83
84 config TARGET_ROOTFS_TARGZ
85 bool "tar.gz"
86 default y if USES_TARGZ
87 help
88 Build a compressed tar archive of the root filesystem.
89
90 comment "Root filesystem images"
91
92 menuconfig TARGET_ROOTFS_EXT4FS
93 bool "ext4"
94 default y if USES_EXT4
95 help
96 Build an ext4 root filesystem.
97
98 config TARGET_EXT4_RESERVED_PCT
99 int "Percentage of reserved blocks in root filesystem"
100 depends on TARGET_ROOTFS_EXT4FS
101 default 0
102 help
103 Select the percentage of reserved blocks in the root filesystem.
104
105 choice
106 prompt "Root filesystem block size"
107 default TARGET_EXT4_BLOCKSIZE_4K
108 depends on TARGET_ROOTFS_EXT4FS
109 help
110 Select the block size of the root filesystem.
111
112 config TARGET_EXT4_BLOCKSIZE_4K
113 bool "4k"
114
115 config TARGET_EXT4_BLOCKSIZE_2K
116 bool "2k"
117
118 config TARGET_EXT4_BLOCKSIZE_1K
119 bool "1k"
120 endchoice
121
122 config TARGET_EXT4_BLOCKSIZE
123 int
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
128
129 config TARGET_EXT4_JOURNAL
130 bool "Create a journaling filesystem"
131 depends on TARGET_ROOTFS_EXT4FS
132 default n
133 help
134 Create an ext4 filesystem with a journal.
135
136 config TARGET_ROOTFS_JFFS2
137 bool "jffs2"
138 depends on USES_JFFS2
139 help
140 Build a JFFS2 root filesystem.
141
142 config TARGET_ROOTFS_JFFS2_NAND
143 bool "jffs2 for NAND"
144 default y if USES_JFFS2_NAND
145 depends on USES_JFFS2_NAND
146 help
147 Build a JFFS2 root filesystem for NAND flash.
148
149 menuconfig TARGET_ROOTFS_SQUASHFS
150 bool "squashfs"
151 default y if USES_SQUASHFS
152 help
153 Build a squashfs-lzma root filesystem.
154
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)
160 default 256
161
162 menuconfig TARGET_ROOTFS_UBIFS
163 bool "ubifs"
164 default y if USES_UBIFS
165 depends on USES_UBIFS
166 help
167 Build a UBIFS root filesystem.
168
169 choice
170 prompt "compression"
171 default TARGET_UBIFS_COMPRESSION_ZLIB
172 depends on TARGET_ROOTFS_UBIFS
173 help
174 Select compression type
175
176 config TARGET_UBIFS_COMPRESSION_NONE
177 bool "none"
178
179 config TARGET_UBIFS_COMPRESSION_LZO
180 bool "lzo"
181
182 config TARGET_UBIFS_COMPRESSION_ZLIB
183 bool "zlib"
184 endchoice
185
186 config TARGET_UBIFS_FREE_SPACE_FIXUP
187 bool "free space fixup" if TARGET_ROOTFS_UBIFS
188 default y
189 help
190 The filesystem free space has to be fixed up on first mount.
191
192 config TARGET_UBIFS_JOURNAL_SIZE
193 string
194 prompt "journal size" if TARGET_ROOTFS_UBIFS
195 default ""
196
197 config GRUB_IMAGES
198 bool "Build GRUB images (Linux x86 or x86_64 host only)"
199 depends on TARGET_x86
200 depends on TARGET_ROOTFS_EXT4FS || TARGET_ROOTFS_JFFS2 || TARGET_ROOTFS_SQUASHFS
201 select PACKAGE_grub2
202 default y
203
204 config GRUB_EFI_IMAGES
205 bool "Build GRUB EFI images (Linux x86 or x86_64 host only)"
206 depends on TARGET_x86
207 depends on TARGET_ROOTFS_EXT4FS || TARGET_ROOTFS_JFFS2 || TARGET_ROOTFS_SQUASHFS
208 select PACKAGE_grub2
209 select PACKAGE_grub2-efi
210 select PACKAGE_kmod-fs-vfat
211 default y
212
213 config GRUB_CONSOLE
214 bool "Use Console Terminal (in addition to Serial)"
215 depends on GRUB_IMAGES || GRUB_EFI_IMAGES
216 default y
217
218 config GRUB_SERIAL
219 string "Serial port device"
220 depends on GRUB_IMAGES || GRUB_EFI_IMAGES
221 default "ttyS0"
222
223 config GRUB_BAUDRATE
224 int "Serial port baud rate"
225 depends on GRUB_IMAGES || GRUB_EFI_IMAGES
226 default 38400 if TARGET_x86_generic
227 default 115200
228
229 config GRUB_FLOWCONTROL
230 bool "Use RTE/CTS on serial console"
231 depends on GRUB_SERIAL != ""
232 default n
233
234 config GRUB_BOOTOPTS
235 string "Extra kernel boot options"
236 depends on GRUB_IMAGES || GRUB_EFI_IMAGES
237 help
238 If you don't know, just leave it blank.
239
240 config GRUB_TIMEOUT
241 string "Seconds to wait before booting the default entry"
242 depends on GRUB_IMAGES || GRUB_EFI_IMAGES
243 default "5"
244 help
245 If you don't know, 5 seconds is a reasonable default.
246
247 config GRUB_TITLE
248 string "Title for the menu entry in GRUB"
249 depends on GRUB_IMAGES || GRUB_EFI_IMAGES
250 default "OpenWrt"
251 help
252 This is the title of the GRUB menu entry.
253 If unspecified, it defaults to OpenWrt.
254
255 config ISO_IMAGES
256 bool "Build LiveCD image (ISO)"
257 depends on TARGET_x86
258 depends on GRUB_IMAGES || GRUB_EFI_IMAGES
259
260 config VDI_IMAGES
261 bool "Build VirtualBox image files (VDI)"
262 depends on TARGET_x86
263 depends on GRUB_IMAGES || GRUB_EFI_IMAGES
264 select PACKAGE_kmod-e1000
265
266 config VMDK_IMAGES
267 bool "Build VMware image files (VMDK)"
268 depends on TARGET_x86
269 depends on GRUB_IMAGES || GRUB_EFI_IMAGES
270 select PACKAGE_kmod-e1000
271
272 config TARGET_IMAGES_GZIP
273 bool "GZip images"
274 depends on TARGET_ROOTFS_EXT4FS || TARGET_x86 || TARGET_armvirt || TARGET_malta
275 default y
276
277 comment "Image Options"
278
279 source "target/linux/*/image/Config.in"
280
281 config TARGET_KERNEL_PARTSIZE
282 int "Kernel partition size (in MB)"
283 depends on USES_BOOT_PART
284 default 8 if TARGET_apm821xx_sata
285 default 64 if TARGET_bcm27xx
286 default 16
287
288 config TARGET_ROOTFS_PARTSIZE
289 int "Root filesystem partition size (in MB)"
290 depends on USES_ROOTFS_PART || TARGET_ROOTFS_EXT4FS || TARGET_omap || TARGET_sunxi || TARGET_uml
291 default 104
292 help
293 Select the root filesystem partition size.
294
295 config TARGET_ROOTFS_PARTNAME
296 string "Root partition on target device"
297 depends on GRUB_IMAGES || GRUB_EFI_IMAGES
298 help
299 Override the root partition on the final device. If left empty,
300 it will be mounted by PARTUUID which makes the kernel find the
301 appropriate disk automatically.
302
303 endmenu