1 menu "--- BOOK Settings"
8 #-- Select the BOOK/Build style you wish to configure.
11 bool "Linux From Scratch"
14 bool "Cross-Compiled Linux From Scratch"
17 bool "Cross-Compiled Linux From Scratch (Sysroot method)"
20 bool "Cross-Compiled Linux From Scratch (Embedded Systems)"
23 bool "Hardened Linux From Scratch"
26 bool "Beyond Linux From Scratch"
31 default "lfs" if BOOK_LFS
32 default "clfs" if BOOK_CLFS
33 default "clfs2" if BOOK_CLFS2
34 default "clfs3" if BOOK_CLFS3
35 default "hlfs" if BOOK_HLFS
36 default "blfs" if BOOK_BLFS
40 default "./jhalfs run" if !BOOK_BLFS
41 default "./blfs-tool" if BOOK_BLFS
51 #-- Current development version as in trunk
57 #-- A local working copy
60 bool "Branch or stable book" if !BOOK_CLFS2 && !BOOK_CLFS3
62 #-- A supported SVN branch or stable released book
66 string "Book Version (mandatory)"
70 #-- A list of valid branches and stable books ID's is available here.
71 # http://wiki.linuxfromscratch.org/alfs/wiki/SupportedBooks
74 string "Loc of working copy (mandatory)"
78 #-- The full path to a local copy of the book XML sources
82 #--- CLFS specific params
84 prompt "Target architecture"
86 depends BOOK_CLFS || BOOK_CLFS2 || BOOK_CLFS3
88 #-- Choose the target system base architecture
94 bool "mips" if !BOOK_CLFS2
97 bool "ppc" if BOOK_CLFS
100 bool "sparc" if BOOK_CLFS
103 bool "alpha" if !BOOK_CLFS3
106 bool "arm" if !BOOK_CLFS
109 bool "hppa" if BOOK_CLFS2
113 prompt "Hardware Platform"
114 depends BOOK_CLFS3 && ARCH_MIPS
115 default PLATFORM_GENERIC
117 # Chose a destination platform
118 # Platform specific files will be included
120 config PLATFORM_GENERIC
121 bool "Generic platform"
124 bool "WRT - MIPS based wireless router" if ARCH_MIPS
129 depends (BOOK_CLFS && !ARCH_ALPHA) || (BOOK_CLFS3 && ARCH_MIPS)
132 #-- Choose the target system libraries type
138 bool "64-bit" if !ARCH_PPC
141 bool "multilib" if !(BOOK_CLFS3 && ARCH_MIPS )
145 prompt "Processor type"
146 depends (BOOK_CLFS || BOOK_CLFS2 || BOOK_CLFS3) && ((ARCH_X86 && !(DATA_64 || DATA_MULTI)) || ARCH_MIPS || ARCH_HPPA || ARCH_ALPHA || (ARCH_SPARC && (DATA_64 || DATA_MULTI)) || (ARCH_ARM && BOOK_CLFS3))
148 #-- Choose the target system processor
151 bool "486 Compatibles" if ARCH_X86
154 bool "Pentium, K6, 586 Compatibles" if ARCH_X86
157 bool "Pentium II, Pentium III, Pentium 4, Athlon, Duron" if ARCH_X86
160 bool "MIPS Little Endian" if ARCH_MIPS
163 bool "MIPS Big Endian" if ARCH_MIPS
166 bool "Unknown" if ARCH_HPPA || ARCH_ALPHA
169 bool "PA 7000 Series" if ARCH_HPPA
172 bool "PA 8000 Series" if ARCH_HPPA
175 bool "EV5 Series" if ARCH_ALPHA
178 bool "EV56 Series" if ARCH_ALPHA
181 bool "PCA56 Series" if ARCH_ALPHA
184 bool "PCA57 Series" if ARCH_ALPHA
187 bool "EV6 Series" if ARCH_ALPHA
190 bool "EV67 Series" if ARCH_ALPHA
193 bool "EV68 Series" if ARCH_ALPHA
196 bool "Generic arm, little endian" if ARCH_ARM
199 bool "Generic arm, version 5, little endian" if ARCH_ARM
202 bool "Generic arm, version 5, big endian" if ARCH_ARM
205 bool "UtraSparc" if ARCH_SPARC && (DATA_64 || DATA_MULTI)
208 bool "UtraSparc2" if ARCH_SPARC && (DATA_64 || DATA_MULTI)
211 bool "UtraSparc3" if ARCH_SPARC && (DATA_64 || DATA_MULTI)
216 depends BOOK_CLFS3 && ARCH_MIPS && DATA_64
219 #-- Choose the target system ABI to use
233 default "i486-pc-linux-gnu" if !BOOK_CLFS3 && PROC_i486
234 default "i586-pc-linux-gnu" if !BOOK_CLFS3 && PROC_i586
235 default "i686-pc-linux-gnu" if !BOOK_CLFS3 && PROC_i686
237 default "i486-pc-linux-uclibc" if BOOK_CLFS3 && PROC_i486
238 default "i586-pc-linux-uclibc" if BOOK_CLFS3 && PROC_i586
239 default "i686-pc-linux-uclibc" if BOOK_CLFS3 && PROC_i686
241 default "x86_64-unknown-linux-gnu" if ARCH_X86 && (DATA_64 || DATA_MULTI)
243 default "mipsel-unknown-linux-gnu" if !BOOK_CLFS3 && PROC_mipsel && DATA_32
244 default "mips-unknown-linux-gnu" if !BOOK_CLFS3 && PROC_mips && DATA_32
245 default "mips64el-unknown-linux-gnu" if !BOOK_CLFS3 && PROC_mipsel && (DATA_64 || DATA_MULTI)
246 default "mips64-unknown-linux-gnu" if !BOOK_CLFS3 && PROC_mips && (DATA_64 || DATA_MULTI)
248 default "mipsel-unknown-linux-uclibc" if BOOK_CLFS3 && PROC_mipsel && DATA_32
249 default "mips-unknown-linux-uclibc" if BOOK_CLFS3 && PROC_mips && DATA_32
250 default "mips64el-unknown-linux-uclibc" if BOOK_CLFS3 && PROC_mipsel && DATA_64
251 default "mips64-unknown-linux-uclibc" if BOOK_CLFS3 && PROC_mips && DATA_64
253 default "powerpc-unknown-linux-gnu" if ARCH_PPC && DATA_32
254 default "powerpc64-unknown-linux-gnu" if ARCH_PPC && DATA_MULTI
256 default "sparc-unknown-linux-gnu" if ARCH_SPARC && DATA_32
257 default "sparc64-unknown-linux-gnu" if ARCH_SPARC && (DATA_64 || DATA_MULTI)
259 default "hppa-unknown-linux-gnu" if PROC_unknown && ARCH_HPPA
260 default "hppa1.1-unknown-linux-gnu" if PROC_hppa1
261 default "hppa2.0-unknown-linux-gnu" if PROC_hppa2
263 default "arm-unknown-linux-gnu" if ARCH_ARM && BOOK_CLFS2
265 default "arm-unknown-linux-uclibc" if PROC_ARM
266 default "armv5l-unknown-linux-uclibc" if PROC_ARM5L
267 default "armv5b-unknown-linux-uclibc" if PROC_ARM5B
269 default "alpha-unknown-linux-gnu" if PROC_unknown && ARCH_ALPHA
270 default "alphaev5-unknown-linux-gnu" if PROC_EV5
271 default "alphaev56-unknown-linux-gnu" if PROC_EV56
272 default "alphapca56-unknown-linux-gnu" if PROC_PCA56
273 default "alphapca57-unknown-linux-gnu" if PROC_PCA57
274 default "alphaev6-unknown-linux-gnu" if PROC_EV6
275 default "alphaev67-unknown-linux-gnu" if PROC_EV67
276 default "alphaev68-unknown-linux-gnu" if PROC_EV68
281 default "i686-pc-linux-gnu" if ARCH_X86
282 default "mipsel-unknown-linux-gnu" if PROC_mipsel
283 default "mips-unknown-linux-gnu" if PROC_mips
284 default "sparc-unknown-linux-gnu" if ARCH_SPARC
285 default "powerpc-unknown-linux-gnu" if ARCH_PPC
289 default "GENERIC" if (!BOOK_CLFS3) || PLATFORM_GENERIC
290 default "WRT - Wireless Router" if PLATFORM_WRT
294 default "none" if !(ARCH_SPARC && (DATA_64 || DATA_MULTI))
295 default "1" if PROC_ULTRA1
296 default "2" if PROC_ULTRA2
297 default "3" if PROC_ULTRA3
301 default "x86" if ARCH_X86 && (DATA_32 || BOOK_CLFS2 || BOOK_CLFS3)
302 default "x86_64" if ARCH_X86 && DATA_MULTI
303 default "x86_64-64" if ARCH_X86 && DATA_64
305 default "wrt" if PLATFORM_WRT && BOOK_CLFS3
307 default "mips" if ARCH_MIPS && (DATA_32 || BOOK_CLFS3)
308 default "mips64" if ARCH_MIPS && DATA_MULTI
309 default "mips64-64" if ARCH_MIPS && DATA_64 && BOOK_CLFS
312 default "ppc" if ARCH_PPC && DATA_32
313 default "ppc64" if ARCH_PPC && DATA_MULTI
315 default "sparc" if ARCH_SPARC && DATA_32
316 default "sparc64" if ARCH_SPARC && DATA_MULTI
317 default "sparc64-64" if ARCH_SPARC && DATA_64
319 default "alpha" if ARCH_ALPHA
320 default "arm" if ARCH_ARM
321 default "hppa" if ARCH_HPPA
325 depends BOOK_CLFS3 && ARCH_MIPS
326 default "1" if DATA_32
327 default "3" if DATA_64
332 default "-m32" if ARCH_X86 || ARCH_ARM
333 # default "-m64" if NO USED YET IN THE BOOK
334 default "-mabi=32" if ABI_32 || (ARCH_MIPS && DATA_32)
335 default "-mabi=n32" if ABI_N32
336 default "-mabi=64" if ABI_64
340 depends BOOK_CLFS3 && (ARCH_MIPS || ARCH_ARM)
341 default "little" if PROC_mipsel || PROC_ARM || PROC_ARM5L
342 default "big" if PROC_mips || PROC_ARM5B
345 prompt "Build method"
348 #-- What build method should be used: a chroot jail or minimal boot system
349 # Review the Cross-LFS book chap6 "TO BOOT OR CHROOT" for a full explanation.
360 default "chroot" if BUILD_CHROOT
361 default "boot" if BUILD_BOOT
364 string "BOOT kernel config file (mandatory)"
365 default "***EDIT ME***"
366 depends on BUILD_BOOT
368 #-- If METHOD=boot, location of boot-kernel config file
369 # The config file will be copied to ${BUILD_DIR}/sources
370 # and renamed 'bootkernel-config'
372 # NOTE: this setting is required
373 #--- End CLFS specific params
375 #--- HLFS specific params
376 config GRSECURITY_HOST
377 bool "Building on grsecurity enabled host?"
381 #-- If your build system has grsecurity patches applied
382 # you MUST enable this switch.
388 #-- Which library model to use: uClibc/glibc
400 default "glibc" if LIB_GLIBC
401 default "uclibc" if LIB_UCLIBC
404 prompt "Kernel series"
407 #-- Which kernel series to use: 2.6/2.4
410 bool "2.6 kernel series"
413 bool "2.4 kernel series"
419 default "2.6" if KERNEL_26
420 default "2.4" if KERNEL_24
422 # menu "HLFS Additional Features"
423 # depends on BOOK_HLFS
426 # bool "Stack-smashing protector"
430 # bool "Address-space layout randomization"
434 # bool "PaX-aware ELF executables and kernel"
437 # config SET_HARDENED_TMP
438 # bool "Hardened temporary files creation"
441 # config SET_WARNINGS
442 # bool "Additional warnings"
446 # bool "Miscellaneous features"
449 # config SET_BLOWFISH
450 # bool "Blowfish passwords"
460 # depends on SET_ASLR
470 # depends on SET_HARDENED_TMP
472 default ",hardened_tmp,"
475 # depends on SET_WARNINGS
480 # depends on SET_MISC
485 # depends on SET_BLOWFISH
488 #--- End HLFS specific params
490 #--- Custom Tools support
492 bool "Add custom tools support"
494 depends on !BOOK_BLFS
496 #--- Activating this option additional packages you create
497 # will be installed after finished the xLFS system build.
499 #--- End Custom Tools support
501 #--- blfs-tool Support
503 bool "Add blfs-tool support"
505 depends on !BOOK_BLFS && !BOOK_CLFS3
507 #--- Activating this option will install additional
508 # packages needed to use blfs-tool when booting
511 # The blfs-tool files will be installed under
512 # $BUILD_DIR/blfs_root.
514 # After booting the new xLFS system you should to
515 # create an user account and move the /blfs-root
516 # directory to the user's home, making he the
517 # directory and files owner, before start
520 # Also, be sure to bring to that user read and write
521 # privileges over the $TRACKING_DIR directory and
522 # the files that it contains.
524 # And don't forget to configure sudo properly.
527 prompt "BLFS Release"
533 #-- Current development version as in trunk
536 bool "BLFS Branch or stable book"
538 #-- A supported SVN branch or stable released book
541 config BLFS_BRANCH_ID
542 string "BLFS Book Version (mandatory)"
543 default "**EDIT ME**"
544 depends on BLFS_BRANCH
546 #-- A list of valid branches and stable books ID's is available here.
547 # http://wiki.linuxfromscratch.org/alfs/wiki/SupportedBooks
549 menu "blfs-tool dependencies"
553 bool "libxml2 (required)"
557 bool "libxslt (required)"
561 bool "tidy (required)"
565 bool "DocBook XML DTD (required)"
569 bool "UnZip (required to install DocBook XML DTD)"
574 #bool "DocBook XSL (required)"
578 bool "lynx (required)"
582 bool "sudo (recommended)"
586 bool "wget (recommended)"
590 bool "GPM (optional, see help)"
593 #-- You MUST to install manually the gpm bootscript
594 # and create its configuration file.
596 # An alternative is to unselect this option and
597 # install gpm, its configuration file, and its
598 # bootscript using the custom tools support.
601 bool "SVN client (optional, see help)"
604 #-- Subversion-1.3.1 will be installed. This version is
605 # old but does not rely on additional packages to be
608 # If you are happy with this old version and don't
609 # need extra features, select this option.
611 #--- End blfs-tool Support
613 #--- BLFS specific params
615 string "Directory root"
616 default "$HOME/blfs_root" if BOOK_BLFS
617 default "/blfs_root" if BLFS_TOOL
618 depends on BOOK_BLFS || BLFS_TOOL
620 #-- Full path to the directory where all required
621 # files and scripts will be stored.
624 string "BLFS sources directory"
626 depends on BOOK_BLFS || BLFS_TOOL
628 #-- The directory name under $BLFS_ROOT where BLFS book
629 # sources will be checkout.
632 string "Installed packages database directory"
633 default "/var/lib/jhalfs/BLFS"
634 depends on BOOK_BLFS || BLFS_TOOL || CUSTOM_TOOLS
636 #-- Full path to the directory where the installed
637 # packages database will be created.
639 # If you are installing blfs-tool on a running xLFS system
640 # you MUST to create manually this directory.
642 # If you are installing blfs-tool as part of a xLFS build
643 # and/or using the customized scripts feature, you will
644 # need to fix that directory permissions after booting
647 # Note that the user that will build the packages must
648 # have read and write privileges on that directory.
649 #--- End BLFS specific params
651 #--- End BOOK Settings
654 menu "--- General Settings"
655 depends on !BOOK_BLFS
657 #--- Set User Account
659 bool "Change the default user/group and homedir for this build"
661 help #-- Unprivileged user and group name
662 # If you do not have the priv to create/delete
663 # users and groups you can specifiy your own
664 # user id for the build
666 # default values for each book
671 # Also, if your host place users home dirs into a
672 # directory other than /home you can specify it here.
676 default "lfs" if BOOK_LFS
677 default "clfs" if BOOK_CLFS || BOOK_CLFS2 || BOOK_CLFS3
678 default "hlfs" if BOOK_HLFS
681 string "User account"
691 string "GROUP account"
701 string "Path to the directory where user home dir will be created"
707 default DEF_USER if !CONFIG_USER
708 default SET_USER if CONFIG_USER
712 default LUSER if !CONFIG_GROUP
713 default SET_GROUP if CONFIG_GROUP
717 default "/home" if !CONFIG_HOME
718 default SET_HOME if CONFIG_HOME
719 #--- End Set User Account
722 string "Build Directory"
723 default "/mnt/build_dir"
725 #-- The directory where the created system will be located.
726 # NOTE: A working directory named jhalfs will be created
727 # here, so ensure this does not conflict with the jhalfs
731 bool "Retrieve source files"
734 #-- Download all packages and patches required by the book selected
735 # NOTE: Looks for files in the local archive defined by SRC_ARCHIVE
736 # first and if necessary retrieve them from the 'net.
737 # Files will be transfered to $BUILDDIR/sources.
740 string "Package Archive Directory"
741 default "$SRC_ARCHIVE"
744 #-- A local archive for packages/file (not $BUILDDIR/sources)
745 # Used only if GETPKG = 1
746 # Any missing file will be downloaded and archived here,
747 # if the user has the right priviledges.
751 default "ftp://ftp.lfs-matrix.net"
754 #-- FTP mirror to download packages and patches if not found
756 # As a last resort, the files will dowloaded from upstream,
760 bool "Always retrieve kernel package (see help)"
761 default y if BOOK_LFS || BOOK_HLFS
764 #-- Get the kernel package and patches even if no kernel
765 # configuration file has been supplied.
768 # The kernel package must be available when building
769 # the SVN version of LFS or HLFS to can install the
772 # If building LFS-6.2 this setting can be disabled.
775 bool "Run the makefile"
778 #-- Automatically run the makefile once it has been created
784 #-- Clean the build directory before performing any other task.
785 # The directory is cleaned only if it was populated by a
786 # previous JHALFS run.
789 #--- End General Settings
792 menu "--- Build Settings"
793 depends on !BOOK_BLFS
797 bool "Run testsuites"
798 depends !BOOK_CLFS2 && !BOOK_CLFS3
803 # You will can to select between:
805 # - Only final system Glibc, GCC and Binutils testsuites
806 # - All final system testsuites
807 # - Both temporary tools and final system testsuites
809 # HLFS and CLFS has no testsuites available in the
810 # temporary tools phase
812 # You will be promt also about the "flavour" of the
815 # - Don't stop on test suite failures
816 # - Abort the build at the first test suite failure
825 bool "Only final system Glibc, GCC and Binutils testsuites"
828 bool "All final system testsuites"
831 bool "Both temporary tools and final system testsuites" if !BOOK_HLFS && !BOOK_CLFS
836 default "0" if !CONFIG_TESTS
846 bool "Don't stop on test suite failures"
849 bool "Abort the build at the first test suite failure"
859 #--- Installed files logs
861 bool "Create installed files logs"
864 #-- Select this if you want to create logs of the files
865 # installed by each package on the final system.
867 #--- End Installed files logs
871 bool "Use a custom fstab file"
874 #-- Select this if you have ready a proper fstab file
877 string "Fstab file (optional)"
878 default "***EDIT ME***"
879 depends on HAVE_FSTAB
881 #-- The location of fstab file (if empty, a template is created)
885 config CONFIG_BUILD_KERNEL
886 bool "Build the kernel"
889 #-- Select this option if you wish to build the kernel.
891 # You will be prompted for the full path to the .config
892 # file. It will be copied to the 'sources' directory and
893 # rename kernel-config
896 string "Kernel config file"
897 default "***EDIT ME***"
898 depends on CONFIG_BUILD_KERNEL
900 #-- Fully qualified path to a kernel config file
901 # The config file will be copied to ${BUILD_DIR}/sources
902 # and renamed 'kernel-config'
906 bool "Strip Installed Binaries/Libraries"
908 depends on !BOOK_CLFS3
911 bool "Install vim-lang package"
913 depends on !BOOK_HLFS && !BOOK_CLFS3
915 #-- Install the optional vim-lang package
921 #-- The timezone as output by tzselect
922 # This will be copied to /etc/localtime
928 #-- Language information in /etc/profile See <locale -a> for values
932 prompt "Groff page size"
935 #-- Page definition for groff: letter or A4
946 default "letter" if PAGE_LETTER
947 default "A4" if PAGE_A4
950 #--- End Build Settings
953 menu "--- Advanced Features"
954 depends on !BOOK_BLFS
957 bool "Create SBU and disk usage report"
962 bool "Run comparison analysis on final stage"
963 depends !BOOK_CLFS2 && !BOOK_CLFS3
966 #-- Should some iterative comparison analysis by made?
968 # Unless you are familiar with ICA and/or FARCE do not
971 # ICA and FARCE are analysis tools for comparing one
972 # build to the next. Builds mays differ from one iteration
973 # to another due to the build order and these tools try
974 # to ferret out those differences by examining the stored
975 # build logs and binary files.
977 # The scripts are well commented and can be found in ./extras/*
981 int "Number of test runs (2,3,4,5)" if COMPARE
998 #-- Run farce testing
1002 if !BOOK_CLFS2 && !BOOK_CLFS3
1003 config CONFIG_OPTIMIZE
1004 bool "Use optimization (see help)"
1007 #-- Actual optimzation flags MUST be defined in ./optimize/*
1008 # files before activate this option.
1010 # WARNING: The use of build optimizations may be dangerous.
1011 # You should know what you are doing and be sure that the
1012 # optimization settings listed below are what you want.
1013 # It there are build issues or the system doesn't work as
1014 # expected, please rebuild without optimizations before
1015 # asking for support.
1018 prompt "Optimization level "
1020 depends CONFIG_OPTIMIZE
1022 #-- Optimization values are set in optimize/* files
1025 bool "Final system only"
1028 bool "Both temp tools and final system"
1033 default "0" if !CONFIG_OPTIMIZE
1034 default "1" if OPT_1
1035 default "2" if OPT_2
1037 #--- End Optimizations
1039 #-- Internal Settings
1040 menu "--- Internal Settings (WARNING: for jhalfs developers only)"
1043 string "Scripts root"
1047 string "jhalfs directory"
1048 default "$BUILDDIR/$SCRIPT_ROOT"
1051 string "Build logs directory basename"
1055 string "Build logs directory"
1056 default "$JHALFSDIR/$LOGDIRBASE"
1058 config TESTLOGDIRBASE
1059 string "Test suites logs directory basename"
1063 string "Test suites logs directory"
1064 default "$JHALFSDIR/$TESTLOGDIRBASE"
1066 config FILELOGDIRBASE
1067 string "Installed files logs directory basename"
1068 default "installed-files"
1071 string "Installed files logs directory"
1072 default "$JHALFSDIR/$FILELOGDIRBASE"
1075 string "ICA logs directory"
1076 default "$LOGDIR/ICA"
1079 string "farce logs directory"
1080 default "$LOGDIR/farce"
1084 default "$JHALFSDIR/Makefile"
1087 string "XSL stylesheet"
1088 default "$PROGNAME.xsl"
1090 #--- End Internal Settings
1093 #--- End Advanced Features
1096 config REBUILD_MAKEFILE
1097 bool "Rebuild the Makefile (see help)"
1099 depends on !BOOK_BLFS
1101 #-- Rebuild the Makefile
1103 # This option alow to rebuild the Makefile after
1104 # customizing the base system build scripts.
1106 # See README.CUSTOM for more info about this feature.