This repository has been archived on 2024-10-17. You can view files and clone it, but cannot push or open issues or pull requests.
MahiroOS-jhalfs/Config.in
Pierre Labastie e3ccc2786a Config.in: Reinstate the whole menus if "Rebuild Makefile" is ticked
Building the Makefile needs quite a few variables set, which
are scattered in all the menus of Config.in. So all the menus
are needed.
2020-07-10 13:24:00 +00:00

1288 lines
42 KiB
Text

# $Id$
menu "BOOK Settings"
#--- BOOK/script
choice
prompt "Use BOOK"
default BOOK_LFS
help
Select the book where build instructions are retrieved.
config BOOK_LFS
bool "Linux From Scratch System V"
help
Set up the tools to build LFS with SysV init.
config BOOK_LFS_SYSD
bool "Linux From Scratch systemd"
help
Set up the tools to build LFS with systemd init.
config BOOK_CLFS
bool "Cross-Compiled Linux From Scratch"
help
Set up the tools to build CLFS.
config BOOK_CLFS2
bool "Cross-Compiled Linux From Scratch (Sysroot method)"
help
Set up the tools to build CLFS by the sysroot method.
config BOOK_CLFS3
bool "Cross-Compiled Linux From Scratch (Embedded Systems)"
help
Set up the tools to build CLFS with tools for embedded systems.
config BOOK_BLFS
bool "Beyond Linux From Scratch (see help)"
help
if the (C)LFS system has already been built, install the tools
to build BLFS packages.
endchoice
choice
depends on BOOK_BLFS
prompt "Init system"
config BLFS_SYSV
bool "BLFS SysV"
help
Extract the SysV flavour of the BLFS book
config BLFS_SYSD
bool "BLFS systemd"
help
Extract the systemd flavour of the BLFS book
endchoice
config INITSYS
string
default "sysv" if BOOK_LFS || BLFS_SYSV
default "systemd" if BOOK_LFS_SYSD || BLFS_SYSD
config PROGNAME
string
default "lfs" if BOOK_LFS || BOOK_LFS_SYSD
default "clfs" if BOOK_CLFS
default "clfs2" if BOOK_CLFS2
default "clfs3" if BOOK_CLFS3
config RUN_ME
string
default "./jhalfs run" if BOOK_LFS || BOOK_LFS_SYSD || BOOK_CLFS || \
BOOK_CLFS2 || BOOK_CLFS_3
default "./install-blfs-tools.sh auto" if BOOK_BLFS
#--- End BOOK/script
#--- Book version
choice
prompt "Release"
default relSVN if BOOK_LFS || BOOK_LFS_SYSD || BOOK_BLFS
default relGIT if BOOK_CLFS || BOOK_CLFS2 || BOOK_CLFS3
config relSVN
bool "SVN"
depends on BOOK_LFS || BOOK_BLFS || BOOK_LFS_SYSD
help
Current development version as in trunk
config relGIT
bool "GIT"
depends on BOOK_CLFS || BOOK_CLFS2 || BOOK_CLFS3
help
Current development git master branch
config WORKING_COPY
bool "Working Copy"
help
A local working copy
config BRANCH
bool "Branch or stable book" if !BOOK_CLFS2 && !BOOK_CLFS3
help
A supported SVN/GIT branch or stable released book
endchoice
config BRANCH_ID
string "Branch (preceded by \"branch-\"), stable Version, or tag"
default "**EDIT ME**"
depends on BRANCH
help
A list of valid branches and stable book IDs is available at
http://wiki.linuxfromscratch.org/alfs/wiki/SupportedBooks
Enter "branch-XXX" for branch XXX, or just "YYY" for stable (or tag)
YYY version.
config BOOK
string "Loc of working copy (mandatory)"
default "**EDIT ME**"
depends on WORKING_COPY
help
The full path to a local copy of the book XML sources
choice
depends on (BOOK_LFS || BOOK_LFS_SYSD) && (BRANCH || WORKING_COPY)
prompt "Mutilib"
default LFS_MULTILIB_NO
config LFS_MULTILIB_NO
bool "Standard LFS on i686 or amd64"
help
Use standard LFS book (choose this if not multilib source)
config LFS_MULTILIB_I686
bool "Multilib LFS on amd64 with i686 libraries"
help
Use Multilib LFS book with i686 libraries
config LFS_MULTILIB_X32
bool "Multilib LFS on amd64 with x32 libraries"
help
Use Multilib LFS book with x32 libraries
config LFS_MULTILIB_ALL
bool "Multilib LFS on amd64 with i686 and x32 libraries"
help
Use Multilib LFS book with i686 and x32 libraries
endchoice
config MULTILIB
string
default "default" if LFS_MULTILIB_NO
default "ml_32" if LFS_MULTILIB_I686
default "ml_x32" if LFS_MULTILIB_X32
default "ml_all" if LFS_MULTILIB_ALL
#--- End BOOK version
#--- CLFS specific params
choice
prompt "Target architecture"
default ARCH_X86
depends on BOOK_CLFS || BOOK_CLFS2 || BOOK_CLFS3
help
Choose the target system base architecture
config ARCH_X86
bool "x86"
config ARCH_MIPS
bool "mips" if !BOOK_CLFS2
config ARCH_PPC
bool "ppc" if BOOK_CLFS
config ARCH_SPARC
bool "sparc" if BOOK_CLFS
config ARCH_ALPHA
bool "alpha" if !BOOK_CLFS3
config ARCH_ARM
bool "arm" if !BOOK_CLFS
config ARCH_HPPA
bool "hppa" if BOOK_CLFS2
endchoice
choice
prompt "Hardware Platform"
depends on BOOK_CLFS3 && ARCH_MIPS
default PLATFORM_GENERIC
help
Choose a destination platform
Platform specific files will be included
config PLATFORM_GENERIC
bool "Generic platform"
config PLATFORM_WRT
bool "WRT - MIPS based wireless router" if ARCH_MIPS
endchoice
choice
prompt "Library"
depends on (BOOK_CLFS && !ARCH_ALPHA) || (BOOK_CLFS3 && ARCH_MIPS)
default DATA_32
help
Choose the target system libraries type
config DATA_32
bool "32-bit"
config DATA_64
bool "64-bit"
config DATA_MULTI
bool "multilib" if !(BOOK_CLFS3 && ARCH_MIPS )
endchoice
choice
prompt "Processor type"
depends on (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))
help
Choose the target system processor
config PROC_i486
bool "486 Compatibles" if ARCH_X86
config PROC_i586
bool "Pentium, K6, 586 Compatibles" if ARCH_X86
config PROC_i686
bool "Pentium II, Pentium III, Pentium 4, Athlon, Duron" if ARCH_X86
config PROC_mipsel
bool "MIPS Little Endian" if ARCH_MIPS
config PROC_mips
bool "MIPS Big Endian" if ARCH_MIPS
config PROC_unknown
bool "Unknown" if ARCH_HPPA || ARCH_ALPHA
config PROC_hppa1
bool "PA 7000 Series" if ARCH_HPPA
config PROC_hppa2
bool "PA 8000 Series" if ARCH_HPPA
config PROC_EV5
bool "EV5 Series" if ARCH_ALPHA
config PROC_EV56
bool "EV56 Series" if ARCH_ALPHA
config PROC_PCA56
bool "PCA56 Series" if ARCH_ALPHA
config PROC_PCA57
bool "PCA57 Series" if ARCH_ALPHA
config PROC_EV6
bool "EV6 Series" if ARCH_ALPHA
config PROC_EV67
bool "EV67 Series" if ARCH_ALPHA
config PROC_EV68
bool "EV68 Series" if ARCH_ALPHA
config PROC_ARM
bool "Generic arm, little endian" if ARCH_ARM
config PROC_ARM5L
bool "Generic arm, version 5, little endian" if ARCH_ARM
config PROC_ARM5B
bool "Generic arm, version 5, big endian" if ARCH_ARM
config PROC_ULTRA1
bool "UtraSparc" if ARCH_SPARC && (DATA_64 || DATA_MULTI)
config PROC_ULTRA2
bool "UtraSparc2" if ARCH_SPARC && (DATA_64 || DATA_MULTI)
config PROC_ULTRA3
bool "UtraSparc3" if ARCH_SPARC && (DATA_64 || DATA_MULTI)
endchoice
choice
prompt "MIPS 64 ABI"
depends on BOOK_CLFS3 && ARCH_MIPS && DATA_64
default ABI_64
help
Choose the target system ABI to use
config ABI_32
bool "o32"
config ABI_N32
bool "n32"
config ABI_64
bool "n64"
endchoice
config TARGET
string
default "i486-pc-linux-gnu" if !BOOK_CLFS3 && PROC_i486
default "i586-pc-linux-gnu" if !BOOK_CLFS3 && PROC_i586
default "i686-pc-linux-gnu" if !BOOK_CLFS3 && PROC_i686
default "i486-pc-linux-uclibc" if BOOK_CLFS3 && PROC_i486
default "i586-pc-linux-uclibc" if BOOK_CLFS3 && PROC_i586
default "i686-pc-linux-uclibc" if BOOK_CLFS3 && PROC_i686
default "x86_64-unknown-linux-gnu" if ARCH_X86 && (DATA_64 || DATA_MULTI)
default "mipsel-unknown-linux-gnu" if !BOOK_CLFS3 && PROC_mipsel && DATA_32
default "mips-unknown-linux-gnu" if !BOOK_CLFS3 && PROC_mips && DATA_32
default "mips64el-unknown-linux-gnu" if !BOOK_CLFS3 && PROC_mipsel && (DATA_64 || DATA_MULTI)
default "mips64-unknown-linux-gnu" if !BOOK_CLFS3 && PROC_mips && (DATA_64 || DATA_MULTI)
default "mipsel-unknown-linux-uclibc" if BOOK_CLFS3 && PROC_mipsel && DATA_32
default "mips-unknown-linux-uclibc" if BOOK_CLFS3 && PROC_mips && DATA_32
default "mips64el-unknown-linux-uclibc" if BOOK_CLFS3 && PROC_mipsel && DATA_64
default "mips64-unknown-linux-uclibc" if BOOK_CLFS3 && PROC_mips && DATA_64
default "powerpc-unknown-linux-gnu" if ARCH_PPC && DATA_32
default "powerpc64-unknown-linux-gnu" if ARCH_PPC && (DATA_MULTI || DATA_64)
default "sparc-unknown-linux-gnu" if ARCH_SPARC && DATA_32
default "sparc64-unknown-linux-gnu" if ARCH_SPARC && (DATA_64 || DATA_MULTI)
default "hppa-unknown-linux-gnu" if PROC_unknown && ARCH_HPPA
default "hppa1.1-unknown-linux-gnu" if PROC_hppa1
default "hppa2.0-unknown-linux-gnu" if PROC_hppa2
default "arm-unknown-linux-gnueabi" if ARCH_ARM && BOOK_CLFS2
default "arm-unknown-linux-uclibc" if PROC_ARM
default "armv5l-unknown-linux-uclibc" if PROC_ARM5L
default "armv5b-unknown-linux-uclibc" if PROC_ARM5B
default "alpha-unknown-linux-gnu" if PROC_unknown && ARCH_ALPHA
default "alphaev5-unknown-linux-gnu" if PROC_EV5
default "alphaev56-unknown-linux-gnu" if PROC_EV56
default "alphapca56-unknown-linux-gnu" if PROC_PCA56
default "alphapca57-unknown-linux-gnu" if PROC_PCA57
default "alphaev6-unknown-linux-gnu" if PROC_EV6
default "alphaev67-unknown-linux-gnu" if PROC_EV67
default "alphaev68-unknown-linux-gnu" if PROC_EV68
config TARGET32
string
depends on DATA_MULTI
default "i686-pc-linux-gnu" if ARCH_X86
default "mipsel-unknown-linux-gnu" if PROC_mipsel
default "mips-unknown-linux-gnu" if PROC_mips
default "sparc-unknown-linux-gnu" if ARCH_SPARC
default "powerpc-unknown-linux-gnu" if ARCH_PPC
config PLATFORM
string
default "GENERIC" if (!BOOK_CLFS3) || PLATFORM_GENERIC
default "WRT - Wireless Router" if PLATFORM_WRT
config SPARC64_PROC
string
default "none" if !(ARCH_SPARC && (DATA_64 || DATA_MULTI))
default "1" if PROC_ULTRA1
default "2" if PROC_ULTRA2
default "3" if PROC_ULTRA3
config ARCH
string
default "x86" if ARCH_X86 && (DATA_32 || BOOK_CLFS2 || BOOK_CLFS3)
default "x86_64" if ARCH_X86 && DATA_MULTI
default "x86_64-64" if ARCH_X86 && DATA_64
default "wrt" if PLATFORM_WRT && BOOK_CLFS3
default "mips" if ARCH_MIPS && (DATA_32 || BOOK_CLFS3)
default "mips64" if ARCH_MIPS && DATA_MULTI
default "mips64-64" if ARCH_MIPS && DATA_64 && BOOK_CLFS
default "ppc" if ARCH_PPC && DATA_32
default "ppc64" if ARCH_PPC && DATA_MULTI
default "ppc64-64" if ARCH_PPC && DATA_64
default "sparc" if ARCH_SPARC && DATA_32
default "sparc64" if ARCH_SPARC && DATA_MULTI
default "sparc64-64" if ARCH_SPARC && DATA_64
default "alpha" if ARCH_ALPHA
default "arm" if ARCH_ARM
default "hppa" if ARCH_HPPA
config MIPS_LEVEL
string
depends on BOOK_CLFS3 && ARCH_MIPS
default "1" if DATA_32
default "3" if DATA_64
config ABI
string
depends on BOOK_CLFS3
default "-m32" if ARCH_X86 || ARCH_ARM
# default "-m64" if NO USED YET IN THE BOOK
default "-mabi=32" if ABI_32 || (ARCH_MIPS && DATA_32)
default "-mabi=n32" if ABI_N32
default "-mabi=64" if ABI_64
config ENDIAN
string
depends on BOOK_CLFS3 && (ARCH_MIPS || ARCH_ARM)
default "little" if PROC_mipsel || PROC_ARM || PROC_ARM5L
default "big" if PROC_mips || PROC_ARM5B
choice
prompt "Build method"
depends on 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
#--- End CLFS specific params
#--- blfs-tool Support
config BLFS_TOOL
bool "Add blfs-tool support"
default n
depends on !BOOK_CLFS3 && !BOOK_BLFS
help
Activating this option will install additional packages needed
to use blfs tools after booting the new system.
The blfs-tool files will be installed under $BUILD_DIR/blfs_root
(see below).
After booting the new xLFS system, but before using the blfs tools,
you should create a user account, move the /blfs_root directory
to that user's home, and change its ownership to that of the user.
Also, be sure to give the user read and write access on the
$TRACKING_DIR directory and the files that it contains.
Don't forget to configure sudo properly on the new system.
config DUMMY # Avoid indenting the items below
bool
if BLFS_TOOL
menu "blfs-tool dependencies"
config DEP_LIBXML
bool "libxml2 (required)"
default y
config DEP_LIBXSLT
bool "libxslt (required)"
default y
config DEP_DBXML
bool "DocBook XML DTD (required)"
default y
config DEP_LYNX
bool "lynx (optional, for reading the generated book)"
default y
config DEP_SUDO
bool "sudo (recommended)"
default y
config DEP_WGET
bool "wget (recommended)"
default y
config DEP_GPM
bool "GPM (optional, see help)"
default n
help
if you install gpm, it will be started
automatically on boot. It allows copy-paste
while Xorg is not installed.
config DEP_SVN
bool "SVN client (optional, see help)"
default n
help
Subversion is needed for updating the book
sources. You do not need it if building a
stable book.
endmenu
choice
prompt "BLFS Release"
default BLFS_SVN
config BLFS_SVN
bool "BLFS SVN"
help
Current development version as in trunk
config BLFS_WORKING_COPY
bool "BLFS working copy"
help
A local working copy of the BLFS book.
config BLFS_BRANCH
bool "BLFS Branch or stable book"
help
A supported SVN branch or stable book release
endchoice
config BLFS_WC_LOCATION
string "Location of the local BLFS working copy (mandatory)"
default "**EDIT ME**"
depends on BLFS_WORKING_COPY
help
Full path to the BLFS book working copy
config BLFS_BRANCH_ID
string "BLFS Book Version (mandatory)"
default "**EDIT ME**"
depends on BLFS_BRANCH
help
A list of valid branches and stable book IDs is available at
http://wiki.linuxfromscratch.org/alfs/wiki/SupportedBooks.
endif
#--- End blfs-tool Support
#--- BLFS params (Used for installing the tools, either after a jhalfs run
# or directly)
config BLFS_ROOT
string "Root of the tools directory (see help)"
default "/blfs_root"
depends on BLFS_TOOL || BOOK_BLFS
help
Path to the directory where all required files and scripts
will be stored.
This path must begin with a slash, and:
- is relative to the user's HOME directory when installing the
blfs tools on an already existing LFS system.
- is relative to the root of the build directory (`/' in chroot)
when adding the tools after a jhalfs run
CAUTION: this directory will be removed if it already exists.
config BLFS_XML
string "BLFS sources directory (internal parameter)"
default "blfs-xml"
depends on BLFS_TOOL || BOOK_BLFS
help
The directory name under $BLFS_ROOT where the BLFS
book sources will be copied or checked out. Do not change that
unless you know what you are doing...
config LFS_XML
string "LFS sources directory (internal parameter)"
default "lfs-xml"
depends on BLFS_TOOL || BOOK_BLFS
help
The directory name under $BLFS_ROOT where the LFS
book sources will be copied or checked out. Do not change that
unless you know what you are doing...
choice
prompt "LFS Release"
default LFS_relSVN
depends on BOOK_BLFS
config LFS_relSVN
bool "LFS SVN"
help
Current development version as in trunk
config LFS_WORKING_COPY
bool "LFS working copy"
help
A local working copy of the LFS book.
config LFS_BRANCH
bool "LFS Branch or stable book"
help
A supported SVN branch or stable book release
endchoice
config BLFS_LFS_BOOK
string "Location of the local LFS working copy (mandatory)"
default "**EDIT ME**"
depends on LFS_WORKING_COPY
help
Full path to the LFS book working copy"
config BLFS_LFS_BRANCH_ID
string "LFS Book Version (mandatory)"
default "**EDIT ME**"
depends on LFS_BRANCH
help
A list of valid branches and stable book IDs is available at
http://wiki.linuxfromscratch.org/alfs/wiki/SupportedBooks.
# End of BLFS parameters
#--- Custom Tools support
config CUSTOM_TOOLS
depends on !BOOK_BLFS
bool "Add custom tools support"
default n
help
Activating this option additional packages you create
will be installed after finished the xLFS system build.
#--- End Custom Tools support
#--- This directory is needed for blfs tools installation and custom tools
# As well.
config TRACKING_DIR
string "Installed packages database directory"
default "/var/lib/jhalfs/BLFS"
depends on BOOK_BLFS || BLFS_TOOL || CUSTOM_TOOLS
help
Full path to the directory where the database of
installed packages will be created.
If the blfs tools are installed on a running xLFS system,
the user must have enough privileges to create this directory.
It may be necessary to create the /var/lib/jhalfs directory as
root, and make it writable by the user before running this tool.
If you are installing the blfs tools as part of an xLFS build
and/or using the customized scripts feature, you will
need to fix this directory's permissions after booting
the new system.
Note that the user that will build the packages must
have read and write access to this directory.
#--- End BOOK Settings
endmenu
menu "General Settings"
depends on !BOOK_BLFS
#--- {C,H,}LFS User Account
config LUSER
string
default "lfs" if BOOK_LFS || BOOK_LFS_SYSD
default "clfs" if BOOK_CLFS || BOOK_CLFS2 || BOOK_CLFS3
default "hlfs" if BOOK_HLFS
config LGROUP
string
default LUSER
config LHOME
string
default "/home"
#--- End Set User Account
config BUILDDIR
string "Build Directory"
default "/mnt/build_dir"
help
#-- The directory where the created system will be located.
# NOTE: A working directory named jhalfs will be created
# here, so ensure this does not conflict with the jhalfs
# source directory.
config GETPKG
bool "Retrieve source files"
default n
help
#-- Download all packages and patches required by the selected book
# NOTE: Looks for files in the local archive defined by SRC_ARCHIVE
# first and if necessary retrieves them from the 'net.
# Files will be transferred to $BUILDDIR/sources.
config SRC_ARCHIVE
string "Package Archive Directory"
default "$SRC_ARCHIVE"
depends on GETPKG
help
#-- A local archive for packages/files (not $BUILDDIR/sources)
# Any missing file will be downloaded and archived here,
# if the user has the right privileges.
config RETRYSRCDOWNLOAD
bool "Retry on 'connection refused' failure"
default n
depends on GETPKG
help
#-- Attempt to download a source package again if it fails
# with a 'connection refused' error. This can happen on
# servers that are overloaded.
config RETRYDOWNLOADCNT
int "Number of retry attempts on download failures"
default 20
depends on GETPKG
help
#-- Number of times to retry a failed download.
config DOWNLOADTIMEOUT
int "Download timeout (in seconds)"
default 30
depends on GETPKG
help
#-- Number of seconds to wait for a download to start before
# timing out.
config SERVER
string "FTP mirror"
default "http://ftp.osuosl.org"
depends on GETPKG
help
#-- FTP mirror to download packages and patches if not found
# in $SRC_ARCHIVE
# As a last resort, the files will downloaded from upstream,
# if possible.
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.
#--- End General Settings
endmenu
menu "Build Settings"
depends on !BOOK_BLFS
#--- Test Suites
config CONFIG_TESTS
bool "Run testsuites"
depends on !BOOK_CLFS2 && !BOOK_CLFS3
default y
help
#-- Run test suites
# If you select 'y' here:
# You will have to select between:
# - Only critical final system testsuites
# - All final system testsuites
# - Both temporary tools and final system testsuites
# You will be prompted also about the "flavour" of the
# testsuites run:
# - Don't stop on test suite failures
# - Abort the build at the first test suite failure
#
# Note that in any case, all the test instructions will
# be generated. Those which are not wanted will be commented
# out. If you select 'n' here, the commented test instructions
# do not stop on test suite failures.
#
# HLFS and CLFS have no testsuites available in the
# temporary tools phase
menu "Test settings"
depends on CONFIG_TESTS
choice
prompt "Tests level"
default TST_1
config TST_1
bool "Only final system critical testsuites"
help
#-- Critical tests:
# Only Glibc, Binutils, GMP, MPFR, MPC and GCC
# testsuites for final system. The others are commented
# out.
config TST_2
bool "All final system testsuites"
help
#-- All final system test suites:
# Test instructions for the temporary tools (if available)
# are commented out.
config TST_3
bool "All testsuites" if !BOOK_HLFS && !BOOK_CLFS
help
#-- All tests:
# Runs all the testsuites for both temporary tools (if
# available) and final system
endchoice
choice
prompt "Flavour"
config NO_BOMB
bool "Don't stop on test failures"
config BOMB
bool "Abort the build on the first test failure"
endchoice
endmenu # test settings
config TEST
int
default "0" if !CONFIG_TESTS
default "1" if TST_1
default "2" if TST_2
default "3" if TST_3
config BOMB_TEST
bool
default n if NO_BOMB
default y if BOMB
#--- End Test Suites
#--- Package Management
config PKGMNGT
bool "Package management"
depends on BOOK_LFS || BOOK_LFS_SYSD
default n
help
#-- Use package management
#
# If set, you'll have to choose between
# two package management styles:
# - Build and install:
# the packages in the final phase are built
# in a separate directory, PKG_DEST.
# You should provide a bash function for
# packaging and installing the package.
# - Preload a library before install:
# Run the install instructions inside a
# wrapper command, which monitors the
# installed files.
#
# Also, you have to provide the instructions
# to build the package manager during the
# temporary tools phase, in the form of a
# sect1 of the book identical to a package
# sect1. See README.PACKAGE_MANAGEMENT
#
# For now, this only works with LFS
choice
depends on PKGMNGT
prompt "Package management style"
default PKG_PACK
config PKG_PACK
bool "Build and pack (pacman or dpkg style)"
config LIB_LOAD
bool "Preload a library before installing (porg style)"
endchoice
config WRAP_INSTALL
bool
default y if LIB_LOAD
default n if PKG_PACK
#--- End package management
#--- Installed files logs
config INSTALL_LOG
bool "Create a log of installed files for each package"
default n
help
#-- Select this if you want to create logs of the files
# installed by each package on the final system.
#--- End Installed files logs
config STRIP
bool "Strip Installed Binaries/Libraries"
default n
depends on !BOOK_CLFS3
config DEL_LA_FILES
bool "Remove libtool .la files"
default y
help
#-- Remove files libxxx.la installed by libtool. For a rationale
# see https://blog.flameeyes.eu/tags/lafiles/
config NO_PROGRESS_BAR
bool "DO NOT use/display progress_bar"
default n
help
#-- Do not use the progress bar routine. On slower machines
# this function consumes precious CPU cycles.
#--- End Build Settings
endmenu
menu "System configuration"
depends on !BOOK_BLFS
#--- FSTAB
config HAVE_FSTAB
bool "Use a custom fstab file"
default n
help
#-- Select this if you have an fstab file with entries
# for the target system
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
# renamed 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'
#--- End Kernel
config NCURSES5
bool "Install non-wide-character ncurses"
default n
depends on BOOK_LFS || BOOK_LFS_SYSD
help
#-- Install the optional non wide character ncurses5 library
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
#-- LANG variable set in /etc/profile
# See http://sourceware.org/git/?p=glibc.git;a=blob;f=localedata/SUPPORTED
# for values (or the file localedata/SUPPORTED in glibc tarball)
config FULL_LOCALE
bool "Install the full set of locales"
default n
help
#-- If set to y, the full set of supported locales
# will be installed. Otherwise, only the minimal set
# necessary for the tests will be installed,
# together with the locale associated with the
# LANG you have chosen, if not in the minimal set.
#--- 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
config HOSTNAME
string "Hostname (see help)"
default "**EDITME**"
help
If you are on a public network, use the hostname given to you by
your institution, or corporation, etc. If your network is private,
that is, behind a firewall such as a box to connect to your ISP,
you can choose anything you'd like. Combined with the domain name
"local", you have the possibility to access your computer by name
instead of address on the private network (see RFC 6762 and
https://www.howtogeek.com/167190/).
menu "Network configuration"
config INTERFACE
string "netword card name"
default "eth0"
help
eth0 is used in most cases. Virtual insterfaces may get other
names (for example enp0s3 for the default network stack in qemu).
Systemd may also rename network interfaces according to their
bus addresses.
config IP_ADDR
string "Static IP address"
default "10.0.2.9"
help
The default here is for a virtual interface in qemu. Private
networks have addresses in the range 10.x.x.x or 192.169.x.x.
You have to know your network prefix. Then the last figure
may be anything you like.
config GATEWAY
string "Gateway"
default "10.0.2.2"
help
Again, this default is for a qemu network stack. Usually, the
gateway is the address of your firewall.
config PREFIX
string "Subnet prefix"
default "24"
help
Again, this default is for a qemu network stack, but is also
the most used in private networks.
config BROADCAST
string "Broadcast address"
default "10.0.2.255"
config DOMAIN
string "Domain name (see help)"
default "local"
help
Domain Name:
Doamin names are registered, so if your computer is on a public
network, you cannot use any name you'd like. On a public
network, you should have been given a domain name by
your corporation, institution, etc.
If your network is really private, that is behind a firewall
such as a box for connecting to an ISP, you can choose any
domain you'd like. You can also opt for "local", see RFC 6762,
or "something.test", see RFC 6761.
config DNS1
string "Primary Name server"
default "10.0.2.3"
config DNS2
string "Secondary Name server"
default "8.8.8.8"
endmenu # Network configuration
menu "Console configuration"
config FONT
string "Console font"
default "lat0-16"
help
Unicode mode is set by default. Setting FONT_MAP, FONT_UNIMAP,
etc, must be done manually.
config KEYMAP
string "Keymap name"
default "us"
config LOCAL
boolean "Hardware clock is set to local time"
default n
help
If the harware clock is set to local time, answer yes,
If it is set to UTC, answer no
config LOG_LEVEL
string "Default log level (1-8)"
default "4"
depends on BOOK_LFS
help
This can be changed using dmesg. 1 means "no message",
8 shows every message sent by the kernel, which is very
noisy. The default at boot time is 7, which is quite
noisy too.
endmenu # Console configuration
endmenu #--- System configuration
menu "Advanced Features"
depends on !BOOK_BLFS
config REPORT
bool "Create SBU and disk usage report"
default y
config SAVE_CH5
bool "Save Chapter 5 work"
depends on BOOK_LFS || BOOK_LFS_SYSD
default n
help
Save the state of jhalfs at the end of chapter 5:
if you tick this item, the whole $LFS directory is
saved when chapter 5 is finished. It'll be in an xz
compressed tarball in the $LFS/jhalfs directory
#--- ICA
config COMPARE
bool "Run comparison analysis on final stage"
depends on !BOOK_CLFS2 && !BOOK_CLFS3
default n
help
#-- Should an iterative comparison analysis be performed?
#
# Unless you are familiar with ICA, do not
# select this option
#
# ICA is an analysis tool for comparing one
# build to the next. Builds mays differ from one iteration
# to another due to the build order and this tool 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
default y if COMPARE
#--- End ICA
#--- Optimizations
if !BOOK_CLFS2 && !BOOK_CLFS3
config CONFIG_OPTIMIZE
bool "Optimization and parallelization"
default n
help
# Opens a menu for various optimization settings:
# Actual optimization flags MUST be defined in ./optimize/*
# before activating this option.
#
# WARNING: The use of build optimizations may lead to build issues.
# If the system doesn't work as expected, please rebuild
# without optimizations before asking for support.
menu "Optimization settings"
depends on CONFIG_OPTIMIZE
config N_PARALLEL
int "Number of parallel `make' jobs"
default 1
help
#-- The usual recommandation is (number of CPU cores)+1
# Do not set for meaningful SBU calculations.
choice
prompt "Optimization level"
default OPT_1
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"
config OPT_3
bool "Cross tools (only MAKEFLAGS), temp tools and final system" if BOOK_CLFS
endchoice
config REALSBU
bool "Build Binutls pass1 without optimization (Real SBU)"
depends on (BOOK_LFS || BOOK_LFS_SYSD) && OPT_2
default n
help
#-- Use -j1 in make invokation for Binutils pass1 to
# get a valid SBU value.
endmenu
config OPTIMIZE
int
default "0" if !CONFIG_OPTIMIZE
default "1" if OPT_1
default "2" if OPT_2
default "3" if OPT_3
endif
#--- 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 LOGDIRBASE
string "Build logs directory basename"
default "logs"
config LOGDIR
string "Build logs directory"
default "$JHALFSDIR/$LOGDIRBASE"
config TESTLOGDIRBASE
string "Test suites logs directory basename"
default "test-logs"
config TESTLOGDIR
string "Test suites logs directory"
default "$JHALFSDIR/$TESTLOGDIRBASE"
config FILELOGDIRBASE
string "Installed files logs directory basename"
default "installed-files"
config FILELOGDIR
string "Installed files logs directory"
default "$JHALFSDIR/$FILELOGDIRBASE"
config ICALOGDIR
string "ICA logs directory"
default "$LOGDIR/ICA"
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
config REBUILD_MAKEFILE
# depends on !BOOK_BLFS
bool "Rebuild the Makefile (see help)"
default n
help
#-- Rebuild the Makefile
#
# This option allows to rebuild the Makefile after
# customizing the base system build scripts.
#
# See README.CUSTOM for more info about this feature.
# Note that you should do that after configuring a jhalfs
# build, and only if you need changing the build scripts order
# or add a new one.