r966 - trunk

tushar at linuxfromscratch.org tushar at linuxfromscratch.org
Sat Jul 9 21:28:13 PDT 2005


Author: tushar
Date: 2005-07-09 22:28:12 -0600 (Sat, 09 Jul 2005)
New Revision: 966

Modified:
   trunk/crosscompiling-x86.txt
Log:
Updated Hint: crosscompiling-x86

Modified: trunk/crosscompiling-x86.txt
===================================================================
--- trunk/crosscompiling-x86.txt	2005-07-07 15:31:08 UTC (rev 965)
+++ trunk/crosscompiling-x86.txt	2005-07-10 04:28:12 UTC (rev 966)
@@ -1,91 +1,87 @@
-AUTHOR: Daniel Baumann <daniel.baumann at panthera-systems.net>
+AUTHOR: Ted Bullock <tbullock at Canada.com>
 
-DATE: 2004-07-10
+DATE: 2005-07-06
 
 LICENSE: GNU General Public License
 
 SYNOPSIS: How to build LFS for different sub-architectures.
 
-PRIMARY URI: http://archive.daniel-baumann.ch/linux-from-scratch/hints/crosscompiling-x86/
+PRIMARY URL:
+http://www.comlore.com/i386-pc-linux-gnu/crosscompiling-x86.txt
 
 DESCRIPTION:
-How to cross-build a LFS-system for different sub-architectures.
+Additive instructions on how to cross-build a LFS-system for different x86 sub-architectures.
 
 PREREQUISITES:
-The command-replacements are applicable for LFS version 5.1.1. Similar changes
-will probably work fine on other versions of the book, but your mileage may
-vary.
+The command-replacements are applicable for LFS 6.0.  Similar changes will probably work 
+fine on other versions of the book; however your mileage may vary since the resources to 
+build a Linux system are under constant revision and replacement.  You should probably have 
+either completed a run through the book already or at least read the procedures before you 
+start.
 
 HINT:
---------------------------------------------------------------------------------
+1.	CROSSCOMPILING-X86
 
-CROSSCOMPILING-X86
-==================
-
 This hint is originally written by Nicholas Dille <webmaster at rakshas.de>.
-Now updated and maintained by Daniel Baumann.
+Later it was updated and maintained by Daniel Baumann.
+Now maintenance is done by Theodore Bullock <tbullock at Canada.com>
 
+1.1.	INTRODUCTION
 
-1. Introduction
-===============
-
 The GNU Compiler Collection (GCC) can build binaries for multiple platforms.
 
-For crosscompiling between different sub-architectures, in example to build
-i386 binaries on a i686 system, you don't need to change a lot. That is what
-this hint is about.
+It is not especially complicated to cross-compile between different sub-architectures, for 
+example, to build i386 binary executables on an i686 computer.  On the other hand, to cross-
+compile between totally different architectures, for example, building PowerPC binary 
+executables on an i386 machine, an entirely different tool-chain is required and is beyond the 
+scope of this hint.
 
-For crosscompiling between different architectures, in example to build powerpc
-binaries on a i386 system, you need to have a different toolchain. This hint
-does not handle this, please see for other ressources on the internet.
+Ideally, all packages should get their information about the target from autoconf configuration 
+parameters and compiler flags.  Unfortunately this is not the reality.  Some packages use 
+different flags and a few packages, notably GCC and Glibc, need other trickery to fake their 
+auto-detection in place of flags.
 
-In a ideal world, all packages should get their information about the target
-computer from the autoconf- and compilerflags. Unfortunately, this is not quite
-the reality. Some packages use different flags and a few packages, notably GCC
-and Glibc, need other trickery to fake their auto-detection in place of flags.
+Additionally, if you are trying to build LFS on a very old 386 then there is an extra trick to 
+completing the procedure.
 
-Here is a step by step description of the changes needed.
+This hint does not cover building LFS onto i286 or older machines as these processors lack 
+some critical functionality to handle modern memory management.  For information on that 
+topic search the internet for embedded Linux solutions.
 
+1.2.	About $CHOST
 
-1.1 About $CHOST
-================
+As with $LFS, we will use the variable $CHOST to specify the type of computer we are 
+compiling on. To cross-compile you have to replace $CHOST with a value matching for your 
+target computer.
 
-As with $LFS, we will use the variable $CHOST to specify the type of computer we
-are compiling on. To crosscompile you have to replace $CHOST with a value
-matching for your target computer.
+If your target machine is currently running a flavour of Linux then you can get the correct 
+value from your target computer with
 
-You can get the correct value from your target computer with
-
 	# uname -m
 
-If you have not already a running Linux system on the target machine, use the
-corresponding value from this list instead:
+If you have not already a running Linux system on the target machine, use the corresponding 
+value from this list instead:
 
-	Intel 386:				i386
-	Intel 486:				i486
-	Intel Pentium 1 and MMX:		i586
-	Intel Pentium Pro, 2, 3, 4 and M:	i686
-
+	Intel 386:					i386
+	Intel 486:					i486
+	Intel Pentium 1 and MMX:			i586
+	Intel Pentium Pro, 2, 3, 4 and M:		i686
 	AMD K5, K6-1, K6-2 and K6-3:		i586
 	AMD Athlon 1, 2, 3, 4 and 5:		i686
-
-	IDT WinChip-C6, WinChip2:		i486
+	IDT WinChip-C6, WinChip2:			i486
 	VIA C3:					i486
 
-The rest of the hint assumes you have set $CHOST as an environment variable, in
-example
+The rest of the hint assumes you have set $CHOST as an environment variable, for example
 
 	# export CHOST="i386-pc-linux-gnu"
 
+1.3.	About $CFLAGS and $CXXFLAGS
 
-1.2 About $CFLAGS and $CXXFLAGS
-===============================
+$CFLAGS and $CXXFLAGS are environment variable that pass user flags to GCC and G++ 
+respectively.  Often, they are used to set the optimization level (-On, where n is an integer). 
+For details about optimization, please refer to the optimization hint. Here, we force GCC to 
+compile for the desired sub-architecture using -march.
 
-$CFLAGS is an environment variable to pass user flags on to gcc, $CXXFLAGS the
-same for g++. They are often used to set the optimization level (-On, where n is
-a integer). For details about optimization, please refer to the optimization
-hint. Here, we force GCC to compile for the desired sub-architecture.
-
 Choose from this list:
 
 	Intel 386			i386
@@ -95,604 +91,957 @@
 	Intel Pentium Pro:		pentiumpro
 	Intel Pentium 2:		pentium2
 	Intel Pentium 3:		pentium3
-	Intel Pentium 4 and M:		pentium4
+	Intel Pentium 4 and M:	pentium4
 
 	AMD K5:				pentium
-	AMD K6-1:			k6
-	AMD K6-2:			k6-2
-	AMD K6-3:			k6-3
+	AMD K6-1:				k6
+	AMD K6-2:				k6-2
+	AMD K6-3:				k6-3
 	AMD Athlon 1 (Classic):		athlon
 	AMD Athlon 2 (Thunderbird):	athlon-tbird
-	AMD Athlon 3 (XP):		athlon-xp
-	AMD Athlon 4 (Palomino):	athlon-4
-	AMD Athlon 5 (MP):		athlon-mp
+	AMD Athlon 3 (XP):			athlon-xp
+	AMD Athlon 4 (Palomino):		athlon-4
+	AMD Athlon 5 (MP):			athlon-mp
 
 	IDT WinChip-C6:			winchip-c6
 	IDT WinChip-2:			winchip2
 	VIA C3:				c3
 
-The rest of the hint assumes you have set $CFLAGS and $CXXFLAGS as environment
-variables, in example
+The rest of the hint assumes you have set $CFLAGS and $CXXFLAGS as environment 
+variables, for example:
 
-	# export CFLAGS="-march=i386"
-	# export CXXFLAGS="-march=i386"
+export CFLAGS="-march=i386"
+export CXXFLAGS="-march=i386"
 
-Attention:	If you use optimization, in the majority of cases the binaries
-		can only be used on the target machine. This means, sharing
-		self-generated binary-packages between different hosts is not
-		possible.
+1.3.1.	ATTENTION REGARDING OPTIMIZATION
 
+If you use optimization, in the majority of cases the binaries can only be used on the target 
+machine. This means, sharing self-generated binary-packages between different hosts is not 
+possible.
 
-2. LFS-Book
-===========
+2.	LFS-Book
 
+The following sections are ordered as a skeleton of the information in the LFS book
+2.1.	Chapter 4: Final Preparations
 
-2.1 Chapter 2. Important information
-====================================
+2.1.1.	About $LFS
 
-About $LFS
-	Add:	export CHOST="<value>"
-		export CFLAGS="<value>"
-		export CXXFLAGS="<value>"
+Add:
+export CHOST="<value>"
+export CFLAGS="<value>"
+export CXXFLAGS="<value>"
 
-	Note:	Please replace <value> with the proper strings according to the
-		introduction.
+Note:	Please replace <value> with the proper strings as was discussed earlier
 
 
-2.2 Chapter 5. Constructing a temporary system
-==============================================
 
-Binutils-2.14
-	Change:	../binutils-2.14/configure --prefix=/tools --disable-nls
-	To:	../binutils-2.14/configure --host="$CHOST" --target="$CHOST" \
-			--prefix=/tools --disable-nls
+2.2.	Chapter 5: Constructing a Temporary System
 
-GCC-3.3.3 - Pass 1
-	Change:	../gcc-3.3.3/configure --prefix=/tools \
-			--with-local-prefix=/tools \
-			--disable-nls --enable-shared \
-			--enable-languages=c
-	
-	To:	../gcc-3.3.3/configure --host="$CHOST" --target="$CHOST" \
-			--prefix=/tools \
-			--with-local-prefix=/tools \
-			--disable-nls --enable-shared \
-			--enable-languages=c
+2.2.1.	Binutils-2.15.91.0.2
 
-	Change:	make BOOT_LDFLAGS="-static" bootstrap
-	To:	make BOOT_CFLAGS="$CFLAGS" BOOT_LDFLAGS="-static" bootstrap
+Change:
 
-Linux-2.4.26 headers
-	No changes - we are just copying the header files here.
+../binutils-2.14/configure --prefix=/tools --disable-nls
 
-Glibc-2.3.3-lfs-5.1
-	Change:	../glibc-2.3.3-lfs-5.1/configure --prefix=/tools \
-			--disable-profile --enable-add-ons=linuxthreads \
-			--with-binutils=/tools/bin --with-headers=/tools/include \
-			--without-gd --without-cvs
+To:
+../binutils-2.14/configure --host="$CHOST" --target="$CHOST" \
+--prefix=/tools --disable-nls
+
+2.2.2.	GCC-3.4.1 - Pass 1
+
+Change:
+../gcc-3.4.1/configure --prefix=/tools \
+--libexecdir=/tools/lib --with-local-prefix=/tools \
+--disable-nls --enable-shared --enable-languages=c
+
+To:
+../gcc-3.4.1/configure --host="$CHOST" --target="$CHOST"
+--prefix=/tools --libexecdir=/tools/lib \
+--with-local-prefix=/tools --disable-nls \
+--enable-shared --enable-languages=c
+
+And then, change:
+make BOOT_LDFLAGS="-static" bootstrap
+
+To:
+make BOOT_CFLAGS="$CFLAGS" BOOT_LDFLAGS="-static" bootstrap
+
+2.2.3.	Linux-Libc-Headers-2.6.8.1
+
+No changes - we are just copying the header files here.
+
+2.2.4.	Glibc-2.3.4-20040701
+
+Ok, this one is a bit trickier and what you put here can have some important ramifications 
+later.  If your target machine is a 486 or higher you should follow the (>=486) instructions 
+otherwise you should follow the (386) instructions.  The reason for this is that the basic 386 
+instruction set is missing one of the atomic instructions important to multi-threading with the 
+NPTL threading system.  Instead you will use the linuxthreads library which does not require 
+this instruction.
+
+Change:
+
+../glibc-2.3.4-20040701/configure --prefix=/tools \
+--disable-profile --enable-add-ons=nptl --with-tls \
+--with-__thread --enable-kernel=2.6.0 \
+--with-binutils=/tools/bin --without-gd --without-cvs \
+--with-headers=/tools/glibc-kernheaders
+
+(>=486)To:
+../glibc-2.3.4-20040701/configure --host="$CHOST" --target="$CHOST" \
+--prefix=/tools --disable-profile --enable-add-ons=nptl \
+--with-tls --with-__thread --enable-kernel=2.6.0 \
+--with-binutils=/tools/bin --without-gd --without-cvs \
+--with-headers=/tools/glibc-kernheaders
+
+(386)To:
+../glibc-2.3.4-20040701/configure --host="$CHOST" --target="$CHOST" \
+--prefix=/tools --disable-profile --enable-add-ons=linuxthreads \
+--with-tls --without-__thread --enable-kernel=2.6.0 \
+--with-binutils=/tools/bin --without-gd --without-cvs \
+--with-headers=/tools/glibc-kernheaders
+
+And then change:
+make install
+
+To:
+make cross_compiling=no install
+
+Note:	This does not affect cross compiling for sub-architectures (it prevents Glibc to look for a 
+cross compiler and uses the native one).
+
+2.2.5.	Adjusting the tool-chain
+
+No changes - we are using preconfigured code.
+
+2.2.6.	Tcl-8.4.7
+
+Change:
+./configure --prefix=/tools
+
+To
+./configure --host="$CHOST" --target="$CHOST" --prefix=/tools
+
+2.2.7.	Expect-5.42.1
+
+Change:
+./configure --prefix=/tools --with-tcl=/tools/lib --with-x=no
+
+To:
+./configure --host="$CHOST" --target="$CHOST" \
+--prefix=/tools --with-tcl=/tools/lib --with-x=no
+
+2.2.8.	DejaGnu-1.4.4
+
+Change:
+./configure --prefix=/tools
+
+To:
+./configure --host="$CHOST" --target="$CHOST" --prefix=/tools
+
+2.2.9.	GCC-3.4.1- Pass 2
+
+Change:
+../gcc-3.4.1/configure --prefix=/tools \
+--libexecdir=/tools/lib --with-local-prefix=/tools \
+--enable-clocale=gnu --enable-shared \
+--enable-threads=posix --enable-__cxa_atexit \
+--enable-languages=c,c++ --disable-libstdcxx-pch
+
+To:
+../gcc-3.4.1/configure --host="$CHOST" --target="$CHOST" \
+--prefix=/tools --libexecdir=/tools/lib \
+--with-local-prefix=/tools --enable-clocale=gnu \
+--enable-shared --enable-threads=posix 
+--enable-__cxa_atexit--enable-languages=c,c++ \
+--disable-libstdcxx-pch
+
+And then change:
+Make
+
+To:
+make BOOT_CFLAGS="$CFLAGS" BOOT_CXXFLAGS="$CXXFLAGS"
+
+2.2.10.	Binutils-2.15.91.0.2 - Pass 2
+
+Change:
+../binutils-2.15.91.0.2/configure --prefix=/tools \
+--enable-shared --with-lib-path=/tools/lib
+
+To:
+../binutils-2.15.91.0.2/configure --host="$CHOST" --target="$CHOST" --
+prefix=/tools --enable-shared --with-lib-path=/tools/lib
+
+
+2.2.11.	Gawk-3.1.4
+
+Change:
+./configure --prefix=/tools
+
+To:
+./configure --host="$CHOST" --target="$CHOST" --prefix=/tools
+
+2.2.12.	Coreutils-5.2.1
+
+Change:
+DEFAULT_POSIX2_VERSION=199209 ./configure --prefix=/tools
+
+To:
+DEFAULT_POSIX2_VERSION=199209 ./configure \
+--host="$CHOST" --target="$CHOST" --prefix=/tools
+
+2.2.13.	Bzip2-1.0.2
+
+Add:
+cp Makefile Makefile.backup &&
+sed -e 's%$(BIGFILES)%$(BIGFILES) $(OPT)%' \
+Makefile.backup > Makefile &&
+cp Makefile-libbz2_so Makefile-libbz2_so.backup &&
+sed -e 's%$(BIGFILES)%$(BIGFILES) $(OPT)%' \
+Makefile-libbz2_so.backup > Makefile-libbz2_so
+
+Change:
+make PREFIX=/tools install
 	
-	To:	../glibc-2.3.3-lfs-5.1/configure --host="$CHOST" --target="$CHOST" \
-			--prefix=/tools \
-			--disable-profile --enable-add-ons=linuxthreads \
-			--with-binutils=/tools/bin --with-headers=/tools/include \
-			--without-gd --without-cvs
+To:
+make OPT="$CFLAGS" PREFIX=/tools install
 
-	Change:	make install
-	To:	make cross_compiling=no install
+2.2.14.	Gzip-1.3.5
 
-	Note:	This does not affect cross compiling for sub-architectures (It
-		prevents Glibc to look for a cross compiler and uses the native
-		one).
+Change:
+./configure --prefix=/tools
 
-Adjusting the toolchain
-	No changes - we are using preconfigured code.
+To:
+./configure --host="$CHOST" --target="$CHOST" --prefix=/tools
 
-Tcl-8.4.6
-	Change:	./configure --prefix=/tools
-	To:	./configure --host="$CHOST" --target="$CHOST" --prefix=/tools
+2.2.15.	Diffutils-2.8.1
 
-Expect-5.41.0
-	Change:	./configure --prefix=/tools --with-tcl=/tools/lib --with-x=no
+Change:
+./configure --prefix=/tools
 
-	To:	./configure --host="$CHOST" --target="$CHOST" \
-			--prefix=/tools --with-tcl=/tools/lib --with-x=no
+To:
+./configure --host="$CHOST" --target="$CHOST" --prefix=/tools
 
-DejaGnu-1.4.4
-	Change:	./configure --prefix=/tools
-	To:	./configure --host="$CHOST" --target="$CHOST" --prefix=/tools
+2.2.16.	Findutils-4.1.20
 
-GCC-3.3.3 - Pass 2
-	Change:	../gcc-3.3.3/configure --prefix=/tools \
-			--with-local-prefix=/tools \
-			--enable-clocale=gnu --enable-shared \
-			--enable-threads=posix --enable-__cxa_atexit \
-			--enable-languages=c,c++
+Change:
+./configure --prefix=/tools
 
-	To:	../gcc-3.3.3/configure --host="$CHOST" --target="$CHOST" \
-			--prefix=/tools \
-			--with-local-prefix=/tools \
-			--enable-clocale=gnu --enable-shared \
-			--enable-threads=posix --enable-__cxa_atexit \
-			--enable-languages=c,c++
+To:
+./configure --host="$CHOST" --target="$CHOST" --prefix=/tools
 
-	Change:	make
-	To:	make BOOT_CFLAGS="$CFLAGS" BOOT_CXXFLAGS="$CXXFLAGS"
+2.2.17.	Make-3.80
 
-Binutils-2.14 - Pass 2
-	Change:	../binutils-2.14/configure --prefix=/tools \
-			--enable-shared --with-lib-path=/tools/lib
+Change:
+./configure --prefix=/tools
 
-	To:	../binutils-2.14/configure --host="$CHOST" --target="$CHOST" \
-			--prefix=/tools \
-			--enable-shared --with-lib-path=/tools/lib
+To:
+./configure --host="$CHOST" --target="$CHOST" --prefix=/tools
 
-Gawk-3.1.3
-	Change:	./configure --prefix=/tools
-	To:	./configure --host="$CHOST" --target="$CHOST" --prefix=/tools
+2.2.18.	Grep-2.5.1
 
-Coreutils-5.2.1
-	Change:	DEFAULT_POSIX2_VERSION=199209 ./configure --prefix=/tools
+Change:
+./configure --prefix=/tools \
+--disable-perl-regexp --with-included-regex
 
-	To:	DEFAULT_POSIX2_VERSION=199209 ./configure \
-			--host="$CHOST" --target="$CHOST" --prefix=/tools
+To:
+./configure --host="$CHOST" --target="$CHOST" --prefix=/tools \
+--disable-perl-regexp --with-included-regex
 
-Bzip2-1.0.2
-	Add:	cp Makefile Makefile.backup
-		sed -e 's%$(BIGFILES)%$(BIGFILES) $(OPT)%' \
-			Makefile.backup > Makefile
-		cp Makefile-libbz2_so Makefile-libbz2_so.backup
-		sed -e 's%$(BIGFILES)%$(BIGFILES) $(OPT)%' \
-			Makefile-libbz2_so.backup > Makefile-libbz2_so
+2.2.19.	Sed-4.1.2
 
-	Change:	make PREFIX=/tools install
-	To:	make OPT="$CFLAGS" PREFIX=/tools install
+Change:
+./configure --prefix=/tools
 
-Gzip-1.3.5
-	Change:	./configure --prefix=/tools
-	To:	./configure --host="$CHOST" --target="$CHOST" --prefix=/tools
+To:
+./configure --host="$CHOST" --target="$CHOST" --prefix=/tools
 
-Diffutils-2.8.1
-	Change:	./configure --prefix=/tools
-	To:	./configure --host="$CHOST" --target="$CHOST" --prefix=/tools
+2.2.20.	Gettext-0.14.1
 
-Findutils-4.1.20
-	Change:	./configure --prefix=/tools
-	To:	./configure --host="$CHOST" --target="$CHOST" --prefix=/tools
+Change:
+./configure --prefix=/tools
 
-Make-3.80
-	Change:	./configure --prefix=/tools
-	To:	./configure --host="$CHOST" --target="$CHOST" --prefix=/tools
+To:
+./configure --host="$CHOST" --target="$CHOST" --prefix=/tools
 
-Grep-2.5.1
-	Change:	./configure --prefix=/tools \
-			--disable-perl-regexp --with-included-regex
+2.2.21.	Ncurses-5.4
 
-	To:	./configure --host="$CHOST" --target="$CHOST" --prefix=/tools \
-			--disable-perl-regexp --with-included-regex
+Change:
+./configure --prefix=/tools --with-shared \
+--without-debug --without-ada --enable-overwrite
 
-Sed-4.0.9
-	Change:	./configure --prefix=/tools
-	To:	./configure --host="$CHOST" --target="$CHOST" --prefix=/tools
+To:
+./configure --host="$CHOST" --target="$CHOST" \
+--prefix=/tools --with-shared \
+--without-debug --without-ada --enable-overwrite
 
-Gettext-0.14.1
-	Change:	./configure --prefix=/tools
-	To:	./configure --host="$CHOST" --target="$CHOST" --prefix=/tools
+2.2.22.	Patch-2.5.4
 
-Ncurses-5.4
-	Change:	./configure --prefix=/tools --with-shared \
-			--without-debug --without-ada --enable-overwrite
+Change:
+CPPFLAGS=-D_GNU_SOURCE ./configure --prefix=/tools
 
-	To:	./configure --host="$CHOST" --target="$CHOST" \
-			--prefix=/tools --with-shared \
-			--without-debug --without-ada --enable-overwrite
+To:
+CPPFLAGS=-D_GNU_SOURCE ./configure \
+--host="$CHOST" --target="$CHOST" --prefix=/tools
 
-Patch-2.5.4
-	Change:	CPPFLAGS=-D_GNU_SOURCE ./configure --prefix=/tools
+2.2.23.	Tar-1.14
 
-	To:	CPPFLAGS=-D_GNU_SOURCE ./configure \
-			--host="$CHOST" --target="$CHOST" --prefix=/tools
+Change:
+./configure --prefix=/tools
 
-Tar-1.13.94
-	Change:	./configure --prefix=/tools
-	To:	./configure --host="$CHOST" --target="$CHOST" --prefix=/tools
+To:
+./configure --host="$CHOST" --target="$CHOST" --prefix=/tools
 
-Texinfo-4.7
-	Change:	./configure --prefix=/tools
-	To:	./configure --host="$CHOST" --target="$CHOST" --prefix=/tools
+2.2.24.	Texinfo-4.7
 
-Bash-2.05b
-	Change:	./configure --prefix=/tools
-	To:	./configure --host="$CHOST" --target="$CHOST" --prefix=/tools
+Change:
+./configure --prefix=/tools
 
-Util-linux-2.12a
-	Change:	./configure
-	To:	./configure --host="$CHOST" --target="$CHOST"
+To:
+./configure --host="$CHOST" --target="$CHOST" --prefix=/tools
 
-Perl-5.8.4
-	Change:	./configure.gnu --prefix=/tools -Dstatic_ext='IO Fcntl POSIX'
+2.2.25.	Bash-3.0
 
-	To:	./configure.gnu \
-			-Dhost="$CHOST" -Dtarget="$CHOST" -Darchname="$CHOST" \
-			--prefix=/tools -Dstatic_ext='IO Fcntl POSIX'
+Change:
+./configure --prefix=/tools
 
+To:
+./configure --host="$CHOST" --target="$CHOST" --prefix=/tools
 
-2.3 Chapter 6. Installing basic system software
-===============================================
+2.2.26.	M4-1.4.2
 
-Entering the chroot environment
-	Change:	chroot "$LFS" /tools/bin/env -i \
-			HOME=/root TERM="$TERM" PS1='\u:\w\$ ' \
-			PATH=/bin:/usr/bin:/sbin:/usr/sbin:/tools/bin \
-			/tools/bin/bash --login +h
+Change:
+./configure --prefix=/tools
 
-	To:	chroot "$LFS" /tools/bin/env -i \
-			$CHOST="<value>" $CFFLAGS="<value>" $CXXFLAGS="<value>" \
-			HOME=/root TERM="$TERM" PS1='\u:\w\$ ' \
-			PATH=/bin:/usr/bin:/sbin:/usr/sbin:/tools/bin \
-			/tools/bin/bash --login +h
+To:
+./configure --host="$CHOST" --target="$CHOST" --prefix=/tools
 
-	Note:	Please replace <value> with the proper strings according to the
-		introduction.
+2.2.27.	Bison-1.875a
 
-Creating devices with Make_devices-1.2
-	No changes - we are just creating the devices files here.
+Change:
+./configure --prefix=/tools
 
-Linux-2.4.26 headers
-	No changes - we are just copying the header files here.
+To:
+./configure --host="$CHOST" --target="$CHOST" --prefix=/tools
 
-Man-pages-1.66
-	No changes - we are just copying the man-pages here.
+2.2.28.	Flex-2.5.31
 
-Glibc-2.3.3-lfs-5.1
-	Change:	../glibc-2.3.3-lfs-5.1/configure --prefix=/usr \
-			--disable-profile --enable-add-ons=linuxthreads \
-			--libexecdir=/usr/lib --with-headers=/usr/include \
-			--without-cvs
+Change:
+./configure --prefix=/tools
 
-	To:	../glibc-2.3.3-lfs-5.1/configure --host="$CHOST" --target="$CHOST" \
-			--prefix=/usr \
-			--disable-profile --enable-add-ons=linuxthreads \
-			--libexecdir=/usr/lib --with-headers=/usr/include \
-			--without-cvs
+To:
+./configure --host="$CHOST" --target="$CHOST" --prefix=/tools
 
-	Change:	make install
-	To:	make cross_compiling=no install
+2.2.29.	Util-linux-2.12b
 
-	Note:	This does not affect cross compiling for sub-architectures (It
-		prevents Glibc to look for a cross compiler and uses the native
-		one).
+Change:
+./configure
 
-Re-adjusting the toolchain
-	No changes - we are using preconfigured code.
+To:
+./configure --host="$CHOST" --target="$CHOST"
 
-Binutils-2.14
-	Change:	../binutils-2.14/configure --prefix=/usr --enable-shared
+2.2.30.	Perl-5.8.5
 
-	To:	../binutils-2.14/configure --host="$CHOST" --target="$CHOST" \
-			--prefix=/usr --enable-shared
+Change:
+./configure.gnu --prefix=/tools -Dstatic_ext='IO Fcntl POSIX'
 
-GCC-3.3.3
-	Change:	../gcc-3.3.3/configure --prefix=/usr \
-			--enable-shared --enable-threads=posix \
-			--enable-__cxa_atexit --enable-clocale=gnu \
-			--enable-languages=c,c++
+To:
+./configure.gnu \
+-Dhost="$CHOST" -Dtarget="$CHOST" -Darchname="$CHOST" \
+--prefix=/tools -Dstatic_ext='IO Fcntl POSIX'
 
-	To:	../gcc-3.3.3/configure --host="$CHOST" --target="$CHOST" \
-			--prefix=/usr \
-			--enable-shared --enable-threads=posix \
-			--enable-__cxa_atexit --enable-clocale=gnu \
-			--enable-languages=c,c++
 
-	Change:	make
-	To:	make BOOT_CFLAGS="$CFLAGS" BOOT_CXXFLAGS="$CXXFLAGS"
+2.3.	Chapter 6: Installing Basic System Software
 
-Coreutils-5.2.1
-	Change:	DEFAULT_POSIX2_VERSION=199209 ./configure --prefix=/usr
+2.3.1.	Entering the chroot environment
 
-	To:	DEFAULT_POSIX2_VERSION=199209 ./configure \
-			--host="$CHOST" --target="$CHOST" --prefix=/usr
+Change:
+chroot "$LFS" /tools/bin/env -i \
+HOME=/root TERM="$TERM" PS1='\u:\w\$ ' \
+PATH=/bin:/usr/bin:/sbin:/usr/sbin:/tools/bin \
+/tools/bin/bash --login +h
 
-Zlib-1.2.1
-	Change:	./configure --prefix=/usr --shared
+To:
+chroot "$LFS" /tools/bin/env -i \
+$CHOST="<value>" $CFFLAGS="<value>" $CXXFLAGS="<value>" \
+HOME=/root TERM="$TERM" PS1='\u:\w\$ ' \
+PATH=/bin:/usr/bin:/sbin:/usr/sbin:/tools/bin \
+/tools/bin/bash --login +h
 
-	To:	./configure --host="$CHOST" --target="$CHOST" \
-			--prefix=/usr --shared
+Note:	Please replace <value> with the proper strings according to the introduction.
 
-Mktemp-1.5
-	Change:	./configure --prefix=/usr --with-libc
+2.3.2.	Creating devices with Make_devices-1.2
 
-	To:	./configure --host="$CHOST" --target="$CHOST" \
-			--prefix=/usr --shared
+No changes - we are just creating the devices files here.
 
-Iana-Etc-1.00
-	No changes - we are just copying files.
+2.3.3.	Linux-Libc-Headers-2.6.8.1
 
-Findutils-4.1.20
-	Change:	./configure --prefix=/usr --libexecdir=/usr/lib/locate \
-			--localstatedir=/var/lib/misc
+No changes - we are just copying the header files here.
 
-	To:	./configure --host="$CHOST" --target="$CHOST" \
-			--prefix=/usr --libexecdir=/usr/lib/locate \
-			--localstatedir=/var/lib/misc
+2.3.4.	Man-pages-1.67
 
-Gawk-3.1.3
-	Change:	./configure --prefix=/usr --libexecdir=/usr/lib
+No changes - we are just copying the man-pages here.
 
-	To:	./configure --host="$CHOST" --target="$CHOST" \
-			--prefix=/usr --libexecdir=/usr/lib
+2.3.5.	Glibc-2.3.4-20040701
 
-Ncurses-5.4
-	Change:	./configure --prefix=/usr --with-shared --without-debug
+Ok, this one is a bit trickier and what you put here can have some important ramifications 
+later.  If your target machine is a 486 or higher you should follow the (>=486) instructions 
+otherwise you should follow the (386) instructions.  The reason for this is that the basic 386 
+instruction set is missing one of the atomic instructions important to multi-threading with the 
+NPTL threading system.  Instead you will use the linuxthreads library which does not require 
+this instruction.
 
-	To:	./configure --host="$CHOST" --target="$CHOST" \
-			--prefix=/usr --with-shared --without-debug
+Change:
 
-Vim-6.2
-	Change:	./configure --prefix=/usr
-	To:	./configure --host="$CHOST" --target="$CHOST" --prefix=/usr
+../glibc-2.3.4-20040701/configure --prefix=/usr \
+--disable-profile --enable-add-ons=nptl --with-tls \
+--with-__thread --enable-kernel=2.6.0 --without-cvs \
+--libexecdir=/usr/lib/glibc \
+--with-headers=/tools/glibc-kernheaders
 
-M4-1.4
-	Change:	./configure --prefix=/usr
-	To:	./configure --host="$CHOST" --target="$CHOST" --prefix=/usr
 
-Bison-1.875
-	Change:	./configure --prefix=/usr
-	To:	./configure --host="$CHOST" --target="$CHOST" --prefix=/usr
+(>=486)To:
+../glibc-2.3.4-20040701/configure --host="$CHOST" --target="$CHOST" \
+--prefix=/usr --disable-profile --enable-add-ons=nptl \
+--with-tls --with-__thread --enable-kernel=2.6.0 \
+--without-cvs --libexecdir=/usr/lib/glibc \
+--with-headers=/tools/glibc-kernheaders
 
-Less-382
-	Change:	./configure --prefix=/usr --bindir=/bin --sysconfdir=/etc
+(386)To:
+../glibc-2.3.4-20040701/configure --host="$CHOST" --target="$CHOST" \
+--prefix=/usr --disable-profile --enable-add-ons=linuxthreads \
+--with-tls --without-__thread --enable-kernel=2.6.0 \
+--without-cvs --libexecdir=/usr/lib/glibc \
+--with-headers=/tools/glibc-kernheaders
 
-	To:	./configure --host="$CHOST" --target="$CHOST" \
-			--prefix=/usr --bindir=/bin --sysconfdir=/etc
+And then change:
+make install
 
-Groff-1.19
-	Change:	PAGE=letter ./configure --prefix=/usr
+To:
+make cross_compiling=no install
 
-	To:	PAGE=letter ./configure --host="$CHOST" --target="$CHOST" \
-			--prefix=/usr
+Note:	This does not affect cross compiling for sub-architectures (it prevents Glibc to look for a 
+cross compiler and uses the native one).
 
-Sed-4.0.9
-	Change:	./configure --prefix=/usr --bindir=/bin
+2.3.6.	Re-adjusting the toolchain
 
-	To:	./configure --host="$CHOST" --target="$CHOST" \
-			--prefix=/usr --bindir=/bin
+No changes - we are using preconfigured code.
 
-Flex-2.5.4a
-	Change:	./configure --prefix=/usr
-	To:	./configure --host="$CHOST" --target="$CHOST" --prefix=/usr
+2.3.7.	Binutils-2.15.91.0.2
 
-Gettext-0.14.1
-	Change:	./configure --prefix=/usr
-	To:	./configure --host="$CHOST" --targer="$CHOST" --prefix=/usr
+Change:
 
-Net-tools-1.60
-	Change:	make
-	To:	make COPTS="-D_GNU_SOURCE -Wall $CFLAGS"
+../binutils-2.15.91.0.2/configure --prefix=/usr --enable-shared
 
-Inetutils-1.4.2
-	Change:	./configure --host="$CHOST" --target="$CHOST" \
-			--prefix=/usr --libexecdir=/usr/sbin \
-			--sysconfdir=/etc --localstatedir=/var \
-			--disable-logger --disable-syslogd \
-			--disable-whois --disable-servers
+To:
+../binutils-2.15.91.0.2/configure --host="$CHOST" --target="$CHOST" \
+--prefix=/usr --enable-shared
 
-	To:	./configure --prefix=/usr --libexecdir=/usr/sbin \
-			--sysconfdir=/etc --localstatedir=/var \
-			--disable-logger --disable-syslogd \
-			--disable-whois --disable-servers
+2.3.8.	GCC-3.4.1
 
-Perl-5.8.4
-	Change:	./configure.gnu --prefix=/usr -Dpager="/bin/less -isR"
+Change:
+../gcc-3.4.1/configure --prefix=/usr \
+--libexecdir=/usr/lib --enable-shared \
+--enable-threads=posix --enable-__cxa_atexit \
+--enable-clocale=gnu --enable-languages=c,c++
 
-	To:	./configure.gnu \
-			-Dhost="$CHOST" -Dtarget="$CHOST -Darchname="$CHOST" \
-			--prefix=/usr -Dpager="/bin/less -isR"
+To:
+../gcc-3.4.1/configure --host="$CHOST" --target="$CHOST" \
+--prefix=/usr \
+--libexecdir=/usr/lib --enable-shared \
+--enable-threads=posix --enable-__cxa_atexit \
+--enable-clocale=gnu --enable-languages=c,c++
 
-Texinfo-4.7
-	Change:	./configure --prefix=/usr
-	To:	./configure --host="$CHOST" --target="$CHOST" --prefix=/usr
+And change:
+Make
 
-Autoconf-2.59
-	Change:	./configure --prefix=/usr
-	To:	./configure --host="$CHOST" --target="$CHOST" --prefix=/usr
+To:
+make BOOT_CFLAGS="$CFLAGS" BOOT_CXXFLAGS="$CXXFLAGS"
 
-Automake-1.8.4
-	Change:	./configure --prefix=/usr
-	To:	./configure --host="$CHOST" --target="$CHOST" --prefix=/usr
+2.3.9.	Coreutils-5.2.1
 
-Bash-2.05b
-	Change:	./configure --prefix=/usr --bindir=/bin
+Change:
+DEFAULT_POSIX2_VERSION=199209 ./configure --prefix=/usr
 
-	To:	./configure --host="$CHOST" --target="$CHOST" \
-			--prefix=/usr --bindir=/bin
+To:
+DEFAULT_POSIX2_VERSION=199209 ./configure \
+--host="$CHOST" --target="$CHOST" --prefix=/usr
 
-File-4.09
-	Change:	./configure --prefix=/usr
-	To:	./configure --host="$CHOST" --target="$CHOST" --prefix=/usr
+2.3.10.	Zlib-1.2.1
 
-Libtool-1.5.6
-	Change:	./configure --prefix=/usr
-	To:	./configure --host="$CHOST" --target="$CHOST" --prefix=/usr
+Change:
+./configure --prefix=/usr --shared
 
-Bzip2-1.0.2
-	Add:	cp Makefile Makefile.backup
-		sed -e 's%$(BIGFILES)%$(BIGFILES) $(OPT)%' \
-			Makefile.backup > Makefile
-		cp Makefile-libbz2_so Makefile-libbz2_so.backup
-		sed -e 's%$(BIGFILES)%$(BIGFILES) $(OPT)%' \
-			Makefile-libbz2_so.backup > Makefile-libbz2_so
+To:
+./configure --host="$CHOST" --target="$CHOST" \
+--prefix=/usr --shared
 
-	Change:	make -f Makefile-libbz2_so
-	To:	make OPT="$CFLAGS" -f Makefile-libbz2_so
+2.3.11.	Mktemp-1.5
 
-	Change:	make
-	To:	make OPT="$CFLAGS"
+Change:
+./configure --prefix=/usr --with-libc
 
-Diffutils-2.8.1
-	Change:	./configure --prefix=/usr
-	To:	./configure --host="$CHOST" --target="$CHOST" --prefix=/usr
+To:
+./configure --host="$CHOST" --target="$CHOST" \
+--prefix=/usr --shared
 
-Ed-0.2
-	Change:	./configure --prefix=/usr --exec-prefix=""
+2.3.12.	Iana-Etc-1.01
 
-	To:	./configure --host="$CHOST" --target="$CHOST" \
-			--prefix=/usr --exec-prefix=""
+No changes - we are just copying files.
 
-Kbd-1.12
-	Change:	make
-	To:	make CFLAGS="$CFLAGS"
+2.3.13.	Findutils-4.1.20
 
-E2fsprogs-1.35
-	Change:	../e2fsprogs-1.35/configure --prefix=/usr --with-root-prefix="" \
-			--enable-elf-shlibs
+Change:
+./configure --prefix=/usr --libexecdir=/usr/lib/locate \
+--localstatedir=/var/lib/misc
 
-	To:	../e2fsprogs-1.35/configure --host="$CHOST" --target="$CHOST" \
-			--prefix=/usr --with-root-prefix="" \
-			--enable-elf-shlibs
+To:
+./configure --host="$CHOST" --target="$CHOST" \
+--prefix=/usr --libexecdir=/usr/lib/locate \
+--localstatedir=/var/lib/misc
 
-Grep-2.5.1
-	Change:	./configure --prefix=/usr --bindir=/bin \
-			--with-included-regex
+2.3.14.	Gawk-3.1.4
 
-	To:	./configure --host="$CHOST" --target="$CHOST" \
-			--prefix=/usr --bindir=/bin \
-			--with-included-regex
+Change:
+./configure --prefix=/usr --libexecdir=/usr/lib
 
-Grub-0.94
-	Change:	./configure --prefix=/usr
-	To:	./configure --host="$CHOST" --target="$CHOST" --prefix=/usr
+To:
+./configure --host="$CHOST" --target="$CHOST" \
+--prefix=/usr --libexecdir=/usr/lib
 
-Gzip-1.3.5
-	Change:	./configure --prefix=/usr
-	To:	./configure --host="$CHOST" --target=$CHOST --prefix=/usr
+2.3.15.	Ncurses-5.4
 
-Man-1.5m2
-	Add:	cp man2html/Makefile.in man2html/Makefile.in.backup
-		sed -e "s/CFLAGS = /CFLAGS = $CFLAGS /" \
-			man2html/Makefile.in.backup > man2html/Makefile.in
+Change:
+./configure --prefix=/usr --with-shared --without-debug
 
-	Change:	./configure -default -confdir=/etc
+To:
+./configure --host="$CHOST" --target="$CHOST" \
+--prefix=/usr --with-shared --without-debug
 
-	To:	./configure --host="$CHOST" --target="$CHOST" \
-			-default -confdir=/etc
+2.3.16.	Readline-5.0
 
-Make-3.80
-	Change:	./configure --prefix=/usr
-	To:	./configure --host="$CHOST" --target="$CHOST" --prefix=/usr
+Change:
+./configure --prefix=/usr -–libdir=/lib
 
-Modutils-2.4.27
-	Change:	./configure
-	To:	./configure --host="$CHOST" --target="$CHOST"
+To:
+./configure –prefix=/usr –libdir=/lib --host="$CHOST" --target="$CHOST"
 
-Patch-2.5.4
-	Change:	CPPFLAGS=-D_GNU_SOURCE ./configure --prefix=/usr
+As well you should change
+make SHLIB_XLDFLAGS=-lncurses
 
-	To:	CPPFLAGS=-D_GNU_SOURCE ./configure \
-			--host="$CHOST" --target="$CHOST" --prefix=/usr
+To:
+make SHLIB_XLDFLAGS=-lncurses CFLAGS="$CFLAGS –march=ix86"
 
-Procinfo-18
-	Change:	make LDLIBS=-lncurses
-	To:	make CFLAGS="$CFLAGS" LDLIBS=-lncurses
+Where x is the level of your CPU
+2.3.17.	Vim-6.3
 
-Procps-3.2.1
-	Change:	make
-	To:	make OPT="$CFLAGS"
+Change:
+./configure --prefix=/usr --enable-multibyte
 
-	Note:	The build process will fail if your $CFLAGS does not contain the
-		-On switch. If that is the case, please use the line
 
-			make OPT="$CFLAGS -O2"
+To:
+./configure --host="$CHOST" --target="$CHOST" \
+--enable-multibyte --prefix=/usr
 
-		instead.
+2.3.18.	M4-1.4.2
 
-Psmisc-21.4
-	Change:	./configure --prefix=/usr --exec-prefix=/
-		make
+Change:
+./configure --prefix=/usr
 
-	To:	./configure --host="$CHOST" --target="$CHOST" \
-			--prefix=/usr --exec-prefix=/
-		make AM_CFLAGS="$CFLAGS"
+To:
+./configure --host="$CHOST" --target="$CHOST" --prefix=/usr
 
-Shadow-4.0.4.1
-	Change:	./configure --libdir=/usr/lib --enable-shared
-	To:	./configure --host="$CHOST" --target="$CHOST" \
-			--libdir=/usr/lib --enable-shared
+2.3.19.	Bison-1.875a
 
-Sysklogd-1.4.1
-	Change:	make
-	To:	make RPM_OPT_FLAGS="$CFLAGS"
+Change:
+./configure --prefix=/usr
 
-Sysvinit-2.85
-	Change:	make -C src
-	To:	make CFLAGS="-Wall -D_GNU_SOURCE $CFLAGS" -C src
+To:
+./configure --host="$CHOST" --target="$CHOST" --prefix=/usr
 
-Tar-1.13.94
-	Change:	./configure --prefix=/usr --bindir=/bin --libexecdir=/usr/sbin
+2.3.20.	Less-382
 
-	To:	./configure --host="$CHOST" --target="$CHOST" \
-			--prefix=/usr --bindir=/bin --libexecdir=/usr/sbin
+Change:
+./configure --prefix=/usr --bindir=/bin --sysconfdir=/etc
 
-Util-linux-2.12a
-	Change:	./configure
-	To:	./configure --host="$CHOST" --target="$CHOST"
+To:
+./configure --host="$CHOST" --target="$CHOST" \
+--prefix=/usr --bindir=/bin --sysconfdir=/etc
 
-GCC-2.95.3
-	Change:	../gcc-2.95.3/configure --prefix=/opt/gcc-2.95.3 \
-			--enable-shared --enable-languages=c \
-			--enable-threads=posix
-		make bootstrap
+2.3.21.	Groff-1.19.1
 
-	To:	../gcc-2.95.3/configure --host="$CHOST" --target="$CHOST" \
-			--prefix=/opt/gcc-2.95.3 \
-			--enable-shared --enable-languages=c \
-			--enable-threads=posix
-		make BOOT_CFLAGS="$CFLAGS" BOOT_CXXFLAGS="$CXXFLAGS"
+Change:
+PAGE=letter ./configure --prefix=/usr
 
+To:
+PAGE=letter ./configure --host="$CHOST" --target="$CHOST" \
+--prefix=/usr
 
-Chapter 7. Setting up system boot scripts
-=========================================
+2.3.22.	Sed-4.1.2
 
-LFS-Bootscripts-2.0.5
-	No changes - we are just copying the scripts here.
+Change:
+./configure --prefix=/usr --bindir=/bin
 
+To:
+./configure --host="$CHOST" --target="$CHOST" \
+--prefix=/usr --bindir=/bin
 
-Chapter 8. Making the LFS system bootable
-=========================================
+2.3.23.	Flex-2.5.31
 
-Linux-2.4.26
-	Select your processor under 'Processor family' in the 'Processor type
-	and features' menu.
+Change:
+./configure --prefix=/usr
 
+To:
+./configure --host="$CHOST" --target="$CHOST" --prefix=/usr
 
-The End
-=======
+2.3.24.	Gettext-0.14.1
 
-It may be a good idea to keep the compilerflags for future use
+Change:
+./configure --prefix=/usr
 
-	# echo "export CFLAGS=\"$(echo $CFLAGS)\"" >> /etc/profile
-	# echo "export CXXFLAGS=\"$(echo $CXXFLAGS)\"" >> /etc/profile
+To:
+./configure --host="$CHOST" --target="$CHOST" --prefix=/usr
 
---------------------------------------------------------------------------------
+2.3.25.	Inetutils-1.4.2
+	
+Change:
+./configure --prefix=/usr --libexecdir=/usr/sbin \
+--sysconfdir=/etc --localstatedir=/var \
+--disable-logger --disable-syslogd \
+--disable-whois --disable-servers
 
-ACKNOWLEDGEMENTS:
-  * Nicholas Dille <webmaster at rakshas.de> for the original hint.
-  * Tommy Wareing for the uname hack.
-  * Christophe Devine <devine at cr0.net> for the uname kernel-module.
-  * Yann Guidon <whygee at f-cpu.org> for extending the uname kernel-module.
+To:
+./configure --host="$CHOST" --target="$CHOST" \
+--prefix=/usr --libexecdir=/usr/sbin \
+--sysconfdir=/etc --localstatedir=/var \
+--disable-logger --disable-syslogd \
+--disable-whois --disable-servers
 
+2.3.26.	Iproute2-2.6.8-040823
+
+After: 
+./configure
+
+Add:
+mv Makefile Makefile.backup &&
+sed 's/$(CCOPTS)/$(CCOPTS) -march=$(OPT)/' Makefile.backup > Makefile
+
+Change:
+make SBINDIR=/sbin
+
+To:
+make SBINDIR=/sbin OPT=iX86	
+
+Where X is 3,4,5 or 6 (as appropriate)
+2.3.27.	Perl-5.8.5
+
+Change:
+./configure.gnu --prefix=/usr -Dpager="/bin/less -isR"
+
+To:
+./configure.gnu \
+-Dhost="$CHOST" -Dtarget="$CHOST -Darchname="$CHOST" \
+--prefix=/usr -Dpager="/bin/less -isR"
+
+2.3.28.	Texinfo-4.7
+
+Change:
+./configure --prefix=/usr
+
+To:
+./configure --host="$CHOST" --target="$CHOST" --prefix=/usr
+
+2.3.29.	Autoconf-2.59
+
+Change:
+./configure --prefix=/usr
+
+To:
+./configure --host="$CHOST" --target="$CHOST" --prefix=/usr
+
+2.3.30.	Automake-1.9.1
+
+Change:
+./configure --prefix=/usr
+
+To:
+./configure --host="$CHOST" --target="$CHOST" --prefix=/usr
+
+2.3.31.	Bash-3.0
+
+Change:
+./configure --prefix=/usr --bindir=/bin
+
+To:
+./configure --host="$CHOST" --target="$CHOST" \
+--prefix=/usr --bindir=/bin
+
+2.3.32.	File-4.10
+
+Change:
+./configure --prefix=/usr
+
+To:
+./configure --host="$CHOST" --target="$CHOST" --prefix=/usr
+
+2.3.33.	Libtool-1.5.6
+
+Change:
+./configure --prefix=/usr
+
+To:
+./configure --host="$CHOST" --target="$CHOST" --prefix=/usr
+
+2.3.34.	Bzip2-1.0.2
+
+Add:
+cp Makefile Makefile.backup
+sed -e 's%$(BIGFILES)%$(BIGFILES) $(OPT)%' \
+Makefile.backup > Makefile
+cp Makefile-libbz2_so Makefile-libbz2_so.backup
+sed -e 's%$(BIGFILES)%$(BIGFILES) $(OPT)%' \
+Makefile-libbz2_so.backup > Makefile-libbz2_so
+
+Change:
+make -f Makefile-libbz2_so
+
+To:
+make OPT="$CFLAGS" -f Makefile-libbz2_so
+
+Change:
+make
+
+To:
+make OPT="$CFLAGS"
+
+2.3.35.	Diffutils-2.8.1
+
+Change:
+./configure --prefix=/usr
+
+To:
+./configure --host="$CHOST" --target="$CHOST" --prefix=/usr
+
+2.3.36.	Kbd-1.12
+
+Change:
+make
+
+To:
+make CFLAGS="$CFLAGS"
+
+2.3.37.	E2fsprogs-1.35
+
+Change:
+../e2fsprogs-1.35/configure --prefix=/usr --with-root-prefix="" \
+--enable-elf-shlibs
+
+To:
+../e2fsprogs-1.35/configure --host="$CHOST" --target="$CHOST" \
+--prefix=/usr --with-root-prefix="" \
+--enable-elf-shlibs
+
+2.3.38.	Grep-2.5.1
+
+Change:
+./configure --prefix=/usr --bindir=/bin \
+--with-included-regex
+
+To:
+./configure --host="$CHOST" --target="$CHOST" \
+--prefix=/usr --bindir=/bin \
+--with-included-regex
+
+2.3.39.	Grub-0.95
+
+Change:
+./configure --prefix=/usr
+
+To:
+./configure --host="$CHOST" --target="$CHOST" --prefix=/usr
+
+2.3.40.	Gzip-1.3.5
+
+Change:
+./configure --prefix=/usr
+
+To:
+./configure --host="$CHOST" --target=$CHOST --prefix=/usr
+
+2.3.41.	Man-1.5o
+
+Add:
+cp man2html/Makefile.in man2html/Makefile.in.backup
+sed -e "s/CFLAGS = /CFLAGS = $CFLAGS /" \
+man2html/Makefile.in.backup > man2html/Makefile.in
+
+Change:
+./configure -default -confdir=/etc
+
+To:
+./configure --host="$CHOST" --target="$CHOST" \
+-default -confdir=/etc
+
+2.3.42.	Make-3.80
+
+Change:
+./configure --prefix=/usr
+
+To:
+./configure --host="$CHOST" --target="$CHOST" --prefix=/usr
+
+2.3.43.	Module-Init-Tools-3.0
+
+Change: 
+./configure --prefix="" --enable-zlib
+
+To:
+./configure --prefix="" --enable-zlib --host="$CHOST" --target="$CHOST"
+
+Add:
+mv Makefile Makefile.backup &&
+sed 's/CFLAGS =/CFLAGS = -march=$(OPT)/' Makefile.backup > Makefile
+
+Change:
+make
+
+To:
+make OPT=$CFLAGS
+
+2.3.44.	Patch-2.5.4
+
+Change:
+CPPFLAGS=-D_GNU_SOURCE ./configure --prefix=/usr
+
+To:
+CPPFLAGS=-D_GNU_SOURCE ./configure \
+--host="$CHOST" --target="$CHOST" --prefix=/usr
+
+2.3.45.	Procps-3.2.3
+
+Change:
+make
+
+To:
+make OPT="$CFLAGS"
+
+Note:	The build process will fail if your $CFLAGS does not contain the -On switch. If that is 
+the case, please use the line
+
+make OPT="$CFLAGS -O2"
+
+instead.
+
+2.3.46.	Psmisc-21.5
+
+Change:
+./configure --prefix=/usr --exec-prefix=/
+
+To:
+./configure --host="$CHOST" --target="$CHOST" \
+--prefix=/usr --exec-prefix=/
+
+And change:
+make
+
+To:
+make AM_CFLAGS="$CFLAGS"
+
+2.3.47.	Shadow-4.0.4.1
+
+Change:
+./configure --libdir=/usr/lib --enable-shared
+
+To:
+./configure --host="$CHOST" --target="$CHOST" \
+--libdir=/usr/lib --enable-shared
+
+2.3.48.	Sysklogd-1.4.1
+
+Change:
+make
+
+To:
+make RPM_OPT_FLAGS="$CFLAGS"
+
+2.3.49.	Sysvinit-2.85
+
+Change:
+make -C src
+
+To:
+make CFLAGS="-Wall -D_GNU_SOURCE $CFLAGS" -C src
+
+2.3.50.	Tar-1.14
+
+Change:
+./configure --prefix=/usr --bindir=/bin --libexecdir=/usr/sbin
+
+To:
+./configure --host="$CHOST" --target="$CHOST" \
+--prefix=/usr --bindir=/bin --libexecdir=/usr/sbin
+
+2.3.51.	Udev-030
+
+No changes should be necessary assuming that the CFLAGS is set appropriately as discussed 
+in Section 1.3 About $CFLAGS and $CXXFLAGS
+
+2.3.52.	Util-linux-2.12b
+
+Change:
+./configure
+
+To:
+./configure --host="$CHOST" --target="$CHOST"
+
+2.4.	Chapter 7: Setting up System Bootscripts
+
+2.4.1.	LFS-Bootscripts-2.2.2
+
+No changes - we are just copying the scripts here.
+
+2.5.	Chapter 8: Making the LFS system bootable
+
+2.5.1.	Linux-2.6.8.1
+
+Select your processor under 'Processor family' in the 'Processor type and features' menu.
+
+
+2.6.	The End
+
+It may be a good idea to keep the compiler flags for future use
+
+echo "export CFLAGS=\"$(echo $CFLAGS)\"" >> /etc/profile
+echo "export CXXFLAGS=\"$(echo $CXXFLAGS)\"" >> /etc/profile
+
+3.	ACKNOWLEDGEMENTS:
+*	Daniel Baumann <daniel.baumann at panthera-systems.net> for updating and 
+maintaining the hint to LFS 5.1.1
+*	Nicholas Dille <webmaster at rakshas.de> for the original hint
+*	Tommy Wareing for the uname hack
+*	Christophe Devine <devine at cr0.net> for the uname kernel-module
+*	Yann Guidon <whygee at f-cpu.org> for extending the uname kernel-module
+
+
+
 CHANGELOG:
-  [2009-07-10]
-    * Updated to LFS-5.1.1.
-    * Glibc-command revised (Thanks to Kevin White <kwhite at kevbo.org>.
-    * Typographic mistakes corrected.
-  [2009-05-29]
-    * Typographic mistakes corrected.
-  [2004-05-22]
-    * Updated to LFS 5.1.
-    * Minor text changes.
-  [2004-01-26]
-    * Updated to LFS 5.0.
-    * New hint format.
-    * Major text changes.
-  [2003-07-23]
-    * Initial revision.
+
+[2005-06-22]
+*	Updated to LFS-6.0
+*	Added 386 specific commands to glibc
+*	Fixed typographic mistakes and extended some explanation
+[2004-07-10]
+*	Updated to LFS-5.1.1
+*	Glibc-command revised (Thanks to Kevin White <kwhite at kevbo.org>
+*	Typographic mistakes corrected
+[2004-05-29]
+*	Typographic mistakes corrected
+[2004-05-22]
+*	Updated to LFS 5.1.
+*	Minor text changes.
+[2004-01-26]
+*	Updated to LFS 5.0.
+*	New hint format.
+*	Major text changes.
+[2003-07-23]
+*	Initial revision.




More information about the hints mailing list