source: prologue/cross.xml@ a626665d

xry111/clfs-ng
Last change on this file since a626665d was a626665d, checked in by Xi Ruoyao <xry111@…>, 2 years ago

cross-ng: final documentation change before pushing

  • Property mode set to 100644
File size: 3.2 KB
RevLine 
[fa7acfc]1<?xml version="1.0" encoding="ISO-8859-1"?>
2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3 "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
4 <!ENTITY % general-entities SYSTEM "../general.ent">
5 %general-entities;
6]>
7
8<sect1 id="pre-cross">
9 <?dbhtml filename="cross.html"?>
10
11 <title>About the Cross Edition</title>
12
13 <para>While LFS has provided an approach to build a Linux system entirely
14 from source code, it builds the LFS system in a
15 <emphasis>chroot</emphasis> environment. The chroot environment is almost
16 seperate from the host distribution, but it still relies on the hardware
17 and Linux kernel from the host system.</para>
18
19 <para>The Cross Edition contains modification to the LFS book, allowing
20 to boot the temporary system instead of chroot. So it's possible to
21 bootstrap a Linux system for a target where no Linux distribution exists.
22 And, the kernel ABI may frequently change at the early stage porting Linux
23 to a new hardware. The modification in this edition completely removes
24 the dependency on the kernel from the host distribution, allowing to
25 rebuild the entire system with a new kernel ABI.</para>
26
27 <para>If you already have a Linux distribution running on the hardware
28 where you need a Linux From Scratch system, with the kernel ABI you want,
29 and it's compatible with the Host System Requirements specified by the
30 LFS book, it's likely you should read the original LFS book instead of
31 this edition.</para>
32
33 <para>This edition contains instructions to bootstrap a Linux system for
34 x86 (32-bit or 64-bit). It may looks irrational because it's easy to
35 find a host distribution for x86, but this edition can be a start point
36 where you can further modify the instruction for other hardware.</para>
37
38 <sect2>
39 <title>History of Cross LFS</title>
40
41 <para>A project named <emphasis>Cross Linux From Scratch</emphasis>
42 was forked from LFS in 2006, by Joe Ciccone, Jim Gifford, and
43 Ryan Oliver. It has been inactive since 2017. Its history can still
44 be explored at <ulink url='https://trac.clfs.org/'/>.</para>
45
46 <para>In 2020, Pierre Labastie modified the LFS book to cross-compile
47 the temporary packages before entering the chroot environment. The main
48 purpose of this approach was to fix multiple issues found by Iterative
49 Comparision Analysis. With Pierre's work, the only change needed by
50 this edition is basically <quote>to reboot instead of chroot</quote>.
51 However, some additional steps is needed to make the system bootable
52 at the end of Chapter 6, and setting up an environment suitable for
53 building and test packages at the start of Chapter 7. Then this Cross
54 Edition is created to demonstrate these steps.</para>
[a626665d]55
56 <para>Unlike the legacy CLFS project, in the Cross Edition we don't
57 build any package containing an <command>init</command> process for the
58 temporary system to boot on the target machine. The temporary system
59 is booted with a shell running as PID 1, and some necessary jobs of a
60 normal <command>init</command> process are manually done with commands.
61 This minimizes the difference from the main LFS book, and also helpful
62 to learn the initialization steps booting a Linux system.</para>
[fa7acfc]63 </sect2>
64
65</sect1>
Note: See TracBrowser for help on using the repository browser.