source: chapter06/stripping.xml@ ccff95b

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 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
Last change on this file since ccff95b was ccff95b, checked in by Thomas Trepl <thomas@…>, 4 years ago

Add a section about backup temptools

git-svn-id: http://svn.linuxfromscratch.org/LFS/branches/cross2@11915 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689

  • Property mode set to 100644
File size: 4.1 KB
RevLine 
[fcc02767]1<?xml version="1.0" encoding="ISO-8859-1"?>
2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3 "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
4 <!ENTITY % general-entities SYSTEM "../general.ent">
5 %general-entities;
6]>
7
8<sect1 id="ch-tools-stripping">
9 <?dbhtml filename="stripping.html"?>
10
11 <title>Stripping</title>
12
13 <para>The steps in this section are optional, but if the LFS partition is
14 rather small, it is beneficial to learn that unnecessary items can be removed.
15 The executables and libraries built so far contain about 70 MB of unneeded
16 debugging symbols. Remove those symbols with:</para>
17
18<screen><userinput>$LFS_TGT-strip --strip-debug $LFS/usr/lib/*
19$LFS_TGT-strip --strip-unneeded $LFS/usr/{,s}bin/*</userinput></screen>
20
21 <para>These commands will skip a number of files, reporting that it does not
22 recognize their file format. Most of these are scripts instead of binaries.
23 Note that we use the <command>strip</command> program built in
24 <quote>Binutils pass 1</quote>, since it is the one that knows how to strip
25 our cross-compiled programs.</para>
26<!-- Normally, the host "strip" could be used too, since it is actually the
27same computer. But Some old versions of binutils may generate buggy crt1.o
28and the like, because they do not know about recently introduced symbol
29types. For more details,
30see https://sourceware.org/bugzilla/show_bug.cgi?id=22875-->
31
32 <para>Take care <emphasis>not</emphasis> to use
33 <parameter>--strip-unneeded</parameter> on the libraries. The static
34 ones would be destroyed and the toolchain packages would need to be
35 built all over again.</para>
36
37 <para>To save more, remove the documentation:</para>
38
39<screen><userinput>rm -rf $LFS/usr/{,share}/{info,man,doc}</userinput></screen>
40
41 <para>The libtool .la files are only useful when linking with static
42 libraries. They are unneeded, and potentially harmful, when using dynamic
43 shared libraries, specially when using also non-autotools build systems.
44 Remove those files now:</para>
45
46<screen><userinput>find $LFS/usr/{lib,libexec} -name \*.la -delete</userinput></screen>
47
48 <para>At this point, you should have at least 3 GB of free space in
49 <envar>$LFS</envar> that can be used to build and install Glibc and Gcc in
50 the next phase. If you can build and install Glibc, you can build and install
51 the rest too.</para>
52
[ccff95b]53 <sect2>
54 <title>Backup / Restore</title>
55
56 <para>
57 Now that the essential tools has been created, its time to think about
58 a backup. When every check has passed successfully in the previously
59 built packages, your temporary tools are in a good state and might be
60 backed up for later reuse. In case of fatal failures in the subsequent
61 sections, it often turns out that removing everything and start over
62 (more carefully) is the best option to recover. Unfortunatly, all the
63 temporary tools will be removed, too. To avoid extra time to redo
64 something which has been built successfully, make sure you have at least
65 600 MB free disk space (the source tarballs will be included in the
66 backup archive) in the home directory of user
67 <systemitem class="username">lfs</systemitem> and prepare a backup:
68 </para>
69
70<screen role="nodump"><userinput>cd $LFS &amp;&amp;
71tar -cJpf $HOME/temp-tools.tar.xz .
72</userinput></screen>
73
74 <para>
75 In case you have to start over as some mistakes has been made, you can
76 use this backup to restore the temporary tools and save some time on
77 the way to recover. Since the sources are located under
78 <filename class="directory">$LFS</filename>, they are included in the
79 backup archive as well, so you need not to download them again. After
80 checking that <filename class="directory">$LFS</filename> is set proper,
81 restore the backup by executing the following commands:
82 </para>
83
84<screen role="nodump"><userinput>cd $LFS &amp;&amp;
85rm -rf ./* &amp;&amp;
86tar -xpf $HOME/temp-tools.tar.xz
87</userinput></screen>
88
89 <para>
90 Again, double check that the environment has been setup proper and
91 continue building the rest of the system.
92 </para>
93
94 </sect2>
95
[fcc02767]96</sect1>
Note: See TracBrowser for help on using the repository browser.