| 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-boot-createfiles">
 | 
|---|
| 9 |   <?dbhtml filename="createfiles.html"?>
 | 
|---|
| 10 | 
 | 
|---|
| 11 |   <title>Creating Essential Symlinks</title>
 | 
|---|
| 12 | 
 | 
|---|
| 13 |   <para os="a">Some programs use hard-wired paths to programs which do not exist
 | 
|---|
| 14 |   yet. In order to satisfy these programs, create a number of symbolic
 | 
|---|
| 15 |   links which will be replaced by real files throughout the course of
 | 
|---|
| 16 |   the next chapter after the software has been installed.</para>
 | 
|---|
| 17 | 
 | 
|---|
| 18 | <screen><userinput>ln -sv /tools/bin/{bash,cat,echo,grep,login,passwd,pwd,sleep,stty} ${CLFS}/bin
 | 
|---|
| 19 | ln -sv /tools/sbin/{agetty,blkid} ${CLFS}/sbin
 | 
|---|
| 20 | ln -sv /tools/bin/file ${CLFS}/usr/bin
 | 
|---|
| 21 | ln -sv /tools/lib/libgcc_s.so{,.1} ${CLFS}/usr/lib
 | 
|---|
| 22 | ln -sv /tools/lib/libstdc++.so{.6,} ${CLFS}/usr/lib
 | 
|---|
| 23 | sed -e 's/tools/usr/' /tools/lib/libstdc++.la > ${CLFS}/usr/lib/libstdc++.la
 | 
|---|
| 24 | ln -sv bash ${CLFS}/bin/sh
 | 
|---|
| 25 | ln -sv /run ${CLFS}/var/run</userinput></screen>
 | 
|---|
| 26 | 
 | 
|---|
| 27 |   <para os="c">Historically, Linux maintains a list of the mounted file systems
 | 
|---|
| 28 |   in the file <filename>/etc/mtab</filename>. Modern kernels maintain this list
 | 
|---|
| 29 |   internally and exposes it to the user via the
 | 
|---|
| 30 |   <filename class="directory">/proc</filename> filesystem. To satisfy utilities
 | 
|---|
| 31 |   that expect the presence of <filename>/etc/mtab</filename>, create the
 | 
|---|
| 32 |   following symbolic link:</para>
 | 
|---|
| 33 | 
 | 
|---|
| 34 | <screen os="d"><userinput>ln -sv /proc/self/mounts ${CLFS}/etc/mtab</userinput></screen>
 | 
|---|
| 35 | 
 | 
|---|
| 36 | </sect1>
 | 
|---|