Merge branch 'master' of git+ssh://openadk.org/git/openadk
[openadk.git] / target / Config.in
blob4655c7b3682516fd6472048da6ac0a9d8938a9f7
1 # This file is part of the OpenADK project. OpenADK is copyrighted
2 # material, please see the LICENCE file in the top-level directory.
4 # mark broken devices
5 config ADK_BROKEN
6         bool
8 config ADK_DEVICE_NO_FPU
9         bool
11 config ADK_LINUX_64
12         bool
14 config ADK_NATIVE
15         tristate
17 config ADK_alix1c
18         tristate
20 config ADK_qemu_x86
21         tristate
23 config ADK_qemu_mips
24         tristate
26 config ADK_qemu_mipsel
27         tristate
29 config ADK_qemu_mips64
30         tristate
32 config ADK_qemu_mips64el
33         tristate
35 config ADK_qemu_cris
36         tristate
38 config ADK_rb532
39         tristate
41 config ADK_rb411
42         tristate
44 config ADK_rb433
45         tristate
47 config ADK_zaurus
48         tristate
50 config ADK_foxboard
51         tristate
53 config ADK_lemote
54         tristate
56 config ADK_rescue_x86
57         tristate
59 config ADK_rescue_x86_64
60         tristate
62 config ADK_rescue_mips
63         tristate
65 config ADK_rescue_mipsel
66         tristate
68 config ADK_wag54g
69         tristate
71 config ADK_DEVICE
72         string
73         default "alix1c"  if ADK_alix1c
74         default "qemu-x86"  if ADK_qemu_x86
75         default "qemu-mips"  if ADK_qemu_mips
76         default "qemu-mipsel"  if ADK_qemu_mipsel
77         default "qemu-mips64"  if ADK_qemu_mips64
78         default "qemu-mips64el"  if ADK_qemu_mips64el
79         default "qemu-cris"  if ADK_qemu_cris
80         default "foxboard"  if ADK_foxboard
81         default "native"  if ADK_NATIVE
82         default "rb532"  if ADK_rb532
83         default "rb411"  if ADK_rb411
84         default "rb433"  if ADK_rb433
85         default "zaurus"  if ADK_arm
86         default "lemote"  if ADK_lemote
87         default "wag54g"  if ADK_wag54g
88         default "rescue-x86"  if ADK_rescue_x86
89         default "rescue-x86_64"  if ADK_rescue_x86_64
90         default "rescue-mips"  if ADK_rescue_mips
91         default "rescue-mipsel"  if ADK_rescue_mipsel
93 menu "Target system"
95 choice
96 prompt "Embedded Device"
97 default ADK_LINUX_NATIVE
99 config ADK_LINUX_NATIVE
100         bool "Native platform"
101         select ADK_NATIVE
102         help
103           Make a native build. Use host tools.
104           No toolchain will be created.
106 config ADK_LINUX_X86_ALIX1C
107         bool "PC Engines Alix1C"
108         select ADK_alix1c
109         select ADK_KERNEL_SCSI
110         select ADK_KERNEL_EXT2_FS
111         select ADK_KERNEL_NETDEVICES
112         select ADK_KERNEL_NET_PCI
113         select ADK_KERNEL_NETDEVICES
114         select ADK_KERNEL_NET_ETHERNET
115         select ADK_KERNEL_MII
116         select BUSYBOX_HWCLOCK
117         help
118           http://www.pcengines.ch/
120 config ADK_LINUX_CRIS_FOXBOARD
121         bool "Foxboard (ETRAX LX100)"
122         select ADK_foxboard
123         select ADK_PACKAGE_KMOD_USB_CONTROLLER
124         help
125           Foxboard support
127 config ADK_LINUX_MIPS64_LEMOTE
128         bool "Lemote Subnotebook Yeeloong"
129         select ADK_lemote
130         select ADK_LINUX_64
131         select ADK_KERNEL_BLK_DEV_SD
132         select ADK_KERNEL_INPUT_KEYBOARD
133         select ADK_KERNEL_NETDEVICES
134         select ADK_KERNEL_NET_PCI
135         select ADK_KERNEL_NET_ETHERNET
136         select ADK_KERNEL_MII
137         select ADK_KERNEL_SWAP
138         help
139           Lemote Subnotebook
141 config ADK_LINUX_MIKROTIK
142         bool "Mikrotik Routerboards"
143         help
144          Support for Mikrotik Routerboards
146 config ADK_LINUX_MIPS_WAG54G
147         bool "Linksys WAG54G"
148         select ADK_KERNEL_NETDEVICES
149         select ADK_KERNEL_NET_PCI
150         select ADK_KERNEL_NET_ETHERNET
151         select ADK_KERNEL_MII
152         select ADK_wag54g
153         help
154           Linksys WAG54G DSL router with Wireless
155           TI AR7 platform
158 config ADK_LINUX_XSCALE_ZAURUS
159         bool "Zaurus SL-C3200"
160         depends on ADK_BROKEN
161         select ADK_zaurus
162         select ADK_DEVICE_NO_FPU
163         help
164          Support for Sharp Zaurus SL-C3200 (aka Terrier)
166 config ADK_LINUX_RESCUE
167         bool "Minimal Linux Rescuesystem"
168         help
169          Rescuesystem with can be used to Boot from Disk or USB stick.
171 config ADK_LINUX_QEMU
172         bool "Qemu Emulator"
173         help
174          Support for Qemu Emulator
176 endchoice
178 choice
179 prompt "Architecture"
180 depends on ADK_LINUX_RESCUE
182 config ADK_LINUX_X86_64_RESCUE
183         bool "x86_64"
184         select ADK_rescue_x86_64
185         select ADK_LINUX_64
186         help
187          X86 architecture.
189 config ADK_LINUX_X86_RESCUE
190         bool "x86"
191         select ADK_rescue_x86
192         help
193          X86 architecture.
195 config ADK_LINUX_MIPSEL_RESCUE
196         bool "mips (little endian)"
197         select ADK_rescue_mipsel
198         help
199          MIPS LE architecture.
201 config ADK_LINUX_MIPS_RESCUE
202         bool "mips (big endian)"
203         select ADK_rescue_mips
204         help
205          MIPS BE architecture.
207 endchoice
209 choice
210 prompt "Architecture"
211 depends on ADK_LINUX_QEMU
213 config ADK_LINUX_X86_QEMU
214         bool "x86"
215         select ADK_qemu_x86
216         select ADK_KPACKAGE_KMOD_NE2K_PCI
217         select ADK_KERNEL_INPUT_KEYBOARD
218         help
219          Qemu support for x86 architecture.
221 config ADK_LINUX_MIPS_QEMU
222         bool "mips (big endian)"
223         select ADK_qemu_mips
224         help
225          Qemu support for MIPS BE architecture.
227 config ADK_LINUX_MIPSEL_QEMU
228         bool "mipsel (little endian)"
229         select ADK_qemu_mipsel
230         help
231          Qemu support for MIPS LE architecture.
233 config ADK_LINUX_MIPS64_QEMU
234         bool "mips64 (big endian)"
235         select ADK_qemu_mips64
236         select ADK_LINUX_64
237         help
238          Qemu support for MIPS64 BE architecture.
240 config ADK_LINUX_MIPS64EL_QEMU
241         bool "mips64 (little endian)"
242         select ADK_qemu_mips64el
243         select ADK_LINUX_64
244         help
245          Qemu support for MIPS64 LE architecture.
247 config ADK_LINUX_CRIS_QEMU
248         bool "cris"
249         select ADK_qemu_cris
250 #       select ADK_BROKEN
251         help
252          Qemu support for CRISv32 architecture.
254 endchoice
256 choice
257 prompt "Routerboard model"
258 default ADK_LINUX_MIPS_RB433
259 depends on ADK_LINUX_MIKROTIK
261 config ADK_LINUX_MIPS_RB411
262         bool "Mikrotik Routerboard 411"
263         select ADK_rb411
264         select ADK_KERNEL_NETDEVICES
265         select ADK_KERNEL_NET_PCI
266         select ADK_KERNEL_NETDEV_1000
267         select ADK_KERNEL_NET_ETHERNET
268         help
269          Support for Mikrotik RB411.
271 config ADK_LINUX_MIPS_RB433
272         bool "Mikrotik Routerboard 433"
273         select ADK_rb433
274         select ADK_KERNEL_NETDEVICES
275         select ADK_KERNEL_NET_PCI
276         select ADK_KERNEL_NETDEV_1000
277         select ADK_KERNEL_NET_ETHERNET
278         help
279          Support for Mikrotik RB433.
281 config ADK_LINUX_MIPS_RB532
282         bool "Mikrotik Routerboard 532"
283         select ADK_rb532
284         select ADK_KERNEL_NETDEVICES
285         select ADK_KERNEL_NET_PCI
286         select ADK_KERNEL_NET_ETHERNET
287         select ADK_KERNEL_MII
288         help
289          Support for Mikrotik RB532.
290 endchoice
292 choice
293 prompt "Device model"
294 default ADK_LINUX_CRIS_FOXBOARD_CLASSIC
295 depends on ADK_LINUX_CRIS_FOXBOARD
297 config ADK_LINUX_CRIS_FOXBOARD_CLASSIC
298         bool "Foxboard classic (4x16)"
299         help
300           Foxboard classic with red board.
301           (4 MB flash size and 16 MB RAM)
303 config ADK_LINUX_CRIS_FOXBOARD_LX
304         bool "Foxboard LX (8x32)"
305         help
306           Latest Foxboard with green board.
307           (8 MB flash size and 32 MB RAM)
309 endchoice
311 source "target/linux/config/Config.in.kernel"
313 choice 
314 prompt "Target C library"
315 depends on ! ADK_NATIVE
316 config ADK_TARGET_LIB_UCLIBC
317         bool "uClibc embedded C library"
318         # broken, because of 16kB pagesize
319         depends on !ADK_LINUX_MIPS64_LEMOTE
320         help
321          http://uclibc.org
323 config ADK_TARGET_LIB_EGLIBC
324         bool "Embedded GNU C library"
325         depends on ADK_LINUX_X86_QEMU || \
326                 ADK_LINUX_MIPS_QEMU || \
327                 ADK_LINUX_MIPS64_QEMU || \
328                 ADK_LINUX_MIPSEL_QEMU || \
329                 ADK_LINUX_MIPS64EL_QEMU || \
330                 ADK_LINUX_X86_ALIX1C || \
331                 ADK_LINUX_MIPS_RB411 || \
332                 ADK_LINUX_MIPS_RB532 || \
333                 ADK_LINUX_RESCUE || \
334                 ADK_LINUX_MIPS64_LEMOTE
335         help
336          http://www.eglibc.org
338 config ADK_TARGET_LIB_GLIBC
339         bool "GNU C library"
340         depends on ADK_LINUX_X86_QEMU || \
341                 ADK_LINUX_MIPS_QEMU || \
342                 ADK_LINUX_MIPS64_QEMU || \
343                 ADK_LINUX_MIPSEL_QEMU || \
344                 ADK_LINUX_MIPS64EL_QEMU || \
345                 ADK_LINUX_X86_ALIX1C || \
346                 ADK_LINUX_MIPS_RB411 || \
347                 ADK_LINUX_RESCUE || \
348                 ADK_LINUX_MIPS64_LEMOTE
349         help
350          http://www.gnu.org/libc
352 endchoice
354 choice
355 prompt "Target Firmware type"
356         default ADK_TARGET_ROOTFS_EXT2_CF
358 config ADK_TARGET_ROOTFS_INITRAMFS
359         bool "initramfs filesystem"
360         depends on ADK_LINUX_X86_QEMU || \
361                 ADK_LINUX_CRIS_QEMU || \
362                 ADK_LINUX_MIPS_QEMU || \
363                 ADK_LINUX_MIPSEL_QEMU || \
364                 ADK_LINUX_MIPS64_QEMU || \
365                 ADK_LINUX_MIPS64EL_QEMU || \
366                 ADK_LINUX_NATIVE || \
367                 ADK_LINUX_RESCUE
368         select ADK_KERNEL_BLK_DEV_INITRD
369         help
370           create an read-only initramfs system.
372 config ADK_TARGET_ROOTFS_SQUASHFS
373         bool "squashfs read-only root filesystem"
374         depends on ADK_LINUX_CRIS_FOXBOARD || \
375                 ADK_LINUX_MIPS_WAG54G
376         help
377           highly compressed read-only filesystem for flash.
379 config ADK_TARGET_ROOTFS_YAFFS
380         bool "YAFFS2 rootfilesystem (NAND)"
381         depends on ADK_LINUX_MIPS_RB532 || \
382                 ADK_LINUX_MIPS_RB433 || \
383                 ADK_LINUX_MIPS_RB411
384         help
385           Root filesystem on NAND.
387 config ADK_TARGET_ROOTFS_NFSROOT
388         bool "NFS root"
389         depends on ADK_LINUX_CRIS_FOXBOARD || \
390                 ADK_LINUX_X86_ALIX1C || \
391                 ADK_LINUX_MIPS_RB532 || \
392                 ADK_LINUX_MIPS_RB433 || \
393                 ADK_LINUX_MIPS_RB411 || \
394                 ADK_LINUX_MIPS_WAG54G || \
395                 ADK_LINUX_MIPS64_LEMOTE
396         select ADK_KERNEL_NFS_FS
397         select ADK_KERNEL_NFS_V3
398         select ADK_KERNEL_ROOT_NFS
399         select ADK_KERNEL_NFS_COMMON
400         select ADK_KERNEL_IP_PNP
401         select ADK_KERNEL_IP_PNP_DHCP
402         help
403           Root filesystem mounted via NFS. (DHCP)
405 config ADK_TARGET_ROOTFS_EXT2_CF
406         bool "read-write filesystem for compact flash (ext2)"
407         depends on ADK_LINUX_X86_ALIX1C || ADK_LINUX_MIPS_RB532
408         select ADK_KERNEL_EXT2_FS
409         select ADK_KERNEL_SCSI
410         select ADK_KERNEL_BLK_DEV_SD
411         help
412           Use this option if you have a compact flash
413           inside your hardware and want to boot from it.
415 config ADK_TARGET_ROOTFS_EXT2
416         bool "Ext2 read-write filesystem"
417         depends on ADK_LINUX_QEMU || \
418                 ADK_LINUX_XSCALE_ZAURUS || \
419                 ADK_LINUX_MIPS64_LEMOTE
420         select ADK_KERNEL_EXT2_FS
421         help
422           Use this option if your rootfs is ext2.
424 config ADK_TARGET_ROOTFS_ENCRYPTED
425         bool "Encrypted read-write root filesystem"
426         depends on ADK_LINUX_MIPS64_LEMOTE
427         select ADK_LINUX_INITRAMFS_BUILTIN
428         select ADK_PACKAGE_CRYPTINIT
429         select ADK_KERNEL_BLK_DEV_DM
430         select ADK_KERNEL_DM_CRYPT
431         select ADK_KERNEL_CRYPTO_AES
432         select ADK_KERNEL_CRYPTO_CBC
433         select ADK_KERNEL_CRYPTO_SHA256
434         select ADK_KERNEL_XFS_FS
435         help
436           Use this option if you want an encrypted rootfs.
437           Default is XFS filesystem. Use following commands to setup 
438           your hard disk, after booting via NFS or USB.
439           Create at least three partitions with fdisk
440           /dev/sda1 (ext2)
441           /dev/sda2 (encrypted root)
442           /dev/sda3 (swap)
444           mkdir /mnt/{boot,root}
445           cryptsetup luksFormat /dev/sda2 
446           cryptsetup luksOpen /dev/sda2 root
447           cryptsetup luksFormat /dev/sda3
448           cryptsetup luksOpen /dev/sda3 swap
449           mkswap /dev/mapper/swap
450           mkfs.xfs /dev/mapper/root
451           mount /dev/mapper/root /mnt/root
452           tar xzvf lemote-mips-encryptedroot.tar.gz -C /mnt/root
453           mount /dev/sda1 /mnt/boot
454           mkdir /mnt/boot/boot
455           cp lemote-mips-kernel /mnt/boot/boot
456           mv /mnt/root/boot/boot.cfg /mnt/boot/boot
457           cd /mnt/root ; mknod -m 644 console c 5 1
459 endchoice
461 config ADK_SSP
462         bool "Enable Stack Smashing Protection"
463         default n
464         depends on ADK_LINUX_X86_ALIX1C || \
465                 ADK_LINUX_CRIS_FOXBOARD
466         help
467           Enable Stack Smashing Protection
469 config ADK_CXX
470         bool "Enable C++ support"
471         default n
472         help
473           Enable C++ Compiler and Libraries
475 config ADK_DEBUG
476         bool "Enable debug support"
477         default n
478         help
479           All packages and libc will be compiled and packaged with debug information.
480           Mostly useful for NFS root or big USB/CF disk setups.
482 config ADK_IPV6
483         bool "Enable IPv6 support"
484         default n
485         select ADK_KPACKAGE_KMOD_IPV6
486         select BUSYBOX_FEATURE_IPV6
487         select BUSYBOX_FEATURE_IFUPDOWN_IPV6
488         select BUSYBOX_PING6
489         help
490           Enable basic IPv6 support (kmod-ipv6) and
491           make the IPv6 support options in packages visible.
493 config ADK_X11
494         bool "Enable X.org/X11 support"
495         default n
496         help
497           Enable Xorg/X11 server and applications in menu.
498           Try to compile other packages with X11 support. 
499           (f.e. mplayer)
501 config ADK_DEVELSYSTEM
502         bool "Compile a OpenADK development system"
503         default n
504         select ADK_PACKAGE_BASH
505         select ADK_PACKAGE_MAKE
506         select ADK_PACKAGE_PATCH
507         select ADK_PACKAGE_GCC
508         select ADK_PACKAGE_BINUTILS
509         select ADK_PACKAGE_TAR
510         select ADK_PACKAGE_BZIP2
511         help
512           After bootstrapping a Linux system you might want to
513           switch to native builds with your target. 
514           If you choose this option, all necessary software needed
515           for native building will be selected.
517 endmenu