mirror of
https://git.linuxfromscratch.org/lfs.git
synced 2025-01-20 05:57:43 +00:00
84a7dc232d
git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@2552 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
54 lines
2.3 KiB
XML
54 lines
2.3 KiB
XML
<sect1 id="ch05-settingenviron">
|
|
<title>Setting up the environment</title>
|
|
<?dbhtml filename="settingenviron.html" dir="chapter05"?>
|
|
|
|
<para>While logged in as user <emphasis>lfs</emphasis>, issue the
|
|
following commands to set up a good work environment:</para>
|
|
|
|
<para><screen><userinput>cat > ~/.bash_profile << "EOF"
|
|
set +h
|
|
umask 022
|
|
LFS=/mnt/lfs
|
|
LC_ALL=POSIX
|
|
PATH=/stage1/bin:$PATH
|
|
export LFS LC_ALL LDFLAGS PATH
|
|
EOF
|
|
source ~/.bash_profile</userinput></screen></para>
|
|
|
|
<para><userinput>set +h</userinput> turns off Bash's hash function. Hash
|
|
normally is a useful feature where Bash uses a hash table to remember the
|
|
full pathnames of executable files to avoid multiple `PATH' searches.
|
|
However, we'd like the new tools to become available as soon as they are
|
|
installed. By switching off the hash function, our "interactive" commands
|
|
(make, patch, sed, cp and so forth) will always use the newest available
|
|
during the build process.</para>
|
|
|
|
<para>This profile sets the umask to 022, so newly created files and
|
|
directories will have the correct permissions. To be more specific, only
|
|
the file owner will have write permission to new files and directories.
|
|
Other users of the system will be have read permission, and executable
|
|
permission to directories. It is advisable to keep this setting throughout
|
|
your LFS installation.</para>
|
|
|
|
<para>The LFS variable should of course be set to the mount point you
|
|
chose.</para>
|
|
|
|
<para>The LC_ALL variable controls the localization of certain programs,
|
|
making their messages follow the conventions of a specified country. If your
|
|
host system uses a version of <emphasis>glibc</emphasis> older than 2.2.4,
|
|
having LC_ALL set to something other than "C" or "POSIX" during this chapter
|
|
may cause trouble if you exit the chroot environment and wish to return later.
|
|
By setting LC_ALL to "POSIX" ("C" is an alias for "POSIX") we ensure that
|
|
everything will work as expected in the chroot environment.</para>
|
|
|
|
<para>LDFLAGS is a variable we set in order to prevent debugging symbols from
|
|
being compiled into our static packages. By omitting these symbols during
|
|
the linking stage of compilation, we save hard drive space and decrease our
|
|
build time.</para>
|
|
|
|
<para>We are now prepared to begin building the temporary tools which will
|
|
support us in later chapters.</para>
|
|
|
|
</sect1>
|
|
|