Changeset cc7e27a for chapter01/how.xml
- Timestamp:
- 09/12/2003 08:05:33 PM (21 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, 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:
- b89299e
- Parents:
- 62d0130
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
chapter01/how.xml
r62d0130 rcc7e27a 3 3 <?dbhtml filename="how.html" dir="chapter01"?> 4 4 5 <para> Weare going to build the LFS system by using a previously installed6 Linux distribution such as Debian, SuSE, Slackware, Mandrake, or Red Hat.7 We will use this existing Linux system as a starting platform, because we 5 <para>You are going to build the LFS system by using a previously installed 6 Linux distribution such as Debian, Mandrake, Red Hat, etc. 7 The existing Linux system will be used as a starting point, because you 8 8 will need tools like a compiler, linker, text editor, and other development 9 tools to build oursystem. Ordinarily, the required tools are available by10 default if we selected "development" as one ofour installation options11 when we installed aLinux distribution.</para>9 tools to build the system. Ordinarily, the required tools are available by 10 default if you selected "development" as one of your installation options 11 when you installed your Linux distribution.</para> 12 12 13 13 <para>After you have downloaded the packages that make up an LFS system, 14 wewill create a new Linux native partition and filesystem. Here is where15 the LFS system will be compiled and installed .</para>14 you will create a new Linux native partition and filesystem. Here is where 15 the LFS system will be compiled and installed onto.</para> 16 16 17 <para>The next step, Chapter 5, will discuss the installation of a number of 18 packages that will form the basic development suite which is used to 19 build the actual system, or needed to resolve circular dependencies. For 20 example, you need a compiler to build a new compiler, and you need a shell 21 in order to install a new shell. The packages in this chapter will be linked 22 statically.</para> 17 <para>The next step, Chapter 5, will discuss the installation of a number 18 of packages that will form the basic development suite which is used to 19 build the actual system. Some of these packages are needed to resolve 20 circular dependencies. For example, to compiler a compiler you need a 21 compiler.</para> 23 22 24 <para>Static linking describes a method of compiling software so that 25 it does not require the presence of libraries when building is complete. 26 The resulting program is able to function on its own. The program is able to 27 do so because the pieces of the program that would normally remain in the 28 libraries are copied from the libraries and built right into the program. 29 Ordinarily, software is built with dynamic linking. This conserves storage 30 space and increases the efficiency of many programs. We statically link 31 our software in Chapter 5 because we will, in theory, be moving our 32 development system to a virtual environment where the already mentioned 33 libraries will be absent. If the software is built dynamically, our 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 to 36 build a development environment where those libraries are not required 37 and is therefore independent of the distribution.</para> 23 <para>The first thing that will be done in Chapter 5 is building the 24 toolchain, which is made up of Binutils, GCC and Glibc. The programs from 25 these packages will be linked statically in order for them to be 26 independant of the host system.</para> 38 27 39 <para>In Chapter 6 we will build and install our final system. We will use 40 the chroot program to enter a virtual environment and start a new shell 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 the 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 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 computer normally.</para> 28 <para>When the first toolchain is built, you will rebuild those three 29 packages again, this time using the toolchain we just built, rather than 30 the host system's toolchain. In particular, all programs will be linked 31 against the new Glibc rather than the host system's Glibc. All subsequent 32 packages in Chapter 5 will be build and linked using this second toolchain 33 installation. When this is done (building the second toolchain), the LFS 34 installation process will no longer depend on the host distribution, with 35 the exception of the running kernel.</para> 50 36 51 <para>When all the software from Chapter 6 is installed, Chapters 7, 8 and 9 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 and 54 set up the Linux boot loader. Chapter 9 has some pointers to help you after 55 you finish the book. Then finally, you reboot your system and boot into your 56 new LFS system, and start to really use it.</para> 37 <para>In Chapter 6 the real LFS system will be built. The 38 chroot (change root) program is used to enter a virtual environment and 39 start a new shell whose root directory will be set to the LFS partition. 40 This is very similar to rebooting and instructing the kernel to mount the 41 LFS partition as the root partition. The reason that you don't actually 42 reboot, but instead chroot, is that creating a bootable system requires 43 additional work which isn't necessary. As well, chrooting allows you 44 to continue using the host while LFS is being built. While software is 45 being installed you can simply switch to a different VC (Virtual Console) 46 or X desktop and continue using the computer as you normally would.</para> 47 48 <para>When all the software from Chapter 6 is installed, the temporary 49 tools built in Chapter 5 will be removed. Chapters 7, 8 and 9 will finalize 50 the installation. The bootscripts are setup in Chapter 7, the kernel and 51 boot loader are setup in Chapter 8 and Chapter 9 has some pointers to help 52 you after you finish with the book. Then, finally, you reboot the system 53 into the new LFS system.</para> 57 54 58 55 <para>This is the process in a nutshell. Detailed information on the steps 59 wewill take are discussed in the chapters and package descriptions as you60 progress through them. If something isn't completely clear now, don't worry.61 It should become very clear shortly.</para>56 you will take are discussed in the chapters and package descriptions as you 57 progress through them. If something isn't completely clear now, don't 58 worry, everything will fall into place soon.</para> 62 59 63 60 <para>Please read Chapter 2 carefully as it explains a few important things 64 61 you should be aware of before you begin to work through Chapters 5 and 65 later.</para>62 beyond.</para> 66 63 67 64 </sect1>
Note:
See TracChangeset
for help on using the changeset viewer.