Changeset 663ecfc
- Timestamp:
- 06/29/2005 04:24:16 PM (19 years ago)
- Branches:
- 10.0, 10.0-rc1, 10.1, 10.1-rc1, 11.0, 11.0-rc1, 11.0-rc2, 11.0-rc3, 11.1, 11.1-rc1, 11.2, 11.2-rc1, 11.3, 11.3-rc1, 12.0, 12.0-rc1, 12.1, 12.1-rc1, 6.3, 6.4, 6.5, 6.6, 6.7, 6.8, 7.0, 7.1, 7.2, 7.3, 7.4, 7.5, 7.5-systemd, 7.6, 7.6-systemd, 7.7, 7.7-systemd, 7.8, 7.8-systemd, 7.9, 7.9-systemd, 8.0, 8.1, 8.2, 8.3, 8.4, 9.0, 9.1, arm, bdubbs/gcc13, ml-11.0, multilib, renodr/libudev-from-systemd, s6-init, trunk, xry111/arm64, xry111/arm64-12.0, xry111/clfs-ng, xry111/lfs-next, xry111/loongarch, xry111/loongarch-12.0, xry111/loongarch-12.1, xry111/mips64el, xry111/pip3, xry111/rust-wip-20221008, xry111/update-glibc
- Children:
- ab1a271
- Parents:
- 2ec0d20
- Files:
-
- 24 edited
Legend:
- Unmodified
- Added
- Removed
-
chapter01/administrativa.xml
r2ec0d20 r663ecfc 30 30 </sect2> 31 31 32 <para>The mailing lists hosted at <uri>linuxfromscratch.org</uri> are 33 also accessible via the Network News Transfer Protocol (NNTP) server. 34 All messages posted to a mailing list are copied to the corresponding 35 newsgroup, and vice versa.</para> 36 37 <para>The news server is located at 38 <uri>news.linuxfromscratch.org</uri>.</para> 39 </sect2> 40 32 41 <sect2 id="ch-scatter-irc"> 33 42 <title>IRC</title> … … 43 52 <sect2 id="ch-scatter-newsserver"> 44 53 <title>News Server</title> 45 46 <para>The mailing lists hosted at <uri>linuxfromscratch.org</uri> are47 also accessible via the Network News Transfer Protocol (NNTP) server.48 All messages posted to a mailing list are copied to the corresponding49 newsgroup, and vice versa.</para>50 51 <para>The news server is located at52 <uri>news.linuxfromscratch.org</uri>.</para>53 </sect2>54 54 55 55 <sect2 id="ch-scatter-wiki"> -
chapter01/askforhelp.xml
r2ec0d20 r663ecfc 16 16 17 17 <para>We also have a wonderful LFS community that is willing to offer 18 assistance through IRC and the mailing lists(see the <xref18 assistance through the mailing lists and IRC (see the <xref 19 19 linkend="ch-scatter-administrativa"/> section of this book). In order 20 20 to assist with diagnosing and solving the problem, please include -
chapter01/changelog.xml
r2ec0d20 r663ecfc 11 11 12 12 <para>This is version &version; of the Linux From Scratch book, dated 13 &releasedate;. If this book is more than two months old, a newer and better14 version is probably already available. To find out, please check one of the 15 mirrors via <ulink url="&lfs-root;"/>.</para>13 &releasedate;. If this book is more than four to six months old, a newer and 14 better version is probably already available. To find out, please check one of 15 the mirrors via <ulink url="&lfs-root;"/>.</para> 16 16 17 17 <para>Below is a list of changes made since the previous release of the book. -
chapter01/how.xml
r2ec0d20 r663ecfc 30 30 patches need to be downloaded to build an LFS system and how to store 31 31 them on the new file system. <xref linkend="chapter-final-preps"/> 32 discusses the setup for an appropriate work environment. Please read32 discusses the setup for an appropriate working environment. Please read 33 33 <xref linkend="chapter-final-preps"/> carefully as it explains several 34 34 important issues the developer should be aware of before beginning to … … 55 55 </para> 56 56 57 <para>While this may initially seem like a lot of work to get away58 from a host distribution, a full technical explanation is provided at59 thebeginning of <xref linkend="chapter-temporary-tools"/>.</para>57 <para>While this may initially seem like a lot of work to isolate the new system 58 from the host distribution, a full technical explanation is provided at the 59 beginning of <xref linkend="chapter-temporary-tools"/>.</para> 60 60 61 61 <para>In <xref linkend="chapter-building-system"/>, the full LFS system is 62 built. The chroot(change root) program is used to enter a virtual62 built. The <command>chroot</command> (change root) program is used to enter a virtual 63 63 environment and start a new shell whose root directory will be set to 64 64 the LFS partition. This is very similar to rebooting and instructing 65 65 the kernel to mount the LFS partition as the root partition. The 66 system does not actually reboot, but instead chroots because creating a66 system does not actually reboot, but instead <command>chroot</command>'s because creating a 67 67 bootable system requires additional work which is not necessary just 68 68 yet. The major advantage is that <quote>chrooting</quote> allows the … … 83 83 step is discussed in the following chapters and package descriptions. 84 84 Items that may seem complicated will be clarified, and everything will 85 fall into place as the developer embarks on the LFS adventure.</para>85 fall into place as the reader embarks on the LFS adventure.</para> 86 86 87 87 </sect1> -
chapter02/creatingpartition.xml
r2ec0d20 r663ecfc 23 23 the packages. However, if the LFS system is intended to be the primary 24 24 Linux system, additional software will probably be installed which 25 will require additional space (2 or3 GB). The LFS system itself will25 will require additional space (2-3 GB). The LFS system itself will 26 26 not take up this much room. A large portion of this requirement 27 27 is to provide sufficient free temporary storage. Compiling -
chapter03/introduction.xml
r2ec0d20 r663ecfc 8 8 <?dbhtml filename="introduction.html"?> 9 9 10 <para>This chapter includes a list of packages that need to be 11 downloaded for building a basic Linux system. The listed version numbers 12 correspond to versions of the software that are known to work, and 13 this book is based on their use. We highly recommend not using newer 14 versions because the build commands for one version may not work with 15 a newer version. The newest package versions may also have problems 16 that work-arounds have not been developed for yet.</para> 17 18 <para>All the URLs, when possible, refer to the package's information 19 page at <ulink url="http://www.freshmeat.net/"/>. The Freshmeat pages 20 provide easy access to official download sites, as well as project 21 websites, mailing lists, FAQ, changelogs, and more.</para> 10 <para>This chapter includes a list of packages that need to be downloaded for 11 building a basic Linux system. The listed version numbers correspond to versions 12 of the software that are known to work, and this book is based on their use. We 13 highly recommend not using newer versions because the build commands for one 14 version may not work with a newer version. The newest package versions may also 15 have problems that require work-arounds. These work-arounds will be developed 16 and stabilized in the SVN version of the book.</para> 22 17 23 18 <para>Download locations may not always be accessible. If a download 24 19 location has changed since this book was published, Google (<ulink 25 url="http://www.google.com "/>) provides a useful search engine for20 url="http://www.google.com/"/>) provides a useful search engine for 26 21 most packages. If this search is unsuccessful, try one of the 27 22 alternate means of downloading discussed at <ulink -
chapter04/aboutsbus.xml
r2ec0d20 r663ecfc 30 30 31 31 <para>In general, SBUs are not entirely accurate because they depend on many 32 factors, not just the GCC version. Note that on Symmetric Multi-Processor 33 (SMP)-based machines, SBUs are even less accurate. They are provided here to 34 give an estimate of how long it might take to install a package, but the numbers 35 can vary by as much as dozens of minutes in some cases.</para> 32 factors, including the host system's version of GCC. Note that on Symmetric 33 Multi-Processor (SMP)-based machines, SBUs are even less accurate. They are 34 provided here to give an estimate of how long it might take to install a 35 package, but the numbers can vary by as much as dozens of minutes in some 36 cases.</para> 36 37 37 38 <para>To view actual timings for a number of specific machines, we recommend -
chapter04/abouttestsuites.xml
r2ec0d20 r663ecfc 42 42 linkend="chapter-temporary-tools"/>.</para> 43 43 44 <para>Sometimes package test suites will give false failures. Consult the logs 45 located at <ulink url="&test-results;"/> to verify whether or not these failures 46 are expected. This site is valid for all tests throughout this book.</para> 44 <para>Sometimes package test suites will fail, but for reasons which the 45 developers are aware of and have deemed non-critical. Consult the logs located 46 at <ulink url="&test-results;"/> to verify whether or not these failures are 47 expected. This site is valid for all tests throughout this book.</para> 47 48 48 49 </sect1> -
chapter04/addinguser.xml
r2ec0d20 r663ecfc 8 8 <?dbhtml filename="addinguser.html"?> 9 9 10 <para>When logged in as user <emphasis>root</emphasis>, making a 11 single mistake can damage or destroy a system. Therefore, we recommend 12 building the packages in this chapter as an unprivileged user. You 13 could use your own user name, but to make it easier to set up a clean 14 work environment, create a new user called <emphasis>lfs</emphasis> as 15 a member of a new group (also named <emphasis>lfs</emphasis>) and use 16 this user during the installation process. As 10 <para>When logged in as user <emphasis>root</emphasis>, making a single mistake 11 can damage or destroy a system. Therefore, we recommend building the packages in 12 this chapter as an unprivileged user. You could use your own user name, but to 13 make it easier to set up a clean working environment, create a new user called 14 <emphasis>lfs</emphasis> as a member of a new group (also named 15 <emphasis>lfs</emphasis>) and use this user during the installation process. As 17 16 <emphasis>root</emphasis>, issue the following commands to add the new 18 17 user:</para> … … 84 83 85 84 <para>The <quote><parameter>-</parameter></quote> instructs 86 <command>su</command> to start a login shell as opposed to a non-login 87 shell. The difference between these two types of shells can be found 88 in detail in the Bash man and info pages.</para>85 <command>su</command> to start a login shell as opposed to a non-login shell. 86 The difference between these two types of shells can be found in detail in the 87 <command>man</command> and <command>info</command> pages for Bash.</para> 89 88 90 89 </sect1> -
chapter04/creatingtoolsdir.xml
r2ec0d20 r663ecfc 31 31 <screen><userinput>ln -s $LFS/tools /</userinput></screen> 32 32 33 <note><para>The above command is correct. The <command>ln</command> 34 command has a few syntactic variations, so be sure to check the info 35 and manpages before reporting what you may think is an33 <note><para>The above command is correct. The <command>ln</command> command has 34 a few syntactic variations, so be sure to check the <command>info</command> and 35 <command>man</command> pages before reporting what you may think is an 36 36 error.</para></note> 37 37 -
chapter04/settingenviron.xml
r2ec0d20 r663ecfc 77 77 everything will work as expected in the chroot environment.</para> 78 78 79 <para>By putting <filename class="directory">/tools/bin</filename> 80 ahead of the standard <envar>PATH</envar>, all the programs installed in <xref 81 linkend="chapter-temporary-tools"/> are picked up by the shell 82 immediately after their installation. This, combined with turning off 83 hashing, limits the risk that old programs from 84 the host are being used when they should not be used any 85 longer.</para> 79 <para>By putting <filename class="directory">/tools/bin</filename> ahead of the 80 standard <envar>PATH</envar>, all the programs installed in <xref 81 linkend="chapter-temporary-tools"/> are picked up by the shell immediately after 82 their installation. This, combined with turning off hashing, limits the risk 83 that old programs are used from the host when the same programs are available in 84 the chapter 5 environment.</para> 86 85 87 86 <para>Finally, to have the environment fully prepared for building the -
chapter05/expect.xml
r2ec0d20 r663ecfc 56 56 <listitem><para>This explicitly tells Expect where to find Tcl's source 57 57 directory and internal headers. Using this option avoids conditions 58 where <command>configure</command> fails because it hasn't automatically59 discover edthe location of the Tcl source directory.</para></listitem>58 where <command>configure</command> fails because it cannot automatically 59 discover the location of the Tcl source directory.</para></listitem> 60 60 </varlistentry> 61 61 … … 64 64 <listitem><para>This tells the configure script not to search for Tk 65 65 (the Tcl GUI component) or the X Window System libraries, both of 66 which may reside on the host system.</para></listitem> 66 which may reside on the host system but will not exist in the temporary 67 environment.</para></listitem> 67 68 </varlistentry> 68 69 </variablelist> -
chapter05/gawk.xml
r2ec0d20 r663ecfc 38 38 <screen><userinput>make</userinput></screen> 39 39 40 <para>To test the results (not necessary), issue: <userinput>make40 <para>To test the results, issue: <userinput>make 41 41 check</userinput>.</para> 42 42 -
chapter05/gettext.xml
r2ec0d20 r663ecfc 48 48 <varlistentry> 49 49 <term><parameter>--without-csharp</parameter></term> 50 <listitem><para>This tells Gettext not to use a C# compiler, even if a 51 C# compiler is installed on the host. This needs to be done because 52 once we enter the chroot environment, C# will no longer be 53 available.</para></listitem> 50 <listitem><para>This ensures that Gettext does not build support for the C# 51 compiler which may be present on the host but will not be available once we 52 enter the chroot environment.</para></listitem> 54 53 </varlistentry> 55 54 </variablelist> -
chapter05/glibc.xml
r2ec0d20 r663ecfc 105 105 </varlistentry> 106 106 107 <!-- Edit Me -->108 107 <varlistentry> 109 108 <term><parameter>--without-selinux</parameter></term> 110 <listitem><para>When building from hosts using SELinux functionality 111 (i.e. Fedora Core 3), Glibc will try to integrate this functionality into 112 itself, but will fail, because we do not have this functionality in the LFS 113 tools environment. This option will disable this, allowing Glibc to build 114 correctly, but will not otherwise affect the build.</para></listitem> 115 </varlistentry> 116 <!-- --> 109 <listitem><para>When building from hosts that include SELinux functionality 110 (e.g. Fedora Core 3), Glibc will build with support for SELinux. As the LFS 111 tools environment does not contain support for SELinux, a Glibc compiled with 112 such support will fail to operate correctly.</para></listitem> 113 </varlistentry> 117 114 </variablelist> 118 115 -
chapter05/grep.xml
r2ec0d20 r663ecfc 40 40 <varlistentry> 41 41 <term><parameter>--disable-perl-regexp</parameter></term> 42 <listitem><para>This makes sure that the <command>grep</command> 43 program does not get linked against a Perl Compatible Regular 44 Expression (PCRE) library that may be present on the host and would 45 not be available once we enter the chroot 42 <listitem><para>This ensures that the <command>grep</command> program does not 43 get linked against a Perl Compatible Regular Expression (PCRE) library that may 44 be present on the host but will not be available once we enter the chroot 46 45 environment.</para></listitem> 47 46 </varlistentry> -
chapter05/ncurses.xml
r2ec0d20 r663ecfc 40 40 <varlistentry> 41 41 <term><parameter>--without-ada</parameter></term> 42 <listitem><para>This tells Ncurses not to build its Ada bindings, even 43 if an Ada compiler is installed on the host. This needs to be done 44 because once we enter the chroot environment, Ada will no longer be 45 available.</para></listitem> 42 <listitem><para>This ensures that Ncurses does not build support for the ada 43 compiler which may be present on the host but will not be available once we 44 enter the chroot environment.</para></listitem> 46 45 </varlistentry> 47 46 -
chapter05/perl.xml
r2ec0d20 r663ecfc 51 51 </variablelist> 52 52 53 <para>Compile only the required tools:</para> 53 <para>Only a few of the utilities contained in this package need to be 54 built:</para> 54 55 55 56 <screen><userinput>make perl utilities</userinput></screen> … … 61 62 be run in the next chapter if desired.</para> 62 63 63 <para> Copythese tools and their libraries:</para>64 <para>Install these tools and their libraries:</para> 64 65 65 66 <screen><userinput>cp perl pod/pod2man /tools/bin -
chapter05/tcl.xml
r2ec0d20 r663ecfc 58 58 Greenwich Mean Time (GMT), but only for the duration of the test suite 59 59 run. This ensures that the clock tests are exercised correctly. 60 Details on the <envar>TZ</envar> environment variable isprovided in60 Details on the <envar>TZ</envar> environment variable are provided in 61 61 <xref linkend="chapter-bootscripts"/>.</para> 62 62 -
chapter05/toolchaintechnotes.xml
r2ec0d20 r663ecfc 14 14 section can be referred back to at any time during the process.</para> 15 15 16 <para>The overall goal of <xref linkend="chapter-temporary-tools"/> is 17 to provide a temporary environment that can be chrooted into and from 18 which can be produced a clean, trouble-free build of the target LFS 19 system in <xref linkend="chapter-building-system"/>. Along the way, we 20 separate from the host system as much as possible, and in doing so, 21 build a self-contained and self-hosted toolchain. It should be noted 22 that the build process has been designed to minimize the risks for new 23 readers and provide maximum educational value at the same time. In 24 other words, more advanced techniques could be used to build the 25 system.</para> 16 <para>The overall goal of <xref linkend="chapter-temporary-tools"/> is to 17 provide a temporary environment that can be chrooted into and from which can be 18 produced a clean, trouble-free build of the target LFS system in <xref 19 linkend="chapter-building-system"/>. Along the way, we separate the new system 20 from the host system as much as possible, and in doing so, build a 21 self-contained and self-hosted toolchain. It should be noted that the build 22 process has been designed to minimize the risks for new readers and provide 23 maximum educational value at the same time.</para> 26 24 27 25 <important> -
chapter05/util-linux.xml
r2ec0d20 r663ecfc 30 30 <title>Installation of Util-linux</title> 31 31 32 <para>Util-linux does not use the freshly installed headers and 33 libraries from the <filename class="directory">/tools</filename> 34 directory. This isfixed by altering the configure script:</para>32 <para>Util-linux does not use the freshly installed headers and libraries from 33 the <filename class="directory">/tools</filename> directory by default. This is 34 fixed by altering the configure script:</para> 35 35 36 36 <screen><userinput>sed -i 's@/usr/include@/tools/include@g' configure</userinput></screen> … … 44 44 <screen><userinput>make -C lib</userinput></screen> 45 45 46 <para> Since only a couple of the utilities contained in this package47 are needed, build only those:</para>46 <para>Only a few of the utilities contained in this package need to be 47 built:</para> 48 48 49 49 <screen><userinput>make -C mount mount umount -
chapter06/gettext.xml
r2ec0d20 r663ecfc 14 14 <sect2 role="package"><title/> 15 15 <para>The Gettext package contains utilities for internationalization and 16 localization. These allow programs to be compiled with NLS , enabling them17 to output messages in the user's native language.</para>16 localization. These allow programs to be compiled with NLS (Native Language 17 Support), enabling them to output messages in the user's native language.</para> 18 18 19 19 <segmentedlist> -
prologue/audience.xml
r2ec0d20 r663ecfc 9 9 10 10 <para>There are many reasons why somebody would want to read this 11 book. The principle reason is to install a Linux system straight11 book. The principle reason is to install a Linux system 12 12 from the source code. A question many people raise is, <quote>why go 13 13 through all the hassle of manually building a Linux system from … … 33 33 Linux system. When installing a regular distribution, one is often 34 34 forced to include several programs which are probably never used. 35 These programs waste preciousdisk space, or worse, CPU cycles. It is35 These programs waste disk space, or worse, CPU cycles. It is 36 36 not difficult to build an LFS system of less than 100 megabytes (MB), 37 which is substantially smaller when compared tothe majority of existing installations. Does37 which is substantially smaller than the majority of existing installations. Does 38 38 this still sound like a lot of space? A few of us have been working on 39 39 creating a very small embedded LFS system. We successfully built a -
prologue/foreword.xml
r2ec0d20 r663ecfc 12 12 discovered issues I definitely would have liked to see improved upon. 13 13 For example, I didn't like the arrangement of the bootscripts or the way 14 programs were configured by default. I tried a number of alternat e14 programs were configured by default. I tried a number of alternative 15 15 distributions to address these issues, yet each had its pros and cons. 16 16 Finally, I realized that if I wanted full satisfaction from my Linux … … 48 48 the benefits of using this system. Users can dictate all aspects of 49 49 their system, including directory layout, script setup, and security. 50 The resulting system will be compiled straightfrom the source code,50 The resulting system will be compiled completely from the source code, 51 51 and the user will be able to specify where, why, and how programs are 52 52 installed. This book allows readers to fully customize Linux systems
Note:
See TracChangeset
for help on using the changeset viewer.