| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 | 
							- <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 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>
 
 
  |