Changeset 9dfc02f
- Timestamp:
- 05/03/2004 09:28:58 PM (20 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.0, 6.1, 6.1.1, 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:
- 5f505ff, c8ba565
- Parents:
- 411ceb8
- Files:
-
- 11 added
- 7 deleted
- 51 edited
Legend:
- Unmodified
- Added
- Removed
-
Makefile
r411ceb8 r9dfc02f 1 BASEDIR=~/ lfs-book1 BASEDIR=~/belfs-book 2 2 3 3 lfs: -
chapter01/changelog.xml
r411ceb8 r9dfc02f 22 22 <listitem><para>autoconf-2.59</para></listitem> 23 23 <listitem><para>automake-1.8.4</para></listitem> 24 <listitem><para>binutils-2.15.90.0.3</para></listitem> 25 <listitem><para>bison-1.875a</para></listitem> 24 26 <listitem><para>coreutils-5.2.1</para></listitem> 25 27 <listitem><para>e2fsprogs-1.35</para></listitem> 26 28 <listitem><para>expect-5.41.0</para></listitem> 27 29 <listitem><para>file-4.09</para></listitem> 30 <listitem><para>flex-2.5.31</para></listitem> 28 31 <listitem><para>gcc-3.3.3</para></listitem> 29 32 <listitem><para>gettext-0.14.1</para></listitem> 33 <listitem><para>glibc-2.3.4-20040408</para></listitem> 30 34 <listitem><para>grub-0.94</para></listitem> 31 35 <listitem><para>kbd-1.12</para></listitem> … … 33 37 <listitem><para>lfs-bootscripts-2.0.4</para></listitem> 34 38 <listitem><para>libtool-2.5.6</para></listitem> 35 <listitem><para>linux-2. 4.26</para></listitem>39 <listitem><para>linux-2.6.5</para></listitem> 36 40 <listitem><para>man-pages-1.66</para></listitem> 37 <listitem><para>modutils-2.4.27</para></listitem>38 41 <listitem><para>ncurses-5.4</para></listitem> 39 42 <listitem><para>perl-5.8.4</para></listitem> … … 51 54 <listitem><para>Added:</para> 52 55 <itemizedlist> 56 <listitem><para>flex-2.5.31-debian-fixes-2.patch</para></listitem> 53 57 <listitem><para>iana-etc-1.00</para></listitem> 58 <listitem><para>inetutils-1.4.2-kernel-headers-1.patch</para></listitem> 54 59 <listitem><para>inetutils-1.4.2-no_server_man_pages-1.patch</para></listitem> 55 <listitem><para>make_devices-1.2</para></listitem> 56 <listitem><para>mktemp-1.5 + mktemp-1.5-add-tempfile.patch</para></listitem> 60 <listitem><para>linux-libc-headers-2.6.5.1</para></listitem> 61 <listitem><para>mktemp-1.5</para></listitem> 62 <listitem><para>mktemp-1.5-add-tempfile-1.patch</para></listitem> 63 <listitem><para>module-init-tools-3.0</para></listitem> 64 <listitem><para>net-tools-1.60-kernel-headers-1.patch</para></listitem> 65 <listitem><para>sysklogd-1.4.1-kernel-headers-1.patch</para></listitem> 66 <listitem><para>udev-025</para></listitem> 67 <listitem><para>udev-025-config-1.patch</para></listitem> 68 <listitem><para>util-linux-2.12a-kernel-headers-1.patch</para></listitem> 57 69 </itemizedlist> 58 70 </listitem> … … 60 72 <listitem><para>Removed:</para> 61 73 <itemizedlist> 74 <listitem><para>bison-1.875-attribute.patch</para></listitem> 75 <listitem><para>ed-0.2</para></listitem> 76 <listitem><para>gcc-2.95.3</para></listitem> 62 77 <listitem><para>gcc-3.3.1-suppress-libiberty.patch</para></listitem> 78 <listitem><para>kbd-1.12-more-programs-1.patch</para></listitem> 63 79 <listitem><para>lfs-utils-0.5</para></listitem> 64 80 <listitem><para>MAKEDEV-1.7</para></listitem> 65 81 <listitem><para>man-1.5m2-manpath.patch</para></listitem> 66 82 <listitem><para>man-1.5m2-pager.patch</para></listitem> 83 <listitem><para>modutils-2.4.25</para></listitem> 67 84 <listitem><para>ncurses-5.3-etip-2.patch</para></listitem> 68 85 <listitem><para>ncurses-5.3-vsscanf.patch</para></listitem> 69 <listitem><para>p erl-5.8.0-libc-3.patch</para></listitem>86 <listitem><para>procinfo-18</para></listitem> 70 87 <listitem><para>procps-3.1.11-locale-fix.patch</para></listitem> 71 88 <listitem><para>shadow-4.0.3-newgrp-fix.patch</para></listitem> … … 73 90 </itemizedlist> 74 91 </listitem> 92 93 <listitem><para>May 3rd, 2004 [winkie]: Merged BE-LFS content.</para></listitem> 75 94 76 95 <listitem><para>May 2nd, 2004 [matt]: Quoted chroot commands in chapter 6 (bug -
chapter01/chapter01.xml
r411ceb8 r9dfc02f 10 10 11 11 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="how.xml"/> 12 13 14 12 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="changelog.xml"/> 15 16 17 13 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="administrativa.xml"/> 18 19 14 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="askforhelp.xml"/> 20 15 -
chapter02/chapter02.xml
r411ceb8 r9dfc02f 9 9 <?dbhtml filename="chapter02.html"?> 10 10 11 12 11 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="introduction.xml"/> 13 14 15 12 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="creatingpartition.xml"/> 16 17 18 13 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="creatingfilesystem.xml"/> 19 20 21 14 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="mounting.xml"/> 22 15 23 24 16 </chapter> -
chapter03/chapter03.xml
r411ceb8 r9dfc02f 9 9 <?dbhtml filename="chapter03.html"?> 10 10 11 12 11 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="introduction.xml"/> 13 14 15 12 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="packages.xml"/> 16 17 18 13 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="patches.xml"/> 19 14 -
chapter03/packages.xml
r411ceb8 r9dfc02f 21 21 22 22 Binutils (&binutils-version;) - 10,666 KB: 23 <ulink url=" &freshmeat;binutils/"/>23 <ulink url="ftp://ftp.kernel.org/pub/linux/devel/binutils/"/> 24 24 25 25 Bison (&bison-version;) - 796 KB: 26 <ulink url=" &freshmeat;bison/"/>26 <ulink url="http://ftp.tuniv.szczecin.pl/pub/Linux/alpha-gnu/bison/"/> 27 27 28 28 Bzip2 (&bzip2-version;) - 650 KB: … … 41 41 <ulink url="&freshmeat;e2fsprogs/"/> 42 42 43 Ed (&ed-version;) - 182 KB:44 <ulink url="&freshmeat;ed/"/>45 46 43 Expect (&expect-version;) - 510 KB: 47 44 <ulink url="&freshmeat;expect/"/> … … 54 51 55 52 Flex (&flex-version;) - 372 KB: 56 <ulink url=" ftp://ftp.gnu.org/gnu/non-gnu/flex/"/>53 <ulink url="&freshmeat;flex/"/> 57 54 58 55 Gawk (&gawk-version;) - 1,596 KB: 59 56 <ulink url="&freshmeat;gnuawk/"/> 60 57 61 GCC (&gcc-2953-version;) - 9,618 KB: 62 <ulink url="&freshmeat;gcc/"/> 63 64 GCC-core (&gcc-version;) - 11,283KB: 65 <ulink url="&freshmeat;gcc/"/> 66 67 GCC-g++ (&gcc-version;) - 2,026 KB: 68 <ulink url="&freshmeat;gcc/"/> 69 70 GCC-testsuite (&gcc-version;) - 1,051 KB: 58 GCC (&gcc-version;) - ~27,000KB: 71 59 <ulink url="&freshmeat;gcc/"/> 72 60 … … 102 90 103 91 LFS-Bootscripts (&bootscripts-version;) - 32 KB: 104 <ulink url=" &http-down;"/>92 <ulink url="http://www.linuxfromscratch.org/~nathan/"/> 105 93 106 94 Libtool (&libtool-version;) - 2,602 KB: … … 110 98 <ulink url="&freshmeat;linux/"/> 111 99 100 Linux-Libc-Headers (&linux-libc-headers-version;) - 2,381 KB: 101 <ulink url="http://ep09.pld-linux.org/~mmazur/linux-libc-headers/"/> 102 112 103 M4 (&m4-version;) - 310 KB: 113 104 <ulink url="&freshmeat;gnum4/"/> … … 115 106 Make (&make-version;) - 899 KB: 116 107 <ulink url="&freshmeat;gnumake/"/> 117 118 Make_devices (&makedev-version;) - 20 KB:119 <ulink url="&lfs-root;~alex/make_devices-1.2.bz2"/>120 108 121 109 Man (&man-version;) - 196 KB: … … 128 116 <ulink url="&freshmeat;mktemp/"/> 129 117 130 Modu tils (&modutils-version;) - 229KB:131 <ulink url=" &freshmeat;modutils/"/>118 Module-Init-Tools (&module-init-tools-version;) - 118 KB: 119 <ulink url="ftp://ftp.kernel.org/pub/linux/utils/kernel/module-init-tools/"/> 132 120 133 121 Ncurses (&ncurses-version;) - 2,019 KB: … … 142 130 Perl (&perl-version;) - 9,373 KB: 143 131 <ulink url="&freshmeat;perl/"/> 144 145 Procinfo (&procinfo-version;) - 24 KB:146 <ulink url="&freshmeat;procinfo/"/>147 132 148 133 Procps (&procps-version;) - 260 KB: … … 173 158 <ulink url="&freshmeat;texinfo/"/> 174 159 160 Udev (&udev-version;) - 327 KB: 161 <ulink url="ftp://ftp.kernel.org/pub/linux/utils/kernel/hotplug/"/> 162 175 163 Util-linux (&util-linux-version;) - 1,814 KB: 176 164 <ulink url="&freshmeat;util-linux/"/> … … 191 179 url="ftp://gaosu.rave.org/pub/linux/lfs/"/>.</para></note> 192 180 193 <note><para>2) As of this writing, the Glibc maintainers have decided in their 194 wisdom not to make available new release tarballs for download. The only way to 195 obtain the current Glibc release from pristine upstream sources is to pull it 196 from the Glibc CVS (Concurrent Versioning System) repository. The following commands will download the current 197 release and make a tarball from it:</para> 181 <note><para>2) Released packages of Glibc are not new enough for our purposes, 182 so create a tarball of some known-good CVS with the following commands:</para> 198 183 199 <screen><userinput>cvs -z 9 -d :pserver:anoncvs@sources.redhat.com:/cvs/glibc \ 200 export -d glibc-2.3.3-20031202 -D "2003-12-02 UTC" libc 201 tar jcvf glibc-2.3.3-20031202.tar.bz2 glibc-2.3.3-20031202</userinput></screen> 184 <screen><userinput>cvs -z 3 -d :pserver:anoncvs@sources.redhat.com:/cvs/glibc \ 185 export -d glibc-2.3.4-20040408 -D "18:00:00 2004-04-08 UTC" libc 186 sed -i -e "s/stable/2004-04-08/" -e "s/2\.3\.3/2.3.4/" \ 187 glibc-2.3.4-20040408/version.h 188 tar jcvf glibc-2.3.4-20040408.tar.bz2 glibc-2.3.4-20040408</userinput></screen> 202 189 203 <para>Alternatively, we've made our own tarball available which you can 204 download courtesy of the generous LFS mirror sites.</para> 205 206 <literallayout><ulink url="ftp://gaosu.rave.org/pub/linux/lfs/packages/conglomeration/&glibc-version;.tar.bz2"/> 207 <ulink url="http://lfs.mirror.intermedia.com.sg/packages/glibc/&glibc-version;.tar.bz2"/> 208 <ulink url="ftp://lfs.mirror.intermedia.com.sg/pub/lfs/glibc/&glibc-version;.tar.bz2"/> 209 <ulink url="http://dl.lfs.fredan.org/&glibc-version;.tar.bz2"/> 210 <ulink url="http://packages.lfs-es.org/&glibc-version;.tar.bz2"/> 211 <ulink url="http://mirror.averse.net/lfs-packages/&glibc-version;.tar.bz2"/> 212 <ulink url="ftp://mirror.averse.net/pub/lfs-packages/&glibc-version;.tar.bz2"/> 213 <ulink url="ftp://ftp.lfs-matrix.de/lfs/packages/conglomeration/&glibc-version;.tar.bz2"/></literallayout> 190 <para>Alternatively, we've made our own tarball available which you can download 191 from the following location: 192 <ulink url="ftp://belfs.linux-phreak.net/belfs/glibc-2.3.4-20040408.tar.bz2"/> 193 </para> 214 194 </note> 215 195 -
chapter03/patches.xml
r411ceb8 r9dfc02f 17 17 <ulink url="&patches-root;bash-&bash-version;-2.patch"/> 18 18 19 Bison Attribute Patch - 2 KB:20 <ulink url="&patches-root;bison-&bison-version;-attribute.patch"/>21 22 19 Coreutils Hostname Patch - 1 KB: 23 20 <ulink url="&patches-root;coreutils-&coreutils-version;-hostname-1.patch"/> … … 26 23 <ulink url="&patches-root;coreutils-&coreutils-version;-uname-1.patch"/> 27 24 28 Ed Mkstemp Patch - 1 KB:29 <ulink url="&patches-root;ed-&ed-version;-mkstemp.patch"/>30 31 25 Expect Spawn Patch - 6 KB: 32 26 <ulink url="&patches-root;expect-&expect-version;-spawn-1.patch"/> 27 28 Flex Brokenness Patch - 8 KB: 29 <ulink url="&patches-root;flex-&flex-version;-debian-fixes-2.patch"/> 33 30 34 31 GCC No-Fixincludes Patch - 1 KB: … … 38 35 <ulink url="&patches-root;gcc-&gcc-version;-specs-1.patch"/> 39 36 40 GCC-2 Patch - 16 KB: 41 <ulink url="&patches-root;gcc-&gcc-2953-version;-2.patch"/> 42 43 GCC-2 No-Fixincludes Patch - 1 KB: 44 <ulink url="&patches-root;gcc-&gcc-2953-version;-no-fixinc.patch"/> 45 46 GCC-2 Return-Type Patch - 1 KB: 47 <ulink url="&patches-root;gcc-&gcc-2953-version;-returntype-fix.patch"/> 37 Inetutils Kernel Headers Patch - 1 KB: 38 <ulink url="&patches-root;inetutils-&inetutils-version;-kernel-2.6-1.patch"/> 48 39 49 40 Inetutils No-Server-Man-Pages Patch - 4 KB: 50 41 <ulink url="&patches-root;inetutils-&inetutils-version;-no_server_man_pages-1.patch"/> 51 52 Kbd More-Programs Patch - 1 KB:53 <ulink url="&patches-root;kbd-&kbd-version;-more-programs-1.patch"/>54 42 55 43 Man 80-Columns Patch - 1 KB: … … 62 50 <ulink url="&patches-root;net-tools-&net-tools-version;-miitool-gcc33-1.patch"/> 63 51 52 Net-tools Kernel Headers Patch - 1 KB: 53 <ulink url="&patches-root;net-tools-&net-tools-version;-kernel-2.6-1.patch"/> 54 64 55 Perl Libc Patch - 1 KB: 65 56 <ulink url="&patches-root;perl-&perl-version;-libc-1.patch"/> 57 58 Sysklogd Kernel Headers Patch - 3 KB: 59 <ulink url="&patches-root;sysklogd-&sysklogd-version;-kernel_header.patch"/> 60 61 Udev Configuration Patch - 6 KB: 62 <ulink url="&patches-root;udev-&udev-version;-config-1.patch"/> 63 64 Util-Linux Kernel Headers Patch - 3 KB: 65 <ulink url="&patches-root;util-linux-&util-linux-version;-kernel-dj-2.6-1.patch"/> 66 66 </literallayout> 67 67 -
chapter04/chapter04.xml
r411ceb8 r9dfc02f 9 9 <?dbhtml filename="chapter04.html"?> 10 10 11 12 11 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="aboutlfs.xml"/> 13 12 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="creatingtoolsdir.xml"/> -
chapter05/bash.xml
r411ceb8 r9dfc02f 30 30 <para>Now prepare Bash for compilation:</para> 31 31 32 <screen><userinput>./configure --prefix=/tools </userinput></screen>32 <screen><userinput>./configure --prefix=/tools --without-bash-malloc</userinput></screen> 33 33 34 34 <para>Compile the program:</para> -
chapter05/binutils-pass2.xml
r411ceb8 r9dfc02f 51 51 will do so:</para> 52 52 53 <screen><userinput>make check</userinput></screen> 53 <screen><userinput>make -k check</userinput></screen> 54 55 <para>Except for a few known failures, the binutils tests should all pass. The 56 exceptions to this rule are as follows:</para> 57 58 <screen>* 5 FAIL (unexpected failure) for visibility 59 * 1 FAIL for selective4 60 * 1 FAIL for selective5</screen> 61 62 <!-- 54 63 55 64 <para>There should be no unexpected failures here, expected failures are fine. … … 59 68 60 69 <blockquote><screen>make[1]: *** [check-binutils] Error 2</screen></blockquote> 70 71 --> 61 72 62 73 <para>And install the package:</para> -
chapter05/bzip2.xml
r411ceb8 r9dfc02f 24 24 25 25 <para>The Bzip2 package doesn't contain a <command>configure</command> 26 script. Compile and install it with a straightforward:</para> 26 script. Compile it with a straightforward:</para> 27 28 <screen><userinput>make</userinput></screen> 29 30 <para>And install it:</para> 27 31 28 32 <screen><userinput>make PREFIX=/tools install</userinput></screen> -
chapter05/chapter05.xml
r411ceb8 r9dfc02f 10 10 11 11 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="introduction.xml"/> 12 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="hostreqs.xml"/> 12 13 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="toolchaintechnotes.xml"/> 13 14 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="binutils-pass1.xml"/> 14 15 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="gcc-pass1.xml"/> 16 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="linux-libc-headers.xml"/> 15 17 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="kernel-headers.xml"/> 16 18 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="glibc.xml"/> … … 36 38 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="texinfo.xml"/> 37 39 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="bash.xml"/> 40 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="m4.xml"/> 41 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="bison.xml"/> 42 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="flex.xml"/> 38 43 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="util-linux.xml"/> 39 44 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="perl.xml"/> 45 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="udev.xml"/> 40 46 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="stripping.xml"/> 41 47 -
chapter05/gcc-pass1.xml
r411ceb8 r9dfc02f 41 41 42 42 <screen><userinput>../gcc-&gcc-version;/configure --prefix=/tools \ 43 --with-local-prefix=/tools \ 44 --disable-nls --enable-shared \ 45 --enable-languages=c</userinput></screen> 43 --libexecdir=/tools/lib --with-local-prefix=/tools \ 44 --disable-nls --enable-shared --enable-languages=c</userinput></screen> 46 45 47 46 <para>The meaning of the configure options:</para> -
chapter05/gcc-pass2.xml
r411ceb8 r9dfc02f 84 84 85 85 <screen><userinput>../gcc-&gcc-version;/configure --prefix=/tools \ 86 --with-local-prefix=/tools \ 87 --enable-clocale=gnu --enable-shared \ 88 --enable-threads=posix --enable-__cxa_atexit \ 89 --enable-languages=c,c++</userinput></screen> 86 --libexecdir=/tools/lib --with-local-prefix=/tools \ 87 --enable-clocale=gnu --enable-shared --enable-threads=posix \ 88 --enable-__cxa_atexit --enable-languages=c,c++</userinput></screen> 90 89 91 90 <para>The meaning of the new configure options:</para> … … 142 141 mailing list for similar configurations to your own. For an example of how 143 142 current GCC-&gcc-version; should look on i686-pc-linux-gnu, see 144 <ulink url="http://gcc.gnu.org/ml/gcc-testresults/2004-01/msg00826.html"/>.</para> 145 146 <para>Note that the results contain:</para> 147 148 <screen>* 1 XPASS (unexpected pass) for g++ 149 * 1 FAIL (unexpected failure) for gcc 150 * 24 XPASS's for libstdc++</screen> 151 152 <para>The unexpected pass for g++ is due to the use of 153 <emphasis>--enable-__cxa_atexit</emphasis>. Apparently not all platforms 154 supported by GCC have support for <quote>__cxa_atexit</quote> in their C 155 libraries, so this test is not always expected to pass.</para> 156 157 <para>The 24 unexpected passes for libstdc++ are due to the use of 158 <emphasis>--enable-clocale=gnu</emphasis>. This option, which is the correct 159 choice on Glibc-based systems of versions 2.2.5 and above, enables in the GNU C 160 library a locale support that is superior to the otherwise selected 161 <emphasis>generic</emphasis> model (which may be applicable if for instance you 162 were using Newlibc, Sun-libc or whatever other libc). The libstdc++ test suite 163 is apparently expecting the <emphasis>generic</emphasis> model, hence those 164 tests are not always expected to pass.</para> 143 <ulink url="http://gcc.gnu.org/ml/gcc-testresults/2004-04/msg00414.html"/>.</para> 165 144 166 145 <para>Having a few unexpected failures often cannot be avoided. The GCC 167 146 developers are usually aware of these, but haven't yet gotten around to fixing 168 them. One particular case in point is the filebuf_members test in the C++ 169 standard library testsuite. This test has been observed to fail in some 170 situations, but succeeed in others. In short, unless your results are vastly 171 different from those at the above URL, it is safe to continue.</para> 147 them. In short, unless your results are vastly different from those at the above 148 URL, it is safe to continue.</para> 172 149 173 150 <para>And finally install the package:</para> -
chapter05/gettext.xml
r411ceb8 r9dfc02f 25 25 <para>Prepare Gettext for compilation:</para> 26 26 27 <screen><userinput>./configure --prefix=/tools</userinput></screen> 27 <screen><userinput>./configure --prefix=/tools --disable-libasprintf \ 28 --disable-csharp</userinput></screen> 29 30 <itemizedlist> 31 <listitem><para><userinput>--disable-libasprintf</userinput>: This flag tells 32 Gettext that we don't want its asprintf library. Nothing in Chapter 5 or 6 33 requires this, and gettext gets rebuilt later, so we exclude it to save 34 time/space.</para></listitem> 35 36 <listitem><para><userinput>--disable-csharp</userinput>: Gettext has a nasty 37 habit of searching for a C# compiler on the host, and building bindings for it. 38 We've already <quote>locked</quote> ourselves into the temporary tools though, 39 which doesn't have a C# compiler.</para></listitem> 40 </itemizedlist> 28 41 29 42 <para>Compile the programs:</para> -
chapter05/glibc.xml
r411ceb8 r9dfc02f 40 40 <para>Next, prepare Glibc for compilation:</para> 41 41 42 <screen><userinput>../glibc-&glibc-version; -20031202/configure --prefix=/tools \43 --disable-profile --enable-add-ons= linuxthreads \44 --with-binutils=/tools/bin --with -headers=/tools/include\45 --with out-gd --without-cvs</userinput></screen>42 <screen><userinput>../glibc-&glibc-version;/configure --prefix=/tools \ 43 --disable-profile --enable-add-ons=nptl --with-tls \ 44 --with-binutils=/tools/bin --without-gd --without-cvs \ 45 --with-headers=/tools/glibc-kernheaders</userinput></screen> 46 46 47 47 <para>The meaning of the configure options:</para> 48 48 49 49 <itemizedlist> 50 <listitem><para><userinput>--disable-profile</userinput>: This 51 builds the libraries without profiling information. Omit this option if you 52 plan to do profiling on the temporary tools.</para></listitem> 53 54 <listitem><para><userinput>--enable-add-ons=linuxthreads</userinput>: This 55 tells Glibc to use the Linuxthreads add-on as its threading 56 library.</para></listitem> 57 58 <listitem><para><userinput>--with-binutils=/tools/bin</userinput> and 59 <userinput>--with-headers=/tools/include</userinput>: Strictly speaking 60 these switches are not required. But they ensure nothing can go wrong with 61 regard to what kernel headers and Binutils programs get used during the 62 Glibc build.</para></listitem> 63 64 <listitem><para><userinput>--without-gd</userinput>: This prevents 65 the build of the <command>memusagestat</command> program, which 66 strangely enough insists on linking against the host's libraries (libgd, 67 libpng, libz, and so forth).</para></listitem> 50 <listitem><para><userinput>--disable-profile</userinput>: This builds the 51 libraries without profiling information. Omit this option if you plan to do 52 profiling on the temporary tools.</para></listitem> 53 54 <listitem><para><userinput>--enable-add-ons=nptl</userinput>: This 55 tells Glibc to use the NPTL add-on as its threading library.</para></listitem> 56 57 <listitem><para><userinput>--with-tls</userinput>: This tells Glibc to include 58 support for TLS (thread-local storage). This is required for NPTL to work. 59 </para></listitem> 60 61 <listitem><para><userinput>--with-binutils=/tools/bin</userinput>: Strictly 62 speaking this switch is not required. But it does ensure nothing can go wrong 63 with regard to what Binutils programs get used during the Glibc build.</para></listitem> 64 65 <listitem><para><userinput>--without-gd</userinput>: This prevents the build 66 of the <command>memusagestat</command> program, which strangely enough insists 67 on linking against the host's libraries (libgd, libpng, libz, and so forth). 68 </para></listitem> 68 69 69 70 <listitem><para><userinput>--without-cvs</userinput>: This is meant to prevent … … 72 73 suppresses an annoying but harmless warning about a missing 73 74 <command>autoconf</command> program.</para></listitem> 75 76 <listitem><para><userinput>--with-headers=/tools/glibc-kernheaders</userinput>: 77 This tells Glibc to compile against the <quote>raw</quote> kernel headers, so 78 that it knows exactly what features the kernel has, and can optimize itself 79 accordingly. Not strictly necessary, but nice to have.</para></listitem> 74 80 </itemizedlist> 75 81 -
chapter05/kernel-headers.xml
r411ceb8 r9dfc02f 39 39 symlink:</para> 40 40 41 <screen><userinput>make symlinks</userinput></screen>41 <screen><userinput>make include/asm</userinput></screen> 42 42 43 43 <para>Install the platform-specific header files:</para> 44 44 45 <screen><userinput>mkdir /tools/ include/asm46 cp include/asm/* /tools/include/asm47 cp -R include/asm-generic /tools/ include</userinput></screen>45 <screen><userinput>mkdir /tools/glibc-kernheaders 46 cp -HR include/asm /tools/glibc-kernheaders 47 cp -R include/asm-generic /tools/glibc-kernheaders</userinput></screen> 48 48 49 49 <para>Finally, install the cross-platform kernel header files:</para> 50 50 51 <screen><userinput>cp -R include/linux /tools/ include</userinput></screen>51 <screen><userinput>cp -R include/linux /tools/glibc-kernheaders</userinput></screen> 52 52 53 53 </sect2> -
chapter05/perl.xml
r411ceb8 r9dfc02f 26 26 27 27 <screen><userinput>patch -Np1 -i ../perl-&perl-version;-libc-1.patch</userinput></screen> 28 29 <para>Perl insists on using the <command>arch</command> program to find out30 the machine type. Create a little script to mimic this command:</para>31 32 <screen><userinput>echo "uname -m" > /tools/bin/arch33 chmod 755 /tools/bin/arch</userinput></screen>34 28 35 29 <para>Now prepare Perl for compilation (make sure you get the 'IO Fcntl POSIX' -
chapter05/util-linux.xml
r411ceb8 r9dfc02f 23 23 <title>Installation of Util-linux</title> 24 24 25 <para>Util-linux has issues with the Linux 2.6 kernel series - fix these issues 26 by applying the following patch:</para> 27 28 <screen><userinput>patch -Np1 -i ../util-linux-&util-linux-version;-kernel-dj-2.6-1.patch</userinput></screen> 29 25 30 <para>Util-linux doesn't use the freshly installed headers and libraries 26 31 from the /tools directory. This is fixed by altering the configure 27 32 script:</para> 28 33 29 <screen><userinput>cp configure configure.backup 30 sed "s@/usr/include@/tools/include@g" configure.backup > configure</userinput></screen> 34 <screen><userinput>sed -i "s@/usr/include@/tools/include@g" configure</userinput></screen> 31 35 32 36 <para>Prepare Util-linux for compilation:</para> -
chapter06/bash.xml
r411ceb8 r9dfc02f 19 19 20 20 21 22 21 <sect2> 23 22 <title>Installation of Bash</title> … … 31 30 <para>Now prepare Bash for compilation:</para> 32 31 33 <screen><userinput>./configure --prefix=/usr --bindir=/bin</userinput></screen> 32 <screen><userinput>./configure --prefix=/usr --bindir=/bin \ 33 --without-bash-malloc</userinput></screen> 34 34 35 35 <para>Compile the package:</para> -
chapter06/binutils.xml
r411ceb8 r9dfc02f 35 35 <para>Your chroot environment is not set up for proper PTY operation. In this 36 36 case there is no point in running the test suites for Binutils and GCC until you 37 are able to resolve the issue. Please refer back to <xref linkend="ch-system-proc"/> 38 and the <xref linkend="ch-system-MAKEDEV"/> section and perform the recommended steps 39 to fix the problem.</para> 37 are able to resolve the issue.</para> 40 38 41 39 <para>This package is known to behave badly when you have changed its … … 73 71 <para>Test the results:</para> 74 72 75 <screen><userinput>make check</userinput></screen>73 <screen><userinput>make -k check</userinput></screen> 76 74 77 75 <para>The test suite notes from <xref linkend="ch-tools-binutils-pass2"/> are still -
chapter06/bison.xml
r411ceb8 r9dfc02f 23 23 <title>Installation of Bison</title> 24 24 25 <para>First fix a minor compilation problem that Bison has with some packages, 26 the patch is back-ported from CVS:</para> 27 28 <screen><userinput>patch -Np1 -i ../bison-&bison-version;-attribute.patch</userinput></screen> 29 30 <para>Now prepare Bison for compilation:</para> 25 <para>Prepare Bison for compilation:</para> 31 26 32 27 <screen><userinput>./configure --prefix=/usr</userinput></screen> -
chapter06/bzip2.xml
r411ceb8 r9dfc02f 56 56 ln -s ../../lib/libbz2.so.1.0 /usr/lib/libbz2.so 57 57 rm /usr/bin/{bunzip2,bzcat,bzip2} 58 mv /usr/bin/{bzip2recover,bzless,bzmore} /bin59 58 ln -s bzip2 /bin/bunzip2 60 59 ln -s bzip2 /bin/bzcat</userinput></screen> -
chapter06/chapter06.xml
r411ceb8 r9dfc02f 9 9 <?dbhtml filename="chapter06.html"?> 10 10 11 12 11 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="introduction.xml"/> 13 14 15 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="proc.xml"/> 16 17 12 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="kernfs.xml"/> 18 13 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="chroot.xml"/> 19 20 21 14 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="changingowner.xml"/> 22 23 24 15 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="creatingdirs.xml"/> 25 26 27 16 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="createfiles.xml"/> 28 29 30 17 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="pwdgroup.xml"/> 31 32 33 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="makedev.xml"/> 34 35 36 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="kernel-headers.xml"/> 37 38 18 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="devices.xml"/> 19 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="linux-libc-headers.xml"/> 39 20 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="man-pages.xml"/> 40 41 42 21 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="glibc.xml"/> 43 44 45 46 47 22 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="readjusting.xml"/> 48 49 50 23 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="binutils.xml"/> 51 52 53 24 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="gcc.xml"/> 54 55 56 57 25 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="coreutils.xml"/> 58 59 60 26 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="zlib.xml"/> 61 62 63 27 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="mktemp.xml"/> 64 65 66 28 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="iana-etc.xml"/> 67 68 69 29 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="findutils.xml"/> 70 71 72 30 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="gawk.xml"/> 73 74 75 31 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="ncurses.xml"/> 76 77 78 32 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="vim.xml"/> 79 80 81 33 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="m4.xml"/> 82 83 84 34 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="bison.xml"/> 85 86 87 35 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="less.xml"/> 88 89 90 36 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="groff.xml"/> 91 92 93 37 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="sed.xml"/> 94 95 96 38 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="flex.xml"/> 97 98 99 39 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="gettext.xml"/> 100 101 102 40 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="net-tools.xml"/> 103 104 105 41 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="inetutils.xml"/> 106 107 108 42 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="perl.xml"/> 109 110 111 43 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="texinfo.xml"/> 112 113 114 44 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="autoconf.xml"/> 115 116 117 45 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="automake.xml"/> 118 119 120 46 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="bash.xml"/> 121 122 123 47 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="file.xml"/> 124 125 126 48 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="libtool.xml"/> 127 128 129 49 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="bzip2.xml"/> 130 131 132 50 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="diffutils.xml"/> 133 134 135 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="ed.xml"/>136 137 138 51 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="kbd.xml"/> 139 140 141 52 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="e2fsprogs.xml"/> 142 143 144 53 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="grep.xml"/> 145 146 147 54 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="grub.xml"/> 148 149 150 55 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="gzip.xml"/> 151 152 153 56 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="man.xml"/> 154 155 156 57 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="make.xml"/> 157 158 159 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="modutils.xml"/> 160 161 58 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="module-init-tools.xml"/> 162 59 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="patch.xml"/> 163 164 165 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="procinfo.xml"/>166 167 168 60 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="procps.xml"/> 169 170 171 61 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="psmisc.xml"/> 172 173 174 62 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="shadow.xml"/> 175 176 177 63 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="sysklogd.xml"/> 178 179 180 64 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="sysvinit.xml"/> 181 182 183 65 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="tar.xml"/> 184 185 66 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="udev.xml"/> 186 67 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="util-linux.xml"/> 187 188 189 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="gcc-2953.xml"/>190 191 192 193 194 68 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="aboutdebug.xml"/> 195 196 69 197 70 <sect1 id="ch-system-strippingagain"> … … 240 113 </sect1> 241 114 242 243 115 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="revisedchroot.xml"/> 244 116 -
chapter06/coreutils.xml
r411ceb8 r9dfc02f 58 58 <screen><userinput>make install-root</userinput></screen> 59 59 60 <para>Create a 'table of mounted filesystems' file with:</para> 61 62 <screen><userinput>touch /etc/mtab</userinput></screen> 63 64 <para>And create two dummy groups and a dummy user name:</para> 60 <para>Create two dummy groups and a dummy user name:</para> 65 61 66 62 <screen><userinput>echo "dummy1:x:1000" >> /etc/group … … 71 67 are meant to be run as <emphasis>root</emphasis>:</para> 72 68 73 <screen><userinput> export NON_ROOT_USERNAME=dummy;make check-root</userinput></screen>69 <screen><userinput>make NON_ROOT_USERNAME=dummy make check-root</userinput></screen> 74 70 75 71 <para>Then run the remainder of the tests as the <emphasis>dummy</emphasis> … … 80 76 <para>When you're done testing, remove the dummy user and groups:</para> 81 77 82 <screen><userinput>sed -i .bak'/dummy/d' /etc/passwd /etc/group</userinput></screen>78 <screen><userinput>sed -i '/dummy/d' /etc/passwd /etc/group</userinput></screen> 83 79 84 80 <para>Install the package:</para> … … 88 84 <para>And move some programs to their proper locations:</para> 89 85 90 <screen><userinput>mv /usr/bin/{ basename,cat,chgrp,chmod,chown,cp,dd,df} /bin86 <screen><userinput>mv /usr/bin/{[,basename,cat,chgrp,chmod,chown,cp,dd,df} /bin 91 87 mv /usr/bin/{date,echo,false,head,install,ln,ls} /bin 92 88 mv /usr/bin/{mkdir,mknod,mv,pwd,rm,rmdir,sync} /bin … … 100 96 <screen><userinput>rm /usr/bin/kill</userinput></screen> 101 97 102 <para>Finally, create two symlinks to be FHS-compliant:</para> 103 104 <screen><userinput>ln -s test /bin/[ 105 ln -s ../../bin/install /usr/bin</userinput></screen> 98 <para>Finally, create a symlink to be FHS-compliant:</para> 99 100 <screen><userinput>ln -s ../../bin/install /usr/bin</userinput></screen> 106 101 107 102 </sect2> -
chapter06/creatingdirs.xml
r411ceb8 r9dfc02f 12 12 standard tree:</para> 13 13 14 <screen><userinput>mkdir -p /{bin,boot,dev /{pts,shm},etc/opt,home,lib,mnt,proc}14 <screen><userinput>mkdir -p /{bin,boot,dev,etc/opt,home,lib,mnt} 15 15 mkdir -p /{root,sbin,srv,tmp,usr/local,var,opt} 16 16 mkdir -p /media/{floppy,cdrom} … … 26 26 mkdir /usr/local/share/man/man{1,2,3,4,5,6,7,8} 27 27 mkdir /var/{lock,log,mail,run,spool} 28 mkdir -p /var/{tmp,opt,cache,lib/ misc,local}28 mkdir -p /var/{tmp,opt,cache,lib/{misc,locate},local} 29 29 mkdir /opt/{bin,doc,include,info} 30 30 mkdir -p /opt/{lib,man/man{1,2,3,4,5,6,7,8}}</userinput></screen> -
chapter06/e2fsprogs.xml
r411ceb8 r9dfc02f 24 24 <title>Installation of E2fsprogs</title> 25 25 26 <para>It is recommended to build E2fsprogs outside of the27 source tree:</para>28 29 <screen><userinput>mkdir ../e2fsprogs-build30 cd ../e2fsprogs-build</userinput></screen>31 32 26 <para>Prepare E2fsprogs for compilation:</para> 33 27 34 <screen><userinput>. ./e2fsprogs-&e2fsprogs-version;/configure --prefix=/usr --with-root-prefix="" \35 --enable-elf-shlibs </userinput></screen>28 <screen><userinput>./configure --prefix=/usr --with-root-prefix="" \ 29 --enable-elf-shlibs --disable-evms</userinput></screen> 36 30 37 31 <para>The meaning of the configure options:</para> … … 56 50 <screen><userinput>make</userinput></screen> 57 51 58 <para>If you to test the results, first make sure an mtab file 59 exists with <userinput>touch /etc/mtab</userinput> to prevent some sixty tests 60 from failing, and (if it doesn't already exist) fake the presence of an old 61 pager with <userinput>ln -s /tools/bin/cat /bin/more</userinput> to prevent one 62 test from failing, then issue: <userinput>make check</userinput>.</para> 52 <para>To test the results, issue: 53 <userinput>make check</userinput>.</para> 63 54 64 55 <para>Install most of the package:</para> -
chapter06/findutils.xml
r411ceb8 r9dfc02f 29 29 30 30 <screen><userinput>./configure --prefix=/usr --libexecdir=/usr/lib/locate \ 31 --localstatedir=/var/lib/misc</userinput></screen>31 --localstatedir=/var/lib/locate</userinput></screen> 32 32 33 33 <para>The localstatedir directive above changes the location of the locate 34 database to be in /var/lib/ misc, which is FHS-compliant.</para>34 database to be in /var/lib/locate, which is FHS-compliant.</para> 35 35 36 36 <para>Compile the package:</para> -
chapter06/flex.xml
r411ceb8 r9dfc02f 24 24 <title>Installation of Flex</title> 25 25 26 <para>Prepare Flex for compilation:</para> 26 <para>Flex contains several known bugs. Fix these with the following patch:</para> 27 28 <screen><userinput>patch -Np1 -i ../flex-&flex-version;-debian-fixes-2.patch</userinput></screen> 29 30 <para>The GNU autotools detects that the Flex source code has been modified by the patch, 31 and tries to update the man pages to include those changes, but this breaks on many 32 systems, and the default pages are fine, so make sure they don't get renegerated:</para> 33 34 <screen><userinput>touch doc/*.1</userinput></screen> 35 36 <para>Now prepare Flex for compilation:</para> 27 37 28 38 <screen><userinput>./configure --prefix=/usr</userinput></screen> … … 33 43 34 44 <para>To test the results, issue: 35 <userinput>make bigcheck</userinput>.</para>45 <userinput>make check</userinput>.</para> 36 46 37 47 <para>Now install the package:</para> -
chapter06/gcc.xml
r411ceb8 r9dfc02f 56 56 57 57 <screen><userinput>../gcc-&gcc-version;/configure --prefix=/usr \ 58 -- enable-shared --enable-threads=posix \59 --enable-__cxa_atexit --enable-clocale=gnu \60 --enable-languages=c,c++</userinput></screen>58 --libexecdir=/usr/lib --enable-shared --enable-threads=posix \ 59 --enable-__cxa_atexit --enable-clocale=gnu --enable-languages=c,c++ 60 </userinput></screen> 61 61 62 62 <para>Compile the package:</para> -
chapter06/glibc.xml
r411ceb8 r9dfc02f 43 43 <para>Now prepare Glibc for compilation:</para> 44 44 45 <screen><userinput>../glibc-&glibc-version; -20031202/configure --prefix=/usr \46 --disable-profile --enable-add-ons= linuxthreads \47 --libexecdir=/ usr/lib --with-headers=/usr/include\48 --with out-cvs</userinput></screen>45 <screen><userinput>../glibc-&glibc-version;/configure --prefix=/usr \ 46 --disable-profile --enable-add-ons=nptl --with-tls \ 47 --libexecdir=/tmp/pt_chown --without-cvs \ 48 --with-headers=/tools/glibc-kernheaders</userinput></screen> 49 49 50 50 <para>The meaning of the new configure options:</para> 51 51 52 52 <itemizedlist> 53 <listitem><para><userinput>--libexecdir=/ usr/lib</userinput>: This changes the54 location of the <filename>pt_chown</filename> program from its default of 53 <listitem><para><userinput>--libexecdir=/tmp/pt_chown</userinput>: This changes 54 the location of the <filename>pt_chown</filename> program from its default of 55 55 <filename class="directory">/usr/libexec</filename> to 56 <filename class="directory">/usr/lib</filename>. The use of 57 <emphasis>libexec</emphasis> is considered not to be FHS-compliant because the 58 FHS doesn't even mention it.</para></listitem> 59 60 <listitem><para><userinput>--with-headers=/usr/include</userinput>: This 61 ensures that the kernel headers in <filename>/usr/include</filename> are used 62 for this build. If you don't pass this switch then the headers from 63 <filename>/tools/include</filename> are used which of course is not ideal 64 (although they should be identical). Using this switch has the advantage 65 that you will be informed immediately should you have forgotten to install the 66 kernel headers into <filename>/usr/include</filename>.</para></listitem> 56 <filename class="directory">/tmp/pt_chown</filename>. This program isn't required 57 on modern systems, so we install it in a place from which we will delete it 58 later.</para></listitem> 67 59 </itemizedlist> 68 60 … … 120 112 localedef -i ja_JP -f EUC-JP ja_JP</userinput></screen> 121 113 122 <para>Finally, build the linuxthreads man pages:</para> 123 124 <screen><userinput>make -C ../glibc-&glibc-version;-20031202/linuxthreads/man</userinput></screen> 114 <para>Finally, build the linuxthreads man pages, which are a great reference 115 on the threading API (applicable to NPTL as well):</para> 116 117 <screen><userinput>make -C ../glibc-&glibc-version;/linuxthreads/man</userinput></screen> 125 118 126 119 <para>And install these pages:</para> 127 120 128 <screen><userinput>make -C ../glibc-&glibc-version; -20031202/linuxthreads/man install</userinput></screen>121 <screen><userinput>make -C ../glibc-&glibc-version;/linuxthreads/man install</userinput></screen> 129 122 130 123 </sect2> -
chapter06/grub.xml
r411ceb8 r9dfc02f 33 33 <screen><userinput>./configure --prefix=/usr</userinput></screen> 34 34 35 <para>Compile the package:</para> 35 <para>A few of the files comprising Grub have issues with optimizations done 36 by GCC 3.4. Compile these few files with known-good optimizations:</para> 37 38 <screen><userinput>make -C stage2 STAGE2_CFLAGS=-O2 \ 39 pre_stage2_exec-builtins.o pre_stage2_exec-serial.o</userinput></screen> 40 41 <para>Now compile the rest of the package:</para> 36 42 37 43 <screen><userinput>make</userinput></screen> 44 45 <para>To test the results, issue: 46 <userinput>make check</userinput>.</para> 38 47 39 48 <para>Now install it:</para> -
chapter06/inetutils.xml
r411ceb8 r9dfc02f 22 22 <sect2> 23 23 <title>Installation of Inetutils</title> 24 25 <para>Inetutils has issues with the Linux 2.6 kernel series - fix these isues 26 by applying the following patch:</para> 27 28 <screen><userinput>patch -Np1 -i ../inetutils-&inetutils-version;-kernel-2.6-1.patch</userinput></screen> 24 29 25 30 <para>We are not going to install all the programs that come with Inetutils. -
chapter06/kbd.xml
r411ceb8 r9dfc02f 23 23 <title>Installation of Kbd</title> 24 24 25 <para>By default some of Kbd's utilities (<command>setlogcons</command>, 26 <command>setvesablank</command> and <command>getunimap</command>) are 27 not installed. First enable the compilation of these utilities:</para> 28 29 <screen><userinput>patch -Np1 -i ../kbd-&kbd-version;-more-programs-1.patch</userinput></screen> 30 31 <para>Now prepare Kbd for compilation:</para> 25 <para>Prepare Kbd for compilation:</para> 32 26 33 27 <screen><userinput>./configure</userinput></screen> … … 74 68 75 69 <screen><userinput>loadkeys -m /usr/share/kbd/keymaps/defkeymap.map.gz > \ 76 /usr/src/linux- 2.4.25/drivers/char/defkeymap.c</userinput></screen>70 /usr/src/linux-&linux-version;/drivers/char/defkeymap.c</userinput></screen> 77 71 78 72 </sect2> -
chapter06/net-tools.xml
r411ceb8 r9dfc02f 37 37 38 38 <screen><userinput>patch -Np1 -i ../net-tools-&net-tools-version;-miitool-gcc33-1.patch</userinput></screen> 39 40 <para>Net-tools has issues with the Linux 2.6 kernel series - fix these issues 41 by applying the following patch:</para> 42 43 <screen><userinput>patch -Np1 -i ../net-tools-&net-tools-version;-kernel-2.6-1.patch</userinput></screen> 39 44 40 45 <para>Now prepare Net-tools for compilation (if you intend to accept the -
chapter06/psmisc.xml
r411ceb8 r9dfc02f 26 26 <para>Prepare Psmisc for compilation:</para> 27 27 28 <screen><userinput>./configure --prefix=/usr --exec-prefix= /</userinput></screen>28 <screen><userinput>./configure --prefix=/usr --exec-prefix=""</userinput></screen> 29 29 30 30 <para>The meaning of the configure option:</para> 31 31 32 32 <itemizedlist> 33 <listitem><para><userinput>--exec-prefix= /</userinput>: This causes the33 <listitem><para><userinput>--exec-prefix=""</userinput>: This causes the 34 34 binaries to be installed in <filename>/bin</filename> instead of 35 35 <filename>/usr/bin</filename>. As the Psmisc programs are often used in -
chapter06/pwdgroup.xml
r411ceb8 r9dfc02f 46 46 dialout:x:10: 47 47 audio:x:11: 48 video:x:12: 48 49 <userinput>EOF</userinput></screen> 49 50 50 51 <para>The created groups aren't part of any standard -- they are some of the 51 groups that the <command>make_devices</command> scriptin the next section52 groups that the Udev configuration we will be using in the next section 52 53 uses. The LSB (<ulink url="http://www.linuxbase.org/">Linux Standard 53 54 Base</ulink>) recommends only that, beside the group <quote>root</quote> with a -
chapter06/shadow.xml
r411ceb8 r9dfc02f 43 43 44 44 <screen><userinput>echo '#define HAVE_SETLOCALE 1' >> config.h</userinput></screen> 45 46 <para>Shadow incorrectly declares the malloc() function, causing compilation 47 failure. Fix this:</para> 48 49 <screen><userinput>sed -i '/extern char/d' libmisc/xmalloc.c</userinput></screen> 45 50 46 51 <para>Compile the package:</para> -
chapter06/sysklogd.xml
r411ceb8 r9dfc02f 19 19 20 20 21 22 21 <sect2> 23 22 <title>Installation of Sysklogd</title> 23 24 <para>Sysklogd has issues with the Linux 2.6 kernel series - fix these isues 25 by applying the following patch:</para> 26 27 <screen><userinput>patch -Np1 -i ../sysklogd-&sysklogd-version;-kernel_header.patch</userinput></screen> 24 28 25 29 <para>Compile Sysklogd:</para> -
chapter06/util-linux.xml
r411ceb8 r9dfc02f 39 39 <sect2> 40 40 <title>Installation of Util-linux</title> 41 42 <para>Util-linux has issues with the Linux 2.6 kernel series - fix these isues 43 by applying the following patch:</para> 44 45 <screen><userinput>patch -Np1 -i ../util-linux-&util-linux-version;-kernel-dj-2.6-1.patch</userinput></screen> 41 46 42 47 <para>Prepare Util-linux for compilation:</para> -
chapter06/vim.xml
r411ceb8 r9dfc02f 46 46 47 47 <para>To test the results, you can issue: 48 <userinput>make check</userinput>. However, this test suite outputs a lot of48 <userinput>make test</userinput>. However, this test suite outputs a lot of 49 49 seemingly garbage characters to the screen, and this can wreak havoc with the 50 50 settings of the current terminal. Therefore the running of the test suite here -
chapter07/bootscripts.xml
r411ceb8 r9dfc02f 25 25 26 26 <screen><userinput>make install</userinput></screen> 27 28 <para>Since we're using Udev, install the support script for it:</para> 29 30 <screen><userinput>make install-udev</userinput></screen> 27 31 28 32 </sect2> -
chapter07/chapter07.xml
r411ceb8 r9dfc02f 9 9 <?dbhtml filename="chapter07.html"?> 10 10 11 12 11 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="introduction.xml"/> 13 14 15 12 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="bootscripts.xml"/> 16 17 18 13 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="usage.xml"/> 19 20 21 14 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="setclock.xml"/> 22 23 24 15 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="loadkeys.xml"/> 25 26 27 16 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="sysklogd.xml"/> 28 29 30 17 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="hostname.xml"/> 31 32 33 18 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="hosts.xml"/> 34 35 36 19 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="network.xml"/> 37 20 38 39 40 21 </chapter> -
chapter08/chapter08.xml
r411ceb8 r9dfc02f 10 10 11 11 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="introduction.xml"/> 12 13 14 12 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="fstab.xml"/> 15 16 17 13 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="kernel.xml"/> 18 19 14 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="grub.xml"/> 20 15 21 22 23 16 </chapter> -
chapter08/fstab.xml
r411ceb8 r9dfc02f 23 23 /dev/yyy swap swap pri=1 0 0 24 24 proc /proc proc defaults 0 0 25 sysfs /sys sysfs defaults 0 0 25 26 devpts /dev/pts devpts gid=4,mode=620 0 0 26 27 shm /dev/shm tmpfs defaults 0 0 -
chapter08/grub.xml
r411ceb8 r9dfc02f 93 93 94 94 # The first entry is for LFS. 95 title LFS &milestone; 95 title LFS &milestone; (Linux &linux-version;) 96 96 root (hd0,3) 97 kernel --no-mem-option /boot/lfskernel root=/dev/hda497 kernel --no-mem-option /boot/lfskernel-&linux-version; root=/dev/hda4 98 98 <userinput>EOF</userinput></screen> 99 99 -
chapter08/kernel.xml
r411ceb8 r9dfc02f 57 57 the <quote>File systems</quote> menu and is normally enabled by default.</para> 58 58 59 <para>Verify dependencies and create dependency information files:</para> 59 <note><para>NPTL requires the kernel to be compiled with GCC 3.x, in this case 60 &gcc-version;. Compiling with 2.95.x is known to cause failures in the glibc 61 testsuite, so do <emphasis>not</emphasis> compile the kernel with gcc 2.95.x 62 unless you know what you're getting yourself into.</para></note> 60 63 61 < screen><userinput>make CC=/opt/gcc-2.95.3/bin/gcc dep</userinput></screen>64 <para>Compile the kernel image and modules:</para> 62 65 63 <para>Compile the kernel image:</para> 64 65 <screen><userinput>make CC=/opt/gcc-2.95.3/bin/gcc bzImage</userinput></screen> 66 67 <para>Compile the drivers which have been configured as modules:</para> 68 69 <screen><userinput>make CC=/opt/gcc-2.95.3/bin/gcc modules</userinput></screen> 66 <screen><userinput>make</userinput></screen> 70 67 71 68 <para>If you intend to use kernel modules, you will need an 72 <filename>/etc/mod ules.conf</filename> file. Information pertaining69 <filename>/etc/modprobe.conf</filename> file. Information pertaining 73 70 to modules and to kernel configuration in general may be found in the 74 71 kernel documentation, which is found in the 75 <filename>linux- 2.4.25/Documentation</filename> directory. The72 <filename>linux-&linux-version;/Documentation</filename> directory. The 76 73 modules.conf man page and the kernel HOWTO at 77 74 <ulink url="http://www.tldp.org/HOWTO/Kernel-HOWTO.html"/> may also be of … … 80 77 <para>Install the modules:</para> 81 78 82 <screen><userinput>make CC=/opt/gcc-2.95.3/bin/gccmodules_install</userinput></screen>79 <screen><userinput>make modules_install</userinput></screen> 83 80 84 81 <para>If you have a lot of modules and very little space, you may want to … … 86 83 isn't worth the trouble, but if you're really pressed for space, then have a look at 87 84 <ulink url="http://www.linux-mips.org/archives/linux-mips/2002-04/msg00031.html"/>.</para> 88 89 <para>As nothing is complete without documentation, build the manual pages90 that come with the kernel:</para>91 92 <screen><userinput>make mandocs</userinput></screen>93 94 <para>And install these pages:</para>95 96 <screen><userinput>cp -a Documentation/man /usr/share/man/man9</userinput></screen>97 85 98 86 <para>Kernel compilation has finished but more steps are required to complete … … 103 91 using. Issue the following command to install the kernel:</para> 104 92 105 <screen><userinput>cp arch/i386/boot/bzImage /boot/lfskernel </userinput></screen>93 <screen><userinput>cp arch/i386/boot/bzImage /boot/lfskernel-&linux-version;</userinput></screen> 106 94 107 95 <para><filename>System.map</filename> is a symbol file for the kernel. It maps … … 110 98 following command to install the map file:</para> 111 99 112 <screen><userinput>cp System.map /boot </userinput></screen>100 <screen><userinput>cp System.map /boot/System.map-&linux-version;</userinput></screen> 113 101 114 102 <para><filename>.config</filename> is the kernel configuration file that was … … 117 105 to keep this file for future reference:</para> 118 106 119 <screen><userinput>cp .config /boot/config- lfskernel</userinput></screen>107 <screen><userinput>cp .config /boot/config-&linux-version;</userinput></screen> 120 108 121 109 <para>It is important to note that the files in the kernel source directory are -
chapter09/chapter09.xml
r411ceb8 r9dfc02f 10 10 11 11 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="theend.xml"/> 12 13 14 12 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="getcounted.xml"/> 15 16 17 13 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="reboot.xml"/> 18 19 14 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="whatnow.xml"/> 20 15 21 22 16 </chapter> -
chapter09/reboot.xml
r411ceb8 r9dfc02f 16 16 17 17 <screen><userinput>umount $LFS/dev/pts 18 umount $LFS/proc</userinput></screen> 18 umount $LFS/dev/shm 19 umount $LFS/dev 20 umount $LFS/proc 21 umount $LFS/sys</userinput></screen> 19 22 20 23 <para>And unmount the LFS file system:</para> -
general.ent
r411ceb8 r9dfc02f 2 2 <!ENTITY version "CVS-2004-05-03"> 3 3 <!ENTITY releasedate "May 3, 2004"> 4 <!ENTITY milestone " 5.1">4 <!ENTITY milestone "6.0"> 5 5 6 6 <!ENTITY lfs-root "http://www.linuxfromscratch.org/"> … … 20 20 <!ENTITY automake-version "1.8.4"> 21 21 <!ENTITY bash-version "2.05b"> 22 <!ENTITY binutils-version "2.1 4">23 <!ENTITY bison-version "1.875 ">22 <!ENTITY binutils-version "2.15.90.0.3"> 23 <!ENTITY bison-version "1.875a"> 24 24 <!ENTITY bootscripts-version "2.0.4"> 25 25 <!ENTITY bzip2-version "1.0.2"> … … 28 28 <!ENTITY diffutils-version "2.8.1"> 29 29 <!ENTITY e2fsprogs-version "1.35"> 30 <!ENTITY ed-version "0.2">31 30 <!ENTITY expect-version "5.41.0"> 32 31 <!ENTITY file-version "4.09"> 33 32 <!ENTITY findutils-version "4.1.20"> 34 <!ENTITY flex-version "2.5. 4a">33 <!ENTITY flex-version "2.5.31"> 35 34 <!ENTITY gawk-version "3.1.3"> 36 <!ENTITY gcc-2953-version "2.95.3">37 35 <!ENTITY gcc-version "3.3.3"> 38 36 <!ENTITY gettext-version "0.14.1"> 39 <!ENTITY glibc-version "2.3. 3">37 <!ENTITY glibc-version "2.3.4-20040408"> 40 38 <!ENTITY grep-version "2.5.1"> 41 39 <!ENTITY groff-version "1.19"> … … 47 45 <!ENTITY less-version "382"> 48 46 <!ENTITY libtool-version "1.5.6"> 49 <!ENTITY linux-version "2.4.26"> 47 <!ENTITY linux-version "2.6.5"> 48 <!ENTITY linux-libc-headers-version "2.6.5.1"> 50 49 <!ENTITY m4-version "1.4"> 51 <!ENTITY makedev-version "1.2">52 50 <!ENTITY make-version "3.80"> 53 51 <!ENTITY man-version "1.5m2"> 54 52 <!ENTITY man-pages-version "1.66"> 55 53 <!ENTITY mktemp-version "1.5"> 56 <!ENTITY modu tils-version "2.4.27">54 <!ENTITY module-init-tools-version "3.0"> 57 55 <!ENTITY ncurses-version "5.4"> 58 56 <!ENTITY net-tools-version "1.60"> 59 57 <!ENTITY patch-version "2.5.4"> 60 58 <!ENTITY perl-version "5.8.4"> 61 <!ENTITY procinfo-version "18">62 59 <!ENTITY procps-version "3.2.1"> 63 60 <!ENTITY psmisc-version "21.4"> … … 70 67 <!ENTITY texinfo-version "4.7"> 71 68 <!ENTITY util-linux-version "2.12a"> 69 <!ENTITY udev-version "025"> 72 70 <!ENTITY vim-version "6.2"> 73 71 <!ENTITY zlib-version "1.2.1"> -
index.xml
r411ceb8 r9dfc02f 7 7 8 8 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="prologue/bookinfo.xml"/> 9 10 11 9 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="prologue/dedication.xml"/> 12 13 10 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="prologue/preface.xml"/> 14 11 … … 18 15 <?dbhtml filename="part1.html"?> 19 16 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="chapter01/chapter01.xml"/> 20 21 17 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="chapter02/chapter02.xml"/> 22 23 18 </part> 24 19 … … 27 22 <?dbhtml filename="part2.html"?> 28 23 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="chapter03/chapter03.xml"/> 29 30 24 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="chapter04/chapter04.xml"/> 31 32 33 25 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="chapter05/chapter05.xml"/> 34 35 36 26 </part> 37 27 … … 40 30 <?dbhtml filename="part3.html"?> 41 31 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="chapter06/chapter06.xml"/> 42 43 44 32 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="chapter07/chapter07.xml"/> 45 46 47 33 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="chapter08/chapter08.xml"/> 48 49 34 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="chapter09/chapter09.xml"/> 50 51 52 35 </part> 53 36
Note:
See TracChangeset
for help on using the changeset viewer.