diff options
author | Gerard Beekmans <gerard@linuxfromscratch.org> | 2003-05-02 18:20:20 +0000 |
---|---|---|
committer | Gerard Beekmans <gerard@linuxfromscratch.org> | 2003-05-02 18:20:20 +0000 |
commit | bc82645e958948a6aefd3147a0d7f712de9eaf6b (patch) | |
tree | 4855b70f785c1e6bf04856e97824988120503b05 /chapter06 | |
parent | 55b50e3f6653cef278bad7e45fe5a378966953a7 (diff) |
Integrated Pure LFS - Phase 1
git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@2490 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
Diffstat (limited to 'chapter06')
-rw-r--r-- | chapter06/aboutdebug.xml | 2 | ||||
-rw-r--r-- | chapter06/adjustingtoolchain.xml | 14 | ||||
-rw-r--r-- | chapter06/binutils-inst.xml | 20 | ||||
-rw-r--r-- | chapter06/changingowner.xml | 14 | ||||
-rw-r--r-- | chapter06/chapter06.xml | 11 | ||||
-rw-r--r-- | chapter06/chroot.xml | 9 | ||||
-rw-r--r-- | chapter06/coreutils-inst.xml | 20 | ||||
-rw-r--r-- | chapter06/coreutils.xml | 8 | ||||
-rw-r--r-- | chapter06/createfiles.xml | 32 | ||||
-rw-r--r-- | chapter06/dejagnu-inst.xml | 12 | ||||
-rw-r--r-- | chapter06/dejagnu.xml | 11 | ||||
-rw-r--r-- | chapter06/expect-inst.xml | 15 | ||||
-rw-r--r-- | chapter06/expect.xml | 11 | ||||
-rw-r--r-- | chapter06/gcc-2953-inst.xml | 22 | ||||
-rw-r--r-- | chapter06/gcc-2953.xml | 8 | ||||
-rw-r--r-- | chapter06/gcc-inst.xml | 25 | ||||
-rw-r--r-- | chapter06/glibc-inst.xml | 66 | ||||
-rw-r--r-- | chapter06/groff-inst.xml | 2 | ||||
-rw-r--r-- | chapter06/ncurses-inst.xml | 2 | ||||
-rw-r--r-- | chapter06/pwdgroup.xml | 2 | ||||
-rw-r--r-- | chapter06/revisedchroot.xml | 3 | ||||
-rw-r--r-- | chapter06/tcl-inst.xml | 14 | ||||
-rw-r--r-- | chapter06/tcl.xml | 11 |
23 files changed, 231 insertions, 103 deletions
diff --git a/chapter06/aboutdebug.xml b/chapter06/aboutdebug.xml index 3e3a82dc9..d92e0abf9 100644 --- a/chapter06/aboutdebug.xml +++ b/chapter06/aboutdebug.xml @@ -39,7 +39,7 @@ software, a lot of disk space can be regained by removing these symbols .</para> <para>To remove debugging symbols from a binary (which must be an a.out or ELF binary), run <userinput>strip --strip-debug filename</userinput>. Wildcards can be used to treat multiple files (use something like -<userinput>strip --strip-debug $LFS/static/bin/*</userinput>).</para> +<userinput>strip --strip-debug $LFS/stage1/bin/*</userinput>).</para> <para>For your convenience, Chapter 9 includes one simple command to strip all debugging symbols from all programs and libraries on your system. diff --git a/chapter06/adjustingtoolchain.xml b/chapter06/adjustingtoolchain.xml new file mode 100644 index 000000000..c269e57ff --- /dev/null +++ b/chapter06/adjustingtoolchain.xml @@ -0,0 +1,14 @@ +<sect1 id="ch06-adjustingtoolchain"> +<title>Adjusting toolchain</title> +<?dbhtml filename="adjustingtoolchain.html" dir="chapter06"?> + +<para><screen><userinput>cd binutils-build +make -C ld INSTALL=/stage1/bin/install install-data-local +SPECFILE=/stage1/lib/gcc-lib/i686-pc-linux-gnu/*/specs && +cp ${SPECFILE} ./XX && +sed 's@/stage1/lib/ld-linux.so.2@/lib/ld-linux.so.2@g' ./XX > ${SPECFILE} && +unset SPECFILE && +rm -f ./XX</userinput></screen></para> + +</sect1> + diff --git a/chapter06/binutils-inst.xml b/chapter06/binutils-inst.xml index 8adbe9dbd..f9c329061 100644 --- a/chapter06/binutils-inst.xml +++ b/chapter06/binutils-inst.xml @@ -16,11 +16,16 @@ cd ../binutils-build</userinput></screen></para> <para>Next, prepare Binutils to be compiled:</para> -<para><screen><userinput>../binutils-&binutils-version;/configure --prefix=/usr --enable-shared</userinput></screen></para> +<para><screen><userinput>CFLAGS="-O2 -pipe" \ + ../binutils-&binutils-version;/configure \ + --prefix=/usr --mandir=/usr/share/man \ + --infodir=/usr/share/info --enable-shared</userinput></screen></para> <para>Continue with compiling the package:</para> -<para><screen><userinput>make tooldir=/usr</userinput></screen></para> +<para><screen><userinput>make LDFLAGS="-s"</userinput></screen></para> + +<para><screen><userinput>make -k check</userinput></screen></para> <para>Normally, the <emphasis>tooldir</emphasis> (the directory where the executables end up) is set to $(exec_prefix)/$(target_alias) which expands @@ -32,16 +37,9 @@ executed on Apple PowerPC machines).</para> <para>Install the package:</para> -<para><screen><userinput>make tooldir=/usr install</userinput></screen></para> - -<para>Install the info pages:</para> - -<para><screen><userinput>make tooldir=/usr install-info</userinput></screen></para> - -<para>Some packages require the <emphasis>libiberty</emphasis> header -in order to build. To honor those packages, install the file:</para> +<para><screen><userinput>make install</userinput></screen></para> -<para><screen><userinput>cp ../binutils-&binutils-version;/include/libiberty.h /usr/include</userinput></screen></para> +<para><screen><userinput>rm /usr/lib/libiberty.a</userinput></screen></para> </sect2> diff --git a/chapter06/changingowner.xml b/chapter06/changingowner.xml index f984f47d6..2b24fecd3 100644 --- a/chapter06/changingowner.xml +++ b/chapter06/changingowner.xml @@ -2,17 +2,17 @@ <title>Changing ownership</title> <?dbhtml filename="changingowner.html" dir="chapter06"?> -<para>Right now the /static directory is owned by the lfs user. However, +<para>Right now the /stage1 directory is owned by the lfs user. However, this user account exists only on the host system. Although you may delete -the <filename class="directory">/static</filename> directory once you have +the <filename class="directory">/stage1</filename> directory once you have finished your LFS system, you might want to keep it around, e.g. for building more LFS systems. But if you keep the -<filename class="directory">/static</filename> directory you will end up +<filename class="directory">/stage1</filename> directory you will end up with files owned by a user id without a corresponding account. This is dangerous because a user account created later could get this user id and -would suddenly own the <filename class="directory">/static</filename> +would suddenly own the <filename class="directory">/stage1</filename> directory and all of the files therein. This could open the -<filename class="directory">/static</filename> directory to manipulation by +<filename class="directory">/stage1</filename> directory to manipulation by an untrusted user.</para> <para>To avoid this issue, you can add the @@ -20,10 +20,10 @@ an untrusted user.</para> the <filename>/etc/passwd</filename> file, taking care to assign it the same user and group id. Alternatively, you can (and the book will assume you do) run the following command now, to assign the contents of the -<filename class="directory">/static</filename> directory to user +<filename class="directory">/stage1</filename> directory to user <emphasis>root</emphasis> by running the following command:</para> -<para><screen><userinput>chown -R 0:0 /static</userinput></screen></para> +<para><screen><userinput>chown -R 0:0 /stage1</userinput></screen></para> <para>The command uses "0:0" instead of "root:root", because chown is unable to resolve the name "root" until glibc has been installed.</para> diff --git a/chapter06/chapter06.xml b/chapter06/chapter06.xml index 060cd4fe9..f1963a4e9 100644 --- a/chapter06/chapter06.xml +++ b/chapter06/chapter06.xml @@ -15,7 +15,10 @@ &c6-kernel; &c6-manpages; &c6-glibc; +&c6-adjustingtoolchain; +&c6-binutils; &c6-gcc; +&c6-coreutils; &c6-zlib; &c6-findutils; &c6-gawk; @@ -25,12 +28,8 @@ &c6-bison; &c6-less; &c6-groff; -&c6-textutils; &c6-sed; &c6-flex; -&c6-binutils; -&c6-fileutils; -&c6-shellutils; &c6-gettext; &c6-nettools; &c6-perl; @@ -62,6 +61,10 @@ &c6-sysvinit; &c6-tar; &c6-utillinux; +&c6-tcl; +&c6-expect; +&c6-dejagnu; +&c6-gcc-2953; &c6-kernel-manpages; &c6-glibc-pass2; &c6-revisedchroot; diff --git a/chapter06/chroot.xml b/chapter06/chroot.xml index f6880b4a5..2cfaa21de 100644 --- a/chapter06/chroot.xml +++ b/chapter06/chroot.xml @@ -10,12 +10,15 @@ can execute the <userinput>chroot</userinput> command.</para> <para>Become <emphasis>root</emphasis> and run the following command to enter the chroot environment:</para> -<para><screen><userinput>chroot $LFS /static/bin/env -i \ +<para><screen><userinput>chroot $LFS /stage1/bin/env -i \ HOME=/root TERM=$TERM PS1='\u:\w\$ ' \ - PATH=/bin:/usr/bin:/sbin:/usr/sbin:/static/bin \ - /static/bin/bash --login</userinput></screen> + PATH=/bin:/usr/bin:/sbin:/usr/sbin:/stage1/bin \ + LDFLAGS="-s" \ + /stage1/bin/bash --login</userinput></screen> </para> +<para><screen><userinput>set +h</userinput></screen></para> + <para>The <userinput>-i</userinput> option given to the <userinput>env</userinput> command will clear all variables of the chroot environment. After that, only the HOME, TERM, PS1 and PATH variables are diff --git a/chapter06/coreutils-inst.xml b/chapter06/coreutils-inst.xml new file mode 100644 index 000000000..14df0ec19 --- /dev/null +++ b/chapter06/coreutils-inst.xml @@ -0,0 +1,20 @@ +<sect2><title> </title><para> </para></sect2> + +<sect2> +<title>Installation of Coreutils</title> + +<para><screen><userinput>/configure --prefix=/usr +make +make install +mv /usr/bin/{basename,cat,chgrp,chmod,chown,cp,dd,df} /bin && +mv /usr/bin/{dir,dircolors,du,date,echo,false,head} /bin && +mv /usr/bin/{install,ln,ls,mkdir,mkfifo,mknod,mv,pwd} /bin && +mv /usr/bin/{rm,rmdir,shred,sync,sleep,stty,su,test} /bin && +mv /usr/bin/{touch,true,uname,vdir} /bin +mv /usr/bin/chroot /usr/sbin +ln -s test /bin/[ +ln -s ../../bin/install /usr/bin</userinput></screen></para> + + +</sect2> + diff --git a/chapter06/coreutils.xml b/chapter06/coreutils.xml new file mode 100644 index 000000000..612a7643c --- /dev/null +++ b/chapter06/coreutils.xml @@ -0,0 +1,8 @@ +<sect1 id="ch06-coreutils"> +<title>Installing Coreutils-&coreutils-version;</title> +<?dbhtml filename="coreutils.html" dir="chapter06"?> + +&c6-coreutils-inst; + +</sect1> + diff --git a/chapter06/createfiles.xml b/chapter06/createfiles.xml index 47ccefb90..1be2246a8 100644 --- a/chapter06/createfiles.xml +++ b/chapter06/createfiles.xml @@ -1,17 +1,33 @@ <sect1 id="ch06-createfiles"> -<title>Creating the bash and sh symlinks</title> +<title>Creating essential symlinks</title> <?dbhtml filename="createfiles.html" dir="chapter06"?> <para>Some programs hard-wire paths to programs which don't exist yet. In -order to satisfy these programs, we create the symbolic links -<filename>/bin/bash</filename> and <filename>/bin/sh</filename>, both -pointing to the static <filename>bash</filename> program.</para> +order to satisfy these programs, we create a number of symbolic links which +will be replaced by real files throughout the course of this chapter when +we're installing all the software.</para> -<para>Create the <filename>/bin/bash</filename> and <filename>/bin/sh</filename> -symlinks by running the following commands:</para> +<para><screen><userinput>ln -sf /stage1/bin/bash /bin +ln -sf bash /bin/sh +ln -sf /stage1/bin/pwd /bin +ln -sf /stage1/bin/perl /usr/bin +ln -sf /stage1/bin/cat /bin +ln -sf /stage1/bin/stty /bin +ln -sf /stage1/bin/msgfmt /usr/bin +ln -sf /stage1/bin/xgettext /usr/bin +ln -sf /stage1/bin/msgmerge /usr/bin +ln -sf /stage1/bin/install /usr/bin +ln -sf /usr/bin/install /bin +ln -sf /stage1/bin/echo /bin +ln -sf /stage1/bin/sed /bin +ln -sf /stage1/bin/awk /bin +ln -sf /stage1/bin/rm /bin +ln -sf /stage1/bin/mv /bin +ln -sf /stage1/bin/chmod /bin +ln -sf /stage1/bin/chgrp /bin +ln -sf /stage1/bin/sort /usr/bin +ln -sf /stage1/bin/cmp /usr/bin</userinput></screen></para> -<para><screen><userinput>ln -s /static/bin/bash /bin/bash && -ln -s bash /bin/sh</userinput></screen></para> </sect1> diff --git a/chapter06/dejagnu-inst.xml b/chapter06/dejagnu-inst.xml new file mode 100644 index 000000000..4b7adff56 --- /dev/null +++ b/chapter06/dejagnu-inst.xml @@ -0,0 +1,12 @@ +<sect2><title> </title><para> </para></sect2> + +<sect2> +<title>Installation of DejaGNU</title> + +<para><screen><userinput>./configure --prefix=/usr +make +make install</userinput></screen></para> + + +</sect2> + diff --git a/chapter06/dejagnu.xml b/chapter06/dejagnu.xml new file mode 100644 index 000000000..2105add41 --- /dev/null +++ b/chapter06/dejagnu.xml @@ -0,0 +1,11 @@ +<sect1 id="ch06-dejagnu"> +<title>Installing DejaGNU-&dejagnu-version;</title> +<?dbhtml filename="dejagnu.html" dir="chapter06"?> + +<screen>Estimated build time: &dejagnu-time-static; +Estimated required disk space: &dejagnu-compsize-static;</screen> + +&c6-dejagnu-inst; + +</sect1> + diff --git a/chapter06/expect-inst.xml b/chapter06/expect-inst.xml new file mode 100644 index 000000000..cd5882a0b --- /dev/null +++ b/chapter06/expect-inst.xml @@ -0,0 +1,15 @@ +<sect2><title> </title><para> </para></sect2> + +<sect2> +<title>Installation of Expect</title> + +<para><screen><userinput>patch -Np1 -i ../expect-&expect-version;.patch +./configure --prefix=/usr --with-tcl=/stage1/lib \ + --with-x=no --disable-symbols --cache-file=/dev/null +make +make test +make install</userinput></screen></para> + + +</sect2> + diff --git a/chapter06/expect.xml b/chapter06/expect.xml new file mode 100644 index 000000000..6d46ec33e --- /dev/null +++ b/chapter06/expect.xml @@ -0,0 +1,11 @@ +<sect1 id="ch06-expect"> +<title>Installing Expect-&expect-version;</title> +<?dbhtml filename="expect.html" dir="chapter06"?> + +<screen>Estimated build time: &expect-time-static; +Estimated required disk space: &expect-compsize-static;</screen> + +&c6-expect-inst; + +</sect1> + diff --git a/chapter06/gcc-2953-inst.xml b/chapter06/gcc-2953-inst.xml new file mode 100644 index 000000000..2a45a5908 --- /dev/null +++ b/chapter06/gcc-2953-inst.xml @@ -0,0 +1,22 @@ +<sect2><title> </title><para> </para></sect2> + +<sect2> +<title>Installation of GCC</title> + +<para>This package is known to behave badly when you have changed its +default optimization flags (including the -march and -mcpu options). +Therefore, if you have defined any environment variables that override +default optimizations, such as CFLAGS and CXXFLAGS, we recommend unsetting +or modifying them when building GCC.</para> + +<para><screen><userinput>patch -Np1 -i ../gcc-2.95.3-2.patch +echo timestamp > gcc/cstamp-h.in +mkdir ../gcc-2-build +cd ../gcc-2-build +../gcc-2.95.3/configure --prefix=/opt/gcc-2.95.3 \ + --enable-shared --enable-languages=c +make bootstrap +make install</userinput></screen></para> + +</sect2> + diff --git a/chapter06/gcc-2953.xml b/chapter06/gcc-2953.xml new file mode 100644 index 000000000..c65b09684 --- /dev/null +++ b/chapter06/gcc-2953.xml @@ -0,0 +1,8 @@ +<sect1 id="ch06-gcc-2953"> +<title>Installing GCC-2.95.3</title> +<?dbhtml filename="gcc-2953.html" dir="chapter06"?> + +&c6-gcc-2953-inst; + +</sect1> + diff --git a/chapter06/gcc-inst.xml b/chapter06/gcc-inst.xml index 1ec2c780f..6f16a3b3e 100644 --- a/chapter06/gcc-inst.xml +++ b/chapter06/gcc-inst.xml @@ -14,6 +14,9 @@ need to unpack both the gcc-core and gcc-g++ tarballs. Other compilers are available in the full gcc package; instructions for building them may be found at <ulink url="&blfs-root;view/cvs/general/gcc.html"/>.</para> +<para><screen><userinput>patch -Np1 -i ../gcc-&gcc-version;-no_fixedincludes.patch +patch -Np1 -i ../gcc-&gcc-version;-mmap_test.patch</userinput></screen></para> + <para>It is recommended by the GCC installation documentation to build GCC in a dedicated directory outside of the source tree. Create the build directory:</para> @@ -23,9 +26,13 @@ cd ../gcc-build</userinput></screen></para> <para>Prepare GCC to be compiled:</para> -<para><screen><userinput>../gcc-&gcc-version;/configure --prefix=/usr --enable-shared \ - --enable-threads=posix --with-slibdir=/lib \ - --enable-__cxa_atexit --enable-clocale=gnu</userinput></screen></para> +<para><screen><userinput>CFLAGS="-O2 -pipe" CXXFLAGS="-O2 -pipe" \ + ../gcc-&gcc-version;/configure --prefix=/usr \ + --enable-shared --enable-threads=posix \ + --enable-__cxa_atexit --enable-clocale=gnu \ + --enable-version-specific-runtime-libs \ + --mandir=/usr/share/man \ + --infodir=/usr/share/info</userinput></screen></para> <para>The meanings of the configure options are:</para> @@ -48,16 +55,14 @@ is implemented.</para></listitem> <para>Continue with compiling the package:</para> -<para><screen><userinput>make bootstrap</userinput></screen></para> +<para><screen><userinput>make BOOT_LDFLAGS="-s" BOOT_CFLAGS="-O2 -pipe" \ + STAGE1_CFLAGS="-pipe" bootstrap</userinput></screen></para> -<para>The <emphasis>bootstrap</emphasis> target doesn't just compile GCC, but -it compiles GCC multiple times. It uses the first compiled programs to -compile itself a second and third time to make sure the compiler was compiled -properly.</para> +<para><screen><userinput>make -k check</userinput></screen></para> <para>Finish installing the package:</para> -<para><screen><userinput>make install-no-fixedincludes</userinput></screen></para> +<para><screen><userinput>make install</userinput></screen></para> <para>Some packages expect the C PreProcessor to be installed in the <filename>/lib</filename> and <filename>/usr/lib</filename> directories. @@ -72,4 +77,6 @@ symlink:</para> <para><screen><userinput>ln -s gcc /usr/bin/cc</userinput></screen></para> +<para><screen><userinput>rm /usr/lib/libiberty.a</userinput></screen></para> + </sect2> diff --git a/chapter06/glibc-inst.xml b/chapter06/glibc-inst.xml index d9c7bbc93..8f1924dc7 100644 --- a/chapter06/glibc-inst.xml +++ b/chapter06/glibc-inst.xml @@ -3,63 +3,6 @@ <sect2> <title>Glibc installation</title> -<para>Before starting to install Glibc, you must <userinput>cd</userinput> -into the <filename>glibc-&glibc-version;</filename> directory and unpack -Glibc-linuxthreads in that directory, not in <filename>/usr/src</filename> as -you would normally do.</para> - -<para>This package is known to behave badly when you have changed its -default optimization flags (including the -march and -mcpu options). -Therefore, if you have defined any environment variables that override -default optimizations, such as CFLAGS and CXXFLAGS, we recommend unsetting -them when building Glibc.</para> - -<para>Basically, compiling Glibc in any other way than the book suggests -is putting your system at a very high risk.</para> - -<para>We'll start by applying a patch that does the following:</para> - -<itemizedlist> -<listitem><para>It converts all occurrences of <emphasis>$(PERL)</emphasis> -to <emphasis>/usr/bin/perl</emphasis> in the -<filename>malloc/Makefile</filename> file. This is done because Glibc -can't autodetect the location of <filename>perl</filename> because the Perl -package hasn't been installed yet. And if Glibc thinks Perl isn't installed, the -perl program <filename>mtrace</filename> won't be installed -either.</para></listitem> - -<listitem><para>It replaces all occurrences of <emphasis>root</emphasis> -with <emphasis>0</emphasis> in the <filename>login/Makefile</filename> -file. This is done because Glibc itself isn't installed yet and therefore -username-to-userid resolving isn't working yet, so a -<userinput>chown root file</userinput> would fail. Using numeric IDs (as in -<userinput>chown 0 file</userinput>) works fine.</para></listitem> - -</itemizedlist> - -<para><screen><userinput>patch -Np1 -i ../glibc-&glibc-rootperl-patch-version;-root-perl.patch</userinput></screen></para> - -<para>There is a potential problem that causes statically linked binaries -to crash that were linked against Glibc-2.2 or older libraries. Even though -static binaries have all the necessary parts of Glibc built-in, they still -rely on one external library set: Glibc's NSS libraries. These libraries, -among other things, tell programs where the system's password database is -(in <filename>/etc/password</filename>, NIS, or whatever other scheme has -been configured).</para> - -<para>Glibc has undergone some changes since version 2.2.x and the new NSS -code is incompatible with the old one. So when Glibc is installed it will -install its new NSS libraries, and static programs will load these new NSS -libraries and will abort with a <emphasis>segmentation fault</emphasis> -error. This patch undoes some of the changes to overcome the problem.</para> - -<para>If you started chapter 5 with a host system that uses Glibc-2.2.x -or older, you must apply the following patch. We will install Glibc again at -the end of this chapter to remove this patch so you'll have a pristine Glibc -as the developers intended it.</para> - -<para><screen><userinput>patch -Np1 -i ../glibc-&glibc-libnss-patch-version;-libnss.patch</userinput></screen></para> - <para>Glibc will check for the <filename>/etc/ld.so.conf</filename> file and abort with an error if the file is missing, so we must create it:</para> @@ -73,9 +16,12 @@ cd ../glibc-build</userinput></screen></para> <para>Next, prepare Glibc to be compiled:</para> -<para><screen><userinput>../glibc-&glibc-version;/configure --prefix=/usr \ +<para><screen><userinput>CFLAGS="-O2 -pipe" \ + ../glibc-&glibc-version;/configure --prefix=/usr \ --disable-profile --enable-add-ons \ - --libexecdir=/usr/bin</userinput></screen></para> + --libexecdir=/usr/bin \ + --with-headers=/usr/include \ + --mandir=/usr/share/man --infodir=/usr/share/info</userinput></screen></para> <para>The meaning of the configure options are:</para> @@ -130,6 +76,8 @@ working Perl installation. We'll install Perl later on in this chapter, and the man pages will be installed when Glibc is installed for the second time at the end of this chapter.</para> +<para><screen><userinput>make check</userinput></screen></para> + <para><screen><userinput>make install</userinput></screen></para> <para>The locales (used by Glibc to make your Linux system talk in a different diff --git a/chapter06/groff-inst.xml b/chapter06/groff-inst.xml index 4c2e6d4ef..6c95604d7 100644 --- a/chapter06/groff-inst.xml +++ b/chapter06/groff-inst.xml @@ -5,7 +5,7 @@ <para>Prepare Groff to be compiled:</para> -<para><screen><userinput>./configure --prefix=/usr</userinput></screen></para> +<para><screen><userinput>PAGE=letter ./configure --prefix=/usr</userinput></screen></para> <para>Continue with compiling the package:</para> diff --git a/chapter06/ncurses-inst.xml b/chapter06/ncurses-inst.xml index c264776dc..0bac4e69b 100644 --- a/chapter06/ncurses-inst.xml +++ b/chapter06/ncurses-inst.xml @@ -3,6 +3,8 @@ <sect2> <title>Installation of Ncurses</title> +<para><screen><userinput>patch -Np1 -i ../ncurses-&ncurses-version;-etip.patch</userinput></screen></para> + <para>Prepare Ncurses to be compiled:</para> <para><screen><userinput>./configure --prefix=/usr --with-shared</userinput></screen></para> diff --git a/chapter06/pwdgroup.xml b/chapter06/pwdgroup.xml index caa57280f..103ba579a 100644 --- a/chapter06/pwdgroup.xml +++ b/chapter06/pwdgroup.xml @@ -40,5 +40,7 @@ the LSB (<ulink url="http://www.linuxbase.org"/>) recommends only a group chosen freely by the user, as well-written packages don't depend on GID numbers but use the group's name.</para> +<para><screen><userinput>exec /stage1/bin/bash --login</userinput></screen></para> + </sect1> diff --git a/chapter06/revisedchroot.xml b/chapter06/revisedchroot.xml index 9ec574a91..696c441cf 100644 --- a/chapter06/revisedchroot.xml +++ b/chapter06/revisedchroot.xml @@ -17,7 +17,10 @@ class="directory">/static</filename> directory anymore.</para> <para><screen><userinput>chroot $LFS /usr/bin/env -i \ HOME=/root TERM=$TERM PS1='\u:\w\$ ' \ PATH=/bin:/usr/bin:/sbin:/usr/sbin \ + LDFLAGS="-s" \ /bin/bash --login</userinput></screen></para> +<para><screen><userinput>set +h</userinput></screen></para> + </sect1> diff --git a/chapter06/tcl-inst.xml b/chapter06/tcl-inst.xml new file mode 100644 index 000000000..30534a8f2 --- /dev/null +++ b/chapter06/tcl-inst.xml @@ -0,0 +1,14 @@ +<sect2><title> </title><para> </para></sect2> + +<sect2> +<title>Installation of TCL</title> + +<para><screen><userinput>cd unix +./configure --prefix=/usr +MAKE +make test +make install +ln -s tclsh8.4 /usr/bin/tclsh</userinput></screen></para> + +</sect2> + diff --git a/chapter06/tcl.xml b/chapter06/tcl.xml new file mode 100644 index 000000000..d37c3094e --- /dev/null +++ b/chapter06/tcl.xml @@ -0,0 +1,11 @@ +<sect1 id="ch06-tcl"> +<title>Installing TCL-&tcl-version;</title> +<?dbhtml filename="tcl.html" dir="chapter06"?> + +<screen>Estimated build time: &tcl-time-static; +Estimated required disk space: &tcl-compsize-static;</screen> + +&c6-tcl-inst; + +</sect1> + |