config: extend small_flash feature
[oweals/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 root filesystem 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_LZMA if TARGET_apm821xx
20                         default TARGET_INITRAMFS_COMPRESSION_LZMA if TARGET_mpc85xx
21                         default TARGET_INITRAMFS_COMPRESSION_NONE
22                         depends on TARGET_ROOTFS_INITRAMFS
23                         help
24                           Select ramdisk compression.
25
26                         config TARGET_INITRAMFS_COMPRESSION_NONE
27                                 bool "none"
28
29                         config TARGET_INITRAMFS_COMPRESSION_GZIP
30                                 bool "gzip"
31
32                         config TARGET_INITRAMFS_COMPRESSION_BZIP2
33                                 bool "bzip2"
34
35                         config TARGET_INITRAMFS_COMPRESSION_LZMA
36                                 bool "lzma"
37
38                         config TARGET_INITRAMFS_COMPRESSION_LZO
39                                 bool "lzo"
40
41                         config TARGET_INITRAMFS_COMPRESSION_LZ4
42                                 bool "lz4"
43
44                         config TARGET_INITRAMFS_COMPRESSION_XZ
45                                 bool "xz"
46                 endchoice
47
48                 config EXTERNAL_CPIO
49                         string
50                         prompt "Use external cpio" if TARGET_ROOTFS_INITRAMFS
51                         default ""
52                         help
53                           Kernel uses specified external cpio as INITRAMFS_SOURCE.
54
55                 config TARGET_INITRAMFS_FORCE
56                         bool "Force"
57                         depends on TARGET_ROOTFS_INITRAMFS
58                         default n
59                         help
60                           Ignore the initramfs passed by the bootloader.
61
62         comment "Root filesystem archives"
63
64         config TARGET_ROOTFS_CPIOGZ
65                 bool "cpio.gz"
66                 default y if USES_CPIOGZ
67                 help
68                   Build a compressed cpio archive of the root filesystem.
69
70         config TARGET_ROOTFS_TARGZ
71                 bool "tar.gz"
72                 default y if USES_TARGZ
73                 help
74                   Build a compressed tar archive of the root filesystem.
75
76         comment "Root filesystem images"
77
78         menuconfig TARGET_ROOTFS_EXT4FS
79                 bool "ext4"
80                 default y if USES_EXT4
81                 help
82                   Build an ext4 root filesystem.
83
84                 config TARGET_EXT4_RESERVED_PCT
85                         int "Percentage of reserved blocks in root filesystem"
86                         depends on TARGET_ROOTFS_EXT4FS
87                         default 0
88                         help
89                           Select the percentage of reserved blocks in the root filesystem.
90
91                 choice
92                         prompt "Root filesystem block size"
93                         default TARGET_EXT4_BLOCKSIZE_4K
94                         depends on TARGET_ROOTFS_EXT4FS
95                         help
96                           Select the block size of the root filesystem.
97
98                         config TARGET_EXT4_BLOCKSIZE_4K
99                                 bool "4k"
100
101                         config TARGET_EXT4_BLOCKSIZE_2K
102                                 bool "2k"
103
104                         config TARGET_EXT4_BLOCKSIZE_1K
105                                 bool "1k"
106                 endchoice
107
108                 config TARGET_EXT4_BLOCKSIZE
109                         int
110                         default 4096 if TARGET_EXT4_BLOCKSIZE_4K
111                         default 2048 if TARGET_EXT4_BLOCKSIZE_2K
112                         default 1024 if TARGET_EXT4_BLOCKSIZE_1K
113                         depends on TARGET_ROOTFS_EXT4FS
114
115                 config TARGET_EXT4_JOURNAL
116                         bool "Create a journaling filesystem"
117                         depends on TARGET_ROOTFS_EXT4FS
118                         default n
119                         help
120                           Create an ext4 filesystem with a journal.
121
122         config TARGET_ROOTFS_ISO
123                 bool "iso"
124                 default n
125                 depends on TARGET_x86_generic
126                 help
127                   Create a bootable ISO image.
128
129         config TARGET_ROOTFS_JFFS2
130                 bool "jffs2"
131                 depends on USES_JFFS2
132                 help
133                   Build a JFFS2 root filesystem.
134
135         config TARGET_ROOTFS_JFFS2_NAND
136                 bool "jffs2 for NAND"
137                 default y if USES_JFFS2_NAND
138                 depends on USES_JFFS2_NAND
139                 help
140                   Build a JFFS2 root filesystem for NAND flash.
141
142         menuconfig TARGET_ROOTFS_SQUASHFS
143                 bool "squashfs"
144                 default y if USES_SQUASHFS
145                 help
146                   Build a squashfs-lzma root filesystem.
147
148                 config TARGET_SQUASHFS_BLOCK_SIZE
149                         int "Block size (in KiB)"
150                         depends on TARGET_ROOTFS_SQUASHFS
151                         default 64 if LOW_MEMORY_FOOTPRINT
152                         default 1024 if (SMALL_FLASH && !LOW_MEMORY_FOOTPRINT)
153                         default 256
154
155         menuconfig TARGET_ROOTFS_UBIFS
156                 bool "ubifs"
157                 default y if USES_UBIFS
158                 depends on USES_UBIFS
159                 help
160                   Build a UBIFS root filesystem.
161
162                 choice
163                         prompt "compression"
164                         default TARGET_UBIFS_COMPRESSION_ZLIB
165                         depends on TARGET_ROOTFS_UBIFS
166                         help
167                           Select compression type
168
169                         config TARGET_UBIFS_COMPRESSION_NONE
170                                 bool "none"
171
172                         config TARGET_UBIFS_COMPRESSION_LZO
173                                 bool "lzo"
174
175                         config TARGET_UBIFS_COMPRESSION_ZLIB
176                                 bool "zlib"
177                 endchoice
178
179                 config TARGET_UBIFS_FREE_SPACE_FIXUP
180                         bool "free space fixup" if TARGET_ROOTFS_UBIFS
181                         default y
182                         help
183                           The filesystem free space has to be fixed up on first mount.
184
185                 config TARGET_UBIFS_JOURNAL_SIZE
186                         string
187                         prompt "journal size" if TARGET_ROOTFS_UBIFS
188                         default ""
189
190         config GRUB_IMAGES
191                 bool "Build GRUB images (Linux x86 or x86_64 host only)"
192                 depends on TARGET_x86
193                 depends on TARGET_ROOTFS_EXT4FS || TARGET_ROOTFS_ISO || TARGET_ROOTFS_JFFS2 || TARGET_ROOTFS_SQUASHFS
194                 select PACKAGE_grub2
195                 default y
196
197         config GRUB_CONSOLE
198                 bool "Use Console Terminal (in addition to Serial)"
199                 depends on GRUB_IMAGES
200                 default n if (TARGET_x86_generic_Soekris45xx || TARGET_x86_generic_Soekris48xx || TARGET_x86_net5501 || TARGET_x86_geos || TARGET_x86_alix2)
201                 default y
202
203         config GRUB_SERIAL
204                 string "Serial port device"
205                 depends on GRUB_IMAGES
206                 default "hvc0" if TARGET_x86_xen_domu
207                 default "ttyS0" if ! TARGET_x86_xen_domu
208
209         config GRUB_BAUDRATE
210                 int "Serial port baud rate"
211                 depends on GRUB_IMAGES
212                 default 38400 if TARGET_x86_generic
213                 default 115200
214
215         config GRUB_FLOWCONTROL
216                 bool "Use RTE/CTS on serial console"
217                 depends on GRUB_SERIAL != ""
218                 default n
219
220         config GRUB_BOOTOPTS
221                 string "Extra kernel boot options"
222                 depends on GRUB_IMAGES
223                 default "xencons=hvc" if TARGET_x86_xen_domu
224                 help
225                   If you don't know, just leave it blank.
226
227         config GRUB_TIMEOUT
228                 string "Seconds to wait before booting the default entry"
229                 depends on GRUB_IMAGES
230                 default "5"
231                 help
232                   If you don't know, 5 seconds is a reasonable default.
233
234         config VDI_IMAGES
235                 bool "Build VirtualBox image files (VDI)"
236                 depends on TARGET_x86 || TARGET_x86_64
237                 select GRUB_IMAGES
238                 select TARGET_IMAGES_PAD
239                 select PACKAGE_kmod-e1000
240
241         config VMDK_IMAGES
242                 bool "Build VMware image files (VMDK)"
243                 depends on TARGET_x86 || TARGET_x86_64
244                 select GRUB_IMAGES
245                 select TARGET_IMAGES_PAD
246                 select PACKAGE_kmod-e1000
247
248         config TARGET_IMAGES_PAD
249                 bool "Pad images to filesystem size (for JFFS2)"
250                 depends on GRUB_IMAGES
251
252         config TARGET_IMAGES_GZIP
253                 bool "GZip images"
254                 depends on TARGET_IMAGES_PAD || TARGET_ROOTFS_EXT4FS || TARGET_x86
255                 default y
256
257         comment "Image Options"
258
259         source "target/linux/*/image/Config.in"
260
261         config TARGET_KERNEL_PARTSIZE
262                 int "Kernel partition size (in MB)"
263                 depends on GRUB_IMAGES
264                 default 16
265
266         config TARGET_ROOTFS_PARTSIZE
267                 int "Root filesystem partition size (in MB)"
268                 depends on GRUB_IMAGES || TARGET_ROOTFS_EXT4FS || TARGET_rb532 || TARGET_mvebu || TARGET_uml
269                 default 256
270                 help
271                   Select the root filesystem partition size.
272
273         config TARGET_ROOTFS_PARTNAME
274                 string "Root partition on target device"
275                 depends on GRUB_IMAGES
276                 help
277                   Override the root partition on the final device. If left empty,
278                   it will be mounted by PARTUUID which makes the kernel find the
279                   appropriate disk automatically.
280
281 endmenu