bash-exp.xml 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. <sect2>
  2. <title>Command explanations</title>
  3. <para><userinput>--enable-static-link:</userinput> This configure
  4. option causes Bash to be linked statically</para>
  5. <para><userinput>--prefix=$LFS/usr:</userinput> This configure option installs
  6. all of Bash's files under the $LFS/usr directory, which becomes the /usr
  7. directory when chroot'ed or reboot'ed into LFS.</para>
  8. <para><userinput>--bindir=$LFS/bin:</userinput> This installs the executable
  9. files in $LFS/bin. We do this because we want bash to be in /bin, not in
  10. /usr/bin. One reason being: the /usr partition might be on a separate
  11. partition which has to be mounted at some point. Before that partition is
  12. mounted you need and will want to have bash available (it will be hard to
  13. execute the boot scripts without a shell for instance).</para>
  14. <para><userinput>--with-curses:</userinput> This causes Bash to be
  15. linked against the curses library instead of the default termcap
  16. library which is becoming obsolete.</para>
  17. <para>It is not strictly necessary for the static bash to be linked
  18. against libncurses (it can link against a static termap for the time
  19. being just fine because we will reinstall Bash in chapter 6 anyways,
  20. where we will use libncurses), but it's a good test to make sure that
  21. the ncurses package has been installed properly. If not, you will get in
  22. trouble later on in this chapter when you install the Texinfo package.
  23. That package requires ncurses and termcap can't reliably be used
  24. there.</para>
  25. <para><userinput>ln -sf bash sh:</userinput> This command creates the sh
  26. symlink that points to bash. Most scripts run themselves via 'sh'
  27. (invoked by the #!/bin/sh as the first line in the scripts) which
  28. invokes a special bash mode. Bash will then behave (as closely as
  29. possible) as the original Bourne shell.</para>
  30. <para>The <userinput>&amp;&amp;</userinput>'s at the end of every line cause
  31. the next command to be executed only if the previous command exists
  32. with a return value of 0 indicating success. In case all of these
  33. commands are copy&amp;pasted
  34. on the shell, is is important to be ensured that if
  35. ./configure fails, make isn't being executed and, likewise, if make fails,
  36. that make install isn't being executed, and so forth.</para>
  37. </sect2>