source: chapter03/introduction.xml@ b6a67d37

11.3 11.3-rc1 12.0 12.0-rc1 12.1 12.1-rc1 bdubbs/gcc13 multilib renodr/libudev-from-systemd trunk xry111/arm64 xry111/arm64-12.0 xry111/clfs-ng xry111/loongarch xry111/loongarch-12.0 xry111/loongarch-12.1 xry111/mips64el xry111/pip3 xry111/rust-wip-20221008 xry111/update-glibc
Last change on this file since b6a67d37 was b6a67d37, checked in by David Bryant <davidbryant@…>, 19 months ago

Clean up English idiom / grammar in chapter 3.1 (Introduction).
(Note that "errata" are plural; "erratum" is the singular nun.)

  • Property mode set to 100644
File size: 4.8 KB
RevLine 
[673b0d8]1<?xml version="1.0" encoding="ISO-8859-1"?>
[b06ca36]2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3 "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
[673b0d8]4 <!ENTITY % general-entities SYSTEM "../general.ent">
5 %general-entities;
6]>
[b0ed1af]7
[afcfd74]8<sect1 id="ch-materials-introduction">
[b0ed1af]9 <?dbhtml filename="introduction.html"?>
10
11 <title>Introduction</title>
12
[9ff39e28]13 <para>This chapter includes a list of packages that need to be downloaded in
14 order to build a basic Linux system. The listed version numbers correspond to
15 versions of the software that are known to work, and this book is based on
[b6a67d37]16 their use. We highly recommend against using different versions, because the build
[b0a6b0c]17 commands for one version may not work with a different version, unless the
[b6a67d37]18 different version is specified by an LFS erratum or security advisory.
[b0a6b0c]19 The newest package versions may also have problems that require
20 work-arounds. These work-arounds will be developed and stabilized in the
21 development version of the book.</para>
[b0ed1af]22
[188fba7]23 <para>For some packages, the release tarball and the (Git or SVN)
[b6a67d37]24 repository snapshot tarball for that release may be published with
25 similar file names. A release tarball contains generated files (for
26 example, a <command>configure</command> script generated by
[188fba7]27 <command>autoconf</command>), in addition to the contents of the
28 corresponding repository snapshot. The book uses release tarballs
29 whenever possible. Using a repository snapshot instead of a release
30 tarball specified by the book will cause problems.</para>
31
[b0ed1af]32 <para>Download locations may not always be accessible. If a download
33 location has changed since this book was published, Google (<ulink
[fb66c4c]34 url="https://www.google.com/"/>) provides a useful search engine for
[b0ed1af]35 most packages. If this search is unsuccessful, try one of the
[fbedef5]36 alternative means of downloading at <ulink
37 url="&lfs-root;lfs/mirrors.html#files"/>. </para>
[b0ed1af]38
39 <para>Downloaded packages and patches will need to be stored somewhere
40 that is conveniently available throughout the entire build. A working
41 directory is also required to unpack the sources and build them.
42 <filename class="directory">$LFS/sources</filename> can be used both
43 as the place to store the tarballs and patches and as a working
44 directory. By using this directory, the required elements will be
45 located on the LFS partition and will be available during all stages
46 of the building process.</para>
47
[9ff39e28]48 <para>To create this directory, execute the following command, as user
49 <systemitem class="username">root</systemitem>, before starting the download
50 session:</para>
[673b0d8]51
[5998892]52<screen role="nodump"><userinput>mkdir -v $LFS/sources</userinput></screen>
[673b0d8]53
[b0ed1af]54 <para>Make this directory writable and sticky. <quote>Sticky</quote>
55 means that even if multiple users have write permission on a
56 directory, only the owner of a file can delete the file within a
57 sticky directory. The following command will enable the write and
58 sticky modes:</para>
[673b0d8]59
[5998892]60<screen role="nodump"><userinput>chmod -v a+wt $LFS/sources</userinput></screen>
[673b0d8]61
[83e41da]62 <para>There are several ways to obtain all the necessary packages and patches
[83a01db]63 to build LFS:</para>
64
65 <itemizedlist>
66 <listitem>
[5e0c67d]67 <para>The files can be downloaded individually as described in the
[83a01db]68 next two sections.</para>
69 </listitem>
70 <listitem>
[5e0c67d]71 <para>For stable versions of the book, a tarball of all the needed files
[b6a67d37]72 can be downloaded from one of the mirror sites listed at
[61707b1]73 <ulink url="https://www.linuxfromscratch.org/mirrors.html#files"/>.</para>
[83a01db]74 </listitem>
75 <listitem>
76 <para>The files can be downloaded using <command>wget</command> and
77 a wget-list as described below.</para>
78 </listitem>
79 </itemizedlist>
80
81 <para>To download all of the packages and patches by using
[ca22630]82 <ulink url="../&wget-list;">&wget-list;</ulink>
83 as an input to the <command>wget</command> command, use:</para>
[74296e2]84
[ca22630]85<screen role="nodump"><userinput>wget --input-file=&wget-list; --continue --directory-prefix=$LFS/sources</userinput></screen>
86<!--
[a5165eb]87 <note><para>
88 The <filename>wget-list</filename> file mentioned above retrieves all
89 packages for both the sysV and systemd versions of LFS. There are a total
[b861051]90 of five additional small packages not needed for the current book. The
[a5165eb]91 <filename>md5sums</filename> file mentioned below is specific to the
92 current book.
93 </para></note>
[ca22630]94-->
[2ca8941]95 <para>Additionally, starting with LFS-7.0, there is a separate file,
[fba870f]96 <ulink url="../md5sums">md5sums</ulink>, which can be used to verify that all
[2ca8941]97 the correct packages are available before proceeding. Place that file in
[74296e2]98 <filename class="directory">$LFS/sources</filename> and run:</para>
99
[0844c14]100<screen role="nodump"><userinput>pushd $LFS/sources
[83a01db]101 md5sum -c md5sums
[2ca8941]102popd</userinput></screen>
[d1e71b1]103
[5e0c67d]104 <para>This check can be used after retrieving the needed files with any of the
[83a01db]105 methods listed above.</para>
106
[673b0d8]107</sect1>
Note: See TracBrowser for help on using the repository browser.