1 | # Check for "nproc" presence:
|
---|
2 | config HAVE_NPROC
|
---|
3 | def_bool $(shell,if nproc &>/dev/null; then echo y; else echo n; fi)
|
---|
4 |
|
---|
5 | # Check for "cpuset controller in cgroup v2" presence:
|
---|
6 | config HAVE_CGROUP
|
---|
7 | def_bool $(shell,if grep -q cpuset /sys/fs/cgroup/cgroup.controllers 2>/dev/null; then echo y; else echo n; fi)
|
---|
8 |
|
---|
9 | menu "BOOK Settings"
|
---|
10 |
|
---|
11 | #--- BOOK/script
|
---|
12 | choice
|
---|
13 | prompt "Use BOOK"
|
---|
14 | default BOOK_LFS
|
---|
15 | help
|
---|
16 | Select the book where build instructions are retrieved.
|
---|
17 |
|
---|
18 | config BOOK_LFS
|
---|
19 | bool "Linux From Scratch System V"
|
---|
20 | help
|
---|
21 | Set up the tools to build LFS with SysV init.
|
---|
22 |
|
---|
23 | config BOOK_LFS_SYSD
|
---|
24 | bool "Linux From Scratch systemd"
|
---|
25 | help
|
---|
26 | Set up the tools to build LFS with systemd init.
|
---|
27 |
|
---|
28 | config BOOK_BLFS
|
---|
29 | bool "Beyond Linux From Scratch (see help)"
|
---|
30 | help
|
---|
31 | if the LFS system has already been built, install the tools
|
---|
32 | to build BLFS packages.
|
---|
33 | endchoice
|
---|
34 |
|
---|
35 | choice
|
---|
36 | depends on BOOK_BLFS
|
---|
37 | prompt "Init system"
|
---|
38 |
|
---|
39 | config BLFS_SYSV
|
---|
40 | bool "BLFS SysV"
|
---|
41 | help
|
---|
42 | Extract the SysV flavour of the BLFS book
|
---|
43 |
|
---|
44 | config BLFS_SYSD
|
---|
45 | bool "BLFS systemd"
|
---|
46 | help
|
---|
47 | Extract the systemd flavour of the BLFS book
|
---|
48 |
|
---|
49 | endchoice
|
---|
50 |
|
---|
51 | config INITSYS
|
---|
52 | string
|
---|
53 | default "sysv" if BOOK_LFS || BLFS_SYSV
|
---|
54 | default "systemd" if BOOK_LFS_SYSD || BLFS_SYSD
|
---|
55 |
|
---|
56 | config RUN_ME
|
---|
57 | string
|
---|
58 | default "./jhalfs run" if BOOK_LFS || BOOK_LFS_SYSD
|
---|
59 | default "./install-blfs-tools.sh auto" if BOOK_BLFS
|
---|
60 | #--- End BOOK/script
|
---|
61 |
|
---|
62 | #--- Book version
|
---|
63 | choice
|
---|
64 | prompt "Book version"
|
---|
65 | default BRANCH
|
---|
66 |
|
---|
67 | config BRANCH
|
---|
68 | bool "Branch (default to trunk) or any commit"
|
---|
69 | help
|
---|
70 | Use an LFS book downloaded from the git repository, and
|
---|
71 | checked out at any commit (branch/tag/sha)
|
---|
72 |
|
---|
73 | config WORKING_COPY
|
---|
74 | bool "Working Copy"
|
---|
75 | help
|
---|
76 | Use a local working copy of the LFS book
|
---|
77 | endchoice
|
---|
78 |
|
---|
79 | config COMMIT
|
---|
80 | string "Branch, tag, or any commit"
|
---|
81 | default "trunk"
|
---|
82 | depends on BRANCH
|
---|
83 | help
|
---|
84 | Enter a branch, a tag, or an abbreviated commit sha.
|
---|
85 | The tool will clone the LFS repository and checkout
|
---|
86 | that commit
|
---|
87 |
|
---|
88 | config BOOK
|
---|
89 | string "Loc of working copy (mandatory)"
|
---|
90 | default "**EDIT ME**"
|
---|
91 | depends on WORKING_COPY
|
---|
92 | help
|
---|
93 | The full path to a local copy of the LFS book XML sources
|
---|
94 |
|
---|
95 | choice
|
---|
96 | depends on (BOOK_LFS || BOOK_LFS_SYSD)
|
---|
97 | prompt "Multilib"
|
---|
98 | default LFS_MULTILIB_NO
|
---|
99 | config LFS_MULTILIB_NO
|
---|
100 | bool "Standard LFS on i686 or amd64"
|
---|
101 | help
|
---|
102 | Use standard LFS book (choose this if not multilib source)
|
---|
103 |
|
---|
104 | config LFS_MULTILIB_I686
|
---|
105 | bool "Multilib LFS on amd64 with i686 libraries"
|
---|
106 | help
|
---|
107 | Use Multilib LFS book with i686 libraries
|
---|
108 |
|
---|
109 | config LFS_MULTILIB_X32
|
---|
110 | bool "Multilib LFS on amd64 with x32 libraries"
|
---|
111 | help
|
---|
112 | Use Multilib LFS book with x32 libraries
|
---|
113 |
|
---|
114 | config LFS_MULTILIB_ALL
|
---|
115 | bool "Multilib LFS on amd64 with i686 and x32 libraries"
|
---|
116 | help
|
---|
117 | Use Multilib LFS book with i686 and x32 libraries
|
---|
118 |
|
---|
119 | endchoice
|
---|
120 |
|
---|
121 | config MULTILIB
|
---|
122 | string
|
---|
123 | default "default" if LFS_MULTILIB_NO
|
---|
124 | default "ml_32" if LFS_MULTILIB_I686
|
---|
125 | default "ml_x32" if LFS_MULTILIB_X32
|
---|
126 | default "ml_all" if LFS_MULTILIB_ALL
|
---|
127 |
|
---|
128 | #--- End BOOK version
|
---|
129 |
|
---|
130 | choice
|
---|
131 | prompt "Build method"
|
---|
132 | default BUILD_CHROOT
|
---|
133 | depends on (BOOK_LFS || BOOK_LFS_SYSD)
|
---|
134 | help
|
---|
135 | What build method should be used: a chroot jail or minimal boot
|
---|
136 | system. Review the clfs-ng branch chap6 "TO BOOT OR CHROOT" for
|
---|
137 | a full explanation.
|
---|
138 |
|
---|
139 | config BUILD_CHROOT
|
---|
140 | bool "chroot"
|
---|
141 |
|
---|
142 | config BUILD_BOOT
|
---|
143 | bool "boot"
|
---|
144 | endchoice
|
---|
145 |
|
---|
146 | config METHOD
|
---|
147 | string
|
---|
148 | default "chroot" if BUILD_CHROOT
|
---|
149 | default "boot" if BUILD_BOOT
|
---|
150 |
|
---|
151 | config BOOT_CONFIG
|
---|
152 | string "BOOT kernel config file (mandatory)"
|
---|
153 | default "***EDIT ME***"
|
---|
154 | depends on BUILD_BOOT
|
---|
155 | help
|
---|
156 | If METHOD=boot, location of boot-kernel config file
|
---|
157 | The config file will be copied to ${BUILD_DIR}/sources
|
---|
158 | and renamed 'bootkernel-config'
|
---|
159 | NOTE: this setting is required
|
---|
160 |
|
---|
161 | #--- blfs-tool Support
|
---|
162 | config BLFS_TOOL
|
---|
163 | bool "Add blfs-tool support"
|
---|
164 | default n
|
---|
165 | depends on !BOOK_BLFS
|
---|
166 | help
|
---|
167 | Activating this option will install additional packages needed
|
---|
168 | to use blfs tools after booting the new system.
|
---|
169 | The blfs-tool files will be installed under $BUILD_DIR/blfs_root
|
---|
170 | (see below).
|
---|
171 | After booting the new xLFS system, but before using the blfs tools,
|
---|
172 | you should create a user account, move the /blfs_root directory
|
---|
173 | to that user's home, and change its ownership to that of the user.
|
---|
174 | Also, be sure to give the user read and write access on the
|
---|
175 | $TRACKING_DIR directory and the files that it contains.
|
---|
176 | Don't forget to configure sudo properly on the new system.
|
---|
177 |
|
---|
178 | config DUMMY # Avoid indenting the items below
|
---|
179 | bool
|
---|
180 |
|
---|
181 | if BLFS_TOOL
|
---|
182 | menu "blfs-tool dependencies"
|
---|
183 |
|
---|
184 | config DEP_LIBXML
|
---|
185 | bool "libxml2 (required)"
|
---|
186 | default y
|
---|
187 |
|
---|
188 | config DEP_LIBXSLT
|
---|
189 | bool "libxslt (required)"
|
---|
190 | default y
|
---|
191 |
|
---|
192 | config DEP_DBXML
|
---|
193 | bool "DocBook XML DTD (required)"
|
---|
194 | default y
|
---|
195 |
|
---|
196 | config DEP_LYNX
|
---|
197 | bool "lynx (optional, for reading the generated book)"
|
---|
198 | default y
|
---|
199 |
|
---|
200 | config DEP_SUDO
|
---|
201 | bool "sudo (recommended)"
|
---|
202 | default y
|
---|
203 |
|
---|
204 | config DEP_WGET
|
---|
205 | bool "wget (recommended)"
|
---|
206 | default y
|
---|
207 |
|
---|
208 | config DEP_GPM
|
---|
209 | bool "GPM (optional, see help)"
|
---|
210 | default n
|
---|
211 | help
|
---|
212 | if you install gpm, it will be started
|
---|
213 | automatically on boot. It allows copy-paste
|
---|
214 | while Xorg is not installed.
|
---|
215 |
|
---|
216 | config DEP_GIT
|
---|
217 | bool "GIT client (optional, see help)"
|
---|
218 | default n
|
---|
219 | help
|
---|
220 | Git is needed for updating the book
|
---|
221 | sources. You do not need it if building a
|
---|
222 | stable book.
|
---|
223 |
|
---|
224 | endmenu
|
---|
225 |
|
---|
226 | choice
|
---|
227 | prompt "BLFS book version"
|
---|
228 | default BLFS_BRANCH
|
---|
229 |
|
---|
230 | config BLFS_BRANCH
|
---|
231 | bool "BLFS Branch (default trunk) or any commit"
|
---|
232 | help
|
---|
233 | Use a BLFS book downloaded from the git repository, and
|
---|
234 | checked out at any commit (branch/tag/sha).
|
---|
235 |
|
---|
236 | config BLFS_WORKING_COPY
|
---|
237 | bool "BLFS working copy"
|
---|
238 | help
|
---|
239 | Use a local working copy of the BLFS book.
|
---|
240 | endchoice
|
---|
241 |
|
---|
242 | config BLFS_WC_LOCATION
|
---|
243 | string "Location of the local BLFS working copy (mandatory)"
|
---|
244 | default "**EDIT ME**"
|
---|
245 | depends on BLFS_WORKING_COPY
|
---|
246 | help
|
---|
247 | Full path to the BLFS book working copy
|
---|
248 |
|
---|
249 | config BLFS_COMMIT
|
---|
250 | string "BLFS Book commit (branch/tag/sha)"
|
---|
251 | default "trunk"
|
---|
252 | depends on BLFS_BRANCH
|
---|
253 | help
|
---|
254 | Can be any branch, tag, or abbreviated (or not) commit sha.
|
---|
255 | endif
|
---|
256 | #--- End blfs-tool Support
|
---|
257 |
|
---|
258 | #--- BLFS params (Used for installing the tools, either after a jhalfs run
|
---|
259 | # or directly)
|
---|
260 | config BLFS_ROOT
|
---|
261 | string "Root of the tools directory (see help)"
|
---|
262 | default "/blfs_root"
|
---|
263 | depends on BLFS_TOOL || BOOK_BLFS
|
---|
264 | help
|
---|
265 | Path to the directory where all required files and scripts
|
---|
266 | will be stored.
|
---|
267 |
|
---|
268 | This path must begin with a slash, and:
|
---|
269 | - is relative to the user's HOME directory when installing the
|
---|
270 | blfs tools on an already existing LFS system.
|
---|
271 | - is relative to the root of the build directory (`/' in chroot)
|
---|
272 | when adding the tools after a jhalfs run
|
---|
273 |
|
---|
274 | CAUTION: this directory will be removed if it already exists.
|
---|
275 |
|
---|
276 | config BLFS_XML
|
---|
277 | string "BLFS sources directory (internal parameter)"
|
---|
278 | default "blfs-xml"
|
---|
279 | depends on BLFS_TOOL || BOOK_BLFS
|
---|
280 | help
|
---|
281 | The directory name under $BLFS_ROOT where the BLFS
|
---|
282 | book sources will be copied or checked out. Do not change that
|
---|
283 | unless you know what you are doing...
|
---|
284 |
|
---|
285 | config LFS_XML
|
---|
286 | string "LFS sources directory (internal parameter)"
|
---|
287 | default "lfs-xml"
|
---|
288 | depends on BLFS_TOOL || BOOK_BLFS
|
---|
289 | help
|
---|
290 | The directory name under $BLFS_ROOT where the LFS
|
---|
291 | book sources will be copied or checked out. Do not change that
|
---|
292 | unless you know what you are doing...
|
---|
293 |
|
---|
294 | choice
|
---|
295 | prompt "LFS book version"
|
---|
296 | default LFS_BRANCH
|
---|
297 | depends on BOOK_BLFS
|
---|
298 |
|
---|
299 | config LFS_BRANCH
|
---|
300 | bool "LFS branch (default trunk) or any commit"
|
---|
301 | help
|
---|
302 | Use an LFS book downloaded from the git repository and
|
---|
303 | checked out at any commit (branch/tag/sha).
|
---|
304 |
|
---|
305 | config LFS_WORKING_COPY
|
---|
306 | bool "LFS working copy"
|
---|
307 | help
|
---|
308 | Use a local working copy of the LFS book.
|
---|
309 | endchoice
|
---|
310 |
|
---|
311 | config BLFS_LFS_BOOK
|
---|
312 | string "Location of the local LFS working copy (mandatory)"
|
---|
313 | default "**EDIT ME**"
|
---|
314 | depends on LFS_WORKING_COPY
|
---|
315 | help
|
---|
316 | Full path to the LFS book working copy"
|
---|
317 |
|
---|
318 | config BLFS_LFS_COMMIT
|
---|
319 | string "LFS Book Commit (mandatory)"
|
---|
320 | default "trunk"
|
---|
321 | depends on LFS_BRANCH
|
---|
322 | help
|
---|
323 | Any branch, tag or abbreviated (or not) commit sha.
|
---|
324 | # End of BLFS parameters
|
---|
325 |
|
---|
326 | #--- Custom Tools support
|
---|
327 | config CUSTOM_TOOLS
|
---|
328 | depends on !BOOK_BLFS
|
---|
329 | bool "Add custom tools support"
|
---|
330 | default n
|
---|
331 | help
|
---|
332 | Activating this option additional packages you create
|
---|
333 | will be installed after finished the xLFS system build.
|
---|
334 | #--- End Custom Tools support
|
---|
335 |
|
---|
336 | #--- This directory is needed for blfs tools installation and custom tools
|
---|
337 | # As well.
|
---|
338 | config TRACKING_DIR
|
---|
339 | string "Installed packages database directory"
|
---|
340 | default "/var/lib/jhalfs/BLFS"
|
---|
341 | depends on BOOK_BLFS || BLFS_TOOL || CUSTOM_TOOLS
|
---|
342 | help
|
---|
343 | Full path to the directory where the database of
|
---|
344 | installed packages will be created.
|
---|
345 |
|
---|
346 | If the blfs tools are installed on a running xLFS system,
|
---|
347 | the user must have enough privileges to create this directory.
|
---|
348 | It may be necessary to create the /var/lib/jhalfs directory as
|
---|
349 | root, and make it writable by the user before running this tool.
|
---|
350 |
|
---|
351 | If you are installing the blfs tools as part of an xLFS build
|
---|
352 | and/or using the customized scripts feature, you will
|
---|
353 | need to fix this directory's permissions after booting
|
---|
354 | the new system.
|
---|
355 |
|
---|
356 | Note that the user who will build the packages must
|
---|
357 | have read and write access to this directory.
|
---|
358 |
|
---|
359 | #--- End BOOK Settings
|
---|
360 | endmenu
|
---|
361 |
|
---|
362 | menu "General Settings"
|
---|
363 | depends on !BOOK_BLFS
|
---|
364 |
|
---|
365 | #--- LFS User Account
|
---|
366 |
|
---|
367 | config LUSER
|
---|
368 | string
|
---|
369 | default "lfs"
|
---|
370 |
|
---|
371 | config LGROUP
|
---|
372 | string
|
---|
373 | default LUSER
|
---|
374 |
|
---|
375 | config LHOME
|
---|
376 | string
|
---|
377 | default "/home"
|
---|
378 |
|
---|
379 | #--- End Set User Account
|
---|
380 |
|
---|
381 | config BUILDDIR
|
---|
382 | string "Build Directory"
|
---|
383 | default "/mnt/build_dir"
|
---|
384 | help
|
---|
385 | #-- The directory where the created system will be located.
|
---|
386 | # NOTE: A working directory named jhalfs will be created
|
---|
387 | # here, so ensure this does not conflict with the jhalfs
|
---|
388 | # source directory.
|
---|
389 |
|
---|
390 | config GETPKG
|
---|
391 | bool "Retrieve source files"
|
---|
392 | default n
|
---|
393 | help
|
---|
394 | #-- Download all packages and patches required by the selected book
|
---|
395 | # NOTE: Looks for files in the local archive defined by SRC_ARCHIVE
|
---|
396 | # first and if necessary retrieves them from the 'net.
|
---|
397 | # Files will be transferred to $BUILDDIR/sources.
|
---|
398 |
|
---|
399 | config SRC_ARCHIVE
|
---|
400 | string "Package Archive Directory"
|
---|
401 | default "$SRC_ARCHIVE"
|
---|
402 | depends on GETPKG
|
---|
403 | help
|
---|
404 | #-- A local archive for packages/files (not $BUILDDIR/sources)
|
---|
405 | # Any missing file will be downloaded and archived here,
|
---|
406 | # if the user has the right privileges.
|
---|
407 |
|
---|
408 | config RETRYSRCDOWNLOAD
|
---|
409 | bool "Retry on 'connection refused' failure"
|
---|
410 | default n
|
---|
411 | depends on GETPKG
|
---|
412 | help
|
---|
413 | #-- Attempt to download a source package again if it fails
|
---|
414 | # with a 'connection refused' error. This can happen on
|
---|
415 | # servers that are overloaded.
|
---|
416 |
|
---|
417 | config RETRYDOWNLOADCNT
|
---|
418 | int "Number of retry attempts on download failures"
|
---|
419 | default 20
|
---|
420 | depends on GETPKG
|
---|
421 | help
|
---|
422 | #-- Number of times to retry a failed download.
|
---|
423 |
|
---|
424 | config DOWNLOADTIMEOUT
|
---|
425 | int "Download timeout (in seconds)"
|
---|
426 | default 30
|
---|
427 | depends on GETPKG
|
---|
428 | help
|
---|
429 | #-- Number of seconds to wait for a download to start before
|
---|
430 | # timing out.
|
---|
431 |
|
---|
432 | config SERVER
|
---|
433 | string "FTP mirror"
|
---|
434 | default "http://ftp.osuosl.org"
|
---|
435 | depends on GETPKG
|
---|
436 | help
|
---|
437 | #-- FTP mirror to download packages and patches if not found
|
---|
438 | # in $SRC_ARCHIVE
|
---|
439 | # As a last resort, the files will downloaded from upstream,
|
---|
440 | # if possible.
|
---|
441 |
|
---|
442 | config RUNMAKE
|
---|
443 | bool "Run the makefile"
|
---|
444 | default n
|
---|
445 | help
|
---|
446 | #-- Automatically run the makefile once it has been created
|
---|
447 |
|
---|
448 | config CLEAN
|
---|
449 | bool "Rebuild files"
|
---|
450 | default n
|
---|
451 | help
|
---|
452 | #-- Clean the build directory before performing any other task.
|
---|
453 | # The directory is cleaned only if it was populated by a
|
---|
454 | # previous JHALFS run.
|
---|
455 |
|
---|
456 | #--- End General Settings
|
---|
457 | endmenu
|
---|
458 |
|
---|
459 | menu "Build Settings"
|
---|
460 | depends on !BOOK_BLFS
|
---|
461 |
|
---|
462 | #--- Test Suites
|
---|
463 | config CONFIG_TESTS
|
---|
464 | bool "Run testsuites"
|
---|
465 | default y
|
---|
466 | help
|
---|
467 | #-- Run test suites
|
---|
468 | # If you select 'y' here:
|
---|
469 | # You will have to select between:
|
---|
470 | # - Only critical final system testsuites
|
---|
471 | # - All final system testsuites
|
---|
472 | #
|
---|
473 | # Note that in any case, all the test instructions will
|
---|
474 | # be generated. Those which are not wanted will be commented
|
---|
475 | # out. If you select 'n' here, the commented test instructions
|
---|
476 | # do not stop on test suite failures.
|
---|
477 |
|
---|
478 | menu "Test settings"
|
---|
479 | depends on CONFIG_TESTS
|
---|
480 | choice
|
---|
481 | prompt "Tests level"
|
---|
482 | default TST_1
|
---|
483 |
|
---|
484 | config TST_1
|
---|
485 | bool "Only final system critical testsuites"
|
---|
486 | help
|
---|
487 | #-- Critical tests:
|
---|
488 | # Only Glibc, Binutils, GMP, MPFR, MPC and GCC
|
---|
489 | # testsuites for final system. The others are commented
|
---|
490 | # out.
|
---|
491 |
|
---|
492 | config TST_2
|
---|
493 | bool "All final system testsuites"
|
---|
494 | help
|
---|
495 | #-- All final system test suites:
|
---|
496 | # Test instructions for the temporary tools (if available)
|
---|
497 | # are commented out.
|
---|
498 |
|
---|
499 | endchoice
|
---|
500 |
|
---|
501 | endmenu # test settings
|
---|
502 |
|
---|
503 | config TEST
|
---|
504 | int
|
---|
505 | default "0" if !CONFIG_TESTS
|
---|
506 | default "1" if TST_1
|
---|
507 | default "2" if TST_2
|
---|
508 | #--- End Test Suites
|
---|
509 |
|
---|
510 | #--- Package Management
|
---|
511 | config PKGMNGT
|
---|
512 | bool "Package management"
|
---|
513 | depends on BOOK_LFS || BOOK_LFS_SYSD
|
---|
514 | default n
|
---|
515 | help
|
---|
516 | #-- Use package management
|
---|
517 | #
|
---|
518 | # If set, you'll have to choose between
|
---|
519 | # two package management styles:
|
---|
520 | # - Build and install:
|
---|
521 | # the packages in the final phase are built
|
---|
522 | # in a separate directory, PKG_DEST.
|
---|
523 | # You should provide a bash function for
|
---|
524 | # packaging and installing the package.
|
---|
525 | # - Preload a library before install:
|
---|
526 | # Run the install instructions inside a
|
---|
527 | # wrapper command, which monitors the
|
---|
528 | # installed files.
|
---|
529 | #
|
---|
530 | # Also, you have to provide the instructions
|
---|
531 | # to build the package manager during the
|
---|
532 | # temporary tools phase, in the form of a
|
---|
533 | # sect1 of the book identical to a package
|
---|
534 | # sect1. See README.PACKAGE_MANAGEMENT
|
---|
535 | choice
|
---|
536 | depends on PKGMNGT
|
---|
537 | prompt "Package management style"
|
---|
538 | default PKG_PACK
|
---|
539 |
|
---|
540 | config PKG_PACK
|
---|
541 | bool "Build and pack (pacman or dpkg style)"
|
---|
542 |
|
---|
543 | config LIB_LOAD
|
---|
544 | bool "Preload a library before installing (porg style)"
|
---|
545 | endchoice
|
---|
546 |
|
---|
547 | config WRAP_INSTALL
|
---|
548 | bool
|
---|
549 | default y if LIB_LOAD
|
---|
550 | default n if PKG_PACK
|
---|
551 | #--- End package management
|
---|
552 |
|
---|
553 | #--- Installed files logs
|
---|
554 | config INSTALL_LOG
|
---|
555 | bool "Create a log of installed files for each package"
|
---|
556 | default n
|
---|
557 | help
|
---|
558 | #-- Select this if you want to create logs of the files
|
---|
559 | # installed by each package on the final system.
|
---|
560 |
|
---|
561 | #--- End Installed files logs
|
---|
562 |
|
---|
563 | config STRIP
|
---|
564 | bool "Strip Installed Binaries/Libraries"
|
---|
565 | default n
|
---|
566 |
|
---|
567 | config NO_PROGRESS_BAR
|
---|
568 | bool "DO NOT use/display progress_bar"
|
---|
569 | default n
|
---|
570 | help
|
---|
571 | #-- Do not use the progress bar routine. On slower machines
|
---|
572 | # this function consumes precious CPU cycles.
|
---|
573 |
|
---|
574 | #--- End Build Settings
|
---|
575 | endmenu
|
---|
576 |
|
---|
577 | menu "System configuration"
|
---|
578 | depends on !BOOK_BLFS
|
---|
579 |
|
---|
580 | #--- FSTAB
|
---|
581 | config HAVE_FSTAB
|
---|
582 | bool "Use a custom fstab file"
|
---|
583 | default n
|
---|
584 | help
|
---|
585 | #-- Select this if you have an fstab file with entries
|
---|
586 | # for the target system
|
---|
587 |
|
---|
588 | config FSTAB
|
---|
589 | string "Fstab file (optional)"
|
---|
590 | default "***EDIT ME***"
|
---|
591 | depends on HAVE_FSTAB
|
---|
592 | help
|
---|
593 | #-- The location of fstab file (if empty, a template is created)
|
---|
594 | #--- End FSTAB
|
---|
595 |
|
---|
596 | #--- Kernel
|
---|
597 | config CONFIG_BUILD_KERNEL
|
---|
598 | bool "Build the kernel"
|
---|
599 | default n
|
---|
600 | help
|
---|
601 | #-- Select this option if you wish to build the kernel.
|
---|
602 | #
|
---|
603 | # You will be prompted for the full path to the .config
|
---|
604 | # file. It will be copied to the 'sources' directory and
|
---|
605 | # renamed kernel-config
|
---|
606 |
|
---|
607 | config CONFIG
|
---|
608 | string "Kernel config file"
|
---|
609 | default "***EDIT ME***"
|
---|
610 | depends on CONFIG_BUILD_KERNEL
|
---|
611 | help
|
---|
612 | #-- Fully qualified path to a kernel config file
|
---|
613 | # The config file will be copied to ${BUILD_DIR}/sources
|
---|
614 | # and renamed 'kernel-config'
|
---|
615 | #
|
---|
616 | # Important: if the config file is out of date (missing
|
---|
617 | # option), the kernel build will timeout instead of
|
---|
618 | # waiting forever for an input. This will generate error
|
---|
619 | # 124. In this case, update your config file,
|
---|
620 | # copy it to $BUILD_DIR/sources/kernel-config, and
|
---|
621 | # restart the build.
|
---|
622 | #--- End Kernel
|
---|
623 |
|
---|
624 | config NCURSES5
|
---|
625 | bool "Install non-wide-character ncurses"
|
---|
626 | default n
|
---|
627 | depends on BOOK_LFS || BOOK_LFS_SYSD
|
---|
628 | help
|
---|
629 | #-- Install the optional non wide character ncurses5 library
|
---|
630 |
|
---|
631 | config TIMEZONE
|
---|
632 | string "TimeZone"
|
---|
633 | default "GMT"
|
---|
634 | help
|
---|
635 | #-- The timezone as output by tzselect
|
---|
636 | # This will be copied to /etc/localtime
|
---|
637 |
|
---|
638 | config LANG
|
---|
639 | string "Language"
|
---|
640 | default "$LANG"
|
---|
641 | help
|
---|
642 | #-- LANG variable set in /etc/profile
|
---|
643 | # See http://sourceware.org/git/?p=glibc.git;a=blob;f=localedata/SUPPORTED
|
---|
644 | # for values (or the file localedata/SUPPORTED in glibc tarball)
|
---|
645 |
|
---|
646 | config FULL_LOCALE
|
---|
647 | bool "Install the full set of locales"
|
---|
648 | default n
|
---|
649 | help
|
---|
650 | #-- If set to y, the full set of supported locales
|
---|
651 | # will be installed. Otherwise, only the minimal set
|
---|
652 | # necessary for the tests will be installed,
|
---|
653 | # together with the locale associated with the
|
---|
654 | # LANG you have chosen, if not in the minimal set.
|
---|
655 |
|
---|
656 | #--- Groff page
|
---|
657 | choice
|
---|
658 | prompt "Groff page size"
|
---|
659 | default PAGE_LETTER
|
---|
660 | help
|
---|
661 | #-- Page definition for groff: letter or A4
|
---|
662 |
|
---|
663 | config PAGE_LETTER
|
---|
664 | bool "letter"
|
---|
665 |
|
---|
666 | config PAGE_A4
|
---|
667 | bool "A4"
|
---|
668 | endchoice
|
---|
669 |
|
---|
670 | config PAGE
|
---|
671 | string
|
---|
672 | default "letter" if PAGE_LETTER
|
---|
673 | default "A4" if PAGE_A4
|
---|
674 | #--- End Groff page
|
---|
675 |
|
---|
676 | config HOSTNAME
|
---|
677 | string "Hostname (see help)"
|
---|
678 | default "**EDITME**"
|
---|
679 | help
|
---|
680 | If you are on a public network, use the hostname given to you by
|
---|
681 | your institution, or corporation, etc. If your network is private,
|
---|
682 | that is, behind a firewall such as a box to connect to your ISP,
|
---|
683 | you can choose anything you'd like. Combined with the domain name
|
---|
684 | "local", you have the possibility to access your computer by name
|
---|
685 | instead of address on the private network (see RFC 6762 and
|
---|
686 | https://www.howtogeek.com/167190/).
|
---|
687 |
|
---|
688 | menu "Network configuration"
|
---|
689 | config INTERFACE
|
---|
690 | string "netword card name"
|
---|
691 | default "eth0"
|
---|
692 | help
|
---|
693 | eth0 is used in most cases. Virtual interfaces may get other
|
---|
694 | names (for example enp0s3 for the default network stack in qemu).
|
---|
695 | Systemd may also rename network interfaces according to their
|
---|
696 | bus addresses.
|
---|
697 | config IP_ADDR
|
---|
698 | string "Static IP address"
|
---|
699 | default "10.0.2.9"
|
---|
700 | help
|
---|
701 | The default here is for a virtual interface in qemu. Private
|
---|
702 | networks have addresses in the range 10.x.x.x or 192.168.x.x.
|
---|
703 | You have to know your network prefix. Then the last figure
|
---|
704 | may be anything you like.
|
---|
705 |
|
---|
706 | config GATEWAY
|
---|
707 | string "Gateway"
|
---|
708 | default "10.0.2.2"
|
---|
709 | help
|
---|
710 | Again, this default is for a qemu network stack. Usually, the
|
---|
711 | gateway is the address of your firewall.
|
---|
712 | config PREFIX
|
---|
713 | string "Subnet prefix"
|
---|
714 | default "24"
|
---|
715 | help
|
---|
716 | Again, this default is for a qemu network stack, but is also
|
---|
717 | the most used in private networks.
|
---|
718 | config BROADCAST
|
---|
719 | string "Broadcast address"
|
---|
720 | default "10.0.2.255"
|
---|
721 | config DOMAIN
|
---|
722 | string "Domain name (see help)"
|
---|
723 | default "local"
|
---|
724 | help
|
---|
725 | Domain Name:
|
---|
726 | Doamin names are registered, so if your computer is on a public
|
---|
727 | network, you cannot use any name you'd like. On a public
|
---|
728 | network, you should have been given a domain name by
|
---|
729 | your corporation, institution, etc.
|
---|
730 | If your network is really private, that is behind a firewall
|
---|
731 | such as a box for connecting to an ISP, you can choose any
|
---|
732 | domain you'd like. You can also opt for "local", see RFC 6762,
|
---|
733 | or "something.test", see RFC 6761.
|
---|
734 | config DNS1
|
---|
735 | string "Primary Name server"
|
---|
736 | default "10.0.2.3"
|
---|
737 | config DNS2
|
---|
738 | string "Secondary Name server"
|
---|
739 | default "8.8.8.8"
|
---|
740 | endmenu # Network configuration
|
---|
741 |
|
---|
742 | menu "Console configuration"
|
---|
743 | config FONT
|
---|
744 | string "Console font"
|
---|
745 | default "lat0-16"
|
---|
746 | help
|
---|
747 | Unicode mode is set by default. Setting FONT_MAP, FONT_UNIMAP,
|
---|
748 | etc, must be done manually.
|
---|
749 | config KEYMAP
|
---|
750 | string "Keymap name"
|
---|
751 | default "us"
|
---|
752 | config LOCAL
|
---|
753 | boolean "Hardware clock is set to local time"
|
---|
754 | default n
|
---|
755 | help
|
---|
756 | If the harware clock is set to local time, answer yes,
|
---|
757 | If it is set to UTC, answer no
|
---|
758 | config LOG_LEVEL
|
---|
759 | string "Default log level (1-8)"
|
---|
760 | default "4"
|
---|
761 | depends on BOOK_LFS
|
---|
762 | help
|
---|
763 | This can be changed using dmesg. 1 means "no message",
|
---|
764 | 8 shows every message sent by the kernel, which is very
|
---|
765 | noisy. The default at boot time is 7, which is quite
|
---|
766 | noisy too.
|
---|
767 | endmenu # Console configuration
|
---|
768 |
|
---|
769 | endmenu #--- System configuration
|
---|
770 |
|
---|
771 | menu "Advanced Features"
|
---|
772 | depends on !BOOK_BLFS
|
---|
773 |
|
---|
774 | config REPORT
|
---|
775 | bool "Create SBU and disk usage report"
|
---|
776 | default y
|
---|
777 |
|
---|
778 | config SAVE_CH5
|
---|
779 | bool "Save Chapter 5 work"
|
---|
780 | depends on BOOK_LFS || BOOK_LFS_SYSD
|
---|
781 | default n
|
---|
782 | help
|
---|
783 | Save the state of jhalfs at the end of chapter 5:
|
---|
784 |
|
---|
785 | if you tick this item, the whole $LFS directory is
|
---|
786 | saved when chapter 5 is finished. It'll be in an xz
|
---|
787 | compressed tarball in the $LFS/jhalfs directory
|
---|
788 |
|
---|
789 | #--- ICA
|
---|
790 | config COMPARE
|
---|
791 | bool "Run comparison analysis on final stage"
|
---|
792 | default n
|
---|
793 | help
|
---|
794 | #-- Should an iterative comparison analysis be performed?
|
---|
795 | #
|
---|
796 | # Unless you are familiar with ICA, do not
|
---|
797 | # select this option
|
---|
798 | #
|
---|
799 | # ICA is an analysis tool for comparing one
|
---|
800 | # build to the next. Builds mays differ from one iteration
|
---|
801 | # to another due to the build order and this tool try
|
---|
802 | # to ferret out those differences by examining the stored
|
---|
803 | # build logs and binary files.
|
---|
804 | #
|
---|
805 | # The scripts are well commented and can be found in ./extras/*
|
---|
806 | #
|
---|
807 |
|
---|
808 | config ITERATIONS
|
---|
809 | int "Number of test runs (2,3,4,5)" if COMPARE
|
---|
810 | depends on COMPARE
|
---|
811 | range 2 5
|
---|
812 | default 3
|
---|
813 |
|
---|
814 | config RUN_ICA
|
---|
815 | bool
|
---|
816 | default y if COMPARE
|
---|
817 |
|
---|
818 | #--- End ICA
|
---|
819 |
|
---|
820 | #--- Optimizations
|
---|
821 | config CONFIG_OPTIMIZE
|
---|
822 | bool "Optimization"
|
---|
823 | default n
|
---|
824 | help
|
---|
825 | # Opens a menu for various optimization settings:
|
---|
826 | # Actual optimization flags MUST be defined in ./optimize/*
|
---|
827 | # before activating this option.
|
---|
828 | #
|
---|
829 | # WARNING: The use of build optimizations may lead to build issues.
|
---|
830 | # If the system doesn't work as expected, please rebuild
|
---|
831 | # without optimizations before asking for support.
|
---|
832 | menu "Optimization settings"
|
---|
833 | depends on CONFIG_OPTIMIZE
|
---|
834 |
|
---|
835 | choice
|
---|
836 | prompt "Optimization level"
|
---|
837 | default OPT_1
|
---|
838 | help
|
---|
839 | #-- Optimization values are set in optimize/* files
|
---|
840 |
|
---|
841 | config OPT_1
|
---|
842 | bool "Final system only"
|
---|
843 |
|
---|
844 | config OPT_2
|
---|
845 | bool "Both temp tools and final system"
|
---|
846 |
|
---|
847 | endchoice
|
---|
848 |
|
---|
849 | endmenu # Optimization settings
|
---|
850 | config OPTIMIZE
|
---|
851 | int
|
---|
852 | default "0" if !CONFIG_OPTIMIZE
|
---|
853 | default "1" if OPT_1
|
---|
854 | default "2" if OPT_2
|
---|
855 |
|
---|
856 | #--- End Optimizations
|
---|
857 | #--- Parallelism
|
---|
858 | menu "Parallelism settings"
|
---|
859 | if HAVE_NPROC
|
---|
860 | config ALL_CORES
|
---|
861 | bool "Use all cores as in the book"
|
---|
862 | default y
|
---|
863 | help
|
---|
864 | Use book instructions as written for parallelism. If you
|
---|
865 | answer no, then jhalfs will fall back to a static number of
|
---|
866 | cores, defined below. If you answer y, and your system
|
---|
867 | supports it, you'll be asked for a cpu set to use.
|
---|
868 |
|
---|
869 | if HAVE_CGROUP
|
---|
870 | config CPUSET
|
---|
871 | string "set of cpus to use, or 'all' for all cpus"
|
---|
872 | default "all"
|
---|
873 | help
|
---|
874 | See "List format" in cpuset(7). Choosing cpus depend
|
---|
875 | on the topology of your processors. Sometimes two
|
---|
876 | hyperthreads on the same core are numbered consecutively.
|
---|
877 | For example for using all cores and no hyperthreading on
|
---|
878 | a Haswell, use "0,2,4,6". Other brands may have a different
|
---|
879 | topology, and may require e.g. "0-3" to use the first 4 cores.
|
---|
880 | If not sure, keep the default.
|
---|
881 | endif
|
---|
882 | if !HAVE_CGROUP
|
---|
883 | config CPUSET
|
---|
884 | string
|
---|
885 | default "all"
|
---|
886 | endif
|
---|
887 |
|
---|
888 | endif # HAVE_NPROC
|
---|
889 | if !HAVE_NPROC
|
---|
890 | config ALL_CORES
|
---|
891 | bool
|
---|
892 | default n
|
---|
893 | endif
|
---|
894 |
|
---|
895 | config N_PARALLEL
|
---|
896 | int "Number of parallel `make' jobs"
|
---|
897 | depends on !ALL_CORES
|
---|
898 | default 1
|
---|
899 | help
|
---|
900 | #-- The usual recommandation is (number of CPU cores)+1
|
---|
901 | # Do not set for meaningful SBU calculations.
|
---|
902 |
|
---|
903 | config REALSBU
|
---|
904 | bool "Build Binutls pass1 without parallelism (Real SBU)"
|
---|
905 | depends on ALL_CORES != 1
|
---|
906 | default n
|
---|
907 | help
|
---|
908 | #-- Use -j1 in make invokation for Binutils pass1 to
|
---|
909 | # get a valid SBU value.
|
---|
910 | endmenu # parallelism
|
---|
911 |
|
---|
912 |
|
---|
913 | #-- Internal Settings
|
---|
914 | menu "Internal Settings (WARNING: for jhalfs developers only)"
|
---|
915 |
|
---|
916 | config SCRIPT_ROOT
|
---|
917 | string "Scripts root"
|
---|
918 | default "jhalfs"
|
---|
919 |
|
---|
920 | config JHALFSDIR
|
---|
921 | string "jhalfs directory"
|
---|
922 | default "$BUILDDIR/$SCRIPT_ROOT"
|
---|
923 |
|
---|
924 | config LOGDIRBASE
|
---|
925 | string "Build logs directory basename"
|
---|
926 | default "logs"
|
---|
927 |
|
---|
928 | config LOGDIR
|
---|
929 | string "Build logs directory"
|
---|
930 | default "$JHALFSDIR/$LOGDIRBASE"
|
---|
931 |
|
---|
932 | config TESTLOGDIRBASE
|
---|
933 | string "Test suites logs directory basename"
|
---|
934 | default "test-logs"
|
---|
935 |
|
---|
936 | config TESTLOGDIR
|
---|
937 | string "Test suites logs directory"
|
---|
938 | default "$JHALFSDIR/$TESTLOGDIRBASE"
|
---|
939 |
|
---|
940 | config FILELOGDIRBASE
|
---|
941 | string "Installed files logs directory basename"
|
---|
942 | default "installed-files"
|
---|
943 |
|
---|
944 | config FILELOGDIR
|
---|
945 | string "Installed files logs directory"
|
---|
946 | default "$JHALFSDIR/$FILELOGDIRBASE"
|
---|
947 |
|
---|
948 | config ICALOGDIR
|
---|
949 | string "ICA logs directory"
|
---|
950 | default "$LOGDIR/ICA"
|
---|
951 |
|
---|
952 | config MKFILE
|
---|
953 | string "Makefile"
|
---|
954 | default "$JHALFSDIR/Makefile"
|
---|
955 |
|
---|
956 | config XSL
|
---|
957 | string "XSL stylesheet"
|
---|
958 | default "lfs.xsl"
|
---|
959 |
|
---|
960 | config PKG_LST
|
---|
961 | string "Package contents list"
|
---|
962 | default "unpacked"
|
---|
963 |
|
---|
964 | config DEL_LA_FILES
|
---|
965 | bool "Remove libtool .la files"
|
---|
966 | default y
|
---|
967 | help
|
---|
968 | #-- Remove files libxxx.la installed by libtool. Only set to
|
---|
969 | # "n" if you know what you are doing. For a rationale
|
---|
970 | # see https://blog.flameeyes.eu/tags/lafiles/
|
---|
971 |
|
---|
972 | #--- End Internal Settings
|
---|
973 | endmenu
|
---|
974 |
|
---|
975 | #--- End Advanced Features
|
---|
976 | endmenu
|
---|
977 |
|
---|
978 | config REBUILD_MAKEFILE
|
---|
979 | # depends on !BOOK_BLFS
|
---|
980 | bool "Rebuild the Makefile (see help)"
|
---|
981 | default n
|
---|
982 | help
|
---|
983 | #-- Rebuild the Makefile
|
---|
984 | #
|
---|
985 | # This option allows to rebuild the Makefile after
|
---|
986 | # customizing the base system build scripts.
|
---|
987 | #
|
---|
988 | # See README.CUSTOM for more info about this feature.
|
---|
989 | # Note that you should do that after configuring a jhalfs
|
---|
990 | # build, and only if you need changing the build scripts order
|
---|
991 | # or add a new one.
|
---|