source: chapter05/setting-environment.xml@ bc82645e

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 bc82645e was bc82645e, checked in by Gerard Beekmans <gerard@…>, 21 years ago

Integrated Pure LFS - Phase 1

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

  • Property mode set to 100644
File size: 2.3 KB
Line 
1<sect1 id="ch05-settingenviron">
2<title>Setting up the environment</title>
3<?dbhtml filename="settingenviron.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
13LDFLAGS="-s"
14PATH=/stage1/bin:$PATH
15export LFS LC_ALL LDFLAGS PATH
16EOF
17source ~/.bash_profile</userinput></screen></para>
18
19<para><userinput>set +h</userinput> turns off Bash's hash function. Hash
20normally is a useful feature where Bash uses a hash table to remember the
21full pathnames of executable files to avoid multiple `PATH' searches.
22However, we'd like the new tools to become available as soon as they are
23installed. By switching off the hash function, our "interactive" commands
24(make, patch, sed, cp and so forth) will always use the newest available
25during the build process.</para>
26
27<para>This profile sets the umask to 022, so newly created files and
28directories will have the correct permissions. To be more specific, only
29the file owner will have write permission to new files and directories.
30Other users of the system will be have read permission, and executable
31permission to directories. It is advisable to keep this setting throughout
32your LFS installation.</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 "C" or "POSIX" during this chapter
41may cause trouble if you exit the chroot environment and wish to return later.
42By setting LC_ALL to "POSIX" ("C" is an alias for "POSIX") we ensure that
43everything will work as expected in the chroot environment.</para>
44
45<para>LDFLAGS is a variable we set in order to prevent debugging symbols from
46being compiled into our static packages. By omitting these symbols during
47the linking stage of compilation, we save hard drive space and decrease our
48build time.</para>
49
50<para>We are now prepared to begin building the temporary tools which will
51support us in later chapters.</para>
52
53</sect1>
54
Note: See TracBrowser for help on using the repository browser.