menu "--- BOOK Settings" #--- BOOK/script choice prompt "Use BOOK" default BOOK_LFS help #-- Select the BOOK/Build style you wish to configure. config BOOK_LFS bool "Linux From Scratch" config BOOK_CLFS bool "Cross-Compiled Linux From Scratch" config BOOK_CLFS2 bool "Cross-Compiled Linux From Scratch (Version 2)" # config BOOK_CLFS3 # bool "Cross-Compiled Linux From Scratch (Embedded Systems)" config BOOK_HLFS bool "Hardened Linux From Scratch" config BOOK_BLFS bool "Beyond Linux From Scratch" endchoice config PROGNAME string default "lfs" if BOOK_LFS default "clfs" if BOOK_CLFS default "clfs2" if BOOK_CLFS2 # default "clfs3" if BOOK_CLFS3 default "hlfs" if BOOK_HLFS default "blfs" if BOOK_BLFS config RUN_ME string default "./jhalfs run" if !BOOK_BLFS default "./blfs-tool" if BOOK_BLFS #--- End BOOK/script #--- Book version choice prompt "Release" default relSVN config relSVN bool "SVN" help #-- Current development version as in trunk config WORKING_COPY bool "Working Copy" depends on !BOOK_BLFS help #-- A local working copy config BRANCH bool "Branch or stable book" if !BOOK_HLFS && !BOOK_CLFS2 help #-- A supported SVN branch or stable released book endchoice config BRANCH_ID string "Book Version (mandatory)" default "**EDIT ME**" depends BRANCH help #-- A list of valid branches and stable books ID's is available here. # http://wiki.linuxfromscratch.org/alfs/wiki/SupportedBooks config BOOK string "Loc of working copy (mandatory)" default "**EDIT ME**" depends WORKING_COPY help #-- The full path to a local copy of the book XML sources # #--- End BOOK version #--- CLFS specific params choice prompt "Target architecture" default ARCH_X86 depends BOOK_CLFS || BOOK_CLFS2 help #-- Choose a base architecture config ARCH_X86 bool "x86" config ARCH_MIPS bool "mips" if !BOOK_CLFS2 config ARCH_PPC bool "ppc" if !BOOK_CLFS2 config ARCH_SPARC bool "sparc" if !BOOK_CLFS2 config ARCH_ALPHA bool "alpha" if !BOOK_CLFS2 config ARCH_ARM bool "arm" if !BOOK_CLFS endchoice choice prompt "Library" depends (BOOK_CLFS || BOOK_CLFS2) default DATA_32 if !ARCH_ALPHA default DATA_64 if ARCH_ALPHA config DATA_32 bool "32-bit" if !ARCH_ALPHA config DATA_64 bool "64-bit" if !ARCH_PPC && !ARCH_ARM && !(BOOK_CLFS2 && ARCH_X86) config DATA_MULTI bool "multilib" if !ARCH_ALPHA && !ARCH_ARM && !(BOOK_CLFS2 && ARCH_X86) endchoice choice prompt "Target" depends (BOOK_CLFS || BOOK_CLFS2) && ((ARCH_X86 && DATA_32) || ARCH_MIPS) config PROC_i486 bool "i486" if ARCH_X86 && DATA_32 config PROC_i586 bool "i586" if ARCH_X86 && DATA_32 config PROC_i686 bool "i686" if ARCH_X86 && DATA_32 config PROC_mipsel bool "mips -little endian" if ARCH_MIPS config PROC_mips bool "mips" if ARCH_MIPS endchoice config TARGET string depends DATA_32 default "i486-pc-linux-gnu" if ARCH_X86 && PROC_i486 default "i586-pc-linux-gnu" if ARCH_X86 && PROC_i586 default "i686-pc-linux-gnu" if ARCH_X86 && PROC_i686 default "mipsel-unknown-linux-gnu" if ARCH_MIPS && PROC_mipsel default "mips-unknown-linux-gnu" if ARCH_MIPS && PROC_mips default "powerpc-unknown-linux-gnu" if ARCH_PPC default "sparc-unknown-linux-gnu" if ARCH_SPARC default "arm-unknown-linux-gnu" if ARCH_ARM config TARGET string depends DATA_64 default "x86_64-unknown-linux-gnu" if ARCH_X86 default "mips64el-unknown-linux-gnu" if ARCH_MIPS && PROC_mipsel default "mips64-unknown-linux-gnu" if ARCH_MIPS && PROC_mips default "sparc64-unknown-linux-gnu" if ARCH_SPARC default "alpha-unknown-linux-gnu" if ARCH_ALPHA config TARGET string depends DATA_MULTI default "x86_64-unknown-linux-gnu" if ARCH_X86 default "mips64el-unknown-linux-gnu" if ARCH_MIPS && PROC_mipsel default "mips64-unknown-linux-gnu" if ARCH_MIPS && PROC_mips default "sparc64-unknown-linux-gnu" if ARCH_SPARC default "powerpc64-unknown-linux-gnu" if ARCH_PPC config TARGET32 string depends DATA_MULTI default "i686-pc-linux-gnu" if ARCH_X86 default "mipsel-unknown-linux-gnu" if ARCH_MIPS && PROC_mipsel default "mips-unknown-linux-gnu" if ARCH_MIPS && PROC_mips default "sparc-unknown-linux-gnu" if ARCH_SPARC default "powerpc-unknown-linux-gnu" if ARCH_PPC config ARCH string depends DATA_32 default "x86" if ARCH_X86 default "ppc" if ARCH_PPC default "mips" if ARCH_MIPS default "sparc" if ARCH_SPARC default "arm" if ARCH_ARM config ARCH string depends DATA_64 default "x86_64-64" if ARCH_X86 default "mips64-64" if ARCH_MIPS default "sparc64-64" if ARCH_SPARC default "alpha" if ARCH_ALPHA config ARCH string depends DATA_MULTI default "x86_64" if ARCH_X86 default "mips64" if ARCH_MIPS default "sparc64" if ARCH_SPARC default "ppc64" if ARCH_PPC choice prompt "Build method" depends BOOK_CLFS help #-- What build method should be used: a chroot jail or minimal boot system # Review the Cross-LFS book chap6 "TO BOOT OR CHROOT" for a full explanation. config BUILD_CHROOT bool "chroot" config BUILD_BOOT bool "boot" endchoice config METHOD string default "chroot" if BUILD_CHROOT default "boot" if BUILD_BOOT config BOOT_CONFIG string "BOOT kernel config file (mandatory)" default "***EDIT ME***" depends on BUILD_BOOT help #-- If METHOD=boot, location of boot-kernel config file # The config file will be copied to ${BUILD_DIR}/sources # and renamed 'bootkernel-config' # # NOTE: this setting is required config BOOT_KEYMAP string "BOOT kernel keyboard map (see help)" default "none" depends on BUILD_BOOT help #-- Include the keymap in the kernel if defined. Path to the # keymap file relative to /usr/share/kbd/keymaps/ # (e.g., i386/qwerty/us.map.gz) or "none" if you do not want # a keymap included in the kernel === Note about CLFS === If building the SVN, Branch 1.0, or 1.0.0rc4 version using the boot method and compiling the keymap into the kernel, you MUST manually edit the "loadkeys" command found in $JHALFSDIR/clfs-commands/boot/066-kernel to set the full path in your host to the keymap file. #--- End CLFS specific params #--- HLFS specific params config GRSECURITY_HOST bool "Building on grsecurity enabled host?" default n depends on BOOK_HLFS help #-- If your build system has grsecurity patches applied # you MUST enable this switch. choice prompt "Library" depends on BOOK_HLFS help #-- Which library model to use: uClibc/glibc config LIB_GLIBC bool "glibc" config LIB_UCLIBC bool "uClibc" endchoice config MODEL depends on BOOK_HLFS string default "glibc" if LIB_GLIBC default "uclibc" if LIB_UCLIBC #--- End HLFS specific params #--- BLFS specific params config BLFS_ROOT string "Directory root" default "$HOME/blfs_root" depends on BOOK_BLFS help #-- Full path to the directory where all required # files and scripts will be stored. config BLFS_XML string "BLFS sources directory" default "blfs-xml" depends on BOOK_BLFS help #-- The directory name where BLFS book sources # will be checkout. config TRACKING_DIR string "Installed packages database directory" default "/var/lib/jhalfs/BLFS" depends on BOOK_BLFS help #-- Full path to the directory where the installed # packages database will be created. # # Note that the user that will build the packages must # have read and write privileges on that directory. #--- End BLFS specific params #--- End BOOK Settings endmenu menu "--- General Settings" depends on !BOOK_BLFS #--- Set User Account config CONFIG_USER bool "Change the default user/group for this build" default n help #-- Unprivileged user and group name # If you do not have the priv to create/delete # users and groups you can specifiy your own # user id for the build # # default values for each book # LFS lfs # CLFS clfs # CLFS2 clfs # HLFS hlfs config DEF_USER string default "lfs" if BOOK_LFS default "clfs" if BOOK_CLFS || BOOK_CLFS2 default "hlfs" if BOOK_HLFS config SET_USER string "User account" depends CONFIG_USER default DEF_USER config CONFIG_GROUP bool "Set Group?" default n depends CONFIG_USER config SET_GROUP string "GROUP account" depends CONFIG_GROUP default DEF_USER config LUSER string default DEF_USER if !CONFIG_USER default SET_USER if CONFIG_USER config LGROUP string default LUSER if !CONFIG_GROUP default SET_GROUP if CONFIG_GROUP #--- End Set User Account config BUILDDIR string "Build Directory" default "/mnt/build_dir" help #-- The directory where the created system will be located. config GETPKG bool "Retrieve source files" default n help #-- Download all packages and patches required by the book selected # NOTE: Looks for files in the local archive defined by SRC_ARCHIVE # first and if necessary retrieve them from the 'net. # Files will be transfered to $BUILDDIR/sources. config SRC_ARCHIVE string "Package Archive Directory" default "$SRC_ARCHIVE" depends GETPKG help #-- A local archive for packages/file (not $BUILDDIR/sources) # Used only if GETPKG = 1 # Any missing file will be downloaded and archived here, # if the user has the right priviledges. config SERVER string "FTP mirror" default "ftp://ftp.lfs-matrix.net" depends GETPKG help #-- FTP mirror to download packages and patches if not found # in $SRC_ARCHIVE # As a last resort, the files will dowloaded from upstream, # if possible. config GETKERNEL bool "Always retrieve kernel package" default n depends GETPKG help #-- Get the kernel package and patches even if no configuration # file has been supplied. config RUNMAKE bool "Run the makefile" default n help #-- Automatically run the makefile once it has been created config CLEAN bool "Rebuild files" default n help #-- Clean the build directory before performing any other task. # The directory is cleaned only if it was populated by a # previous JHALFS run. # # NOTE::You must be 'root' for this function to work #--- End General Settings endmenu menu "--- Build Settings" depends on !BOOK_BLFS #--- Test Suites config CONFIG_TESTS bool "Run testsuites" depends !BOOK_CLFS2 default y help #-- Run test suites # # You will can to select between: # # - Only final system Glibc, GCC and Binutils testsuites # - All final system testsuites # - Both temporary tools and final system testsuites # # HLFS and CLFS has no testsuites available in the # temporary tools phase # You will be promt also about the "flavour" of the # testsuites run: # # - Don't stop on test suite failures # - Abort the build at the first test suite failure # choice prompt "Tests level" depends CONFIG_TESTS default TEST_1 config TST_1 bool "Only final system Glibc, GCC and Binutils testsuites" config TST_2 bool "All final system testsuites" config TST_3 bool "Both temporary tools and final system testsuites" if !BOOK_HLFS && !BOOK_CLFS endchoice config TEST int default "0" if !CONFIG_TESTS default "1" if TST_1 default "2" if TST_2 default "3" if TST_3 choice prompt "Flavour" depends CONFIG_TESTS config NO_BOMB bool "Don't stop on test suite failures" config BOMB bool "Abort the build at the first test suite failure" endchoice config BOMB_TEST bool default n if NO_BOMB default y if BOMB #--- End Test Suites #--- FSTAB config HAVE_FSTAB bool "Use a custom fstab file" default n help #-- Select this if you have ready a proper fstab file config FSTAB string "Fstab file (optional)" default "***EDIT ME***" depends on HAVE_FSTAB help #-- The location of fstab file (if empty, a template is created) #--- End FSTAB #--- Kernel config CONFIG_BUILD_KERNEL bool "Build the kernel" default n help #-- Select this option if you wish to build the kernel. # # You will be prompted for the full path to the .config # file. It will be copied to the 'sources' directory and # rename kernel-config config CONFIG string "Kernel config file" default "***EDIT ME***" depends on CONFIG_BUILD_KERNEL help #-- Fully qualified path to a kernel config file # The config file will be copied to ${BUILD_DIR}/sources # and renamed 'kernel-config' config KEYMAP string "Keyboard map" default "none" depends on !BOOK_LFS && CONFIG_BUILD_KERNEL help #-- Include the keymap in the kernel if defined. Path to the # keymap file relative to /usr/share/kbd/keymaps/ # (e.g., i386/qwerty/us.map.gz) or "none" if you do not want # a keymap included in the kernel #--- End Kernel config STRIP bool "Strip Installed Binaries/Libraries" default y config VIMLANG bool "Install vim-lang package" default y help #-- Install the optional vim-lang package config TIMEZONE string "TimeZone" default "GMT" help #-- The timezone as output by tzselect # This will be copied to /etc/localtime config LANG string "Language" default "$LANG" help #-- Language information in /etc/profile See for values config LC_ALL string "Language" default "$LC_ALL" depends on !BOOK_LFS help #-- Language information in /etc/profile See for values #--- Groff page choice prompt "Groff page size" default PAGE_LETTER help #-- Page definition for groff: letter or A4 config PAGE_LETTER bool "letter" config PAGE_A4 bool "A4" endchoice config PAGE string default "letter" if PAGE_LETTER default "A4" if PAGE_A4 #--- End Groff page #--- End Build Settings endmenu menu "--- Advanced Features" depends on !BOOK_BLFS config REPORT bool "Create SBU and disk usage report" default y #--- ICA/farce config COMPARE bool "Run comparison analysis on final stage" depends !BOOK_CLFS2 default n help #-- Should some iterative comparison analysis by made? # # Unless you are familiar with ICA and/or FARCE do not # select this option # # ICA and FARCE are analysis tools for comparing one # build to the next. Builds mays differ from one iteration # to another due to the build order and these tools try # to ferret out those differences by examining the stored # build logs and binary files. # # The scripts are well commented and can be found in ./extras/* # config ITERATIONS int "Number of test runs (2,3,4,5)" if COMPARE depends on COMPARE range 2 5 default 3 config RUN_ICA bool "ICA testing" depends on COMPARE default y help #-- Run ICA testing config RUN_FARCE bool "farce testing" depends on COMPARE default n help #-- Run farce testing #--- End ICA/farce #--- Optimizations config CONFIG_OPTIMIZE bool "Use optimization (see help)" default n help #-- Actual optimzation flags MUST be defined in ./optimize/* # files before activate this option. # # WARNING: The use of build optimizations may be dangerous. # You should know what you are doing and be sure that the # optimization settings listed below are what you want. # It there are build issues or the system doesn't work as # expected, please rebuild without optimizations before # asking for support. choice prompt "Optimization level " default OPT_1 depends CONFIG_OPTIMIZE help #-- Optimization values are set in optimize/* files config OPT_1 bool "Final system only" config OPT_2 bool "Both temp tools and final system" endchoice config OPTIMIZE int default "0" if !CONFIG_OPTIMIZE default "1" if OPT_1 default "2" if OPT_2 #--- End Optimizations #-- Internal Settings menu "--- Internal Settings (WARNING: for jhalfs developers only)" config SCRIPT_ROOT string "Scripts root" default "jhalfs" config JHALFSDIR string "jhalfs directory" default "$BUILDDIR/$SCRIPT_ROOT" config LOGDIR string "Build logs directory" default "$JHALFSDIR/logs" config TESTLOGDIR string "Test suites logs directory" default "$JHALFSDIR/test-logs" config ICALOGDIR string "ICA logs directory" default "$LOGDIR/ICA" config FARCELOGDIR string "farce logs directory" default "$LOGDIR/farce" config MKFILE string "Makefile" default "$JHALFSDIR/Makefile" config XSL string "XSL stylesheet" default "$PROGNAME.xsl" config PKG_LST string "Package contents list" default "unpacked" #--- End Internal Settings endmenu #--- End Advanced Features endmenu