Changeset 26e62aa
- Timestamp:
- 09/20/2002 09:11:28 PM (22 years ago)
- Branches:
- 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, v4_0, v4_1, 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
- Children:
- 88abb11
- Parents:
- eb7df24
- Files:
-
- 32 edited
Legend:
- Unmodified
- Added
- Removed
-
chapter01/acknowledgements.xml
reb7df24 r26e62aa 3 3 <?dbhtml filename="acknowledgements.html" dir="chapter01"?> 4 4 5 <para>We would like tothank the following people and organizations for their5 <para>We thank the following people and organizations for their 6 6 contributions toward the Linux From Scratch project:</para> 7 7 -
chapter01/changelog.xml
reb7df24 r26e62aa 19 19 <listitem><para>gettext-0.11.5</para></listitem> 20 20 <listitem><para>groff-1.18</para></listitem> 21 <listitem><para>gzip-1.2.4b.patch</para></listitem> 21 22 <listitem><para>lfs-bootscripts-1.10</para></listitem> 22 23 <listitem><para>linux-2.4.19</para></listitem> … … 42 43 <listitem><para>glibc-2.2.5-2.patch</para></listitem> 43 44 <listitem><para>gzip-1.2.4b.patch</para></listitem> 45 <listitem><para>kbd-1.06-3.patch</para></listitem> 44 46 <listitem><para>ncurses-5.2.patch</para></listitem> 45 47 <listitem><para>procps-2.0.7.patch</para></listitem> … … 53 55 <itemizedlist> 54 56 <listitem><para>gzip-1.2.4a.patch</para></listitem> 57 <listitem><para>kbd-1.06-2.patch</para></listitem> 55 58 <listitem><para>reiserfsprogs-3.x.1b</para></listitem> 56 59 </itemizedlist> 57 60 </para></listitem> 61 62 <listitem><para>September 20th, 2002 [timothy]: Chapter 05 - GCC: 63 Removed the <userinput>--enable-threads=posix</userinput> flag since we 64 don't build a C++ compiler in this chapter.</para></listitem> 58 65 59 66 <listitem><para>September 18th, 2002 [timothy]: Chapter 05 - Introduction: -
chapter01/conventions.xml
reb7df24 r26e62aa 11 11 as seen unless otherwise noted in the surrounding text. It is also used 12 12 in the explanation sections to identify which of the commands is being 13 refer red to.</para></blockquote>13 referenced.</para></blockquote> 14 14 15 15 <para><filename>install-info: unknown option … … 17 17 18 18 <blockquote><para>This form of text (fixed width text) is showing screen 19 output, probably as the result of commands issued and is also used to20 show filenames such as <filename>/etc/lilo.conf</filename>.</para></blockquote>19 output, probably as the result of commands issued, and is also used to 20 show filenames, such as <filename>/etc/lilo.conf</filename>.</para></blockquote> 21 21 22 22 <para><emphasis>Emphasis</emphasis></para> -
chapter01/how.xml
reb7df24 r26e62aa 6 6 Linux distribution such as Debian, SuSE, Slackware, Mandrake, RedHat, etc. 7 7 We will use the existing Linux system as the development platform, because 8 we need tools like a compiler, linker, text editor, and other necessary9 development tools to build our system. Ordinarily, the required tools are 10 available by default if we selected "development" as one of our installation 11 options when we installed the distributed Linux.</para>8 we need tools like a compiler, linker, text editor, and other development 9 tools to build our system. Ordinarily, the required tools are available by 10 default if we selected "development" as one of our installation options 11 when we installed a Linux distribution.</para> 12 12 13 <para>After you have downloaded the necessary packages that make up an LFS14 system we will create a new Linux native partition and filesystem. Here15 is wherethe LFS system will be compiled and installed.</para>13 <para>After you have downloaded the packages that make up an LFS system, 14 we will create a new Linux native partition and filesystem. Here is where 15 the LFS system will be compiled and installed.</para> 16 16 17 <para>The next step, chapter 5, will discuss the installation of a number of17 <para>The next step, Chapter 5, will discuss the installation of a number of 18 18 packages that will form the basic development suite which is used to 19 19 build the actual system, or needed to resolve circular dependencies. For … … 29 29 Ordinarily, software is built with dynamic linking. This conserves storage 30 30 space and increases the efficiency of many programs. We statically link 31 our software in chapter 5 because we will in theorybe moving our31 our software in Chapter 5 because we will, in theory, be moving our 32 32 development system to a virtual environment where the already mentioned 33 33 libraries will be absent. If the software is built dynamically, our 34 34 development suite will not function. Since the libraries we are talking 35 about are provided by our distribution Linux, the goal of chapter 5 is to35 about are provided by our distribution Linux, the goal of Chapter 5 is to 36 36 build a development environment where those libraries are not required 37 37 and is therefore independent of the distribution.</para> 38 38 39 <para>In chapter 6 we will build and install our final system. We will use39 <para>In Chapter 6 we will build and install our final system. We will use 40 40 the chroot program to enter a virtual environment and start a new shell 41 41 whose root directory will be set to the partition where we built all the 42 chapter 5 software. This is very similar to rebooting and instructing the42 Chapter 5 software. This is very similar to rebooting and instructing the 43 43 kernel to mount our LFS partition as the root partition. The reason that 44 we don't actually reboot, but instead chroot, is that creating a static45 s ystem that we can boot into requires more work that simply isn't necessary.46 As well, we can continue to use our platform system while we are building 47 LFS. While software is being compiled and installed you can simply switch 48 to adifferent VC (Virtual Console) or X desktop and continue using your44 we don't actually reboot, but instead chroot, is that creating a bootable 45 static system requires additional work which simply isn't necessary. As 46 well, we can continue to use our platform system while we are building LFS. 47 While software is being compiled and installed you can simply switch to a 48 different VC (Virtual Console) or X desktop and continue using your 49 49 computer normally.</para> 50 50 51 <para>When all the software from chapter 6 is installed, chapters 7, 8 and 951 <para>When all the software from Chapter 6 is installed, Chapters 7, 8 and 9 52 52 will help us finalize our installation. We will set up our boot 53 scripts in chapter 7. In chapter 8 we will build our final linux kernel and53 scripts in Chapter 7. In Chapter 8 we will build our final linux kernel and 54 54 set up the Linux boot loader. Chapter 9 has some pointers to help you after 55 55 you finish the book. Then finally, you reboot your system and boot into your … … 61 61 It should become very clear shortly.</para> 62 62 63 <para>Please read chapter 2 carefully as it explains a few important things64 you should be aware of before you begin to work through chapters 5 and63 <para>Please read Chapter 2 carefully as it explains a few important things 64 you should be aware of before you begin to work through Chapters 5 and 65 65 later.</para> 66 66 -
chapter02/aboutlfs.xml
reb7df24 r26e62aa 7 7 replaced with the directory where the partition that contains the LFS system 8 8 is mounted. How to create and where to mount the partition will be 9 explained in full detail in chapter 4. For example, let's assume that9 explained in full detail in Chapter 4. For example, let's assume that 10 10 the LFS partition is mounted on /mnt/lfs.</para> 11 11 -
chapter02/aboutsbus.xml
reb7df24 r26e62aa 15 15 16 16 <para>It works like this: the very first package you compile in this book 17 is Bash in chapter 5 and it'll be statically linked. The time it takes to17 is Bash in Chapter 5 and it'll be statically linked. The time it takes to 18 18 compile this package will be the basis and called the SBU. All other 19 19 compile times are relative to the time it takes to install Bash. For -
chapter02/install.xml
reb7df24 r26e62aa 64 64 can be kept. We highly recommend deleting it. If you don't do this and 65 65 try to re-use the same source later on in the book (for example re-using 66 the source trees from chapter 5 for use in chapter 6), it may not work67 as you expect it to. Source trees from chapter 5 will have your host66 the source trees from Chapter 5 for use in Chapter 6), it may not work 67 as you expect it to. Source trees from Chapter 5 will have your host 68 68 distribution's settings, which don't always apply to the LFS system 69 69 after you enter the chroot'ed environment. Even running something like -
chapter03/mounting.xml
reb7df24 r26e62aa 21 21 22 22 <para>This directory (/mnt/lfs) is the $LFS variable you have read about 23 back in chapter 2. If you were planning to make use of the $LFS environment23 back in Chapter 2. If you were planning to make use of the $LFS environment 24 24 variable, <userinput>export LFS=/mnt/lfs</userinput> has to be executed 25 25 now.</para> -
chapter05/bash-exp.xml
reb7df24 r26e62aa 15 15 <para>It is not strictly necessary for the static bash to be linked 16 16 against libncurses (it can link against a static termcap for the time 17 being just fine because we will reinstall Bash in chapter 6 anyways,17 being just fine because we will reinstall Bash in Chapter 6 anyways, 18 18 where we will use libncurses), but it's a good test to make sure that 19 19 the Ncurses package has been installed properly. If not, you will get in -
chapter05/bash-inst.xml
reb7df24 r26e62aa 43 43 old version of the texinfo package. This error is not severe by any means: the 44 44 info pages will be installed when we recompile bash dynamically in 45 chapter 6, so you can ignore it.</para>45 Chapter 6, so you can ignore it.</para> 46 46 47 47 </sect2> -
chapter05/creatingstaticdir.xml
reb7df24 r26e62aa 12 12 <para><screen><userinput>mkdir $LFS/static</userinput></screen></para> 13 13 14 <para>You may want to move the packages you downloaded in chapter 3 to this14 <para>You may want to move the packages you downloaded in Chapter 3 to this 15 15 <filename class="directory">$LFS/static</filename> directory, perhaps 16 16 create a subdirectory <filename -
chapter05/fileutils-exp.xml
reb7df24 r26e62aa 5 5 glibc 2.2.3 systems. If this isn't done, then there is the possibility of 6 6 all of the fileutils programs causing segmentation faults once chroot is 7 entered in chapter 6.</para>7 entered in Chapter 6.</para> 8 8 9 9 </sect2> -
chapter05/gcc-exp.xml
reb7df24 r26e62aa 13 13 14 14 <para><userinput>--enable-languages=c:</userinput> This builds the C 15 compiler. The C++ compiler will be built in chapter 6, when we rebuild15 compiler. The C++ compiler will be built in Chapter 6, when we rebuild 16 16 GCC. Other compilers are available as well. If they are needed, 17 17 the --enable-languages parameter may be omitted.</para> 18 19 <para><userinput>--enable-threads=posix:</userinput> This enables C++20 exception handling for multithreaded code.</para>21 18 22 19 <para><userinput>echo "#define HAVE_GAS_HIDDEN 1":</userinput> -
chapter05/gcc-inst.xml
reb7df24 r26e62aa 19 19 cd ../gcc-build && 20 20 ../gcc-&gcc-version;/configure --prefix=/static --enable-languages=c \ 21 --disable-nls --disable-shared --enable-threads=posix&&21 --disable-nls --disable-shared && 22 22 echo "#define HAVE_GAS_HIDDEN 1" >> gcc/auto-host.h && 23 23 make BOOT_LDFLAGS=-static bootstrap && -
chapter05/installasuser.xml
reb7df24 r26e62aa 3 3 <?dbhtml filename="installasuser.html" dir="chapter05"?> 4 4 5 <para>When you are logged in as root during chapter 5, it is possible5 <para>When you are logged in as root during Chapter 5, it is possible 6 6 that some files of your host system will be overwritten by the ones 7 you'll build in chapter 5. There can be all kinds of reasons for this7 you'll build in Chapter 5. There can be all kinds of reasons for this 8 8 to happen, for example because the $LFS environment variable is not 9 9 set. Overwriting some files from your host system will most likely 10 10 cause all kinds of problems, so it's a good idea to be logged in as 11 an unprivileged user during chapter 5. To make sure the environment11 an unprivileged user during Chapter 5. To make sure the environment 12 12 is as clean as possible, we'll create a new user "lfs" that can be 13 13 used while building the static installation. Issuing the following … … 47 47 <para>When your host distribution uses a glibc version older than 2.2.4, 48 48 having $LC_ALL set to something else than "C" or "POSIX" while working 49 through chapter 5 may cause trouble when you exit the chroot environment50 of chapter 6 and try to return to it. By setting this to "POSIX" ("C"49 through Chapter 5 may cause trouble when you exit the chroot environment 50 of Chapter 6 and try to return to it. By setting this to "POSIX" ("C" 51 51 is an alias for "POSIX") we ensure that everything will work as expected 52 52 in the chroot environment.</para> -
chapter05/shellutils-inst.xml
reb7df24 r26e62aa 25 25 <para>You can safely ignore that warning. You need to be logged in as root 26 26 in order to install su the way Sh-utils wants to install it, which is being 27 suid root. Because we don't need su during chapter 6, and su will be properly28 installed when we re-install Sh-utils in chapter 6, you can just27 suid root. Because we don't need su during Chapter 6, and su will be properly 28 installed when we re-install Sh-utils in Chapter 6, you can just 29 29 pretend you didn't see it.</para> 30 30 -
chapter05/whystatic.xml
reb7df24 r26e62aa 47 47 <userinput>--disable-shared</userinput>, and 48 48 <userinput>-static</userinput> flags used 49 through chapter 5. Once in chapter 6, the first thing we do is build the49 through Chapter 5. Once in Chapter 6, the first thing we do is build the 50 50 main set of system libraries, glibc. Once this is made we start rebuilding 51 all the programs we just did in chapter 5, but this time dynamically linked,51 all the programs we just did in Chapter 5, but this time dynamically linked, 52 52 so that we can take advantage of the space saving opportunities.</para> 53 53 -
chapter06/aboutdebug.xml
reb7df24 r26e62aa 42 42 <userinput>strip --strip-debug $LFS/static/bin/*</userinput>).</para> 43 43 44 <para>For your convenience, chapter 9 includes one simple command to strip44 <para>For your convenience, Chapter 9 includes one simple command to strip 45 45 all debugging symbols from all programs and libraries on your system. 46 46 Additional information on optimization you can find in the hint at -
chapter06/bootscripts-inst.xml
reb7df24 r26e62aa 9 9 10 10 <para>If you decide to use BSD style, or some other style scripts, you can 11 skip chapter 7 when you arrive at it and move on to chapter 8.</para>11 skip Chapter 7 when you arrive at it and move on to Chapter 8.</para> 12 12 13 13 <para>Install LFS-Bootscripts by running the following command:</para> -
chapter06/changingowner.xml
reb7df24 r26e62aa 4 4 5 5 <para>The first thing we'll do, now that we're <emphasis>root</emphasis>, 6 is change the ownership of the files and directories installed in chapter 56 is change the ownership of the files and directories installed in Chapter 5 7 7 to root -- because when later we don't delete the 8 8 <filename class="directory">/static</filename> directory and start adding -
chapter06/creatingdirs.xml
reb7df24 r26e62aa 40 40 41 41 <para>Now that the directories are created, move the source tarballs that 42 were downloaded in chapter 3 to some subdirectory under42 were downloaded in Chapter 3 to some subdirectory under 43 43 <filename class="directory">/usr/src</filename> (you 44 44 will have to create the desired subdirectory yourself).</para> -
chapter06/gcc-exp.xml
reb7df24 r26e62aa 1 1 <sect2> 2 2 <title>Command explanations</title> 3 4 <para><userinput>--enable-threads=posix:</userinput> This enables C++ 5 exception handling for multithreaded code.</para> 3 6 4 7 <para><userinput>--enable-__cxa_atexit:</userinput> This option will result -
chapter06/lilo-inst.xml
reb7df24 r26e62aa 19 19 message stating that /sbin/lilo has to be executed to complete the 20 20 update. Don't do this, as it has no use: the /etc/lilo.conf isn't present 21 yet. We will complete the installation of lilo in chapter 8.</para>21 yet. We will complete the installation of lilo in Chapter 8.</para> 22 22 23 23 <para>The standard LILO prompt, or menu, may be replaced by the -
chapter07/loadkeys.xml
reb7df24 r26e62aa 4 4 5 5 <para>If you decided to compile your keymap file directly into the kernel 6 back at the end of chapter 6, then you strictly speaking don't need to run6 back at the end of Chapter 6, then you strictly speaking don't need to run 7 7 this loadkeys script, since the kernel has already set up the keymap for 8 8 you. You can still run it if you want, it isn't going to hurt you. It could -
chapter09/reboot.xml
reb7df24 r26e62aa 41 41 42 42 <para>You may now remove the static directory. If you think you may 43 need to redo chapter 5, then you may wish to backup the directory before43 need to redo Chapter 5, then you may wish to backup the directory before 44 44 removing it. To remove the static directory, type the following 45 45 command:</para> -
index.xml
reb7df24 r26e62aa 5 5 <!ENTITY book SYSTEM "book/book.xml"> 6 6 7 <!ENTITY version "200209 18">8 <!ENTITY releasedate "September 18th, 2002">7 <!ENTITY version "20020920"> 8 <!ENTITY releasedate "September 20th, 2002"> 9 9 10 10 <!ENTITY ftp-root "ftp://ftp.linuxfromscratch.org"> -
preface/foreword.xml
reb7df24 r26e62aa 7 7 the bootscripts. I didn't like the way certain programs were configured by 8 8 default. Much more of that sort of thing bothered me. Finally I realized 9 that if I wanted full satisf isfaction from my Linux system I would have to9 that if I wanted full satisfaction from my Linux system I would have to 10 10 build my own system from scratch, using only the source code. I resolved 11 11 not to use pre-compiled packages of any kind, nor CD-ROM or bootdisk that -
preface/organization.xml
reb7df24 r26e62aa 3 3 <?dbhtml filename="organization.html" dir="preface"?> 4 4 5 <para>Much of the appendices isintegrated into Part II (which enlarges the5 <para>Much of the appendices are integrated into Part II (which enlarges the 6 6 book somewhat). We believe this makes for easier reading. This way, you 7 don't have to keep referencing an Appendix while you read Part II. That's8 a real chore, especially if you're reading the TXTversion of this book.7 don't have to keep referencing an appendix while you read Part II. That's 8 a real chore, especially if you're reading the txt version of this book. 9 9 This book is divided into the following parts:</para> 10 10 -
preface/organpart1.xml
reb7df24 r26e62aa 5 5 (revisions, where to get it, changelog, mailing lists, and other contact 6 6 information). It also contains suggested readings which discuss a few 7 important considerations to consider before beginning your LFS 8 system.</para> 7 important considerations before beginning your LFS system.</para> 9 8 10 9 </sect2> -
preface/organpart2.xml
reb7df24 r26e62aa 3 3 4 4 <para>Part II guides you through the building and installation of an LFS 5 system. The resulting LFS system will be the core foundation withwhich6 the rest of your Linux system is built upon. Whatever your system becomes,5 system. The resulting LFS system will be the core foundation upon which 6 the rest of your Linux system is built. Whatever your system becomes, 7 7 it will be built and supported by the foundation that we build in Part 8 8 II.</para> -
preface/organpart3.xml
reb7df24 r26e62aa 2 2 <title>Part III - Appendixes</title> 3 3 4 <para>Part III contains various Appendices.</para>4 <para>Part III contains various appendices.</para> 5 5 6 6 </sect2> -
preface/whoread.xml
reb7df24 r26e62aa 32 32 33 33 <para>We could compare distributed Linux to a hamburger you buy at a 34 fast-food restaurant , you have no idea what you are eating. LFSon the34 fast-food restaurant - you have no idea what you are eating. LFS, on the 35 35 other hand, doesn't give you a hamburger, but the recipe to make a hamburger. 36 36 This allows you to review it, to omit unwanted ingredients, and to
Note:
See TracChangeset
for help on using the changeset viewer.