diff options
Diffstat (limited to 'chapter06')
-rw-r--r-- | chapter06/adjustingtoolchain.xml | 12 | ||||
-rw-r--r-- | chapter06/createfiles.xml | 5 | ||||
-rw-r--r-- | chapter06/shadowpwd-inst.xml | 9 |
3 files changed, 15 insertions, 11 deletions
diff --git a/chapter06/adjustingtoolchain.xml b/chapter06/adjustingtoolchain.xml index 14ce79020..4a79ba2bb 100644 --- a/chapter06/adjustingtoolchain.xml +++ b/chapter06/adjustingtoolchain.xml @@ -12,11 +12,17 @@ source and build directories from the second pass over Binutils. Install the adjusted linker by running the following from within the <filename class="directory">binutils-build</filename> directory:</para> -<para><screen><userinput>make -C ld install</userinput></screen></para> +<para><screen><userinput>make -C ld INSTALL=/tools/bin/install install</userinput></screen></para> <para>From now on every compiled program will link <emphasis>only</emphasis> -against the libraries in <filename>/usr/lib</filename> and <filename>/lib -</filename>.</para> +against the libraries in <filename>/usr/lib</filename> and +<filename>/lib</filename>. The extra +<userinput>INSTALL=/tools/bin/install</userinput> is needed because the Makefile +created during the second pass still contains the reference to +<filename>/usr/bin/install</filename>, which we obviously haven't installed yet. +Some host distributions contain a <filename class="symlink">ginstall</filename> +symbolic link which takes precedence in the Makefile and thus can cause a +problem here. The above command takes care of this also.</para> <para>You can now remove the Binutils source and build directories.</para> diff --git a/chapter06/createfiles.xml b/chapter06/createfiles.xml index 5ab9fb8a7..681457828 100644 --- a/chapter06/createfiles.xml +++ b/chapter06/createfiles.xml @@ -8,10 +8,9 @@ will be replaced by real files throughout the course of this chapter when we're installing all the software.</para> <para><screen><userinput>ln -s /tools/bin/{bash,pwd,cat,stty} /bin -ln -s /tools/bin/{perl,install} /usr/bin +ln -s /tools/bin/perl /usr/bin ln -s /tools/lib/libgcc_s.so.1 /usr/lib -ln -s bash /bin/sh -ln -s ../usr/bin/install /bin</userinput></screen></para> +ln -s bash /bin/sh</userinput></screen></para> </sect1> diff --git a/chapter06/shadowpwd-inst.xml b/chapter06/shadowpwd-inst.xml index d487600e3..9e0069145 100644 --- a/chapter06/shadowpwd-inst.xml +++ b/chapter06/shadowpwd-inst.xml @@ -27,12 +27,11 @@ bad login attempts.</para> <para>Shadow hard-wires the path to the <userinput>passwd</userinput> binary within the binary itself, but does this the wrong way. If a <userinput>passwd</userinput> binary is not present before installing Shadow, -the package wrongly assumes it is going to be located at +the package incorrectly assumes it is going to be located at <filename>/bin/passwd</filename>, but then installs it in -<filename>/usr/bin/passwd</filename>. This will lead to weird errors about not -finding <filename>/bin/passwd</filename>. To work around this bug, create a -dummy <filename>passwd</filename> file, so that it gets hard-wired -properly:</para> +<filename>/usr/bin/passwd</filename>. This will lead to errors about not finding +<filename>/bin/passwd</filename>. To work around this bug, create a dummy +<filename>passwd</filename> file, so that it gets hard-wired properly:</para> <para><screen><userinput>touch /usr/bin/passwd</userinput></screen></para> |