* Fixed problem when BASEDIR paths were given without a trailing '/'.
[linux_from_scratch.git] / newxml / chapter06 / chapter06.xml
blob0de12cb7ac9ed01c075bd2317810d035a3877052
1 <?xml version="1.0" encoding="ISO-8859-1"?>
2 <!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
3   <!ENTITY % general-entities SYSTEM "../general.ent">
4   %general-entities;
5 ]>
6 <chapter id="chapter-building-system" xreflabel="Chapter 6">
7 <?dbhtml dir="chapter06"?>
8 <title>Installing basic system software</title>
9 <?dbhtml filename="chapter06.html"?>
12 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="introduction.xml"/>
15 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="proc.xml"/>
18 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="chroot.xml"/>
21 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="changingowner.xml"/>
24 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="creatingdirs.xml"/>
27 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="createfiles.xml"/>
30 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="pwdgroup.xml"/>
33 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="makedev.xml"/>
36 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="kernel-headers.xml"/>
39 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="man-pages.xml"/>
42 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="glibc.xml"/>
47 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="readjusting.xml"/>
50 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="binutils.xml"/>
53 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="gcc.xml"/>
57 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="coreutils.xml"/>
60 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="zlib.xml"/>
63 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="mktemp.xml"/>
66 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="iana-etc.xml"/>
69 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="findutils.xml"/>
72 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="gawk.xml"/>
75 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="ncurses.xml"/>
78 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="vim.xml"/>
81 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="m4.xml"/>
84 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="bison.xml"/>
87 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="less.xml"/>
90 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="groff.xml"/>
93 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="sed.xml"/>
96 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="flex.xml"/>
99 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="gettext.xml"/>
102 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="net-tools.xml"/>
105 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="inetutils.xml"/>
108 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="perl.xml"/>
111 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="texinfo.xml"/>
114 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="autoconf.xml"/>
117 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="automake.xml"/>
120 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="bash.xml"/>
123 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="file.xml"/>
126 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="libtool.xml"/>
129 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="bzip2.xml"/>
132 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="diffutils.xml"/>
135 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="ed.xml"/>
138 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="kbd.xml"/>
141 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="e2fsprogs.xml"/>
144 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="grep.xml"/>
147 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="grub.xml"/>
150 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="gzip.xml"/>
153 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="man.xml"/>
156 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="make.xml"/>
159 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="modutils.xml"/>
162 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="patch.xml"/>
165 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="procinfo.xml"/>
168 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="procps.xml"/>
171 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="psmisc.xml"/>
174 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="shadow.xml"/>
177 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="sysklogd.xml"/>
180 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="sysvinit.xml"/>
183 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="tar.xml"/>
186 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="util-linux.xml"/>
189 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="gcc-2953.xml"/>
194 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="aboutdebug.xml"/>
197 <sect1 id="ch-system-strippingagain">
198 <title>Stripping again</title>
199 <?dbhtml filename="strippingagain.html"?>
201 <para>If you are not a programmer and don't plan to do any debugging on your
202 system software, you can shrink your system by about 200 MB by removing the
203 debugging symbols from binaries and libraries. This causes no inconvenience
204 other than not being able to debug the software fully any more.</para>
206 <para>Most people who use the command mentioned below don't experience any
207 problems. But it is easy to make a typo and render your new system unusable, so
208 before running the strip command it is probably a good idea to make a backup of
209 the current situation.</para>
211 <para>If you are going to perform the stripping, special care is needed to
212 ensure you're not running any of the binaries that are about to be stripped.
213 If you're not sure whether you entered chroot with the command given in
214 <xref linkend="ch-system-chroot"/>, then first exit from chroot:</para>
216 <screen><userinput>logout</userinput></screen>
218 <para>Then reenter it with:</para>
220 <screen><userinput>chroot $LFS /tools/bin/env -i \
221     HOME=/root TERM=$TERM PS1='\u:\w\$ ' \
222     PATH=/bin:/usr/bin:/sbin:/usr/sbin \
223     /tools/bin/bash --login</userinput></screen>
225 <para>Now you can safely strip the binaries and libraries:</para>
227 <screen><userinput>/tools/bin/find /{,usr/}{bin,lib,sbin} -type f \
228    -exec /tools/bin/strip --strip-debug '{}' ';'</userinput></screen>
230 <para>A large number of files will be reported as having their file format not
231 recognized. These warnings can be safely ignored, they just mean that those
232 files are scripts instead of binaries, no harm is done.</para>
234 <para>If you are really tight on disk space, you may want to use
235 <emphasis>--strip-all</emphasis> on the binaries in
236 <filename>/{,usr/}{bin,sbin}</filename> to gain several more megabytes. But do
237 <emphasis>not</emphasis> use this option on libraries: they would be
238 destroyed.</para>
240 </sect1>
243 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="revisedchroot.xml"/>
245 </chapter>