- Timestamp:
- 10/18/2022 08:31:34 AM (2 years ago)
- Branches:
- xry111/arm64, xry111/arm64-12.0
- Children:
- 2dc81d4
- Parents:
- 04ca2a7 (diff), 0f9c02a (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
r04ca2a7 rcdc04a1 14 14 called AArch64) CPUs. On the other hand, the instructions in this book may 15 15 work on 32-bit ARM CPUs with some modifications. To build a system that 16 utilizes one of these CPUs, the main prerequisite, in addition to those on 16 utilizes one of these alternative CPUs, the main prerequisite, in 17 addition to those on 17 18 the next page, is an existing Linux system such as an earlier LFS 18 19 installation, Ubuntu, Red Hat/Fedora, SuSE, or other distribution that … … 24 25 applications twice, once for a 32-bit system and once for a 64-bit system. 25 26 This is not directly supported in LFS because it would interfere with the 26 educational objective of providing the instructions needed for a27 straightforward base Linux system. Some LFS/BLFS editors maintain afork28 of LFS for multilib, which isaccessible at <ulink27 educational objective of providing the minimal instructions needed for a 28 base Linux system. Some LFS/BLFS editors maintain a multilib fork 29 of LFS, accessible at <ulink 29 30 url="https://www.linuxfromscratch.org/~thomas/multilib/index.html"/>. But 30 31 the multilib edition is for x86_64, and multilib is an advanced topic -
prologue/audience.xml
r04ca2a7 rcdc04a1 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
r04ca2a7 rcdc04a1 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
r04ca2a7 rcdc04a1 32 32 Standard Base (LSB) Version 5.0 (2015)</ulink></para> 33 33 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 34 <para>The LSB has four separate specifications: Core, Desktop, 35 Runtime Languages, and Imaging. Some parts of Core and Desktop 36 specifications are architecture specific. There are also two trial 37 specifications: Gtk3 and Graphics. LFS attempts to conform to the LSB 38 specifications for the IA32 (32-bit x86) or AMD64 (x86_64) 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
r04ca2a7 rcdc04a1 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 device s in the /dev directory as145 devices are added or removed from the system.144 permissions, names, and symbolic links of device nodes 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 hash 235 function from a key set. It is required for Eudev.</para> 234 <para>This package produces a program that generates a perfect hash 235 function from a set of keys. It is required by 236 <phrase revision='sysv'>Eudev</phrase> 237 <phrase revision='systemd'>Systemd</phrase>.</para> 236 238 </listitem> 237 239 … … 246 248 <para>Groff</para> 247 249 248 <para>This package cont ains programs for processing and formatting text.250 <para>This package contributes programs for processing and formatting text. 249 251 One important function of these programs is to format man pages.</para> 250 252 </listitem> … … 253 255 <para>GRUB</para> 254 256 255 <para>This package is the Grand Unified Boot Loader. It is one256 of several boot loaders available, but is the most flexible.257 <para>This is the Grand Unified Boot Loader. It is 258 the most flexible of several boot loaders available. 257 259 </para> 258 260 </listitem> … … 262 264 263 265 <para>This package contains programs for compressing and 264 decompressing files. It is needed to decompress many packages in LFS265 and beyond.</para>266 decompressing files. It is needed to decompress many packages 267 in LFS.</para> 266 268 </listitem> 267 269 … … 276 278 <para>Inetutils</para> 277 279 278 <para>This package contains programs for basic network280 <para>This package supplies programs for basic network 279 281 administration.</para> 280 282 </listitem> … … 283 285 <para>Intltool</para> 284 286 285 <para>This package cont ains tools for extracting translatable287 <para>This package contributes tools for extracting translatable 286 288 strings from source files.</para> 287 289 </listitem> … … 305 307 <para>Kbd</para> 306 308 307 <para>This package contains key-table files, keyboard utilities309 <para>This package produces key-table files, keyboard utilities 308 310 for non-US keyboards, and a number of console fonts.</para> 309 311 </listitem> … … 312 314 <para>Kmod</para> 313 315 314 <para>This package contains programs needed to administer Linux316 <para>This package supplies programs needed to administer Linux 315 317 kernel modules.</para> 316 318 </listitem> … … 320 322 321 323 <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 for viewing manpages.</para>324 allows scrolling up or down when viewing a file. 325 Many packages use it for paging the output.</para> 324 326 </listitem> 325 327 … … 358 360 <para>Libpipeline</para> 359 361 360 <para>The Libpipeline package contains a library for manipulating362 <para>The Libpipeline package supplies a library for manipulating 361 363 pipelines of subprocesses in a flexible and convenient way. It is 362 364 required by the Man-DB package.</para> … … 367 369 368 370 <para>This package contains the GNU generic library support 369 script. It wraps the complexity of using shared libraries in a371 script. It wraps the complexity of using shared libraries into a 370 372 consistent, portable interface. It is needed by the test 371 373 suites in other LFS packages.</para> … … 382 384 <para>M4</para> 383 385 384 <para>This package contains a general text macro processor useful386 <para>This package provides a general text macro processor useful 385 387 as a build tool for other programs.</para> 386 388 </listitem> … … 405 407 <para>This package contains programs for finding and viewing man pages. 406 408 It was chosen instead of the <application>man</application> package 407 due tosuperior internationalization capabilities. It supplies409 because of its superior internationalization capabilities. It supplies 408 410 the man program.</para> 409 411 </listitem> … … 412 414 <para>Man-pages</para> 413 415 414 <para>This package contains the actual contents of the basic416 <para>This package provides the actual contents of the basic 415 417 Linux man pages.</para> 416 418 </listitem> … … 420 422 421 423 <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 theirbuild424 of software. The main goal of Meson is to minimize the amount of time 425 that software developers need to spend configuring a build 424 426 system. It's required to build Systemd, as well as many BLFS 425 427 packages.</para> … … 430 432 <para>MPC</para> 431 433 432 <para>This package contains functions for the arithmetic ofcomplex434 <para>This package supplies arithmetic functions for complex 433 435 numbers. It is required by GCC.</para> 434 436 </listitem> … … 444 446 <para>Ninja</para> 445 447 446 <para>This package contains a small build system with a focus on speed.448 <para>This package furnishes a small build system with a focus on speed. 447 449 It is designed to have its input files generated by a higher-level build 448 450 system, and to run builds as fast as possible. … … 457 459 handling of character screens. It is often used to provide 458 460 cursor control for a menuing system. It is needed by a number of 459 packages in LFS.</para>461 the packages in LFS.</para> 460 462 </listitem> 461 463 … … 464 466 465 467 <para>This package provides management tools and libraries relating to 466 cryptography. These are useful for providingcryptographic functions to468 cryptography. These supply cryptographic functions to 467 469 other packages, including the Linux kernel.</para> 468 470 </listitem> … … 503 505 <para>Psmisc</para> 504 506 505 <para>This package contains programs for displaying information507 <para>This package produces programs for displaying information 506 508 about running processes. These programs are useful for system 507 509 administration.</para> … … 512 514 513 515 <para>This package provides an interpreted language that has a design 514 philosophy that emphasizescode readability.</para>516 philosophy emphasizing code readability.</para> 515 517 516 518 </listitem> … … 519 521 <para>Readline</para> 520 522 521 <para>This package is a set of libraries that offer scommand-line523 <para>This package is a set of libraries that offer command-line 522 524 editing and history capabilities. It is used by Bash.</para> 523 525 </listitem> … … 527 529 528 530 <para>This package allows editing of text without opening it in a 529 text editor. It is also needed by m ostLFS packages' configure531 text editor. It is also needed by many LFS packages' configure 530 532 scripts.</para> 531 533 </listitem> … … 535 537 536 538 <para>This package contains programs for handling passwords 537 in a secure way.</para>539 securely.</para> 538 540 </listitem> 539 541 … … 541 543 <para>Sysklogd</para> 542 544 543 <para>This package contains programs for logging system messages,544 such as those givenby the kernel or daemon processes when unusual545 <para>This package supplies programs for logging system messages, 546 such as those emitted by the kernel or daemon processes when unusual 545 547 events occur.</para> 546 548 </listitem> … … 551 553 <para>This package provides an <application>init</application> program 552 554 and several additional boot and system control capabilities as an 553 alternative to Sysvinit. It is used by many commercialdistributions.555 alternative to Sysvinit. It is used by many Linux distributions. 554 556 </para> 555 557 </listitem> … … 559 561 560 562 <para>This package provides the <application>init</application> 561 program, which is the parent of all other processes on theLinux563 program, the parent of all the other processes on a running Linux 562 564 system. </para> 563 565 </listitem> … … 567 569 568 570 <para>This package provides archiving and extraction capabilities 569 of virtually all packages used in LFS.</para>571 of virtually all the packages used in LFS.</para> 570 572 </listitem> 571 573 … … 574 576 575 577 <para>This package contains the Tool Command Language used 576 in many test suites in LFS packages.</para>578 in many test suites.</para> 577 579 </listitem> 578 580 … … 580 582 <para>Texinfo</para> 581 583 582 <para>This package contains programs for reading, writing, and584 <para>This package supplies programs for reading, writing, and 583 585 converting info pages. It is used in the installation 584 586 procedures of many LFS packages.</para> … … 594 596 595 597 <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 598 <para>Vim</para> 605 599 606 <para>This package contains an editor. It was chosen because of its600 <para>This package provides an editor. It was chosen because of its 607 601 compatibility with the classic vi editor and its huge number of powerful 608 602 capabilities. An editor is a very personal choice for 609 many users and any other editor could be substituted if desired.</para> 603 many users. Any other editor can be substituted, if you wish.</para> 604 </listitem> 605 606 <listitem> 607 <para>Wheel</para> 608 609 <para>This package supplies a Python module that is the 610 reference implementation of the Python wheel packaging standard. 611 </para> 610 612 </listitem> 611 613 … … 634 636 <para>Zstd</para> 635 637 636 <para>This package contains compression and decompression routines638 <para>This package supplies compression and decompression routines 637 639 used by some programs. It provides high compression ratios and a very 638 640 wide range of compression / speed trade-offs.</para>
Note:
See TracChangeset
for help on using the changeset viewer.