source: chapter05/setting-environment.xml@ 185b258b

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

removed LDFLAGS from export command and chroot

git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@2563 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
13PATH=/stage1/bin:$PATH
14export LFS LC_ALL PATH
15EOF
16source ~/.bash_profile</userinput></screen></para>
17
18<para><userinput>set +h</userinput> turns off Bash's hash function. Hash
19normally is a useful feature where Bash uses a hash table to remember the
20full pathnames of executable files to avoid multiple `PATH' searches.
21However, we'd like the new tools to become available as soon as they are
22installed. By switching off the hash function, our "interactive" commands
23(make, patch, sed, cp and so forth) will always use the newest available
24during the build process.</para>
25
26<para>This profile sets the umask to 022, so newly created files and
27directories will have the correct permissions. To be more specific, only
28the file owner will have write permission to new files and directories.
29Other users of the system will be have read permission, and executable
30permission to directories. It is advisable to keep this setting throughout
31your LFS installation.</para>
32
33<para>The LFS variable should of course be set to the mount point you
34chose.</para>
35
36<para>The LC_ALL variable controls the localization of certain programs,
37making their messages follow the conventions of a specified country. If your
38host system uses a version of <emphasis>glibc</emphasis> older than 2.2.4,
39having LC_ALL set to something other than "C" or "POSIX" during this chapter
40may cause trouble if you exit the chroot environment and wish to return later.
41By setting LC_ALL to "POSIX" ("C" is an alias for "POSIX") we ensure that
42everything will work as expected in the chroot environment.</para>
43
44<para>LDFLAGS is a variable we set in order to prevent debugging symbols from
45being compiled into our static packages. By omitting these symbols during
46the linking stage of compilation, we save hard drive space and decrease our
47build time.</para>
48
49<para>We are now prepared to begin building the temporary tools which will
50support us in later chapters.</para>
51
52</sect1>
53
Note: See TracBrowser for help on using the repository browser.