Changeset 87f8108
- Timestamp:
- 10/15/2022 10:30:10 PM (19 months ago)
- Branches:
- multilib
- Children:
- 353b104
- Parents:
- 6c4d9d0 (diff), 62a598f (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the(diff)
links above to see all the changes relative to each parent. - Location:
- prologue
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
prologue/architecture.xml
r6c4d9d0 r87f8108 14 14 and x86_64 (64-bit) CPUs. On the other hand, the instructions in this book are 15 15 also known to work, with some modifications, with the Power PC and ARM CPUs. To 16 build a system that utilizes one of these CPUs, the main prerequisite, in16 build a system that utilizes one of these alternative CPUs, the main prerequisite, in 17 17 addition to those on the next page, is an existing Linux system such as an 18 earlier LFS installation, Ubuntu, Red Hat/Fedora, SuSE, or other distribution19 that targets th e architecture that you have. Also note that a 32-bit18 earlier LFS installation, Ubuntu, Red Hat/Fedora, SuSE, or some other distribution 19 that targets that architecture. (Note that a 32-bit 20 20 distribution can be installed and used as a host system on a 64-bit AMD/Intel 21 computer. </para>21 computer.)</para> 22 22 23 <para> For building LFS, the gain of building on a 64-bit system24 compared to a 32-bit system is minimal.23 <para>The gain from building on a 64-bit system, as 24 compared to a 32-bit system, is minimal. 25 25 For example, in a test build of LFS-9.1 on a Core i7-4790 CPU based system, 26 26 using 4 cores, the following statistics were measured:</para> … … 31 31 32 32 <para>As you can see, on the same hardware, the 64-bit build is only 3% faster 33 and is 22% largerthan the 32-bit build. If you plan to use LFS as a LAMP34 server, or a firewall, a 32-bit CPU may be largely sufficient. On the other35 hand, several packages in BLFS now need more than 4 GB of RAM to be built36 and/or to run , so thatif you plan to use LFS as a desktop, the LFS authors37 recommend building ona 64-bit system.</para>33 (and 22% larger) than the 32-bit build. If you plan to use LFS as a LAMP 34 server, or a firewall, a 32-bit CPU may be good enough. On the other 35 hand, several packages in BLFS now need more than 4 GB of RAM to be built 36 and/or to run; if you plan to use LFS as a desktop, the LFS authors 37 recommend building a 64-bit system.</para> 38 38 39 <para>The default 64-bit build that results from LFS is considereda39 <para>The default 64-bit build that results from LFS is a 40 40 <quote>pure</quote> 64-bit system. That is, it supports 64-bit executables 41 41 only. Building a <quote>multi-lib</quote> system requires compiling many 42 42 applications twice, once for a 32-bit system and once for a 64-bit system. 43 43 This is not directly supported in LFS because it would interfere with the 44 educational objective of providing the instructions needed for a45 straightforward base Linux system. Some LFS/BLFS editors maintain afork46 of LFS for multilib, which isaccessible at <ulink47 url="https://www.linuxfromscratch.org/~thomas/multilib/index.html"/>. But it48 is an advanced topic.</para>44 educational objective of providing the minimal instructions needed for a 45 basic Linux system. Some of the LFS/BLFS editors maintain a multilib fork 46 of LFS, accessible at <ulink 47 url="https://www.linuxfromscratch.org/~thomas/multilib/index.html"/>. But 48 that's an advanced topic.</para> 49 49 50 50 </sect1> -
prologue/audience.xml
r6c4d9d0 r87f8108 19 19 how a Linux system works from the inside out. Building an LFS system helps 20 20 demonstrate what makes Linux tick, and how things work together and depend on 21 each other. One of the best things th at this learning experience can provide is21 each other. One of the best things this learning experience can provide is 22 22 the ability to customize a Linux system to suit your own unique needs.</para> 23 23 24 <para>Another key benefit of LFS is that it allows you to have morecontrol25 o verthe system without relying on someone else's Linux implementation. With26 LFS, you are in the driver's seat and dictate every aspect of the24 <para>Another key benefit of LFS is that it gives you control 25 of the system without relying on someone else's Linux implementation. With 26 LFS, you are in the driver's seat. <emphasis>You</emphasis> dictate every aspect of your 27 27 system.</para> 28 28 29 <para>LFS allows you to create very compact Linux systems. W hen installing30 regular distributions,you are often forced to install a great many31 programs which are probably never used or understood. These programs waste32 resources. You may argue that with today's hard drive and CPUs, such29 <para>LFS allows you to create very compact Linux systems. With 30 other distributions you are often forced to install a great many 31 programs you neither use nor understand. These programs waste 32 resources. You may argue that with today's hard drives and CPUs, wasted 33 33 resources are no longer a consideration. Sometimes, however, you are still 34 constrained by size considerationsif nothing else. Think about bootable34 constrained by the system's size, if nothing else. Think about bootable 35 35 CDs, USB sticks, and embedded systems. Those are areas where LFS can be 36 36 beneficial.</para> … … 38 38 <para>Another advantage of a custom built Linux system is security. By compiling 39 39 the entire system from source code, you are empowered to audit everything 40 and apply all the security patches desired. It is no longer necessaryto40 and apply all the security patches you want. You don't have to 41 41 wait for somebody else to compile binary packages that fix a security hole. 42 42 Unless you examine the patch and implement it yourself, you have no … … 49 49 book.</para> 50 50 51 <para>There are too many othergood reasons to build your own LFS system to52 list them all here. In the end, education is by far the most powerful of53 reason s. As you continue inyour LFS experience, you will discover the power54 that information and knowledge trulybring.</para>51 <para>There are too many good reasons to build your own LFS system to 52 list them all here. In the end, education is by far the most important 53 reason. As you continue your LFS experience, you will discover the power 54 that information and knowledge can bring.</para> 55 55 56 56 </sect1> -
prologue/prerequisites.xml
r6c4d9d0 r87f8108 14 14 level of existing knowledge of Unix system administration in order to resolve 15 15 problems and correctly execute the commands listed. In particular, as an 16 absolute minimum, you should already have the abilityto use the16 absolute minimum, you should already know how to use the 17 17 command line (shell) to copy or move files and directories, list directory 18 18 and file contents, and change the current directory. It is also expected that 19 you have a reasonable knowledge of using and installingLinux19 you know how to use and install Linux 20 20 software.</para> 21 21 22 22 <para>Because the LFS book assumes <emphasis>at least</emphasis> this basic 23 level of skill, the various LFS support forums are unlikely to be able to23 level of skill, the various LFS support forums are unlikely to 24 24 provide you with much assistance in these areas. You will find that your 25 questions regarding such basic knowledge will likely go unanswered or you26 will simply be referred to the LFS essential pre-reading list .</para>25 questions regarding such basic knowledge will likely go unanswered (or you 26 will simply be referred to the LFS essential pre-reading list).</para> 27 27 28 <para>Before building an LFS system, we recommend reading the following:</para>28 <para>Before building an LFS system, we urge you to read these articles:</para> 29 29 30 30 <itemizedlist> … … 36 36 <quote>generic</quote> Unix software packages under Linux. Although it 37 37 was written some time ago, it still provides a good summary of the 38 basic techniques needed to build and install software.</para>38 basic techniques used to build and install software.</para> 39 39 </listitem> 40 40 … … 43 43 <ulink url="https://moi.vonos.net/linux/beginners-installing-from-source/"/></para> 44 44 45 <para>This guide provides a good summary of basic skills and45 <para>This guide provides a good summary of the basic skills and 46 46 techniques needed to build software from source code.</para> 47 47 </listitem> -
prologue/standards.xml
r6c4d9d0 r87f8108 33 33 34 34 <para>The LSB has four separate standards: Core, Desktop, 35 Runtime Languages, and Imaging. In addition to generic requirements 36 there are also architecture specific requirements. There are also two 37 areas for trial use: Gtk3 and Graphics. LFS attempts to conform to the 35 Runtime Languages, and Imaging. There are generic requirements, 36 and also architecture specific requirements. There are also two 37 trial standards: Gtk3 and Graphics. LFS attempts to conform to the 38 LASB standards for the IA32 / IA64 (Intel) and AMD64 (AMD) 38 39 architectures discussed in the previous section.</para> 39 40 40 <note><para>Many people do not agree with the requirements of the LSB.41 The main purpose of defining itis to ensure that proprietary software42 will be able to be installed and run properlyon a compliant system.41 <note><para>Many people do not agree with these requirements. 42 The main purpose of the LSB is to ensure that proprietary software 43 can be installed and run on a compliant system. 43 44 Since LFS is source based, the user has complete control over what 44 packages are desired and many choose not to install some packages that45 packages are desired; you may choose not to install some packages that 45 46 are specified by the LSB.</para></note> 46 47 … … 48 49 </itemizedlist> 49 50 50 <para> Creating a complete LFS system capable of passingthe LSB51 certification s tests is possible, but notwithout many additional packages52 that are beyond the scope of LFS. These additional packages have53 installation instructionsin BLFS. </para>51 <para>While it is possible to create a complete system that will pass the LSB 52 certification tests "from scratch", this can't be done without many additional packages 53 that are beyond the scope of the LFS book. Installation instructions for these 54 additional packages can be found in BLFS. </para> 54 55 55 56 <variablelist> -
prologue/why.xml
r6c4d9d0 r87f8108 11 11 <title>Rationale for Packages in the Book</title> 12 12 13 <para> As stated earlier, the goal of LFS is to build a complete and usable14 foundation-level system . This includes allpackages needed to replicate15 itself whileproviding a relatively minimal base from which to customize16 a more complete system based on the choices of the user. This does not13 <para>The goal of LFS is to build a complete and usable 14 foundation-level system—including all the packages needed to replicate 15 itself—and providing a relatively minimal base from which to customize 16 a more complete system based on the user's choices. This does not 17 17 mean that LFS is the smallest system possible. Several important packages 18 are included that are not strictly required. The lists below documentthe19 r ationale for each package in the book.</para>18 are included that are not, strictly speaking, required. The list below documents the 19 reasons each package in the book has been included.</para> 20 20 21 21 <itemizedlist> … … 25 25 26 26 <para>This package contains utilities to administer Access 27 Control Lists, which are used to define morefine-grained27 Control Lists, which are used to define fine-grained 28 28 discretionary access rights for files and directories. 29 29 </para> … … 33 33 <para>Attr</para> 34 34 35 <para>This package contains programs for administering36 extended attributes on file system objects.35 <para>This package contains programs for managing 36 extended attributes on file system objects. 37 37 </para> 38 38 </listitem> … … 41 41 <para>Autoconf</para> 42 42 43 <para>This package contains programs for producing shell scripts that43 <para>This package supplies programs for producing shell scripts that 44 44 can automatically configure source code from a developer's 45 template. It is often needed to rebuild a package after updates46 t o the build procedures.</para>45 template. It is often needed to rebuild a package after 46 the build procedure has been updated.</para> 47 47 </listitem> 48 48 … … 51 51 52 52 <para>This package contains programs for generating Make files from 53 a template. It is often needed to rebuild a package after updates54 t o the build procedures.</para>53 a template. It is often needed to rebuild a package after 54 the build procedure has been updated.</para> 55 55 </listitem> 56 56 … … 61 61 a Bourne Shell interface to the system. It was chosen over 62 62 other shell packages because of its common usage and extensive 63 capabilities beyond basic shell functions.</para>63 capabilities.</para> 64 64 </listitem> 65 65 … … 68 68 69 69 <para>This package provides an arbitrary precision numeric processing language. 70 It satisfies a requirement needed whenbuilding the Linux kernel.</para>70 It satisfies a requirement for building the Linux kernel.</para> 71 71 </listitem> 72 72 … … 74 74 <para>Binutils</para> 75 75 76 <para>This package contains a linker, an assembler, and other76 <para>This package supplies a linker, an assembler, and other 77 77 tools for handling object files. The programs in this package are 78 needed to compile most of the packages in an LFS system and beyond.</para>78 needed to compile most of the packages in an LFS system.</para> 79 79 </listitem> 80 80 … … 83 83 84 84 <para>This package contains the GNU version of yacc (Yet Another 85 Compiler Compiler) needed to build several o therLFS programs.</para>85 Compiler Compiler) needed to build several of the LFS programs.</para> 86 86 </listitem> 87 87 … … 96 96 <para>Check</para> 97 97 98 <para>This package contains a test harness for other programs.</para>98 <para>This package provides a test harness for other programs.</para> 99 99 </listitem> 100 100 … … 112 112 113 113 <para>This package contains programs to implement a message bus system, 114 whicha simple way for applications to talk to one another.114 a simple way for applications to talk to one another. 115 115 </para> 116 116 </listitem> … … 119 119 <para>DejaGNU</para> 120 120 121 <para>This package contains a framework for testing other programs.</para>121 <para>This package supplies a framework for testing other programs.</para> 122 122 </listitem> 123 123 … … 133 133 <para>E2fsprogs</para> 134 134 135 <para>This package contains theutilities for handling the ext2, ext3135 <para>This package supplies utilities for handling the ext2, ext3 136 136 and ext4 file systems. These are the most common and thoroughly 137 137 tested file systems that Linux supports.</para> … … 142 142 143 143 <para>This package is a device manager. It dynamically controls the ownership, 144 permissions, names, and symbolic links of devices in the /dev directory as145 devices are added or removed from the system.144 permissions, names, and symbolic links of devices in the /dev directory when 145 devices are added to or removed from the system. 146 146 </para> 147 147 </listitem> … … 150 150 <para>Expat</para> 151 151 152 <para>This package contains a relatively small XML parsing library. It152 <para>This package yields a relatively small XML parsing library. It 153 153 is required by the XML::Parser Perl module.</para> 154 154 </listitem> … … 172 172 <para>Findutils</para> 173 173 174 <para>This package contains programs to find files in a file system.174 <para>This package provides programs to find files in a file system. 175 175 It is used in many packages' build scripts.</para> 176 176 </listitem> … … 188 188 <para>Gawk</para> 189 189 190 <para>This package contains programs for manipulating text files.190 <para>This package supplies programs for manipulating text files. 191 191 It is the GNU version of awk (Aho-Weinberg-Kernighan). It is used in 192 192 many other packages' build scripts.</para> … … 196 196 <para>GCC</para> 197 197 198 <para>This packageis the Gnu Compiler Collection. It contains the198 <para>This is the Gnu Compiler Collection. It contains the 199 199 C and C++ compilers as well as several others not built by LFS. 200 200 </para> … … 211 211 <para>Gettext</para> 212 212 213 <para>This package contains utilities and libraries for214 internationalization and localization of numerouspackages.</para>213 <para>This package provides utilities and libraries for 214 the internationalization and localization of many packages.</para> 215 215 </listitem> 216 216 … … 225 225 <para>GMP</para> 226 226 227 <para>This package contains math libraries that provide useful functions228 for arbitrary precision arithmetic. It is required to build GCC.</para>227 <para>This package supplies math libraries that provide useful functions 228 for arbitrary precision arithmetic. It is needed to build GCC.</para> 229 229 </listitem> 230 230 … … 232 232 <para>Gperf</para> 233 233 234 <para>This package contains a program that generates a perfect hash235 function from a key set. It is required forEudev.</para>234 <para>This package produces a program that generates a perfect hash 235 function from a set of keys. It is required by Eudev.</para> 236 236 </listitem> 237 237 … … 246 246 <para>Groff</para> 247 247 248 <para>This package cont ains programs for processing and formatting text.248 <para>This package contributes programs for processing and formatting text. 249 249 One important function of these programs is to format man pages.</para> 250 250 </listitem> … … 253 253 <para>GRUB</para> 254 254 255 <para>This package is the Grand Unified Boot Loader. It is one256 of several boot loaders available, but is the most flexible.255 <para>This is the Grand Unified Boot Loader. It is 256 the most flexible of several boot loaders available. 257 257 </para> 258 258 </listitem> … … 262 262 263 263 <para>This package contains programs for compressing and 264 decompressing files. It is needed to decompress many packages in LFS265 and beyond.</para>264 decompressing files. It is needed to decompress many packages 265 in LFS.</para> 266 266 </listitem> 267 267 … … 276 276 <para>Inetutils</para> 277 277 278 <para>This package contains programs for basic network278 <para>This package supplies programs for basic network 279 279 administration.</para> 280 280 </listitem> … … 283 283 <para>Intltool</para> 284 284 285 <para>This package cont ains tools for extracting translatable285 <para>This package contributes tools for extracting translatable 286 286 strings from source files.</para> 287 287 </listitem> … … 305 305 <para>Kbd</para> 306 306 307 <para>This package contains key-table files, keyboard utilities307 <para>This package produces key-table files, keyboard utilities 308 308 for non-US keyboards, and a number of console fonts.</para> 309 309 </listitem> … … 312 312 <para>Kmod</para> 313 313 314 <para>This package contains programs needed to administer Linux314 <para>This package supplies programs needed to administer Linux 315 315 kernel modules.</para> 316 316 </listitem> … … 320 320 321 321 <para>This package contains a very nice text file viewer that 322 allows scrolling up or down when viewing a file. It is also used by323 Man-DB forviewing manpages.</para>322 allows scrolling up or down when viewing a file. It is also used 323 when viewing manpages.</para> 324 324 </listitem> 325 325 … … 358 358 <para>Libpipeline</para> 359 359 360 <para>The Libpipeline package contains a library for manipulating360 <para>The Libpipeline package supplies a library for manipulating 361 361 pipelines of subprocesses in a flexible and convenient way. It is 362 362 required by the Man-DB package.</para> … … 367 367 368 368 <para>This package contains the GNU generic library support 369 script. It wraps the complexity of using shared libraries in a369 script. It wraps the complexity of using shared libraries into a 370 370 consistent, portable interface. It is needed by the test 371 371 suites in other LFS packages.</para> … … 382 382 <para>M4</para> 383 383 384 <para>This package contains a general text macro processor useful384 <para>This package provides a general text macro processor useful 385 385 as a build tool for other programs.</para> 386 386 </listitem> … … 405 405 <para>This package contains programs for finding and viewing man pages. 406 406 It was chosen instead of the <application>man</application> package 407 due tosuperior internationalization capabilities. It supplies407 because of its superior internationalization capabilities. It supplies 408 408 the man program.</para> 409 409 </listitem> … … 412 412 <para>Man-pages</para> 413 413 414 <para>This package contains the actual contents of the basic414 <para>This package provides the actual contents of the basic 415 415 Linux man pages.</para> 416 416 </listitem> … … 420 420 421 421 <para>This package provides a software tool for automating the building 422 of software. The main goal forMeson is to minimize the amount of time423 that software developers need to spend configuring theirbuild422 of software. The main goal of Meson is to minimize the amount of time 423 that software developers need to spend configuring a build 424 424 system. It's required to build Systemd, as well as many BLFS 425 425 packages.</para> … … 430 430 <para>MPC</para> 431 431 432 <para>This package contains functions for the arithmetic ofcomplex432 <para>This package supplies arithmetic functions for complex 433 433 numbers. It is required by GCC.</para> 434 434 </listitem> … … 444 444 <para>Ninja</para> 445 445 446 <para>This package contains a small build system with a focus on speed.446 <para>This package furnishes a small build system with a focus on speed. 447 447 It is designed to have its input files generated by a higher-level build 448 448 system, and to run builds as fast as possible. … … 457 457 handling of character screens. It is often used to provide 458 458 cursor control for a menuing system. It is needed by a number of 459 packages in LFS.</para>459 the packages in LFS.</para> 460 460 </listitem> 461 461 … … 464 464 465 465 <para>This package provides management tools and libraries relating to 466 cryptography. These are useful for providingcryptographic functions to466 cryptography. These supply cryptographic functions to 467 467 other packages, including the Linux kernel.</para> 468 468 </listitem> … … 503 503 <para>Psmisc</para> 504 504 505 <para>This package contains programs for displaying information505 <para>This package produces programs for displaying information 506 506 about running processes. These programs are useful for system 507 507 administration.</para> … … 512 512 513 513 <para>This package provides an interpreted language that has a design 514 philosophy that emphasizescode readability.</para>514 philosophy emphasizing code readability.</para> 515 515 516 516 </listitem> … … 519 519 <para>Readline</para> 520 520 521 <para>This package is a set of libraries that offer scommand-line521 <para>This package is a set of libraries that offer command-line 522 522 editing and history capabilities. It is used by Bash.</para> 523 523 </listitem> … … 527 527 528 528 <para>This package allows editing of text without opening it in a 529 text editor. It is also needed by m ostLFS packages' configure529 text editor. It is also needed by many LFS packages' configure 530 530 scripts.</para> 531 531 </listitem> … … 535 535 536 536 <para>This package contains programs for handling passwords 537 in a secure way.</para>537 securely.</para> 538 538 </listitem> 539 539 … … 541 541 <para>Sysklogd</para> 542 542 543 <para>This package contains programs for logging system messages,544 such as those givenby the kernel or daemon processes when unusual543 <para>This package supplies programs for logging system messages, 544 such as those emitted by the kernel or daemon processes when unusual 545 545 events occur.</para> 546 546 </listitem> … … 551 551 <para>This package provides an <application>init</application> program 552 552 and several additional boot and system control capabilities as an 553 alternative to Sysvinit. It is used by many commercialdistributions.553 alternative to Sysvinit. It is used by many Linux distributions. 554 554 </para> 555 555 </listitem> … … 559 559 560 560 <para>This package provides the <application>init</application> 561 program, which is the parent of all other processes on theLinux561 program, the parent of all the other processes on a running Linux 562 562 system. </para> 563 563 </listitem> … … 567 567 568 568 <para>This package provides archiving and extraction capabilities 569 of virtually all packages used in LFS.</para>569 of virtually all the packages used in LFS.</para> 570 570 </listitem> 571 571 … … 574 574 575 575 <para>This package contains the Tool Command Language used 576 in many test suites in LFS packages.</para>576 in many test suites.</para> 577 577 </listitem> 578 578 … … 580 580 <para>Texinfo</para> 581 581 582 <para>This package contains programs for reading, writing, and582 <para>This package supplies programs for reading, writing, and 583 583 converting info pages. It is used in the installation 584 584 procedures of many LFS packages.</para> … … 594 594 595 595 <listitem> 596 <para>Wheel</para>597 598 <para>This package contains a Python module that is the599 reference implementation of the Python wheel packaging standard.600 </para>601 </listitem>602 603 <listitem>604 596 <para>Vim</para> 605 597 606 <para>This package contains an editor. It was chosen because of its598 <para>This package provides an editor. It was chosen because of its 607 599 compatibility with the classic vi editor and its huge number of powerful 608 600 capabilities. An editor is a very personal choice for 609 many users and any other editor could be substituted if desired.</para> 601 many users. Any other editor can be substituted, if you wish.</para> 602 </listitem> 603 604 <listitem> 605 <para>Wheel</para> 606 607 <para>This package supplies a Python module that is the 608 reference implementation of the Python wheel packaging standard. 609 </para> 610 610 </listitem> 611 611 … … 634 634 <para>Zstd</para> 635 635 636 <para>This package contains compression and decompression routines636 <para>This package supplies compression and decompression routines 637 637 used by some programs. It provides high compression ratios and a very 638 638 wide range of compression / speed trade-offs.</para>
Note:
See TracChangeset
for help on using the changeset viewer.