Changeset bed61bb
- Timestamp:
- 09/22/2002 02:22:43 PM (22 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, v4_0, v4_1, v5_0, v5_1, v5_1_1, 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:
- 639a66c
- Parents:
- 69f8606d
- Files:
-
- 9 edited
Legend:
- Unmodified
- Added
- Removed
-
appendixa/gcc-desc.xml
r69f8606d rbed61bb 73 73 74 74 <sect4><title>libsupc++</title> 75 <para>libsup ++ provides support for the c++ programming language. Among other76 things, libsup ++ contains routines for exception handling.</para></sect4>75 <para>libsupc++ provides support for the c++ programming language. Among other 76 things, libsupc++ contains routines for exception handling.</para></sect4> 77 77 78 78 </sect3> -
appendixa/kernel-desc.xml
r69f8606d rbed61bb 12 12 Linux tick. When a computer is turned on and boots a Linux system, the 13 13 very first piece of Linux software that gets loaded is the kernel. The 14 kernel initializes the system's hardware components such as serial15 ports, parallel ports, sound cards, network cards, IDE controllers, SCSI16 controllers and a lot more. In a nutshell the kernel makes the hardware17 available so that thesoftware can run.</para></sect4>14 kernel initializes the system's hardware components: serial ports, parallel 15 ports, sound cards, network cards, IDE controllers, SCSI controllers and a 16 lot more. In a nutshell the kernel makes the hardware available so that the 17 software can run.</para></sect4> 18 18 19 19 <sect4><title>linux kernel headers</title> 20 <para>These are the files we copy to /usr/include/{linux,asm} in chapter 21 5. They should match those which glibc was compiled against and so 22 should <emphasis>not</emphasis> be replaced when upgrading the kernel. 23 They are essential for compiling many programs.</para></sect4> 20 <para>These are the files we copy to 21 <filename>/usr/include/{linux,asm}</filename> in chapter 5. They should 22 match those which glibc was compiled against and therefore should 23 <emphasis>not</emphasis> be replaced when upgrading the kernel. They are 24 essential for compiling many programs.</para></sect4> 24 25 25 26 </sect3> -
chapter01/changelog.xml
r69f8606d rbed61bb 60 60 </para></listitem> 61 61 62 <listitem><para>September 21st, 2002 [timothy]: Chapter 02: 63 Applied Bill Maltby's grammatic-fixes patch.</para></listitem> 62 <listitem><para>September 22nd, 2002 [timothy]: Chapter 06: Applied Alex's 63 grammatic-fixes patch.</para></listitem> 64 65 <listitem><para>September 21st, 2002 [timothy]: Chapter 02: Applied Bill 66 Maltby's grammatic-fixes patch.</para></listitem> 64 67 65 68 <listitem><para>September 21st, 2002 [timothy]: Chapter 06 - Zlib: -
chapter06/glibc-exp.xml
r69f8606d rbed61bb 3 3 4 4 <para><userinput>patch -Np1 -i ../glibc-&glibc-patch-version;.patch:</userinput> 5 This patch converts all occur ances of <filename>$(PERL)</filename> to5 This patch converts all occurrences of <filename>$(PERL)</filename> to 6 6 <filename>/usr/bin/perl</filename> in the 7 7 <filename>malloc/Makefile</filename> file. This is done because Glibc can't 8 8 autodetect the location of perl because perl has yet to be installed. The 9 patch also replaces all occur ances of <emphasis>root</emphasis> with9 patch also replaces all occurrences of <emphasis>root</emphasis> with 10 10 <emphasis>0</emphasis> in the <filename>login/Makefile</filename> file. 11 11 This is done because Glibc itself isn't installed yet and therefore … … 25 25 26 26 <para><userinput>--disable-profile:</userinput> This disables the building 27 of libraries with profiling information. This command may be om mitted if27 of libraries with profiling information. This command may be omitted if 28 28 you plan to do profiling.</para> 29 29 -
chapter06/kernel-exp-headers.xml
r69f8606d rbed61bb 2 2 <title>Why we copy the kernel headers and don't symlink them</title> 3 3 4 <para>In the past it was common practice for peopleto symlink the5 /usr/include/linux and asm directories to /usr/src/linux/include/linux 6 and asm respectively. This is a <emphasis>bad</emphasis> idea as 7 this extract from a post by Linus Torvalds to the Linux Kernel 8 Mailing List points out:</para>4 <para>In the past it was common practice to symlink the 5 <filename class="directory">/usr/include/{linux,asm}</filename> directories 6 to <filename class="directory">/usr/src/linux/include/{linux,asm}</filename>. 7 This was a <emphasis>bad</emphasis> practice, as the following extract from a 8 post by Linus Torvalds to the Linux Kernel Mailing List points out:</para> 9 9 10 10 <screen>I would suggest that people who compile new kernels should: … … 26 26 true in a _loong_ time.</screen> 27 27 28 <para>The relevant part here is where he states that the headers should 29 be the ones which <emphasis>glibc was compiled against</emphasis>. These are 30 the headers which should remain accessible and so by copying them, we ensure 31 that we follow these guidelines. Also note that as long as you don't have 32 those symlinks, it is perfectly fine to have the kernel sources 33 in <filename>/usr/src/linux</filename>.</para> 28 <para>The essential part is where Linus states that the header files should be 29 <emphasis>the ones which glibc was compiled against</emphasis>. These are 30 the headers that should be used when you later compile other packages, as they 31 are the ones that match the object-code library files. By copying the headers, 32 we ensure that they remain available if later you upgrade your kernel.</para> 33 34 <para>Note, by the way, that it is perfectly all right to have the kernel sources 35 in <filename class="directory">/usr/src/linux</filename>, as long as you don't 36 have the <filename class="directory">/usr/include/{linux,asm}</filename> 37 symlinks.</para> 34 38 35 39 </sect2> 40 -
chapter06/kernel-exp.xml
r69f8606d rbed61bb 2 2 <title>Command explanations</title> 3 3 4 <para><userinput>ln -s /static/bin/pwd /bin/pwd</userinput>: The kernel5 source hard-wires the path to <filename>pwd</filename> to be6 <filename>/bin/pwd</filename> so we create a temporary symlink to deal with7 it.</para>4 <para><userinput>ln -s /static/bin/pwd /bin/pwd</userinput>: In the kernel 5 source, the path to the <filename>pwd</filename> program is hard-wired as 6 <filename>/bin/pwd</filename>, so we create a temporary symlink to account 7 for that. At the end we remove it again.</para> 8 8 9 <para><userinput>make mrproper:</userinput> This will ensure that the kernel 10 tree is absolutely clean. We do this because the kernel team recommend 11 that this is done prior to <emphasis>each</emphasis> kernel compilation, 12 and that we shouldn't rely on the source tree being automatically clean 13 after untarring.</para> 9 <para><userinput>make mrproper</userinput>: This ensures that the kernel 10 tree is absolutely clean. The kernel team recommends that this command be 11 issued prior to <emphasis>each</emphasis> kernel compilation, and that you 12 shouldn't rely on the source tree being clean after untarring.</para> 14 13 15 14 <para><userinput>make include/linux/version.h</userinput> and 16 15 <userinput>make symlinks</userinput>: This creates the 17 <filename>include/linux/version.h</filename> , as well as the <filename18 class="symlink">include/asm</filename> symlink.</para>16 <filename>include/linux/version.h</filename> file and the platform-specific 17 <filename class="symlink">include/asm</filename> symlink.</para> 19 18 20 19 <para><userinput>mkdir /usr/include/asm</userinput> 21 20 , <userinput>cp include/asm/* /usr/include/asm</userinput> and 22 <userinput>cp include/asm-generic /usr/include</userinput>:23 Th is copiesthe platform-specific assembler kernel header files to21 <userinput>cp -R include/asm-generic /usr/include</userinput>: 22 These commands copy the platform-specific assembler kernel header files to 24 23 <filename class="directory">/usr/include/asm</filename> and <filename 25 class="directory">/usr/include/asm-generic</filename> </para>24 class="directory">/usr/include/asm-generic</filename>.</para> 26 25 27 26 <para><userinput>cp -R include/linux /usr/include</userinput>: 28 27 This command copies the cross-platform kernel header files to 29 <filename>/usr/include</filename> </para>28 <filename>/usr/include</filename>.</para> 30 29 31 <para><userinput>touch /usr/include/linux/autoconf.h</userinput>: Some 32 kernel header files include this <filename>autoconf.h</filename> file, but 33 outside the Linux source tree, that file has no meaning so we just create 34 an empty one so we don't get compile errors whenever it happens to be a 35 dependency of another kernel header file.</para> 30 <para><userinput>touch /usr/include/linux/autoconf.h</userinput>: This 31 creates an empty <filename>autoconf.h</filename> file. As we do not yet 32 configure the kernel, we have to create this file ourselves for those few 33 kernel header files that make use of it, to avoid compilation failures.</para> 36 34 37 35 </sect2> -
chapter06/kernel-inst.xml
r69f8606d rbed61bb 1 1 <sect2> 2 <title>Installation of the Linux Kernel</title>2 <title>Installation of the kernel headers</title> 3 3 4 <para>We won't be compiling a new kernel image yet. We'll do that after we 5 have finished the installation of the basic system software in this 6 chapter. But because certain software needs the kernel header files, we're 7 going to unpack the kernel archive now and set it up so that we can 8 compile the packages that need the kernel.</para> 4 <para>We won't be compiling a new kernel yet -- we'll do that when we have 5 finished the installation of all the packages. But as some packages need the 6 kernel header files, we're going to unpack the kernel archive now, set it up, 7 and copy the header files to where they will be found by these packages.</para> 9 8 10 <para>The kernel configuration file is created by running the following 11 command:</para> 9 <para>The kernel headers are copied by running the following commands:</para> 12 10 13 11 <para><screen><userinput>ln -s /static/bin/pwd /bin/pwd && -
chapter06/shellutils-exp.xml
r69f8606d rbed61bb 3 3 4 4 <para><userinput>patch -Np1 -i ../sh-utils-&sh-utils-hostname-patch-version;.patch:</userinput> This patch 5 sup resses the build of the hostname program which we will be installed5 suppresses the build of the hostname program which we will be installed 6 6 later with the net-tools package. The hostname program from the net-tools 7 7 package is a much better version (and in some cases even required since it -
index.xml
r69f8606d rbed61bb 5 5 <!ENTITY book SYSTEM "book/book.xml"> 6 6 7 <!ENTITY version "2002092 1">8 <!ENTITY releasedate "September 2 1st, 2002">7 <!ENTITY version "20020922"> 8 <!ENTITY releasedate "September 22nd, 2002"> 9 9 10 10 <!ENTITY ftp-root "ftp://ftp.linuxfromscratch.org">
Note:
See TracChangeset
for help on using the changeset viewer.