build: make the squashfs block size configurable
[openwrt/openwrt.git] / config / Config-images.in
1 # Copyright (C) 2006-2013 OpenWrt.org
2 #
3 # This is free software, licensed under the GNU General Public License v2.
4 # See /LICENSE for more information.
5 #
6
7 menu "Target Images"
8
9 menuconfig TARGET_ROOTFS_INITRAMFS
10 bool "ramdisk"
11 default y if USES_INITRAMFS
12 help
13 Embed the rootfs into the kernel (initramfs)
14
15 choice
16 prompt "Compression"
17 default TARGET_INITRAMFS_COMPRESSION_LZMA if TARGET_ar71xx
18 default TARGET_INITRAMFS_COMPRESSION_LZMA if TARGET_ramips
19 default TARGET_INITRAMFS_COMPRESSION_NONE
20 depends on TARGET_ROOTFS_INITRAMFS
21 help
22 Select ramdisk compression.
23
24 config TARGET_INITRAMFS_COMPRESSION_NONE
25 bool "none"
26
27 config TARGET_INITRAMFS_COMPRESSION_GZIP
28 bool "gzip"
29
30 config TARGET_INITRAMFS_COMPRESSION_BZIP2
31 bool "bzip2"
32
33 config TARGET_INITRAMFS_COMPRESSION_LZMA
34 bool "lzma"
35
36 config TARGET_INITRAMFS_COMPRESSION_LZO
37 bool "lzo"
38
39 config TARGET_INITRAMFS_COMPRESSION_LZ4
40 bool "lz4"
41
42 config TARGET_INITRAMFS_COMPRESSION_XZ
43 bool "xz"
44 endchoice
45
46 config EXTERNAL_CPIO
47 string
48 prompt "Use external cpio" if TARGET_ROOTFS_INITRAMFS
49 default ""
50 help
51 Kernel uses specified external cpio as INITRAMFS_SOURCE
52
53 comment "Root filesystem archives"
54
55 config TARGET_ROOTFS_CPIOGZ
56 bool "cpio.gz"
57 default y if USES_CPIOGZ
58 help
59 Build a compressed cpio archive of the the root filesystem
60
61 config TARGET_ROOTFS_TARGZ
62 bool "tar.gz"
63 default y if USES_TARGZ
64 help
65 Build a compressed tar archive of the the root filesystem
66
67 comment "Root filesystem images"
68
69 menuconfig TARGET_ROOTFS_EXT4FS
70 bool "ext4"
71 default y if USES_EXT4
72 help
73 Build a ext4 root filesystem
74
75 config TARGET_EXT4_MAXINODE
76 int "Maximum number of inodes in root filesystem"
77 depends on TARGET_ROOTFS_EXT4FS
78 default 6000
79 help
80 Allows you to change the maximum number of inodes in the root filesystem
81
82 config TARGET_EXT4_RESERVED_PCT
83 int "Percentage of reserved blocks in root filesystem"
84 depends on TARGET_ROOTFS_EXT4FS
85 default 0
86 help
87 Allows you to change the percentage of reserved blocks in the root filesystem
88
89 choice
90 prompt "Root filesystem block size"
91 default TARGET_EXT4_BLOCKSIZE_4K
92 depends on TARGET_ROOTFS_EXT4FS
93 help
94 Allows you to change the block size of the root filesystem
95
96 config TARGET_EXT4_BLOCKSIZE_4K
97 bool "4k"
98
99 config TARGET_EXT4_BLOCKSIZE_2K
100 bool "2k"
101
102 config TARGET_EXT4_BLOCKSIZE_1K
103 bool "1k"
104 endchoice
105
106 config TARGET_EXT4_BLOCKSIZE
107 int
108 default 4096 if TARGET_EXT4_BLOCKSIZE_4K
109 default 2048 if TARGET_EXT4_BLOCKSIZE_2K
110 default 1024 if TARGET_EXT4_BLOCKSIZE_1K
111 depends on TARGET_ROOTFS_EXT4FS
112
113 config TARGET_EXT4_JOURNAL
114 bool "Create a journaling filesystem"
115 depends on TARGET_ROOTFS_EXT4FS
116 default n
117 help
118 Create an ext4 filesystem with a journal
119
120 config TARGET_ROOTFS_ISO
121 bool "iso"
122 default n
123 depends on TARGET_x86_generic
124 help
125 Create some bootable ISO image
126
127 config TARGET_ROOTFS_JFFS2
128 bool "jffs2"
129 default y if USES_JFFS2
130 help
131 Build a jffs2 root filesystem
132
133 config TARGET_ROOTFS_JFFS2_NAND
134 bool "jffs2 for NAND"
135 default y if USES_JFFS2_NAND
136 depends on USES_JFFS2_NAND
137 help
138 Build a jffs2 root filesystem for NAND flash
139
140 menuconfig TARGET_ROOTFS_SQUASHFS
141 bool "squashfs"
142 default y if USES_SQUASHFS
143 help
144 Build a squashfs-lzma root filesystem
145
146 config TARGET_SQUASHFS_BLOCK_SIZE
147 int "Block size (in KiB)"
148 depends on TARGET_ROOTFS_SQUASHFS
149 default 256
150
151 menuconfig TARGET_ROOTFS_UBIFS
152 bool "ubifs"
153 default y if USES_UBIFS
154 depends on USES_UBIFS
155 help
156 Build a ubifs root filesystem
157
158 choice
159 prompt "compression"
160 default TARGET_UBIFS_COMPRESSION_NONE
161 depends on TARGET_ROOTFS_UBIFS
162 help
163 Select compression type
164
165 config TARGET_UBIFS_COMPRESSION_NONE
166 bool "none"
167
168 config TARGET_UBIFS_COMPRESSION_LZO
169 bool "lzo"
170
171 config TARGET_UBIFS_COMPRESSION_ZLIB
172 bool "zlib"
173 endchoice
174
175 config TARGET_UBIFS_FREE_SPACE_FIXUP
176 bool "free space fixup" if TARGET_ROOTFS_UBIFS
177 default y
178 help
179 The file-system free space has to be fixed up on first mount
180
181 config TARGET_UBIFS_JOURNAL_SIZE
182 string
183 prompt "journal size" if TARGET_ROOTFS_UBIFS
184 default ""
185
186 config GRUB_IMAGES
187 bool "Build GRUB images (Linux x86 or x86_64 host only)"
188 depends on TARGET_x86_64 || (TARGET_x86 && !(TARGET_x86_olpc || TARGET_x86_rdc))
189 depends on TARGET_ROOTFS_EXT4FS || TARGET_ROOTFS_ISO || TARGET_ROOTFS_JFFS2 || TARGET_ROOTFS_SQUASHFS
190 select PACKAGE_grub2
191 default y
192
193 config GRUB_CONSOLE
194 bool "Use Console Terminal (in addition to Serial)"
195 depends on GRUB_IMAGES
196 default n if (TARGET_x86_generic_Soekris45xx || TARGET_x86_generic_Soekris48xx || TARGET_x86_net5501 || TARGET_x86_geos || TARGET_x86_alix2)
197 default y
198
199 config GRUB_SERIAL
200 string "Serial port device"
201 depends on GRUB_IMAGES
202 default "hvc0" if TARGET_x86_xen_domu
203 default "ttyS0" if ! TARGET_x86_xen_domu
204
205 config GRUB_BAUDRATE
206 int "Serial port baud rate"
207 depends on GRUB_IMAGES
208 default 19200 if TARGET_x86_generic_Soekris45xx || TARGET_x86_generic_Soekris48xx || TARGET_x86_net5501
209 default 38400 if TARGET_x86_alix2
210 default 115200 if TARGET_x86_geos || TARGET_x86_kvm_guest
211 default 38400
212
213 config GRUB_BOOTOPTS
214 string "Extra kernel boot options"
215 depends on GRUB_IMAGES
216 default "xencons=hvc" if TARGET_x86_xen_domu
217 help
218 If you don't know, just leave it blank.
219
220 config GRUB_TIMEOUT
221 string "Seconds to wait before booting the default entry"
222 depends on GRUB_IMAGES
223 default "5"
224 help
225 If you don't know, 5 seconds is a reasonable default.
226
227 config VDI_IMAGES
228 bool "Build VirtualBox image files (VDI)"
229 depends on TARGET_x86 || TARGET_x86_64
230 select GRUB_IMAGES
231 select TARGET_ROOTFS_EXT4FS
232 select PACKAGE_kmod-e1000
233
234 config VMDK_IMAGES
235 bool "Build VMware image files (VMDK)"
236 depends on TARGET_x86 || TARGET_x86_64
237 select GRUB_IMAGES
238 select TARGET_ROOTFS_EXT4FS
239 select PACKAGE_kmod-e1000
240
241 config TARGET_IMAGES_PAD
242 bool "Pad images to filesystem size (for JFFS2)"
243 depends on OLPC_BOOTSCRIPT_IMAGES || GRUB_IMAGES
244
245 config TARGET_IMAGES_GZIP
246 bool "GZip images"
247 depends on TARGET_IMAGES_PAD || TARGET_ROOTFS_EXT4FS
248 default y
249
250 comment "Image Options"
251
252 source "target/linux/*/image/Config.in"
253
254 config TARGET_KERNEL_PARTSIZE
255 int "Kernel partition size (in MB)"
256 depends on OLPC_BOOTSCRIPT_IMAGES || GRUB_IMAGES
257 default 4
258
259 config TARGET_ROOTFS_PARTSIZE
260 int "Root filesystem partition size (in MB)"
261 depends on GRUB_IMAGES || TARGET_ROOTFS_EXT4FS || TARGET_rb532
262 default 48
263 help
264 Allows you to change the root filesystem partition size
265
266 config TARGET_ROOTFS_PARTNAME
267 string "Root partition on target device"
268 depends on OLPC_BOOTSCRIPT_IMAGES || GRUB_IMAGES
269 default "/dev/xvda2" if TARGET_x86_xen_domu
270 default "/dev/sda2" if ! TARGET_x86_xen_domu
271 help
272 The root partition on the final device. If you don't know,
273 you probably want the default (/dev/sda2).
274
275
276 menuconfig TARGET_ROOTFS_INCLUDE_KERNEL
277 bool "Include kernel in root filesystem"
278 depends on TARGET_ROOTFS_UBIFS || TARGET_ROOTFS_EXT4FS
279 default n
280 help
281 Include the kernel image in the rootfs. Typically the image is placed
282 below /boot.
283
284 config TARGET_ROOTFS_INCLUDE_UIMAGE
285 bool "include uImage" if TARGET_ROOTFS_INCLUDE_KERNEL
286 default y
287 help
288 This option might not apply to all targets. Make sure
289 to check target/linux/<your_target>/image/Makefile to
290 see if this option will have any effect.
291
292 config TARGET_ROOTFS_INCLUDE_ZIMAGE
293 bool "include zImage" if TARGET_ROOTFS_INCLUDE_KERNEL
294 default y
295 help
296 This option might not apply to all targets. Make sure
297 to check target/linux/<your_target>/image/Makefile to
298 see if this option will have any effect.
299
300 config TARGET_ROOTFS_INCLUDE_FIT
301 bool "include FIT" if TARGET_ROOTFS_INCLUDE_KERNEL
302 default y
303 help
304 This option might not apply to all targets. Make sure
305 to check target/linux/<your_target>/image/Makefile to
306 see if this option will have any effect.
307
308 config TARGET_ROOTFS_INCLUDE_DTB
309 bool "Include DTB in root filesystem"
310 depends on USES_DEVICETREE && (TARGET_ROOTFS_UBIFS || TARGET_ROOTFS_EXT4FS)
311 default n
312 help
313 Include the device tree blob file(s) in the rootfs. Typically the DTBs
314 are placed below /boot.
315
316 endmenu