- Timestamp:
- 06/16/2005 04:47:40 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:
- 2a88671
- Parents:
- 9c80e02
- Location:
- chapter06
- Files:
-
- 24 edited
Legend:
- Unmodified
- Added
- Removed
-
chapter06/automake.xml
r9c80e02 rbc2136e 99 99 in the top-level directory. By scanning the 100 100 <filename>configure.in</filename> file, it automatically finds each 101 appropriate <filename>Makefile.am</filename> file and generate the101 appropriate <filename>Makefile.am</filename> file and generates the 102 102 corresponding <filename>Makefile.in</filename> file</para> 103 103 <indexterm zone="ch-system-automake automake"><primary sortas="b-automake">automake</primary></indexterm> -
chapter06/bash.xml
r9c80e02 rbc2136e 105 105 <term><command>bashbug</command></term> 106 106 <listitem> 107 <para>A shell script to help the user compose and mail bug reports108 concerning <command>bash</command> in a standard format</para>107 <para>A shell script to help the user compose and mail standard formatted bug 108 reports concerning <command>bash</command>.</para> 109 109 <indexterm zone="ch-system-bash bashbug"><primary sortas="b-bashbug">bashbug</primary></indexterm> 110 110 </listitem> -
chapter06/binutils.xml
r9c80e02 rbc2136e 69 69 <screen><userinput>make tooldir=/usr</userinput></screen> 70 70 71 <para>Normally, the tooldir (the directory where the executables will 72 ultimately be located) is set to <filename 73 class="directory">$(exec_prefix)/$(target_alias)</filename>, which 74 expands into <filename class="directory">/usr/i686-pc-linux-gnu</filename>. 75 Because this is a custom system, this target-specific directory in <filename 76 class="directory">/usr</filename> is not required. This setup would be 77 used if the system was used to cross-compile (for example, compiling a 78 package on an Intel machine that generates code that can be executed 79 on PowerPC machines).</para> 71 <para>Normally, the tooldir (the directory where the executables will ultimately 72 be located) is set to <filename 73 class="directory">$(exec_prefix)/$(target_alias)</filename>. For example, i686 74 machines would expand that to <filename 75 class="directory">/usr/i686-pc-linux-gnu</filename>. Because this is a custom 76 system, this target-specific directory in <filename 77 class="directory">/usr</filename> is not required. <filename 78 class="directory">$(exec_prefix)/$(target_alias)</filename> would be used if the 79 system was used to cross-compile (for example, compiling a package on an Intel 80 machine that generates code that can be executed on PowerPC machines).</para> 80 81 81 82 <important><para>The test suite for Binutils in this section is -
chapter06/bzip2.xml
r9c80e02 rbc2136e 14 14 <sect2 role="package"><title/> 15 15 <para>The Bzip2 package contains programs for compressing and decompressing 16 files. Compressing text files with <command>bzip2</command> yield a much better16 files. Compressing text files with <command>bzip2</command> yields a much better 17 17 compression percentage than with the traditional <command>gzip</command>.</para> 18 18 … … 80 80 <seglistitem><seg>bunzip2 (link to bzip2), bzcat (link to bzip2), bzcmp, bzdiff, 81 81 bzegrep, bzfgrep, bzgrep, bzip2, bzip2recover, bzless, and bzmore</seg> 82 <seg>libbz2.a, libbz2.so (link to libbz2.so.1.0), libbz2.so.1.0 (link to 83 libbz2.so.&bzip2-version;), and libbz2.so.&bzip2-version;</seg></seglistitem> 82 <seg>libbz2.[a,so]</seg></seglistitem> 84 83 </segmentedlist> 85 84 -
chapter06/chroot.xml
r9c80e02 rbc2136e 46 46 47 47 <para>It is important that all the commands throughout the remainder 48 of this chapter and the following chapters be run from within the48 of this chapter and the following chapters are run from within the 49 49 chroot environment. If you leave this environment for any reason 50 50 (rebooting for example), remember to first mount the <systemitem -
chapter06/coreutils.xml
r9c80e02 rbc2136e 52 52 <screen><userinput>make</userinput></screen> 53 53 54 <para>The test suite of Coreutils makes several assumptions about the 55 presence of files and users that are not valid this early in the LFS 56 build. Therefore, additional items need to be set up before running 57 the tests. Skip down to <quote>Install the package</quote> if 54 <para>The test suite of Coreutils makes several invalid assumptions about the 55 presence of system users and groups. Therefore, additional items need to be set 56 up before running the tests. Skip down to <quote>Install the package</quote> if 58 57 not running the test suite.</para> 59 58 60 <para>Create two dummy groups and a dummy user name:</para>59 <para>Create two dummy groups and a dummy user:</para> 61 60 62 61 <screen><userinput>echo "dummy1:x:1000:" >> /etc/group -
chapter06/createfiles.xml
r9c80e02 rbc2136e 8 8 <?dbhtml filename="createfiles.html"?> 9 9 10 <para>Some programs hard-wirepaths to programs which do not yet10 <para>Some programs use hard-wired paths to programs which do not yet 11 11 exist. In order to satisfy these programs, create a number of symbolic 12 12 links which will be replaced by real files throughout the course of -
chapter06/creatingdirs.xml
r9c80e02 rbc2136e 8 8 <?dbhtml filename="creatingdirs.html"?> 9 9 10 <para>It is time to create some structure in the LFS file system. 11 Create a directory tree. Issuing the following commands will create a 12 standard tree:</para> 10 <para>It is time to create some structure in the LFS file system. Create a 11 standard directory tree by issuing the following commands:</para> 13 12 14 13 <screen><userinput>install -d /{bin,boot,dev,etc/opt,home,lib,mnt} … … 44 43 class="directory">/tmp</filename> and <filename 45 44 class="directory">/var/tmp</filename> directories, but cannot remove 46 other users'files from them. The latter is prohibited by the45 another user's files from them. The latter is prohibited by the 47 46 so-called <quote>sticky bit,</quote> the highest bit (1) in the 1777 48 47 bit mask.</para> -
chapter06/devices.xml
r9c80e02 rbc2136e 25 25 <title>Mounting ramfs and Populating /dev</title> 26 26 27 <para>The ideal way to populate <filename28 class="directory">/dev</filename> is to mount a <systemitem29 class="filesystem">ramfs</systemitem> onto <filename 30 class="directory">/dev</filename>, like <systemitem 31 class=" filesystem">tmpfs</systemitem>, and create the devices on there32 d uring each bootup. Since the system has not been booted, itis33 necessary to do what the bootscripts would otherwise do and populate 34 <filename class="directory">/dev</filename>. Begin by mounting 35 <filename class="directory">/dev</filename>:</para>27 <para>The recommended method of populating the <filename 28 class="directory">/dev</filename> directory with devices is to mount a virtual 29 filesystem (such as <systemitem class="filesystem">ramfs</systemitem> or 30 <systemitem class="filesystem">tmpfs</systemitem>) on the <filename 31 class="directory">/dev</filename> directory, and allow the devices to be created 32 dynamically on that virtual filesystem as they are detected or accessed. This is 33 generally done during the boot process. Since this new system has not been 34 booted, it is necessary to do what the bootscripts would otherwise do by 35 mounting <filename class="directory">/dev</filename>:</para> 36 36 37 37 <screen><userinput>mount -n -t ramfs none /dev</userinput></screen> 38 38 39 <!-- Edit Me --> 40 <para>Since the Udev package will not be installed until later on in the 41 process, create a minimal set of device nodes used for building:</para> 39 <para>The Udev package is what actually creates the devices in the <filename 40 class="directory">/dev</filename> directory. Since it will not be installed 41 until later on in the process, manually create the minimal set of device nodes 42 needed to complete the building of this system:</para> 42 43 43 44 <screen><userinput>mknod -m 622 /dev/console c 5 1 -
chapter06/e2fsprogs.xml
r9c80e02 rbc2136e 255 255 <term><command>mk_cmds</command></term> 256 256 <listitem> 257 <para>Converts a table of command names and help smessages into a C257 <para>Converts a table of command names and help messages into a C 258 258 source file suitable for use with the <filename 259 259 class="libraryfile">libss</filename> subsystem library</para> -
chapter06/gcc.xml
r9c80e02 rbc2136e 50 50 <screen><userinput>patch -Np1 -i ../&gcc-linkonce-patch;</userinput></screen> 51 51 52 <para>Apply a sed substitution that will suppress the installation of53 <filename class="libraryfile">libiberty.a</filename>. The version of 54 <filename class="libraryfile">libiberty.a</filename> provided by52 <para>Apply a <command>sed</command> substitution that will suppress the 53 installation of <filename class="libraryfile">libiberty.a</filename>. The 54 version of <filename class="libraryfile">libiberty.a</filename> provided by 55 55 Binutils will be used instead:</para> 56 56 … … 90 90 <screen><userinput>make install</userinput></screen> 91 91 92 <para>Some packages expect the C PreProcessor to be installed in the92 <para>Some packages expect the C preprocessor to be installed in the 93 93 <filename class="directory">/lib</filename> directory. 94 94 To support those packages, create this symlink:</para> -
chapter06/glibc.xml
r9c80e02 rbc2136e 406 406 <term><command>mtrace</command></term> 407 407 <listitem> 408 <para>Reads and interprets a memory trace file and 409 ouputs a summary in human-readable format</para> 408 <para>Reads and interprets a memory trace file and displays a summary in human-readable format</para> 410 409 <indexterm zone="ch-system-glibc mtrace"><primary sortas="b-mtrace">mtrace</primary></indexterm> 411 410 </listitem> … … 631 630 <para>The Name Service Switch libraries, 632 631 containing functions for resolving host names, user names, group names, 633 aliases, services, protocols, etc </para>632 aliases, services, protocols, etc.</para> 634 633 <indexterm zone="ch-system-glibc libnss"><primary sortas="c-libnss">libnss</primary></indexterm> 635 634 </listitem> -
chapter06/groff.xml
r9c80e02 rbc2136e 174 174 <listitem> 175 175 <para>Is a driver for <command>groff</command> that produces output 176 in PCL5 format suitable for an HP Laser jet 4 printer</para>176 in PCL5 format suitable for an HP LaserJet 4 printer</para> 177 177 <indexterm zone="ch-system-groff grolj4"><primary sortas="b-grolj4">grolj4</primary></indexterm> 178 178 </listitem> … … 297 297 <term><command>post-grohtml</command></term> 298 298 <listitem> 299 <para>Translates the output of GNU <command>troff</command> to html</para>299 <para>Translates the output of GNU <command>troff</command> to HTML</para> 300 300 <indexterm zone="ch-system-groff post-grohtml"><primary sortas="b-post-grohtml">post-grohtml</primary></indexterm> 301 301 </listitem> … … 305 305 <term><command>pre-grohtml </command></term> 306 306 <listitem> 307 <para>Translates the output of GNU <command>troff</command> to html</para>307 <para>Translates the output of GNU <command>troff</command> to HTML</para> 308 308 <indexterm zone="ch-system-groff pre-grohtml"><primary sortas="b-pre-grohtml">pre-grohtml</primary></indexterm> 309 309 </listitem> -
chapter06/gzip.xml
r9c80e02 rbc2136e 32 32 <title>Installation of Gzip</title> 33 33 34 <para>Gzip has 2 known security vulnerabilit es. The following patch34 <para>Gzip has 2 known security vulnerabilities. The following patch 35 35 addresses both of them:</para> 36 36 … … 56 56 <screen><userinput>make install</userinput></screen> 57 57 58 <para>Move the programs to the <filename class="directory">/bin</filename> directory:</para> 58 <para>Move the <command>gzip</command>program to the <filename 59 class="directory">/bin</filename> directory and create some commonly used 60 symlinks to it:</para> 59 61 60 62 <screen><userinput>mv /usr/bin/gzip /bin -
chapter06/hotplug.xml
r9c80e02 rbc2136e 83 83 sortas="b-hotplug">hotplug</primary></indexterm> 84 84 <para>This script is called by default by the Linux kernel when something 85 changes in its internal state (e.g., a new device is added or removed)</para> 85 changes in its internal state (e.g., a new device is added or an existing device 86 is removed)</para> 86 87 </listitem> 87 88 </varlistentry> -
chapter06/iproute2.xml
r9c80e02 rbc2136e 113 113 </term> 114 114 <listitem> 115 <para>Shows the interface s statistic, including the amount of transmitted115 <para>Shows the interface statistics, including the amount of transmitted 116 116 and received packages by interface</para> 117 117 <indexterm zone="ch-system-iproute2 ifstat"> -
chapter06/make.xml
r9c80e02 rbc2136e 13 13 14 14 <sect2 role="package"><title/> 15 <para>The Make package contains a program for compiling largepackages.</para>15 <para>The Make package contains a program for compiling packages.</para> 16 16 17 17 <segmentedlist> -
chapter06/module-init-tools.xml
r9c80e02 rbc2136e 81 81 </varlistentry> 82 82 83 <varlistentry id="genksyms">84 <term><command>genksyms</command></term>85 <listitem>86 <para>Generates symbol version information</para>87 <indexterm zone="ch-system-module-init-tools genksyms"><primary sortas="b-genksyms">genksyms</primary></indexterm>88 </listitem>89 </varlistentry>90 91 83 <varlistentry id="insmod"> 92 84 <term><command>insmod</command></term> … … 97 89 </varlistentry> 98 90 99 <varlistentry id="insmod _ksymoops_clean">100 <term><command>insmod _ksymoops_clean</command></term>91 <varlistentry id="insmod.static"> 92 <term><command>insmod.static</command></term> 101 93 <listitem> 102 <para>Deletes saved ksyms and modules not accessed for two days</para> 103 <indexterm zone="ch-system-module-init-tools insmod_ksymoops_clean"><primary sortas="b-insmod_ksymoops_clean">insmod_ksymoops_clean</primary></indexterm> 104 </listitem> 105 </varlistentry> 106 107 <varlistentry id="kallsyms"> 108 <term><command>kallsyms</command></term> 109 <listitem> 110 <para>Extracts all kernel symbols for debugging</para> 111 <indexterm zone="ch-system-module-init-tools kallsyms"><primary sortas="b-kallsyms">kallsyms</primary></indexterm> 112 </listitem> 113 </varlistentry> 114 115 <varlistentry id="kernelversion"> 116 <term><command>kernelversion</command></term> 117 <listitem> 118 <para>Reports the major version of the running kernel</para> 119 <indexterm zone="ch-system-module-init-tools kernelversion"><primary sortas="b-kernelversion">kernelversion</primary></indexterm> 120 </listitem> 121 </varlistentry> 122 123 <varlistentry id="ksyms"> 124 <term><command>ksyms</command></term> 125 <listitem> 126 <para>Displays exported kernel symbols</para> 127 <indexterm zone="ch-system-module-init-tools ksyms"><primary sortas="b-ksyms">ksyms</primary></indexterm> 94 <para>A static version of insmod</para> 95 <indexterm zone="ch-system-module-init-tools insmod.static"><primary 96 sortas="b-insmod.static">insmod.static</primary></indexterm> 128 97 </listitem> 129 98 </varlistentry> -
chapter06/perl.xml
r9c80e02 rbc2136e 155 155 <term><command>perl</command></term> 156 156 <listitem> 157 <para>Combines some of the best features of C, sed, awk and sh into a 158 single swiss-army language</para> 157 <para>Combines some of the best features of C, <command>sed</command>, 158 <command>awk</command> and <command>sh</command> into a single swiss-army 159 language</para> 159 160 <indexterm zone="ch-system-perl perl"><primary sortas="b-perl">perl</primary></indexterm> 160 161 </listitem> … … 300 301 <term><command>s2p</command></term> 301 302 <listitem> 302 <para>Translates sedto Perl</para>303 <para>Translates <command>sed</command> scripts to Perl</para> 303 304 <indexterm zone="ch-system-perl s2p"><primary sortas="b-s2p">s2p</primary></indexterm> 304 305 </listitem> -
chapter06/pwdgroup.xml
r9c80e02 rbc2136e 16 16 17 17 <para>In order for user <emphasis>root</emphasis> to be able to login 18 and for the name <quote>root</quote> to be recognized, there need to19 be relevantentries in the <filename>/etc/passwd</filename> and18 and for the name <quote>root</quote> to be recognized, there must be relevant 19 entries in the <filename>/etc/passwd</filename> and 20 20 <filename>/etc/group</filename> files.</para> 21 21 … … 70 70 <screen><userinput>exec /tools/bin/bash --login +h</userinput></screen> 71 71 72 <para>Note the use of the <parameter>+h</parameter> directive. This 73 tells <command>bash</command> not to use its internal path hashing. 74 Without this directive, <command>bash</command> would remember the 75 paths to binaries it has executed. In order to use the newly compiled 76 binaries as soon as they are installed, turn off this function for the 77 durationof this chapter.</para>72 <para>Note the use of the <parameter>+h</parameter> directive. This tells 73 <command>bash</command> not to use its internal path hashing. Without this 74 directive, <command>bash</command> would remember the paths to binaries it has 75 executed. In ensure the use of the newly compiled binaries as soon as they are 76 installed, the <parameter>+h</parameter> directive will be used for the duration 77 of this chapter.</para> 78 78 79 79 <para>The <command>login</command>, <command>agetty</command>, and -
chapter06/readline.xml
r9c80e02 rbc2136e 69 69 <screen><userinput>mv /lib/lib{readline,history}.a /usr/lib</userinput></screen> 70 70 71 <para>Next we will remove the old,<filename class="extension">.so</filename> files in71 <para>Next we will remove the <filename class="extension">.so</filename> files in 72 72 <filename class="directory">/lib</filename> and relink them into 73 73 <filename class="directory">/usr/lib</filename>.</para> -
chapter06/texinfo.xml
r9c80e02 rbc2136e 124 124 <listitem> 125 125 <para>Translates the given Texinfo source documents into 126 info files, plain text, or HTML</para>126 Info files, plain text, or HTML</para> 127 127 <indexterm zone="ch-system-texinfo makeinfo"><primary sortas="b-makeinfo">makeinfo</primary></indexterm> 128 128 </listitem> -
chapter06/vim.xml
r9c80e02 rbc2136e 87 87 <screen><userinput>ln -s vim /usr/bin/vi</userinput></screen> 88 88 89 <para>If theX Window System is going to be installed on the LFS89 <para>If an X Window System is going to be installed on the LFS 90 90 system, it may be necessary to recompile Vim after installing X. Vim 91 91 comes with a GUI version of the editor that requires X and some -
chapter06/zlib.xml
r9c80e02 rbc2136e 53 53 <screen><userinput>make install</userinput></screen> 54 54 55 <para>Next we will remove the old <filename class="extension">.so</filename> files in 56 the <filename class="directory">/lib</filename> directory and relink them 57 into <filename class="directory">/usr/lib</filename>:</para> 55 <para>The previous command installed a <filename 56 class="extension">.so</filename> file in <filename 57 class="directory">/lib</filename>. We will remove it and relink it into 58 <filename class="directory">/usr/lib</filename>:</para> 58 59 59 60 <screen><userinput>rm /lib/libz.so … … 84 85 <segmentedlist> 85 86 <segtitle>Installed libraries</segtitle> 86 <seglistitem><seg>libz [a,so]</seg></seglistitem>87 <seglistitem><seg>libz.[a,so]</seg></seglistitem> 87 88 </segmentedlist> 88 89
Note:
See TracChangeset
for help on using the changeset viewer.