diff --git a/git-version.sh b/git-version.sh index 7e0b3b4df..d5b131644 100755 --- a/git-version.sh +++ b/git-version.sh @@ -49,8 +49,8 @@ full_date="$month $day$suffix, $year" sha="$(git describe --abbrev=1)" rev=$(echo "$sha" | sed 's/-g[^-]*$//') -version="$rev" -versiond="$rev-systemd" +version="cross-$rev" +versiond="cross-$rev-systemd" if [ "$(git diff HEAD | wc -l)" != "0" ]; then version="$version+" diff --git a/prologue/cross.xml b/prologue/cross.xml new file mode 100644 index 000000000..b49585ab7 --- /dev/null +++ b/prologue/cross.xml @@ -0,0 +1,57 @@ + + + %general-entities; +]> + + + + + About the Cross Edition + + While LFS has provided an approach to build a Linux system entirely + from source code, it builds the LFS system in a + chroot environment. The chroot environment is almost + seperate from the host distribution, but it still relies on the hardware + and Linux kernel from the host system. + + The Cross Edition contains modification to the LFS book, allowing + to boot the temporary system instead of chroot. So it's possible to + bootstrap a Linux system for a target where no Linux distribution exists. + And, the kernel ABI may frequently change at the early stage porting Linux + to a new hardware. The modification in this edition completely removes + the dependency on the kernel from the host distribution, allowing to + rebuild the entire system with a new kernel ABI. + + If you already have a Linux distribution running on the hardware + where you need a Linux From Scratch system, with the kernel ABI you want, + and it's compatible with the Host System Requirements specified by the + LFS book, it's likely you should read the original LFS book instead of + this edition. + + This edition contains instructions to bootstrap a Linux system for + x86 (32-bit or 64-bit). It may looks irrational because it's easy to + find a host distribution for x86, but this edition can be a start point + where you can further modify the instruction for other hardware. + + + History of Cross LFS + + A project named Cross Linux From Scratch + was forked from LFS in 2006, by Joe Ciccone, Jim Gifford, and + Ryan Oliver. It has been inactive since 2017. Its history can still + be explored at . + + In 2020, Pierre Labastie modified the LFS book to cross-compile + the temporary packages before entering the chroot environment. The main + purpose of this approach was to fix multiple issues found by Iterative + Comparision Analysis. With Pierre's work, the only change needed by + this edition is basically to reboot instead of chroot. + However, some additional steps is needed to make the system bootable + at the end of Chapter 6, and setting up an environment suitable for + building and test packages at the start of Chapter 7. Then this Cross + Edition is created to demonstrate these steps. + + + diff --git a/prologue/preface.xml b/prologue/preface.xml index e940116e1..2113b811f 100644 --- a/prologue/preface.xml +++ b/prologue/preface.xml @@ -15,6 +15,7 @@ +