Ignore:
Timestamp:
May 11, 2014, 11:47:04 AM (11 years ago)
Author:
Chris Staub <chris@…>
Branches:
clfs-3.0.0-systemd, clfs-3.0.0-sysvinit, master, systemd, sysvinit
Children:
c54a540
Parents:
9b519e2
Message:

Added command explanations for symlinks

File:
1 edited

Legend:

Unmodified
Added
Removed
  • BOOK/boot/common/createfiles.xml

    r9b519e2 rb925729  
    2626ln -sv /tools/etc/{login.{access,defs},limits} ${CLFS}/etc</userinput></screen>
    2727
    28   <para os="c">Historically, Linux maintains a list of the mounted file systems
     28  <variablelist os="c">
     29    <title>The purpose of each link:</title>
     30
     31    <varlistentry os="c1">
     32      <term><parameter><filename>/bin/bash</filename></parameter></term>
     33      <listitem>
     34        <para>Many <command>bash</command> scripts specify
     35        <filename>/bin/bash</filename>.</para>
     36      </listitem>
     37    </varlistentry>
     38
     39    <varlistentry os="c2">
     40      <term><parameter><filename>/bin/cat</filename></parameter></term>
     41      <listitem>
     42        <para>This pathname is hard-coded into Glibc's configure script.</para>
     43      </listitem>
     44    </varlistentry>
     45
     46    <varlistentry os="c3">
     47      <term><parameter><filename>/bin/echo</filename></parameter></term>
     48      <listitem>
     49        <para>This is to satisfy one of the tests in Glibc's testsuite, which
     50        will fail in <command>echo</command> is not found in
     51        <filename class="directory">/bin</filename>.</para>
     52      </listitem>
     53    </varlistentry>
     54
     55    <varlistentry os="c4">
     56      <term><parameter><filename>/bin/grep</filename></parameter></term>
     57      <listitem>
     58        <para>This to avoid a hard-coded
     59        <filename class="directory">/tools</filename> reference in Libtool.</para>
     60      </listitem>
     61    </varlistentry>
     62
     63    <varlistentry os="c5">
     64      <term><parameter><filename>/bin/login</filename></parameter></term>
     65      <listitem>
     66        <para>The <command>agetty</command> program expects to find
     67        <command>login</command> in <filename class="directory">/bin</filename>.</para>
     68      </listitem>
     69    </varlistentry>
     70
     71    <varlistentry os="c6">
     72      <term><parameter><filename>/bin/pwd</filename></parameter></term>
     73      <listitem>
     74        <para>Some <command>configure</command> scripts, particularly Glibc's,
     75        have this pathname hard-coded.</para>
     76      </listitem>
     77    </varlistentry>
     78
     79    <varlistentry os="c7">
     80      <term><parameter><filename>/bin/stty</filename></parameter></term>
     81      <listitem>
     82        <para>This pathname is hard-coded into Expect, therefore it is needed
     83        for Binutils and GCC testsuites to pass.</para>
     84      </listitem>
     85    </varlistentry>
     86
     87    <varlistentry os="c8">
     88      <term><parameter><filename>/usr/bin/file</filename></parameter></term>
     89      <listitem>
     90        <para>Binutils' <command>configure</command> scripts specify this
     91        command location.</para>
     92      </listitem>
     93    </varlistentry>
     94
     95    <varlistentry os="c9">
     96      <term><parameter><filename>/usr/lib/libgcc_s.so{,.1}</filename></parameter></term>
     97      <listitem>
     98        <para>Glibc needs this for the pthreads library to work.</para>
     99      </listitem>
     100    </varlistentry>
     101
     102    <varlistentry os="c10">
     103      <term><parameter><filename>/usr/lib/libstdc++{,.6}</filename></parameter></term>
     104      <listitem>
     105        <para>This is needed by several tests in Glibc's testsuite, as well as
     106        for C++ support in GMP.</para>
     107      </listitem>
     108    </varlistentry>
     109
     110    <varlistentry os="c11">
     111      <term><parameter><filename>/usr/lib/libstdc++.la</filename></parameter></term>
     112      <listitem>
     113        <para>This prevents a <filename class="directory">/tools</filename>
     114        reference that would be in <filename>/usr/lib/libstdc++.la</filename>.</para>
     115      </listitem>
     116    </varlistentry>
     117
     118    <varlistentry os="c12">
     119      <term><parameter><filename>/bin/sh</filename></parameter></term>
     120      <listitem>
     121        <para>Many shell scripts hard-code <filename>/bin/sh</filename>.</para>
     122      </listitem>
     123    </varlistentry>
     124
     125    <varlistentry os="c13">
     126      <term><parameter><filename>/var/run</filename></parameter></term>
     127      <listitem>
     128        <para>This is to account for any applications that have not yet
     129        migrated to using <filename class="directory">/run</filename>.</para>
     130      </listitem>
     131    </varlistentry>
     132
     133    <varlistentry os="c14">
     134      <term><parameter><filename>/sbin/init</filename></parameter></term>
     135      <listitem>
     136        <para>This is where the kernel expects to find <command>init</command>.</para>
     137      </listitem>
     138    </varlistentry>
     139
     140    <varlistentry os="c15">
     141      <term><parameter><filename>/etc/{login.{access,defs},limits}</filename></parameter></term>
     142      <listitem>
     143        <para>These are configuration files used by Shadow and are expected to
     144        be found in <filename class="directory">/etc</filename>, for programs
     145        such as <command>login</command> and <command>su</command> to work.</para>
     146      </listitem>
     147    </varlistentry>
     148
     149  </variablelist>
     150
     151  <para os="d">Historically, Linux maintains a list of the mounted file systems
    29152  in the file <filename>/etc/mtab</filename>. Modern kernels maintain this list
    30153  internally and expose it to the user via the
     
    33156  following symbolic link:</para>
    34157
    35 <screen os="d"><userinput>ln -sv /proc/self/mounts ${CLFS}/etc/mtab</userinput></screen>
     158<screen os="e"><userinput>ln -sv /proc/self/mounts ${CLFS}/etc/mtab</userinput></screen>
    36159
    37160</sect1>
Note: See TracChangeset for help on using the changeset viewer.