source: chapter03/introduction.xml@ 188fba7

11.1 11.2 11.2-rc1 11.3 11.3-rc1 12.0 12.0-rc1 12.1 12.1-rc1 arm bdubbs/gcc13 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
Last change on this file since 188fba7 was 188fba7, checked in by Xi Ruoyao <xry111@…>, 2 years ago

ch03 intro: "newer version" -> "different version", and ...

warn about the difference between release tarballs and repo snapshots

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