Browse Source

Move stripping to chap-7

git-svn-id: http://svn.linuxfromscratch.org/LFS/branches/cross2@11916 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
Thomas Trepl 5 years ago
parent
commit
67d1e797c3
4 changed files with 133 additions and 97 deletions
  1. 0 1
      chapter06/chapter06.xml
  2. 0 96
      chapter06/stripping.xml
  3. 1 0
      chapter07/chapter07.xml
  4. 132 0
      chapter07/stripping.xml

+ 0 - 1
chapter06/chapter06.xml

@@ -29,6 +29,5 @@
   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="xz.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="binutils-pass2.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="gcc-pass2.xml"/>
-  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="stripping.xml"/>
 
 </chapter>

+ 0 - 96
chapter06/stripping.xml

@@ -1,96 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
-  "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-  <!ENTITY % general-entities SYSTEM "../general.ent">
-  %general-entities;
-]>
-
-<sect1 id="ch-tools-stripping">
-  <?dbhtml filename="stripping.html"?>
-
-  <title>Stripping</title>
-
-  <para>The steps in this section are optional, but if the LFS partition is
-  rather small, it is beneficial to learn that unnecessary items can be removed.
-  The executables and libraries built so far contain about 70 MB of unneeded
-  debugging symbols. Remove those symbols with:</para>
-
-<screen><userinput>$LFS_TGT-strip --strip-debug $LFS/usr/lib/*
-$LFS_TGT-strip --strip-unneeded $LFS/usr/{,s}bin/*</userinput></screen>
-
-  <para>These commands will skip a number of files, reporting that it does not
-  recognize their file format. Most of these are scripts instead of binaries.
-  Note that we use the <command>strip</command> program built in
-  <quote>Binutils pass 1</quote>, since it is the one that knows how to strip
-  our cross-compiled programs.</para>
-<!-- Normally, the host "strip" could be used too, since it is actually the
-same computer. But Some old versions of binutils may generate buggy crt1.o
-and the like, because they do not know about recently introduced symbol
-types. For more details,
-see https://sourceware.org/bugzilla/show_bug.cgi?id=22875-->
-
-  <para>Take care <emphasis>not</emphasis> to use
-  <parameter>--strip-unneeded</parameter> on the libraries. The static
-  ones would be destroyed and the toolchain packages would need to be
-  built all over again.</para>
-
-  <para>To save more, remove the documentation:</para>
-
-<screen><userinput>rm -rf $LFS/usr/{,share}/{info,man,doc}</userinput></screen>
-
-  <para>The libtool .la files are only useful when linking with static
-  libraries. They are unneeded, and potentially harmful, when using dynamic
-  shared libraries, specially when using also non-autotools build systems.
-  Remove those files now:</para>
-
-<screen><userinput>find $LFS/usr/{lib,libexec} -name \*.la -delete</userinput></screen>
-
-  <para>At this point, you should have at least 3 GB of free space in
-  <envar>$LFS</envar> that can be used to build and install Glibc and Gcc in
-  the next phase. If you can build and install Glibc, you can build and install
-  the rest too.</para>
-
-  <sect2>
-    <title>Backup / Restore</title>
-
-    <para>
-      Now that the essential tools has been created, its time to think about
-      a backup. When every check has passed successfully in the previously 
-      built packages, your temporary tools are in a good state and might be
-      backed up for later reuse. In case of fatal failures in the subsequent
-      sections, it often turns out that removing everything and start over
-      (more carefully) is the best option to recover. Unfortunatly, all the
-      temporary tools will be removed, too. To avoid extra time to redo
-      something which has been built successfully, make sure you have at least
-      600 MB free disk space (the source tarballs will be included in the
-      backup archive) in the home directory of user 
-      <systemitem class="username">lfs</systemitem> and prepare a backup:
-    </para>
-
-<screen role="nodump"><userinput>cd $LFS &amp;&amp;
-tar -cJpf $HOME/temp-tools.tar.xz .
-</userinput></screen>
-
-    <para>
-      In case you have to start over as some mistakes has been made, you can
-      use this backup to restore the temporary tools and save some time on
-      the way to recover. Since the sources are located under 
-      <filename class="directory">$LFS</filename>, they are included in the
-      backup archive as well, so you need not to download them again. After
-      checking that <filename class="directory">$LFS</filename> is set proper,
-      restore the backup by executing the following commands:
-    </para>
-
-<screen role="nodump"><userinput>cd $LFS &amp;&amp;
-rm -rf ./* &amp;&amp;
-tar -xpf $HOME/temp-tools.tar.xz
-</userinput></screen>
-
-    <para>
-      Again, double check that the environment has been setup proper and
-      continue building the rest of the system.
-    </para>
-
-  </sect2>
-
-</sect1>

+ 1 - 0
chapter07/chapter07.xml

@@ -27,5 +27,6 @@
   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="tcl.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="expect.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="dejagnu.xml"/>
+  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="stripping.xml"/>
 
 </chapter>

+ 132 - 0
chapter07/stripping.xml

@@ -0,0 +1,132 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
+  "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
+  <!ENTITY % general-entities SYSTEM "../general.ent">
+  %general-entities;
+]>
+
+<sect1 id="ch-tools-stripping">
+  <?dbhtml filename="stripping.html"?>
+
+  <title>Finishing Temporary Tools</title>
+  
+  <para>
+    The steps in this section are optional. Skip this section entirely
+    if you are not really short on disk space and do not want to create
+    a backup of the temporary tools.
+  </para>
+
+  <sect2>
+    <title>Stripping</title>
+
+    <para>If the LFS partition is rather small, it is beneficial to
+    learn that unnecessary items can be removed.
+    The executables and libraries built so far contain about 70 MB of unneeded
+    debugging symbols.</para>
+
+<screen><userinput>strip --strip-debug /usr/lib/*
+strip --strip-unneeded /usr/{,s}bin/*
+strip --strip-unneeded /tools/bin/*</userinput></screen>
+
+    <para>These commands will skip a number of files, reporting that it does not
+    recognize their file format. Most of these are scripts instead of binaries.
+    Note that we use the <command>strip</command> program built in
+    <quote>Binutils pass 1</quote>, since it is the one that knows how to strip
+    our cross-compiled programs.</para>
+  <!-- Normally, the host "strip" could be used too, since it is actually the
+  same computer. But Some old versions of binutils may generate buggy crt1.o
+  and the like, because they do not know about recently introduced symbol
+  types. For more details,
+  see https://sourceware.org/bugzilla/show_bug.cgi?id=22875-->
+
+    <para>Take care <emphasis>not</emphasis> to use
+    <parameter>--strip-unneeded</parameter> on the libraries. The static
+    ones would be destroyed and the toolchain packages would need to be
+    built all over again.</para>
+
+    <para>To save more, remove the documentation:</para>
+
+<screen><userinput>rm -rf /usr/{,share}/{info,man,doc}</userinput></screen>
+
+    <para>The libtool .la files are only useful when linking with static
+    libraries. They are unneeded, and potentially harmful, when using dynamic
+    shared libraries, specially when using also non-autotools build systems.
+    Remove those files now:</para>
+
+<screen><userinput>find /usr/{lib,libexec} -name \*.la -delete</userinput></screen>
+
+    <para>At this point, you should have at least 3 GB of free space in
+    <envar>$LFS</envar> that can be used to build and install Glibc and Gcc in
+    the next phase. If you can build and install Glibc, you can build and install
+    the rest too.</para>
+
+  </sect2>
+
+  <sect2>
+    <title>Backup / Restore</title>
+
+    <para>
+      Now that the essential tools have been created, its time to think about
+      a backup. When every check has passed successfully in the previously 
+      built packages, your temporary tools are in a good state and might be
+      backed up for later reuse. In case of fatal failures in the subsequent
+      sections, it often turns out that removing everything and starting over
+      (more carefully) is the best option to recover. Unfortunatly, all the
+      temporary tools will be removed, too. To avoid extra time to redo
+      something which has been built successfully, prepare a backup.
+    </para>
+
+    <para>
+      Leave the chroot environment and make sure you have at least 
+      600 MB free disk space (the source tarballs will be included in
+      the backup archive) in the home directory of user 
+      <systemitem class="username">lfs</systemitem>. Leaving the 
+      chroot environment is required as the backup should be stored
+      outside of the <filename class="directory">$LFS</filename> directory
+      but those cannot be accessed when in chroot. Leave chroot environment
+      and unmount the virtual kernel filesystems:
+    </para>
+
+<screen role="nodump"><userinput>exit
+umount $LFS/dev{/pts,}
+umount $LFS/{sys,proc,run}
+</userinput></screen>
+
+    <para>Create the backup archive:</para>
+<screen role="nodump"><userinput>cd $LFS &amp;&amp;
+tar -cJpf $HOME/temp-tools.tar.xz .
+</userinput></screen>
+
+    <para>
+      In case you have to start over as some mistakes has been made, you can
+      use this backup to restore the temporary tools and save some time on
+      the way to recover. Since the sources are located under 
+      <filename class="directory">$LFS</filename>, they are included in the
+      backup archive as well, so you need not to download them again. After
+      checking that <filename class="directory">$LFS</filename> is set proper,
+      restore the backup by executing the following commands:
+    </para>
+
+<screen role="nodump"><userinput>cd $LFS &amp;&amp;
+rm -rf ./* &amp;&amp;
+tar -xpf $HOME/temp-tools.tar.xz
+</userinput></screen>
+
+    <para>
+      Again, double check that the environment has been setup proper and
+      continue building the rest of the system.
+    </para>
+
+    <important>
+      <para>
+      If you left the chroot environment either to create a backup
+      or restart building using a restore, remember to mount the
+      kernel virtual filesystems as described in <xref
+      linkend='ch-tools-kernfs'/> and enter the
+      chroot environment (see <xref
+      linkend='ch-tools-chroot'/>) again before continuing.</para>
+    </important>
+    
+  </sect2>
+
+</sect1>