Linux from Scratch in a Nutshell #
@Systemadministration @WIP
Dies ist eine Zusammenfassung der Linux from Scratch-Anleitung (v. 8.2).
Voraussetzungen des Host-Systems testen #
Das Host-System muss eine Reihe von Programmen zur Verfügung stellen, damit das LFS-System aufgesetzt werden kann: Liste und Testskript.
LFS-Partition erstellen #
Empfohlen wird
- mindestens 20G, verteilt über eine
/, eine/boot- und eine/home-Partition (weitere bei Bedarf), und - eine Swap-Partition mit Grösse RAM*2
Abfolge:
- Erstellen der benötigten Partitionen sowie Formatierung (empfohlen wird
ext2,ext3oderext4) - Shortcut zu LFS-Root-Partition:
export LFS=/mnt/lfs - Mounten der Partitonen (
swaponder Swap-Partition nicht vergessen!)
Download der benötigten Toolchain-Pakete #
mkdir -v $LFS/sourceschmod -v a+wt $LFS/sources- Download der Liste benötigter Pakete und Patches: wget-list (Ausführliche Liste Pakete / ausführliche Liste Patches)
wget --input-file=wget-list --continue --directory-prefix=$LFS/sources- Download md5sums
pushd $LFS/sources; md5sum -c md5sums; popd;
Weitere Vorbereitungsschritte #
- Verzeichnis für Tools erstellen (als root):
mkdir -v $LFS/tools ln -sv $LFS/tools /- Benutzer
lfserstellen:groupadd lfs && useradd -s /bin/bash -g lfs -m -k /dev/null lfs(-k /dev/nullverhindert das Kopieren von Skelett-Dateien in dashome-Verzeichnis des neuen Users) passwd lfs- User
lfszu Besitzer von$LFS/toolsund$LFS/sourcesmachen - Login als user
lfs:su - lfs(-startet eine Login-Shell) - Erstellen von
~/.bash_profilemit folgendem Inhalt
exec env -i HOME=$HOME TERM=$TERM PS1='\u:\w\$ ' /bin/bash
-
Erstellen von
~/.bashrcmit folgendem Inhalt:set +h umask 022 LFS=/mnt/lfs LC_ALL=POSIX LFS_TGT=$(uname -m)-lfs-linux-gnu PATH=/tools/bin:/bin:/usr/bin export LFS LC_ALL LFS_TGT PATH
-
source ~/.bash_profilenicht vergessen! -
Ev.:
export MAKEFLAGS='-j 2’ (bei Problemen / Debugging auf-j 1zurücksetzen -
Es wird empfohlen, für zentrale Pakete -
GCC,BinutilsundGlibcdie Testsuite laufen zu lassen (doch auch hier für Bootstraping-Phase grundsätzlich überflüssig)