source: chapter05/setting-environment.xml@ 66e4325

10.0 10.0-rc1 10.1 10.1-rc1 11.0 11.0-rc1 11.0-rc2 11.0-rc3 11.1 11.1-rc1 11.2 11.2-rc1 11.3 11.3-rc1 12.0 12.0-rc1 12.1 12.1-rc1 6.0 6.1 6.1.1 6.3 6.4 6.5 6.6 6.7 6.8 7.0 7.1 7.2 7.3 7.4 7.5 7.5-systemd 7.6 7.6-systemd 7.7 7.7-systemd 7.8 7.8-systemd 7.9 7.9-systemd 8.0 8.1 8.2 8.3 8.4 9.0 9.1 arm bdubbs/gcc13 ml-11.0 multilib renodr/libudev-from-systemd s6-init trunk v5_0 v5_1 v5_1_1 xry111/arm64 xry111/arm64-12.0 xry111/clfs-ng xry111/lfs-next xry111/loongarch xry111/loongarch-12.0 xry111/loongarch-12.1 xry111/mips64el xry111/pip3 xry111/rust-wip-20221008 xry111/update-glibc
Last change on this file since 66e4325 was 66e4325, checked in by Gerard Beekmans <gerard@…>, 21 years ago

Applied Alex' "apapting-the-text.patch" patch

git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@2639 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689

  • Property mode set to 100644
File size: 2.2 KB
Line 
1<sect1 id="ch05-settingenviron">
2<title>Setting up the environment</title>
3<?dbhtml filename="settingenvironment.html" dir="chapter05"?>
4
5<para>While logged in as user <emphasis>lfs</emphasis>, issue the
6following commands to set up a good work environment:</para>
7
8<para><screen><userinput>cat &gt; ~/.bash_profile &lt;&lt; "EOF"
9set +h
10umask 022
11LFS=/mnt/lfs
12LC_ALL=POSIX
13PATH=/stage1/bin:$PATH
14export LFS LC_ALL PATH
15EOF
16
17source ~/.bash_profile</userinput></screen></para>
18
19<para>The <userinput>set +h</userinput> command turns off
20<userinput>bash</userinput>'s hash function. Normally hashing is a useful
21feature: <userinput>bash</userinput> uses a hash table to remember the
22full pathnames of executable files to avoid searching the PATH time and time
23again to find the same executable. However, we'd like the new tools to be
24used as soon as they are installed. By switching off the hash function, our
25"interactive" commands (<userinput>make</userinput>,
26<userinput>patch</userinput>, <userinput>sed</userinput>,
27<userinput>cp</userinput> and so forth) will always use
28the newest available version during the build process.</para>
29
30<para>Setting the user file-creation mask to 022 ensures that newly created
31files and directories are only writable for their owner, but readable and
32executable for anyone.</para>
33
34<para>The LFS variable should of course be set to the mount point you
35chose.</para>
36
37<para>The LC_ALL variable controls the localization of certain programs,
38making their messages follow the conventions of a specified country. If your
39host system uses a version of <emphasis>glibc</emphasis> older than 2.2.4,
40having LC_ALL set to something other than "POSIX" or "C" during this chapter
41may cause trouble if you exit the chroot environment and wish to return later.
42By setting LC_ALL to "POSIX" (or "C", the two are equivalent) we ensure that
43everything will work as expected in the chroot environment.</para>
44
45<para>We prepend <filename>/stage1/bin</filename> to the standard PATH so
46that, as we move along through this chapter, the tools we build will get used
47during the rest of the building process.</para>
48
49<para>Now, after sourcing the just-created profile, we're all set to begin
50building the temporary tools that will support us in later chapters.</para>
51
52</sect1>
53
Note: See TracBrowser for help on using the repository browser.