Home
Version 5.1.1 - Open Source Software on erdfunkstelle.de
Contents
1. description p 156 description p 156 description p 121 description p 91 description p 144 description p 150 description p 91 description p 99 description p 91 Linux From Scratch Version 5 1 1 talk Inetutils 1 4 2 p 114 description p 115 tar Tar 1 13 94 p 153 description p 153 tbl Groff 1 19 p 106 description p 107 tclsh8 4 Tcl 8 4 6 p 40 description p 40 tcltags Vim 6 2 p 101 description p 102 tee Coreutils 5 2 1 p 88 description p 91 telinit Sysvinit 2 85 p 151 description p 152 telnet Inetutils 1 4 2 p 114 description p 115 tempfile Mktemp 1 5 p 95 description p 95 test Coreutils 5 2 1 p 88 description p 91 texi2dvi Texinfo 4 7 p 118 description p 119 texindex Texinfo 4 7 p 118 description p 119 tfmtodit Groff 1 19 p 106 description p 107 tftp Inetutils 1 4 2 p 114 description p 115 tic Ncurses 5 4 p 99 description p 100 tload Procps 3 2 1 p 144 description p 144 toe Ncurses 5 4 p 99 description p 100 top Procps 3 2 1 p 144 description p 144 touch Coreutils 5 2 1 p 88 description p 91 tput Ncurses 5 4 p 99 description p 100 tr Coreutils 5 2 1 p 88 description p 91 troff Groff 1 19 p 106 description p 107 true Coreutils 5 2 1 p 88 description p 91 tset Ncurses 5 4 p 99 description p 100 sort Coreutils 5 2 1 p 88 description p 91 tty Coreutils 5 2 1 p 88 description p 91 tune2fs E2fsprogs 1 35 p 132 description p 133
2. PATH bin usr bin sbin usr sbin bin bash login Der Grund daf r ist dass wir keine Programme mehr aus dem Ordner too1s ben tigen Sie k nnen den Ordner nun l schen und die chroot Umgebung erneut mit dem obigen Kommando betreten Bevor Sie too1s l schen m chten Sie den Ordner vielleicht in ein Tar Archiv packen und an einem sicheren Ort aufheben z B weil Sie vielleicht bald noch ein LFS System bauen m chten Anmerkung CE Beim L schen von tools werden auch die tempor ren Kopien von Tcl Expect und DejaGnu gel scht welche wir zum Testen der Toolchain benutzt haben Wenn Sie diese Programme sp ter noch benutzen m chten m ssen Sie sie neu kompilieren und installieren Die Installationsanweisungen sind identisch mit denen in Chapter 5 p 26 allerdings m ssen Sie den Prefix von fools auf usr ab ndern Das BLFS Buch geht einen anderen Weg zur Installation von Tcl schauen Sie auch hier nach http www linuxfromscratch org blfs Eventuell m chten Sie die Pakete und Patche aus sources an eine blichere Stelle verschieben wie z B usr src packages Danach k nnen Sie den Ordner dann l schen Oder Sie l schen den Ordner sofort wenn Sie alles auf CD gebrannt haben 160 Linux From Scratch Version 5 1 1 Kapitel 7 Aufsetzen der System Boot Skripte Einf hrung Dieses Kapitel setzt die Boot Skripte auf Die meisten der Skripte funktionieren ohne Anpassungen aber ein paar ben tigen eine Grund
3. e Greg Schafer lt greg linuxfromscratch org gt Toolchain Betreuer ehemaliger LFS Buchautor Mitbegr nder des PLFS e Tushar Teredesai lt tushar linuxfromscratch org gt BLFS Buchautor Betreuer der Hint und Patches Projekte Jeremy Utley lt jeremy linuxfromscratch org gt LFS Buchautor Bugzilla Betreuer Betreuung der LFS Bootskripte Co Administrator des LFS Servers e Zack Winkles lt winkie linuxfromscratch org gt LFS Buchautor Co Betreuer der LFS Bootskripte e Zahllose weitere Personen aus den verschiedenen LFS und BLFS Mailinglisten die mit Vorschl gen Tests und Fehlerberichten Anleitungen und Installationserfahrungen zu diesem Buch beitragen Ubersetzer e Manuel Canales Esparcia lt macana lfs es org gt Spanisches LFS Ubersetzerprojekt e Johan Lenglet lt johan linuxfromscratch org gt Franz sisches LFS Ubersetzerprojekt e Anderson Lizardo lt lizardo linuxfromscratch org gt Portugiesisches LFS Ubersetzerprojekt e Thomas Reitelbach lt tr erdfunkstelle de gt Deutsches LFS Ubersetzerprojekt Betreuer der Softwarespiegel Linux From Scratch Version 5 1 1 Nordamerikanische Spiegel e Scott Kveton lt scott osuosl org gt lfs oregonstate edu Spiegel e Mikhail Pastukhov lt miha xuy biz gt lfs 130th net Spiegel e Frank Mancuso lt crash404 gameover com gt lfs crash404 com Spiegel e William Astle lt lost l w net gt ca linuxfromscratch org Spiegel e Jeremy
4. source bash profile 23 Linux From Scratch Version 5 1 1 ber SBUs Die meisten Leute m chten gerne vorher wissen wie lange es ungef hr dauert die einzelnen Pakete zu kompilieren und installieren Linux From Scratch wird aber auf so unterschiedlichen Systemen gebaut dass es unm glich ist echte Zeiten anzugeben die auch nur ann hernd akkurat w ren Das gr sste Paket Glibc braucht auf schnellen Maschinen nicht einmal 20 Minuten aber auf langsamen Maschinen drei Tage oder mehr das ist kein Scherz Anstatt Ihnen also Zeiteinheiten zu nennen haben wir uns f r die Static Binutils Unit entschieden Abgek rzt SBU Das funktioniert so Das erste Paket das Sie kompilieren werden ist das statisch gelinkte Binutils Paket in Chapter 5 p 26 Die Zeit die Sie ben tigen um dieses Paket zu kompilieren entspricht einer Static Binutils Unit oder auch SBU Alle anderen Kompilierzeiten werden relativ zu dieser Zeit angegeben Um zum Beispiel die statische Version von GCC zu kompilieren werden 4 5 SBUs ben tigt Wenn das Kompilieren der statischen Binutils also 10 Minuten gedauert hat dann braucht es ungef hr 45 Minuten um die statische Version von GCC zu bauen Zum Gl ck sind die meisten Kompilierzeiten k rzer als die der Binutils Falls der Compiler auf Ihrem Host System noch ein GCC 2 ist k nnten die SBU Angaben etwas unterdimensioniert sein Die SBU Angaben basieren auf dem ersten kompilierten Paket welche
5. Inhalt von Make devices Installiertes Skript make_devices Kurze Beschreibung make_devices ist ein Skript zum Erzeugen der grundlegenden statischen Ger tedateien im Ordner dev 74 Linux From Scratch Version 5 1 1 Linux 2 4 26 Header Approximate build time 0 1 SBU Required disk space 186 MB Installation der Kernel Header Wir werden jetzt noch keinen neuen Kernel kompilieren das erledigen wir wenn wir die Installation aller Pakete abgeschlossen haben Die im n chsten Abschnitt installierten Bibliotheken ben tigen die Kernel Header da sie direkt mit dem Kernel arbeiten Anstatt die Kernelquellen erneut zu entpacken die Versionsdatei und symbolische Verkn pfungen zu erstellen u s w kopieren wir einfach in einem Rutsch die Header aus dem tempor ren Tools Ordner cp a tools include asm asm generic linux usr include Einige Kernel Header Dateien benutzen die Header Datei aut oconf h Da wir den Kernel jetzt aber noch nicht konfigurieren und Compilerfehler vermeiden m chten m ssen wir die Datei selber erstellen Erstellen Sie eine leere Datei autoconf h touch usr include linux autoconf h Warum wir die Kernel Header kopieren und nicht symbolisch linken Fr her war es g ngige Praxis den Ordner usr include linux asm nach usr src linux include linux asm symbolisch zu verlinken Das war aber schlechte Praxis wie der folgende Ausschnitt aus einem Posting von Linus Torvalds auf der Linux Kernel Maili
6. Texinfo ist abh ngig von Bash Binutils Coreutils Diffutils GCC Gettext Glibc Grep Make Ncurses Sed Installieren von Texinfo Bereiten Sie Texinfo zum Kompilieren vor configure prefix usr Kompilieren Sie das Paket make Um das Ergebnis zu pr fen f hren Sie das Kommando make check aus Installieren Sie das Paket make install Optional k nnen Sie die Komponenten einer TeX Installation mitinstallieren make TEXMF usr share texmf install tex Die Bedeutung des make Parameters TEXMF usr share texmf Die TEXMF Makefile Variable enth lt den Standort Ihrer TeX Ordnerstruktur falls Sie zum Beispiel planen sp ter ein TeX Paket zu installieren Das Info Dokumentationssystem speichert seine Liste der Men eintr ge in einer einfachen Textdatei Die Datei liegt in usr share info dir Ungl cklicherweise k nnen die Eintr ge in dieser Datei durch Probleme mit Makefile Dateien einzelner Pakete durcheinander geraten Falls Sie diese Datei jemals neu erzeugen m ssen k nnen Sie dazu das folgende Kommando verwenden cd usr share info rm dir for f in do install info f dir 2 gt dev null done Inhalt von Texinfo Installierte Programme info infokey install info makeinfo texi2dvi und texindex Kurze Beschreibung info wird zum Lesen von Info Dokumenten benutzt Info Dokumente sind hnlich wie Man pages aber gehen oft tiefer in die Materie als einfach nur die m glichen Parameter zu beschreib
7. Anmerkung er Vorsicht Zlib baut seine gemeinsamen Bibliotheken falsch wenn die Umgebungsvariable CFLAGS gesetzt ist Wenn Sie die Umgebungsvariable CFLAGS verwenden f gen Sie ihr f r den Durchlauf von configure den Wert fPIC an und entfernen Sie ihn sp ter wieder Bereiten Sie Zlib zum Kompilieren vor configure prefix usr shared Kompilieren Sie das Paket make Um das Ergebnis zu pr fen f hren Sie das Kommandomake check aus Installieren Sie die gemeinsamen Bibliotheken make install Erzeugen Sie nun die nicht gemeinsame statische Bibliothek make clean configure prefix usr make Um erneut das Ergebnis zu pr fen f hren Sie das Kommandomake check aus Installieren Sie die statische Bibliothek make install Und korrigieren Sie die Zugriffsrechte auf die statische Bibliothek chmod 644 usr lib libz a Wichtige gemeinsame Bibliotheken sollten in lib installiert werden Auf diese Weise haben Systemprogramme beim Booten w hrend usr m glicherweise noch nicht verf bar ist trotzdem Zugriff zu diesen Bibliotheken Aus dem obigen Grund verschieben wir die Laufzeitkomponenten der gemeinsamen Zlib Bibliothek in den Ordner lik mv usr lib libz so lib Der symbolische Link usr lib libz so zeigt nun auf eine Datei die nicht mehr existiert weil wir sie gerade verschoben haben Erstellen Sie den symbolischen Link neu so dass er auf den neuen Standort der Bibliothek zeigt In sf
8. Begin boot grub menu lst By default boot the first menu entry default 0 175 Linux From Scratch Version 5 1 1 Allow 30 seconds before booting the default timeout 30 FU SSmO Gein ier Colors color green black light green black TS ire tent ry 18 For NS eael rS Gy Lol woo lac 3 kernel no mem option boot lfskernel root dev hda4 EOF Anmerkung CE In der Voreinstellung wird Grub dem Kernel automatisch die Zeile mem xxx bergeben Manchmal erkennt Grub allerdings den Hauptspeicher nicht richtig und das kann unter bestimmten Umst nden zu Problemen f hren Es ist gut diese Option zu deaktivieren und den Kernel den Hauptspeicher selber erkennen zu lassen Daher verwenden wir oben die Option no mem option Vielleicht m chten Sie einen weiteren Eintrag f r Ihr Host System vornehmen Dieser k nnte so aussehen cat gt gt boot grub menu lst lt lt EOF title Red Hat Oot Anal 2 kernel boot kernel 2 4 20 root dev hda3 initrd boot initrd 2 4 20 EOF Falls Sie Windows dual booten m chten k nnte der folgende Eintrag hilfreich sein cat gt gt boot grub menu lst lt lt EOF title Windows rootnoverify hd0 0 chainloader 1 EOF Falls info grub Ihnen nicht alle Informationen gibt die Sie brauchen finden Sie mehr dazu auf den Grub Webseiten unter http www gnu org software grub 176 Linux From Scratch Version 5 1 1 Kapitel 9 Das Ende Das Ende Herzlic
9. Das n chste zu installierende Paket ist GCC und w hrend des Durchlaufs von configure sehen Sie zum Beispiel 27 Linux From Scratch Version 5 1 1 checking what assembler to use tools i686 pc linux gnu bin as checking what linker to use tools i686 pc linux gnu bin ld Das ist aus den oben genannten Gr nden wichtig Hier wird auch deutlich dass GCC s configure Skript nicht die PATH Verzeichnisse durchsucht um herauszufinden welche Werkzeuge verwendet werden sollen Dennoch werden beim tats chlichen Ausf hren von gcc nicht unbedingt die gleichen Suchpfade verwendet Welchen Standard Linker gcc man wirklich verwendet kann man mittels gcc print prog name ld herausfinden Detaillierte Informationen erh lt man von gcc indem man den Parameter v beim Kompilieren eines Dummy Programmes bergibt gec v dummy c zum Beispiel gibt Informationen ber den Pr prozessor Komilierungs und Assemblierungsphasen inklusive gec s Suchpfaden und der Reihenfolge aus Das n chste zu installierende Paket ist Glibc Die wichtigsten berlegungen zum Kompilieren von Glibc besch ftigen sich mit dem Compiler den Bin rwerkzeugen und den Kernel Headern Der Compiler ist normalerweise kein Problem weil Glibc immer den gec nimmt der in den PATH Ordnern gefunden wird Die Binutils und die Kernel Header k nnen da schon etwas schwieriger sein Daher gehen wir kein Risiko ein und benutzen die verf gbaren configure Optionen um die korrekten Entsche
10. tunelp Util linux 2 12a p 154 description p 156 tzselect Glibc 2 3 3 Ifs 5 1 p 77 description p 80 ul Util linux 2 12a p 154 description p 156 umount Util linux 2 12a p 154 description p 156 uname Coreutils 5 2 1 p 88 description p 91 unexpand Coreutils 5 2 1 p 88 description p 91 unicode_start Kbd 1 12 p 130 description p 131 unicode_stop Kbd 1 12 p 130 description p 131 unig Coreutils 5 2 1 p 88 description p 91 unlink Coreutils 5 2 1 p 88 description p 91 updatedb Findutils 4 1 20 p 97 description p 97 uptime Procps 3 2 1 p 144 description p 144 uptime Coreutils 5 2 1 p 88 description p 92 useradd Shadow 4 0 4 1 p 147 description p 149 userdel Shadow 4 0 4 1 p 147 description p 149 usermod Shadow 4 0 4 1 p 147 description p 149 users Coreutils 5 2 1 p 88 description p 92 utmpdump Sysvinit 2 85 p 151 description p 152 uuidgen E2fsprogs 1 35 p 132 description p 133 vdir Coreutils 5 2 1 p 88 description p 92 vidmode Util linux 2 12a p 154 description p 156 view Vim 6 2 p 101 description p 102 vigr Shadow 4 0 4 1 p 147 description p 149 vim Vim 6 2 p 101 description p 102 viml32 Vim 6 2 p 101 description p 102 vim2html pl Vim 6 2 p 101 description p 102 vimdiff Vim 6 2 p 101 description p 102 vimm Vim 6 2 p 101 description p 102 vimspell sh Vim 6 2 p 101 description p 102 vimtutor Vim 6 2 p 101 description p 102 vipw Shadow 4 0 4 1 p 147 description
11. Beispiel die in var run und var lock Es erzeugt var run utmp und entfernt die eventuell vorhandenen Dateien etc nologin fastboot und forcefsck Das functions Skript enth lt Funktionen die gemeinsam von verschiedenen Skripten genutzt werden wie z B Fehler oder Statuspr fung Das halt Skript f hrt das System herunter Das ifdown und ifup Skript unterst tzen das network Skript in Bezug auf Netzwerkger te Das loadkeys Skript l d das Tastaturlayout das Sie f r Ihre Tastatur konfiguriert haben Das localnet Skript setzt den Hostnamen und das lokale Loopback Ger t auf Das mountfs Skript h ngt alle Dateisysteme ein die nicht als noauto markiert und nicht netzwerkbasiert sind Das mountkernfs Skript wird zum Einh ngen von Dateisystemen benutzt die der Kernel bereitstellt z B proc Das network Skript macht Netzwerkschnittstellen wie z B Netzwerkkarten verf gbar und richtet wenn n tig das Standard Gatway ein Das rc Skript ist das Haupt Runlevel Kontrollskript Es ist daf r verantwortlich alle anderen Skripte eins nach dem anderen in der richtigen Reihenfolge auszuf hren Das reboot Skript startet das System neu Das sendsignals Skript stellt sicher dass jeder Prozess beendet wird bevor das System herunterf hrt oder neu startet Das setclock Skript setzt die Kernelzeit auf lokale Zeit falls die Hardware Uhr nicht auf GMT Zeit eingestellt ist Das static Skript stellt Funktionen zum Zuweisen einer statis
12. Glibc Grep Make Sed Installation von Ncurses Bereiten Sie Ncurses zum Kompilieren vor configure prefix tools with shared without debug without ada enable overwrite Die Bedeutung der configure Parameter e without ada Das bewirkt dass Ncurses ohne Ada Bindungen erstellt wird selbst wenn auf dem Host System ein Ada Compiler vorhanden ist Das ist erforderlich weil sp ter in der chroot Umgebung Ada nicht mehr verf gbar sein wird e enable overwrite Dadurch werden die Ncurses Header Dateien in tools include anstelle von tools include ncurses installiert Das stellt sicher dass andere Pakete die Ncurses Header Dateien problemlos finden k nnen Kompilieren Sie die Programme und Bibliotheken make Dann installieren Sie sie und die dazugeh rige Dokumentation make install Details zu diesem Paket finden Sie in Inhalt von Ncurses p 99 57 Linux From Scratch Version 5 1 1 Patch 2 5 4 Das Paket Patch enth lt ein Programm zum Modifizieren von Dateien Approximate build time 0 1 SBU Required disk space ie Mie Patch ist abh ngig von Bash Binutils Coreutils Diffutils GCC Glibc Grep Make Sed Installieren von Patch Bereiten Sie Patch zum Kompilieren vor die Pr prozessor Option D_GNU_SOURCE wird nur auf der PowerPC Plattform ben tigt Auf anderen Architekturen k nnen Sie sie weglassen CPPFLAGS D_GNU_SOURCE configure prefix tools Kompilieren Sie das Progr
13. Unten finden Sie eine Liste der nderungen die seit der vorherigen Buchversion vorgenommen wurden Erst eine Zusammenfassung dann ein detailliertes Protokoll e Aktualisierung auf autoconf 2 59 automake 1 8 4 coreutils 5 2 1 e2fsprogs 1 35 expect 5 41 0 file 4 09 gcc 3 3 3 gettext 0 14 1 glibc 2 3 3 lfs 5 1 grub 0 94 kbd 1 12 less 382 Ifs bootscripts 2 0 5 libtool 2 5 6 linux 2 4 26 man pages 1 66 modutils 2 4 27 ncurses 5 4 perl 5 8 4 procps 3 2 1 psmisc 21 4 sed 4 0 9 shadow 4 0 4 1 tar 1 13 94 tcl 8 4 6 texinfo 4 7 util linux 2 12a e Hinzugef gt iana etc 1 00 inetutils 1 4 2 no_server_man_pages 1 patch make_devices 1 2 mktemp 1 5 mktemp 1 5 add tempfile patch Linux From Scratch Version 5 1 1 Entfernt e gcc 3 3 1 suppress libiberty patch e Ifs utils 0 5 e MAKEDEV 1 7 e man 1 5m2 manpath patch e man 1 5m2 pager patch e ncurses 5 3 etip 2 patch e ncurses 5 3 vsscanf patch e perl 5 8 0 libc 3 patch e procps 3 1 11 locale fix patch e shadow 4 0 3 newgrp fix patch e Zlib 1 1 4 vsnprintf patch June 2 2004 matt Prologue acknowledgments Added Thomas Reitelbach as the German translator May 30 2004 matt Chapter 6 vim corrected the optional command for invoking the testsuite May 23 2004 matt Chapter 6 Kbd removed the hardcoded path to the kernel source directory May 19 2004 matt Chapter 6 mktemp added instruction to install tempfile wrapper May 18 2004 manuel
14. berpr fen ungewollte Zutaten wegzulassen und eigene Zutaten nach Geschmack und Belieben hinzuzuf gen Wenn man dann mit dem Rezept zufrieden ist kann man es zubereiten Dies tut man dann so wie man es gerne h tte braten backen tiefgefrieren grillen oder roh essen ganz wie man will Wir k nnen noch eine weitere Analogie zum Vergleich heranziehen Vergleichen wir LFS mit einem Fertighaus LFS w re der Grundrissplan vom Haus aber bauen m ssen Sie es schon selbst Jeder hat die Freiheit den Plan ganz nach Belieben zu ver ndern Nicht zuletzt ist auch Sicherheit ein Vorteil eines selbstgebauten Linux Systems Wer ein Linux System selber aus den Quellen kompiliert hat kann s mtliche Quelltexte sichten und alle Sicherheitspatches installieren die man f r wichtig h lt Man muss nicht darauf warten dass jemand anders Bin rpakete zur Behebung von Sicherheitsl chern bereitstellt Solange man Patches nicht selber berpr ft und installiert gibt es keine Garantie dass das Bin rpaket korrekt kompiliert wurde und dass es auch wirklich das Problem behebt Es gibt einfach zu viele gute Gr nde warum man sein eigenes LFS System erstellen k nnte um sie hier alle aufzuz hlen Dieses Kapitel ist nur die Spitze des Eisberges Wenn Sie mit LFS arbeiten und Erfahrungen sammeln werden Sie selbst schnell feststellen wieviel Macht in Informationen und Wissen ber das Linux System liegt Wer dieses Buch wahrscheinlich nicht lesen m chte Es g
15. http freshmeat net projects modutils Ncurses 5 4 2 019 KB Linux From Scratch Version 5 1 1 Linux From Scratch Version 5 1 1 http freshmeat net projects ncurses Net tools 1 60 194 KB http freshmeat net projects net tools Patch 2 5 4 182 KB http freshmeat net projects patch Perl 5 8 4 9 373 KB http freshmeat net projects perl Procinfo 18 24 KB http freshmeat net projects procinfo Procps 3 2 1 260 KB http freshmeat net projects procps Psmisc 21 4 375 KB http freshmeat net projects psmisc Sed 4 0 9 751 KB http freshmeat net projects sed Shadow 4 0 4 1 795 KB http freshmeat net projects shadow Sysklogd 1 4 1 80 KB http freshmeat net projects sysklogd Sysvinit 2 85 91 KB http freshmeat net projects sysvinit Tar 1 13 94 1 025 KB ftp alpha gnu org gnu tar Tel 8 4 6 3 363 KB http freshmeat net projects tcltk Texinfo 4 7 1 385 KB http freshmeat net projects texinfo Util linux 2 12a 1 814 KB http freshmeat net projects util linux Vim 6 2 3 193 KB http freshmeat net projects vim Zlib 1 2 1 277 KB http freshmeat net projects zlib Gesamtgr e der Pakete 134 MB 3 Anmerkung Anmerkung 1 Wenn Sie das hier lesen ist 4 09 m glicherweise nicht in dieser Version verf gbar Der Hauptdownloadserver ist daf r bekannt alte Versionen zu l schen sobald neuere verf gb
16. locate updatedb und xargs Kurze Beschreibung bigram wurde friiher zum Anlegen von Locate Datenbanken benutzt code wurde friiher zum Anlegen von Locate Datenbanken benutzt Es ist der Vorg nger von frcode find durchsucht eine Ordnerstruktur nach Dateien die einem bestimmten Kriterium entsprechen frcode wird von updatedb aufgerufen um die Liste der Dateinamen zu komprimieren Es benutzt die sogenannte front Komprimierung welche die Datenbankgr e um den Faktor 4 bis 5 verkleinert locate durchsucht eine Datenbank mit Dateinamen und gibt die Dateien aus die eine bestimmte Zeichenkette enthalten oder auf ein bestimmtes Muster passen updatedb aktualisiert die Locate Datenbank Es durchsucht das gesamte Dateisystem inklusive anderer eingeh ngter Dateisysteme wenn nicht anders angegeben und tr gt jeden gefundenen Dateinamen in die Datenbank ein xargs kann benutzt werden um ein bestimmtes Kommando auf eine Liste von Dateien anzuwenden 97 Linux From Scratch Version 5 1 1 Gawk 3 1 3 Gawk ist eine Implementierung von awk und wird zur Textmanipulation verwendet Approximate build time 0 2 SBU Required disk space 17 MB Gawk ist abh ngig von Bash Binutils Coreutils Diffutils GCC Gettext Glibc Grep Make Sed Installieren von Gawk Bereiten Sie Gawk zum Kompilieren vor configure prefix usr libexecdir usr lib Kompilieren Sie das Paket make Um das Ergebnis zu pr fen f hren Sie das Komma
17. logoutd ist ein D mon der Beschr nkungen auf die Login Zeit und Ports durchsetzt mkpasswd verschl sselt ein Passwort mit einer angegebenen St rung newgrp wird zum ndern der aktuellen GID in einer Login Sitzung benutzt newusers wird zum Erzeugen oder Aktualisieren einer Serie von Benutzerkonten in einem Durchlauf verwendet passwd ndert das Passwort f r einen Benutzer oder eine Gruppe pwck pr ft die Integrit t der Passwort Dateien etc passwd und etc shadow pwconv erzeugt oder aktualisiert die Shadow Passwort Datei aus der normalen Passwort Datei pwunconv aktualisiert etc passwd aus etc shadow und l scht letztere danach sg f hrt ein Kommando mit der angegebenen GID aus useradd erzeugt einen neuen Benutzer mit dem angegebenen Namen oder aktualisiert die Vorgaben f r neue Benutzer userdel l scht das angegebene Benutzerkonto usermod ndert Loginname UID Shell Gruppe Pers nlichen Ordner und hnliches f r einen Benutzer vigr kann zum Bearbeiten von etc group oder etc gshadow Dateien benutzt werden vipw kann zum Bearbeiten von etc passwd oder etc shadow Dateien benutzt werden libmisc libshadow enth lt Funktionen die von den meisten der Programme in diesem Paket verwendet werden 149 Linux From Scratch Version 5 1 1 Sysklogd 1 4 1 Die in Sysklogd enthaltenen Programme dienen zum Aufzeichnen von Systemmeldungen zum Beispiel die des Kernels Approximate build time 0 1 SBU Required di
18. ndern dirname entfernt den nicht ordnerspezifischen Teil eines Dateinamens du gibt den verwendeten Festplattenspeicher aus der vom aktuellen Ordner den Unterordnern und Dateien oder einer einzelnen Datei verbraucht wird echo gibt die angegebene Zeichenkette aus env f hrt ein Kommando in einer modifizierten Arbeitsumgebung aus expand konvertiert Tabulatoren zu Leerzeichen expr wertet einen Ausdruck aus factor gibt den Primfaktor aller angegebenen Ganzzahlen aus false tut gar nichts ist immer erfolglos Es beendet sich immer mit einem Abschlusskode der auf einen Fehler hinweist fmt formatiert die Abs tze in der bergebenen Datei neu fold f gt Zeilenumbr che in den angegebenen Dateien ein groups gibt die Gruppenzugeh rigkeit eines Benutzers aus head gibt die ersten zehn oder angegebene Anzahl von Zeilen einer Datei aus hostid gibt die numerische ID hexadezimal des Systems aus hostname setzt den Hostnamen bzw zeigt ihn an id gibt die effektive Benutzer ID Gruppen ID und Gruppenzugeh rigkeit des aktuellen Benutzers oder eines angegebenen Benutzers aus install kopiert Dateien und setzt deren Zugriffsrechte und falls m glich Besitzer und Gruppe join f gt aus zwei Dateien die Zeilen zusammen die identische join Felder haben link erzeugt einen harten Link von der angegebenen Datei zu einer Datei In erzeugt einen harten oder weichen Link zwischen Dateien logname gibt den Login Namen des aktuell
19. sendet init Signale an alle Programme die es gestartet hat Init gibt Sending processes the TERM signal auf den Bildschirm aus Das sieht aber so aus als ob init diese Signale an alle laufenden Programme sendet Um diese Verwirrung zu vermeiden k nnen Sie die Quellen so modifizieren dass es sich besser liest Sending processes started by init the TERM signal cp src init c backup sed s Sending processes amp started by init g src init c backup gt src init c Kompilieren Sie Sysvinit make C src Und installieren Sie es make C src install Konfigurieren von Sysvinit Erstellen Sie die neue Datei etc inittab indem Sie das folgende Kommando eingeben cat gt etc inittab lt lt EOF Begin etc inittab iol 33 uab oee anuullie 8 Siseisveinite eto rc c imit d rc Sysimit ORO Ra wicvistercy c Cy rer Cy ig ec Cre O 11581sveite erc rce d init cl iee il 1222sveits erc rcecd aie d re 2 ISS 3 wele 9 OLC TE Cl dima cree 3 laga awene s Jere re O toute d ire A ISS S Siwiealic 8 Meete ice Cl taie re 5 IGS Os weaie o Ste C we cd iniesc re 6 ca l2345 ctrlaltdel sbin shutdown tl a r now su S016 once sbin sulogin 1 2345 respawn sbin agetty ttyl 9600 2 2345 respawn sbin agetty tty2 9600 3 2345 respawn sbin agetty tty3 9600 4 2345 respawn sbin agetty tty4 9600 5 2345 respawn sbin agetty tty5 9600 6 2345 respawn sbin agetty tty6 9600 HE End etc inittab E
20. unserem Beispiel gefolgt sind Wenn die Ausgabe falsch ist k nnen Sie die Variable jederzeit neu setzen export LFS mnt lfs Wenn diese Variable gesetzt ist haben Sie den Vorteil dass Sie ein Kommando wie z B mkdir LFS tools genau so eingeben k nnen wie Sie es lesen Die Shell wird LFS durch mnt lfs ersetzen w hrend sie Ihre Eingabe verarbeitet Vergessen Sie nicht jedesmal den Inhalt von LFS zu pr fen wenn Sie Ihre Arbeitsumgebung verlassen und neu betreten wie z B wenn Sie su zu root oder einem anderen Benutzer ausf hren 20 Linux From Scratch Version 5 1 1 Erstellen des Ordners LFS tools Alle in Chapter 5 p 26 kompilierten Programme werden unter LFS tools installiert Dadurch trennen wir sie von den Programmen die in Chapter 6 p 66 installiert werden Die hier kompilierten Programme sind nur bergangsweise Hilfsmittel und werden kein Teil des endg ltigen LFS Systems sein Wenn wir diese Programme in einem separaten Ordner installieren k nnen sie sp ter leichter gel scht werden Ausserdem wird so sichergestellt dass die Programme nicht versehentlich in Ihrem produktiven Host System enden k nnte in Chapter 5 p 26 leicht passieren was wirklich schlecht w re Falls Sie sp ter Ihre ausf hrbaren Dateien des Systems durchsuchen m chten um zum Beispiel herauszufinden welche Dateien sie benutzen oder wogegen sie verlinkt sind k nnen Sie die Suche vereinfachen indem Sie einen eindeutigen
21. werden Sie manchmal beim Installieren eines Patches Warnungen ber offser oder fuzzy sehen Diese Warnungen sind nicht wichtig der Patch wird dennoch sauber installiert Beim Kompilieren vieler Pakete werden Sie alle m glichen Compiler Warnungen ber den Bildschirm laufen sehen Das ist normal und kann einfach ignoriert werden Das sind wirklich nur Warnungen meistens ber missbilligte aber dennoch korrekte Benutzung von C oder C Syntax Die C Standards haben sich im Laufe der Zeit oft ver ndert und einige Pakete benutzen immer noch alte Standards aber das ist kein wirkliches Problem Solange nicht anders angegeben sollten Sie die Quell und Kompilierordner nach dem Installieren des jeweiligen Paketes l schen zum Beispiel um aufzur umen oder Platz zu sparen Das L schen der Quellen verhindert ausserdem auch m gliche Fehlkonfigurationen wenn ein Paket sp ter nochmalig installiert werden muss Nur bei drei Paketen m ssen Sie die Quell und Kompilierordner f r eine Weile aufbewahren damit ihr Inhalt sp ter noch verwendet werden kann bersehen Sie die entsprechenden Hinweise nicht Bevor Sie fortfahren stellen Sie bitte mit folgendem Kommando sicher dass die LFS Umgebungsvariable korrekt gesetzt ist echo LFS Die Ausgabe sollte den Pfad zum Mountpunkt Ihrer LFS Partition anzeigen normalerweise mnt 1fs wenn Sie unserem Beispiel gefolgt sind 26 Linux From Scratch Version 5 1 1 Technische Anmerkungen zur Tool
22. 110 Binutils 2 14 p 84 E2fsprogs 1 35 p 132 Glibc 2 3 3 lfs 5 1 p 77 Glibc 2 3 3 lfs 5 1 p 77 Bzip2 1 0 2 p 126 Glibc 2 3 3 lfs 5 1 p 77 E2fsprogs 1 35 p 132 Glibc 2 3 3 lfs 5 1 p 77 Glibc 2 3 3 lfs 5 1 p 77 E2fsprogs 1 35 p 132 E2fsprogs 1 35 p 132 Flex 2 5 4a p 109 Ncurses 5 4 p 99 Glibc 2 3 3 lfs 5 1 p 77 GCC 3 3 3 p 86 Gettext 0 14 1 p 110 Gettext 0 14 1 p 110 Gettext 0 14 1 p 110 Binutils 2 14 p 84 Glibc 2 3 3 lfs 5 1 p 77 Libtool 1 5 6 p 125 Glibc 2 3 3 lfs 5 1 p 77 File 4 09 p 124 Glibc 2 3 3 lfs 5 1 p 77 Glibc 2 3 3 lfs 5 1 p 77 Ncurses 5 4 p 99 Shadow 4 0 4 1 p 147 Ncurses 5 4 p 99 Glibc 2 3 3 lfs 5 1 p 77 Glibc 2 3 3 lfs 5 1 p 77 Binutils 2 14 p 84 191 Linux From Scratch Version 5 1 1 description p 139 description p 156 description p 92 description p 92 description p 156 description p 97 description p 111 description p 117 description p 80 description p 102 description p 104 description p 92 description p 122 description p 113 description p 136 description p 136 description p 80 description p 136 description p 136 description p 136 description p 136 description p 80 description p 137 description p 137 description p 137 description p 107 description p 136 description description description description description description description description description description descriptio
23. 5 1 1 description p 174 description p 76
24. Bash Binutils Coreutils Diffutils GCC Glibc Grep Make Sed Installation von Gzip Bereiten Sie Gzip zum Kompilieren vor configure prefix tools Kompilieren Sie das Paket make Und installieren Sie make install Details zu diesem Paket finden Sie in Inhalt von Gzip p 136 50 Linux From Scratch Version 5 1 1 Diffutils 2 8 1 Die Programme dieses Pakets k nnen Unterschiede zwischen Dateien oder Ordnern anzeigen Approximate build time 0 1 SBU Required disk space Tes Wile Diffutils ist abh ngig von Bash Binutils Coreutils Diffutils GCC Gettext Glibc Grep Make Sed Installieren von Diffutils Bereiten Sie Diffutils zum Kompilieren vor configure prefix tools Kompilieren Sie das Paket make Und installieren Sie make install Details zu diesem Paket finden Sie in Inhalt von Diffutils p 128 51 Linux From Scratch Version 5 1 1 Findutils 4 1 20 Das Paket Findutils enth lt Programme zum Auffinden von Dateien entweder durch rekursive Suche in einer Ordnerstruktur oder ber den Zugriff auf eine Datenbank was h ufig schneller ist aber die Gefahr birgt dass die Datenbank nicht den aktuellen Zustand wiederspiegelt Approximate build time 0 2 SBU Required disk space Tod MB Findutils ist abh ngig von Bash Binutils Coreutils Diffutils GCC Gettext Glibc Grep Make Sed Installieren von Findutils Bereiten Sie Findutils zum Kompilieren vo
25. Bash eine n tzliche Funktion bash benutzt eine Hash Tabelle um sich die Pfade zu ausf hrbaren Dateien zu merken und so ein st ndiges Durchsuchen aller Verzeichnisse zu vermeiden Jedoch m ssen wir alle neu installierten Werkzeuge sofort nutzen k nnen Durch Abschalten der Hash Funktion wird f r interaktive Kommandos make patch sed cp und so weiter immer die neueste verf gbare Version benutzt Das Setzen der Dateierzeugungs Maske auf 022 stellt sicher dass neu erzeugte Dateien nur durch ihren Besitzer beschreibbar sind aber f r alle anderen les und ausf hrbar Die LFS Variable sollte nat rlich auf den von Ihnen gew hlten Mountpunkt der LFS Partition gesetzt sein Die Variable LC_ALL beeinflusst die Lokalisierung einiger Programme so dass deren Ausgaben den Konventionen des entsprechenden Landes folgen Wenn Ihr Host System eine ltere Glibc Version als 2 2 4 verwendet k nnte es Probleme geben wenn LC_ALL nicht auf POSIX oder C gesetzt ist Durch Setzen von LC_ALL auf POSIX oder C die beiden Werte haben die gleiche Wirkung sollte es beim Hin und Herwechseln in der chroot Umgebung keine Probleme geben Wir stellen tools bin an den Anfang der PATH Variable so dass wir beim Durcharbeiten dieses Kapitels die erstellten Werkzeuge und Programme auch automatisch benutzt sobald sie verf gbar sind Um die Arbeitsumgebung endg ltig fertig zu stellen muss das gerade erzeugte Profil eingelesen werden
26. Begin etc fstab file system mount point fs type options dump fsck order dev xxx i defaults 1 i dev yyy swap swap pri 1 0 0 proc proc proc defaults 0 0 devpts dev pts devpts gid 4 mode 620 0 0 shm dev shm tmpfs defaults 0 0 End etc fstab EOF Nat rlich m ssen Sie xxx yyy und f f f mit den korrekten Werten f r Ihr System ersetzen zum Beispiel hda2 hda5 und reiserfs Die Details zu den sechs Feldern in dieser Tabelle finden Sie mittels man 5 fstab Wenn Sie eine reiserfs Partition verwenden sollten Sie 7 am Ende der Zeile durch 0 0 ersetzen weil eine solche Partition nicht gepr ft werden muss Der Mountpunkt dev shm f r das tmpfs Dateisystem wird hier eingef gt um POSIX konformes shared memory zu gew hrleisten Ihr Kernel muss Unterst tzung daf r haben damit das funktioniert mehr dar ber finden Sie im n chsten Abschnitt Beachten Sie bitte dass zur Zeit nur sehr wenig Software POSIX shared memory verwendet Daher k nnen Sie den Mountpunkt dev shm als optional betrachten Mehr Informationen dazu finden Sie in Documentation filesystems tmpfs txt im Quellordner Ihrer Kernel Quellen Es gibt noch mehr Zeilen die Sie vielleicht Ihrer fstab hinzuf gen wollen Eine zum Beispiel zum Verwenden von USB Ger ten usbfs proc bus usb usbfs defaults 0 0 Diese Option funktioniert nat rlich nur wenn Sie die entsprechende Unterst tzung in den Kernel einkompilieren 172 Linux From Scratch Version 5 1 1
27. Chapter 3 Updated the list of mirrors for Glibc package Fixed several textual bugs May 17th 2004 winkie Chapter 5 Pass AUTOCONF no to the Glibc build This prevents autoconf from causing us problems May 16th 2004 jeremy Chapter 9 Added a brief paragraph to the rebooting system page to discuss packages which might be useful to add prior to rebooting to the new system May 15th 2004 matt Chapter 6 Added a clearer warning that make_devices needs to be customised May 14th 2004 matt Chapter 3 Added glibc s md5sum May 14th 2004 matt Chapters 5 amp 6 Upgraded to glibc 2 3 3 Ifs 5 1 May 11th 2004 jeremy Prologue Updated the list of active staff in the project May 9th 2004 winkie Chapter 6 Removed unused and broken entries fromnsswitch conf May 7th 2004 matt Merged Manuel s lfs xsl 0 9 patches May 7th 2004 matt Fixed README error regarding invocation of make May 3rd 2004 LFS 5 1 pre2 released May 2nd 2004 matt Ouoted chroot commands in chapter 6 bug 818 May 2nd 2004 matt Removed description of the now non existent part IV from the structure section in the prologue May 1st 2004 jeremy Added creation of the media and srv directories as well as 2 directories under media for floppy and cdrom as per FHS fixes bugzilla bug 785 and 819 April 14th 2004 jeremy Updated to lfs bootscripts 2 0 3 no textual changes needed March 24th 2004 jeremy Chapter 7
28. Chapter 6 Moved the Bootscripts installation section to chapter 7 February 8th 2004 matt Chapter 6 Updated to Man pages 1 66 February 7th 2004 alex Chapter I Moved the Conventions and Acknowledgments sections to the Preface February 7th 2004 alex Chapter 6 Creating devices replaced the MAKEDEV script with the make devices script Contributed by Matthias Benkmann February 5th 2004 alex Chapter 6 Simplified the final install of the kernel headers to just copying them from the temporary tools directory February 4th 2004 alex Chapters 5 6 Moved the Mounting of proc and devpts to before Chrooting dropped Util linux from the tools and added a little arch script for Perl Erscheinen der Version 5 1 prel am 01 Februar 2004 Linux From Scratch Version 5 1 1 Ressourcen FAQ Wenn Sie beim Erstellen des LFS Systems Fragen haben oder wenn Sie einen Rechtschreib Fehler im Buch finden dann lesen Sie bitte die FAQ Frequently Asked Questions h ufig gestellte Fragen unter http www linuxfromscratch org faq IRC Viele Mitglieder der LFS Gemeinschaft bieten Hilfe auf unserem IRC Server an Bevor Sie hier Hilfe suchen m chten wir Sie bitten zumindest die LFS FAQ und die Archive unserer Mailinglisten nach einer Antwort auf Ihre Frage zu durchsuchen Der IRC Server ist zu erreichen unter irc linuxfromscratch org Port 6667 Der Support Chatraum heist LFS support Mailinglisten Der linuxfroms
29. Dies teilt dem configure Skript mit dass es nicht nach Tk der grafischen Oberfl che zu Tcl oder den X Window Bibliotheken suchen soll beide existieren m glicherweise auf dem Host System Kompilieren Sie das Paket make Wenn Sie die Testsuite unbedingt durchlaufen lassen m chten f hren Sie das Kommando make test aus Es ist jedoch bekannt dass die Testsuite in diesem Kapitel Probleme macht die noch nicht ganz nachvollzogen wurden Es ist daher nicht berraschend wenn die Testsuite Fehler meldet diese werden jedoch nicht als kritisch betrachtet Und installieren Sie make SCRIPTS install Die Bedeutung des make Parameters e SCRIPTS Dies verhindert die Installation der mitgelieferten Expect Skripte wir brauchen sie hier nicht Sie k nnen nun die Quellordner von Tcl und Expect entfernen Inhalt von Expect Installiertes Programm expect Installierte Bibliothek libexpect5 41 0 a Kurze Beschreibung expect spricht mit anderen interaktiven Programmen und benutzt dazu ein anpassbares Skript 41 Linux From Scratch Version 5 1 1 DejaGnu 1 4 4 Das Paket DejaGnu enth lt ein Grundger st zum Testen anderer Programme Approximate build time 0 1 SBU Required disk space 6 1 MB Dejagnu ist abh ngig von Bash Binutils Coreutils Diffutils GCC Glibc Grep Make Sed Installieren von DejaGnu Bereiten Sie DejaGnu zum Kompilieren vor configure prefix tools Kompilieren und instal
30. E2fsprogs ist abh ngig von Bash Binutils Coreutils Diffutils Gawk GCC Gettext Glibc Grep Make Sed Texinfo Installation von E2fsprogs Es wird empfohlen E2fsprogs ausserhalb des Quellordners zu kompilieren mkdir e2fsprogs build cd e2fsprogs build Bereiten Sie E2fsprogs zum Kompilieren vor e2fsprogs 1 35 configure prefix usr with root prefix enable elf shlibs Die Bedeutung der configure Parameter e with root prefix Bestimmte Programme so wie z B e2fsck sind absolut essentiell Wenn zum Beispiel usr nicht eingeh ngt ist m ssen diese Programme trotzdem verf gbar sein Sie geh ren in Ordner wie 1ib und sbin Wenn diese Option nicht an E2fsprogs configure Skript bergeben wird w rden die Programme entgegen unserem Willen im Ordner usr installiert werden enable elf shlibs Das erzeugt die gemeinsamen Bibliotheken die einige Programme in diesem Paket verwenden Kompilieren Sie das Paket make Wenn Sie das Ergebnis testen m chten stellen Sie sicher dass die Datei mtab existiert Benutzen Sie den Befehl touch etc mtab dies verhindert das Fehlschlagen vieler Tests Ausserdem erschwindeln Sie noch das Vorhandensein eines sehr altert mlichen Pagers um weitere Tests am Fehlschlagen zu hindern In s tools bin cat bin more Dann k nnen Sie den Test mit diesem Kommando starten make check Installieren Sie das Meiste aus dem Paket make install Und installieren Sie auch
31. Entfernen eines Eintrages oder um den Cache auszugeben dnsdomainname zeigt den DNS Dom nennamen des Systems an domainname setzt den NIS YP Dom nennamen des Systems oder zeigt ihn an hostname setzt den Hostnamen des Systems oder zeigt ihn an ifconfig ist das Hauptwerkzeug zum Konfigurieren von Netzwerkschnittstellen nameif bennent Netzwerkger te basierend auf ihrer MAC Adresse netstat zeigt Netzwerkverbindungen Routingtabellen und Ger testatistiken an nisdomainname hat die gleiche Funktion wie domainname plipconfig wird zur Feinkonfiguration eines PLIP Ger tes benutzt rarp wird benutzt um die RARP Tabelle des Kernels zu manipulieren 112 Linux From Scratch Version 5 1 1 route wird zum Manipulieren von IP Routingtabellen benutzt slattach bindet ein Netzwerkger t an eine serielle Schnittstelle So kann man normale Terminalverbindungen f r Punkt zu Punkt Verbindungen mit anderen Computern benutzen ypdomainname hat die gleiche Funktion wie domainname 113 Linux From Scratch Version 5 1 1 Inetutils 1 4 2 Inetutils enth lt verschiedene Programme zur grundlegenden Netzwerkunterst tzung Approximate build time 0 2 SBU Required disk space 11 MB Inetutils ist abh ngig von Bash Binutils Coreutils Diffutils GCC Glibc Grep Make Ncurses Sed Installation von Inetutils Wir werden nicht alle Programme aus diesem Paket installieren Dennoch wird Inetutils die Man pages zu diesen Programmen installi
32. Glibc modifizieren weil die Glibc Autoconf Tests dann falsche Resultate ergeben w rden Bevor Sie mit dem Kompilieren von Glibc beginnen denken Sie daran alle Umgebungsvariablen zuriickzusetzen die die Standard Optimierungen iiberschreiben w rden Die Glibc Dokumentation empfiehlt nicht im Ouellordner sondern in einem gesonderten Ordner zu kompilieren mkdir glibc build cd glibc build Bereiten Sie nun Glibc zum Kompilieren vor glibc 2 3 3 1fs 5 1 configure prefix usr disable profile enable add ons linuxthreads libexecdir usr lib with headers usr include without cvs Die Bedeutung der neuen configure Optionen e libexecdir usr lib Das wird das Programm pt_chown in usr 1ib anstelle von usr libexec installieren Die Verwendung von libexec wird als nicht FHS konform betrachtet weil FHS diesen Ordner noch nicht einmal erw hnt e with headers usr include Das stellt sicher dass die Kernel Header in usr include zum Kompilieren benutzt werden Wenn Sie diese Option nicht angeben werden die Header aus tools include benutzt was nicht ideal w re auch wenn Sie eigentlich identisch sein sollten Diese Option hat auch den Vorteil dass Sie sofort merken wenn Sie vergessen haben sollten die Kernel Header in usr include zu installieren Kompilieren Sie das Paket make D Wichtig Die Testsuite von Glibc in diesem Abschnitt wird als absolut kritisch betrachtet Sie sollten diesen Schritt unter k
33. Grep M4 Make Sed Installation von Modutils Bereiten Sie Modutils zum Kompilieren vor configure Kompilieren Sie das Paket make Installieren Sie es make install Inhalt von Modutils Installierte Programme depmod genksyms insmod insmod_ksymoops_clean kallsyms Link auf insmod kernelversion ksyms Link auf insmod Ismod Link auf insmod modinfo modprobe Link auf insmod und rmmod Link auf insmod Kurze Beschreibung depmod erzeugt basierend auf den Symbolen in existierenden Modulen eine Abh ngigkeitsdatei Diese Datei wird von modprobe benutzt um ben tigte Module automatisch nachzuladen genksyms erzeugt Modulversionsinformationen insmod installiert ein ladbares Modul in den laufenden Kernel insmod_ksymoops_clean l scht gespeicherte ksyms und Module auf die seit zwei Tagen nicht zugegriffen wurde kallsyms extrahiert zu Debuggingzwecken alle Kernelsymbole kernelversion gibt die Hauptversionsnummer des laufenden Kernel aus ksyms zeigt die exportierten Kernelsymbole an Ismod zeigt an welche Module geladen sind modinfo untersucht eine Objektdatei die mit einem Kernelmodul assoziiert ist und zeigt die darin verf gbaren Informationen an modprobe benutzt eine von depmod erzeugte Abh ngigkeitsdatei um ben tigte Module automatisch nachzuladen rmmod entl dt ein Modul aus dem laufenden Kernel 141 Linux From Scratch Version 5 1 1 Patch 2 5 4 Das Paket Patch enth lt ein Prog
34. Installation dieser Programme patch Npl i kbd 1 12 more programs 1 patch Bereiten Sie Kbd zum Kompilieren vor configure Kompilieren Sie das Paket make Installieren Sie es make install Konfigurieren der Tastatur Es gibt nichts st renderes als ein Linux zu benutzen auf dem ein falsches Tastaturlayout geladen ist Wenn Sie eine Standard US Tastatur haben k nnen Sie diesen Abschnitt berspringen denn das US Layout wird automatisch geladen wenn Sie es nicht ndern Um das voreingestellte Tastaturlayout zu ndern erstellen Sie mit dem folgenden Kommando den symbolischen Link usr share kbd keymaps defkeymap map gz In s path to keymap usr share kbd keymaps defkeymap map gz Nat rlich m ssen Sie pfad zum tastaturlayout mit dem Pfad und Dateinamen Ihres Tastaturlayouts ersetzen Wenn Sie zum Beispiel eine holl ndische Tastatur haben w rden Sie 1386 qwerty nl map gz benutzen Eine andere M glichkeit dass Tastaturlayout zu setzen ist die keymap in den Kernel einzukompilieren Das stellt sicher dass Ihre Tastatur immer wie gew nscht funktioniert selbst dann wenn Sie in den Wartungsmodus booten indem Sie den init bin sh Kernelparameter angeben denn dann wird das Bootskript zum setzen des Tastaturlayouts normalerweise nicht ausgef hrt Wenn Sie in Chapter 8 p 171 zum Kompilieren des Kernel bereit sind f hren Sie das folgende Kommando aus wenn Sie die jetzige Keymap in den Kernel patchen wollen Si
35. Linux 2 4 26 Das Linux Paket enth lt den Kernel und die Header Dateien Approximate build time Mit allen Voreinstellungen 4 20 SBU Required disk space Mit allen Voreinstellungen 181 MB Linux ist abh ngig von Bash Binutils Coreutils Findutils GCC Glibc Grep Gzip Make Modutils Perl Sed Installation des Kernel Kompilieren und Installieren des Kernels sind nur ein paar Schritte Konfiguration kompilieren und installieren Wenn Sie die Methode der Installation in diesem Buch nicht m gen schauen Sie in der README Datei im Kernel Quellordner nach alternativen Methoden Bereiten Sie den Kompiliervorgang mit dem folgenden Kommando vor make mrproper Hierdurch wird sichergestellt dass der Kernel Baum absolut sauber ist Das Kernel Team empfiehlt dieses Kommando vor jedem Kompilieren des Kernelsauszuf hren Sie sollten sich nicht darauf verlassen dass die Quellen nach dem Entpacken sauber sind Konfigurieren Sie den Kernel mit der men gef hrten Benutzeroberfl che make menuconfig make oldconfig k nnte in einigen F llen besser geeignet sein Schauen Sie in die README Datei um mehr Informationen zu erhalten Wenn Sie m chten k nnen Sie die Kernelkonfiguration berspringen und einfach die Kernel Konfigurationsdatei conf ig von Ihrem Host system nach linux 2 4 26 kopieren falls sie verf gbar ist Das empfehlen wir allerdings nicht Sie sind besser dran wenn Sie alle Konfigurationsm
36. Polen lt jpolen rackspace com gt us2 linuxfromscratch org Spiegel e Tim Jackson lt tim idge net gt linuxfromscratch idge net Spiegel Jeremy Utley lt jeremy linux phreak net gt Ifs linux phreak net Spiegel S damerikanische Spiegel e Manuel Canales Esparcia lt manuel linuxfromscratch org gt lfsmirror lfs es org Spiegel e Andres Meggiotto lt sysop mesi com ar gt lfs mesi com ar Spiegel e Eduardo B Fonseca lt ebf aedsolucoes com br gt br linuxfromscratch org Spiegel Europ ische Spiegel e Barna Koczka lt barna siker hu gt hu linuxfromscratch org Spiegel e UK Mirror Service linuxfromscratch mirror ac uk Spiegel e Martin Voss lt Martin Voss ada de gt lfs linux matrix net Spiegel Unknown mirror vtx ch Spiegel e Guido Passet lt guido primerelay net gt nl linuxfromscratch org Spiegel e Bastiaan Jacques lt baafie planet nl gt Ifs pagefault net Spiegel e Roel Neefs lt Ifs mirror linuxfromscratch rave org gt linuxfromscratch rave org Spiegel e Justin Knierim lt justin jrknierim de gt www lfs matrix de Spiegel e Stephan Brendel lt stevie stevie20 de gt Ifs netservice neuss de Spiegel Unknown linuxfromscratch je zi de Spiegel Unknown linuxfromscratch tuxcenter net Spiegel e Hagen Herrschaft lt hrx hrxnet de gt de linuxfromscratch org Spiegel e Antonin Sprinzl lt Antonin Sprinzl tuwien ac at gt at linuxfromscratch org Spiegel e
37. System bootf hig machen ss 171 Einf hrung sfr etienne Beni lee ar sat ass 171 Erstellen der D ters etcitstab real es Eo EE Fo 172 Link 2 4 2 6 255 seen nes un A Mas RF NN Dee se ee 173 Das LFS System bootf hig machen un unssunssnnesnnennnennnsnnnsnnnennnnnnnennnennnensnon sean esas cogs 175 9 Das Ende un sine EEE Ren ee FO ers E FRI i st 177 Das Ende soc cis nannten sie asia Be pass eg ea 177 T ssen Sie sich z hlen 4 02 8828 machen ae deanws svi ge sebwawasie ss 178 Neustarten des Systems osson ensneenase pas et nn ni ists 179 WAS nun eines Hiller Mec a dent es 180 Index of packages and important installed files 24044420024esnnseennnssnnnneennsnnnnsnonnnennnssennnsnnn nennen 181 Linux From Scratch Version 5 1 1 Einleitung Vorwort Ich habe schon einige Linux Distributionen benutzt aber mit keiner war ich vollkommen zufrieden Ich mochte die Zusammenstellung der Bootskripte nicht Programme waren nicht nach meinem Geschmack vorkonfiguriert Viele Dinge dieser Art haben mich gest rt Wenn ich vollends mit meinem Linux zufrieden sein wollte musste ich es nur mit Hilfe der Quellen selbst von Grund auf erstellen Ich beschloss weder vorkompilierte Pakete noch eine CD ROM oder Bootdiskette f r die Installation der Basiswerkzeuge zu benutzen Ich w rde mein gerade laufendes Linux System verwenden um mein eigenes Linux zu entwickeln Die Umsetzung dieser Idee schien zu diesem Zeit
38. Terminals PTYs zu implementieren Seit Kernel 2 4 kann ein Dateisystem so oft und an so vielen Stellen eingeh ngt sein wie Sie m chten Daher ist es auch kein Problem dass diese Dateisysteme auch auf Ihrem Host System bereits eingeh ngt sind besonders weil es sich bei diesen beiden um virtuelle Dateisysteme handelt Erst m ssen Sie root werden denn nur root kann Dateisysteme an ungew hnlichen Stellen einh ngen Pr fen Sie anschliessend ob die Umgebungsvariable LFS korrekt gesetzt ist Benutzen Sie dazu das Kommando echo LFS und stellen Sie sicher dass Sie den Pfad zum Mountpunkt Ihrer LFS Partition enth lt Das sollte mnt 1fs sein wenn Sie unserem Beispiel gefolgt sind Erzeugen Sie die Mountpunkte f r die Dateisysteme mkdir p LFS proc dev pts Das proc Dateisystem wird mit dem folgenden Kommando eingeh ngt mount proc LFS proc t proc H ngen Sie das devpts Dateisystem mit diesem Kommando ein mount devpts LFS dev pts t devpts Falls dieser Befehl mit einer Meldung wie dieser fehlschl gt filesystem devpts not supported by kernel dann ist der wahrscheinlichste Grund daf r dass der Kernel des Host Systems ohne Unterst tzung f r das Dateisystem devpts kompiliert wurde Sie k nnen mit diesem Kommando berpr fen welche Dateisysteme Ihr Kernel unterst tzt cat proc filesystems Einige PTYs werden ben tigt um die Testsuites f r Binutils und GCC ausf hren zu k nnen Wenn devpts nicht aufgelistet
39. US localedef i es MX f ISO 8859 1 es MX localedef i fa IR f UTF 8 fa IR localedef i fr FR f ISO 8859 1 fr FR localedef i fr FR euro f ISO 8859 15 fr FR euro localedef i it IT f ISO 8859 1 it IT localedef i ja JP f EUC JP ja JP Schlussendlich erzeugen wir die Linxthreads Manpages make C glibc 2 3 3 1fs 5 1 linuxthreads man Und installieren diese make C glibc 2 3 3 1fs 5 1 linuxthreads man install Konfigurieren von Glibc Wir m ssen die Datei etc nsswitch conf erstellen denn obwohl Glibc bei einer fehlenden oder kaputten Datei Standardwerte vorgibt funktionieren diese Standardwerte nicht gut in Netzwerken Au erdem m ssen wir die Zeitzone korrekt einstellen Erstellen Sie die neue Datei etc nsswitch conf indem Sie das folgende Kommando ausf hren cat gt etc nsswitch conf lt lt EOF Begin etc nsswitch conf passwd files group files shadow files hosts files dns networks files M CECCOIS sg ER ESS services files ethers files rpc files End etc nsswitch conf EOF 78 Linux From Scratch Version 5 1 1 Um herauszufinden in welcher Zeitzone Sie sind f hren Sie dieses Skript aus tzselect Nachdem Sie ein paar Fragen zu Ihrem Standort beantwortet haben wird das Skript den Namen Ihrer Zeitzone ausgeben hnlich wie ESTSEDT oder Canada Eastern Erstellen Sie dann die Datei etc localtime indem Sie folgendes ausf hren cp remove destination usr share z
40. a ist die Yacc Bibliothek die die Implementierung von yacc kompatiblen yyerror und main Funktionen enth lt Diese Bibliothek ist normalerweise nicht sehr n tzlich aber sie wird von POSIX vorausgesetzt 104 Linux From Scratch Version 5 1 1 Less 382 Less ist ein Textanzeigeprogramm Approximate build time 0 1 SBU Required disk space 3 4 MB Less ist abh ngig von Bash Binutils Coreutils Diffutils GCC Glibc Grep Make Ncurses Sed Installation von Less Bereiten Sie Less zum Kompilieren vor configure prefix usr bindir bin sysconfdir etc Die Bedeutung der configure Option e sysconfdir etc Diese Option bewirkt dass die in diesem Paket installierten Programme ihre Konfigurationsdateien in etc suchen Kompilieren Sie das Paket make Installieren Sie es make install Inhalt von Less Installierte Programme less lessecho und lesskey Kurze Beschreibung less ist ein Dateibetrachter Er zeigt den Inhalt einer Datei an und l sst Sie darin bl ttern nach Zeichenketten suchen und zu Markierungen springen lessecho wird zum Expandieren von Metazeichen in Unix Dateinamen ben tigt so wie z B und p g lesskey wird zum Festlegen der Tastenbelegung fiir less benutzt 105 Linux From Scratch Version 5 1 1 Groff 1 19 Groff enth lt verschiedene Programme zur Verarbeitung und Formatierung von Text Approximate build time 0 5 SBU Required disk space 43 MB Groff ist abh
41. andere f r usr dann h ngen Sie diese wie folgt ein mkdir p LFS mount dev xxx LFS mkdir LES usr mount dev yyy LFS usr Nat rlich m ssen Sie auch hier wieder xxx und yyy durch die korrekten Bezeichnungen ersetzen Sie sollten sicherstellen dass die Zugriffsrechte f r die neue Partition beim Einh ngen nicht zu restriktiv sind wie zum Beispiel mit den Optionen nosuid nodev oder noatime Rufen Sie mount ohne Parameter auf um zu sehen mit welchen Optionen Ihre Dateisysteme eingeh ngt sind Wenn Sie nosuid nodev oder noatime sehen m ssen Sie Ihre Partition erneut einh ngen Jetzt nachdem wir Platz zum Arbeiten geschaffen haben beginnen wir mit dem Herunterladen der notwendigen Pakete 12 Linux From Scratch Version 5 1 1 Teil Il Vorbereitungen zur Installation Linux From Scratch Version 5 1 1 Kapitel 3 Das Material Pakete und Patches Einf hrung Die untenstehende Liste enth lt alle Pakete die Sie f r ein minimales Linux System herunterladen m ssen Die Versionsnummern entsprechen Softwareversionen von denen wir wissen dass Sie funktionieren und das Buch basiert darauf Wenn Sie wenig Erfahrung mit LFS haben empfehlen wir dringend keine neueren Versionen zu probieren Die angegebenen Kommandos k nnten evtl mit neueren Versionen nicht mehr funktionieren Oft gibt es auch gute Gr nde daf r nicht die allerneueste Version einzusetzen zum Beispiel bei bekannten Problemen f r die es noch
42. auf gzip Dateien aus zfgrep f hrt fgrep auf gzip Dateien aus zforce erzwingt eine gz Erweiterung an die komprimierten Dateien damit gzip diese Dateien nicht erneut komprimiert Das kann sinnvoll sein wenn Dateinamen bei einer Daten bertragung abgeschnitten wurden zgrep f hrt grep auf gzip Dateien aus 136 Linux From Scratch Version 5 1 1 zless f hrt less auf gzip Dateien aus zmore f hrt more auf gzip Dateien aus znew komprimiert Dateien im compress Format erneut in das gzip Format Z zu gz 137 Linux From Scratch Version 5 1 1 Man 1 5m2 Man enth lt Programme zum Finden und seitenweisen Anzeigen von Hilfeseiten man pages Approximate build time 0 1 SBU Required disk space 1 9MB Man ist abh ngig von Bash Binutils Coreutils Gawk GCC Glibc Grep Make Sed Installation von Man Wir nehmen zuerst drei Anpassungen an den Ouellen zu vor Der erste Patch verhindert ein Problem wenn Manpages mit mehr als 80 Zeichen Zeilenl nge im Zusammenhang mit neueren Groff Versionen formatiert werden patch Npl i man 1 5m2 80cols patch Der zweite Patch f gt der PAGER Variable die R Option hinzu Dadurch kann Less Escape Seguenzen korrekt behandeln sed i s is amp R configure Der dritte Patch kommentiert die Zeile MANPATH usr man in man conf aus Das verhindert redundante Ergebnisse wenn Programme wie zum Beispiel whatis verwendet werden sed i s MANPATH usr man i_ amp src
43. bin bzip2recover bzless bzmore bin ln s bzip2 bin bunzip2 ln s bzip2 bin bzcat Inhalt von Bzip2 Installierte Programme bunzip2 Link auf bzip2 bzcat Link auf bzip2 bzcmp bzdiff bzegrep bzfgrep bzgrep bzip2 bzip2recover bzless und bzmore Installierte Bibliotheken libbz2 a libbz2 so Link auf libbz2 so 1 0 libbz2 so 1 0 Link auf libbz2 so 1 0 2 und libbz2 so 1 0 2 Kurze Beschreibung bunzip2 dekomprimiert bzip2 Dateien bzcat dekomprimiert zur Standardausgabe bzcmp f hrt cmp auf bzip2 Dateien aus bzdiff f hrt diff auf bzip2 Dateien aus bzgrep f hrt grep auf bzip2 Dateien aus bzip2 komprimiert Dateien mit dem Burrows Wheeler Blocksortierendem Textkompressionsalgorythmus und Huffman Kodierung Die Kompressionsrate ist merkbar besser als die von herk mmlichen Kompressoren mit 126 Linux From Scratch Version 5 1 1 LZ77 LZ78 wie zum Beispiel gzip bzip2recover versucht Daten aus besch digten bzip2 Dateien zu reparieren bzless f hrt less auf bzip2 Dateien aus bzmore f hrt more auf bzip2 Dateien aus libbz2 ist die Bibliothek die verlustlose blocksortierende Datenkompression mit Hilfe des Burrows Wheeler Algorythmus implementiert 127 Linux From Scratch Version 5 1 1 Diffutils 2 8 1 Die Programme dieses Pakets k nnen Unterschiede zwischen Dateien oder Ordnern anzeigen Approximate build time 0 1 SBU Required disk space Tes Wile Diffutils ist abh ngig von Bash Binuti
44. das Paket make install Es existieren einige Programme die die Lex Bibliothek in usr lib erwarten Erstellen Sie daher einen entsprechenden symbolischen Link In s libfl a usr lib libl a Einige wenige Programme kennen flex noch nicht und versuchen seinen Vorg nger lex aufzurufen Um diesen Programmen dennoch gerecht zu werden erzeugen Sie ein kleines Shell Skript mit dem Namen lex welches flex im Emulationsmodus aufruft cat gt usr bin lex lt lt EOF bin sh Begin usr bin lex exec usr bin flex L End usr bin lex EOF chmod 755 usr bin lex Inhalt von Flex Installierte Programme flex flex Link auf flex und lex Installierte Bibliothek libfl a Kurze Beschreibung flex ist ein Werkzeug zum Erzeugen von Programmen die Muster in Text erkennen k nnen Mustererkennung ist in vielen Programmen n tzlich Flex erzeugt aus einem Satz an Regeln nach denen es suchen soll ein Programm das nach diesen Mustern sucht Man nimmt f r solche Aufgaben Flex weil es einfacher ist die Muster anzugeben als das Mustersuchprogramm selber zu schreiben flex startet eine Version von flex die exklusiv f r C Scanner verwendet wird libfl a ist die Flex Bibliothek 109 Linux From Scratch Version 5 1 1 Gettext 0 14 1 Gettext wird zur bersetzung und Lokalisierung verwendet Programme k nnen mit sogenanntem Native Language Support NLS Unterst tzung f r die lokale Sprache kompiliert werden Dad
45. die Logdateien und vergeben die richtigen Rechte touch var run utmp var log btmp lastlog wtmp chmod 644 var run utmp var log btmp lastlog wtmp Die Datei var run utmp protokolliert zur Zeit angemeldete Benutzer Die Datei var 1og wtmp protokolliert alle An und Abmeldungen Die Datei var log lastlog protokolliert die letzte Anmeldung f r jeden Benutzer Die Datei var 1log btmp protokolliert fehlgeschlagene Anmeldeversuche 72 Linux From Scratch Version 5 1 1 Erstellen der Ger tedateien mit Make devices 1 2 Das Make_devices Paket enth lt ein Skript zum Erzeugen von Ger tedateien Approximate build time 1 SBU Required disk space 160 KB Make_devices ist abh ngig von Bash Bzip2 Coreutils Erstellen von Geratedateien Beachten Sie dass beim Entpacken von make_devices 1 2 bz2 kein neuer Ordner erstellt wird in den Sie wechseln k nnten da das Paket nur ein Shell Skript enth lt Installieren Sie das Skript make_devices bzcat make devices 1 2 bz2 gt dev make devices chmod 754 dev make_devices Ger tedateien sind spezielle Dateien Sie k nnen Daten erzeugen oder empfangen blicherweise geh ren sie zu einem physikalischen Teil Hardware Ger tedateien k nnen mit dem folgenden Kommando erzeugt werden mknod m mode name type major minor In diesem Kommando entspricht mode den oktal angegebenen Rechten Lesen Schreiben Ausf hren und name ist der Name der zu erzeugenden Ger tedatei Es mag berr
46. e s lib ld linux so 2 tools lib ld linux so 2 g SSPECFILE gt tempspecfile amp amp mv f tempspecfile SPECFILE amp amp unset SPECFILE Wir empfehlen das obige Kommando nicht abzutippen sondern mittels Kopieren und Einf gen auszuf hren Sie k nnen die Specs Datei auch per Hand ndern ersetzen Sie einfach jedes Vorkommen von lib Id linux so 2 durch tools lib ld linux so 2 D Wichtig 7 Wenn Sie auf einer Plattform arbeiten auf der der Name des dynamischen Linkers anders lautet als ld linux so 2 m ssen Sie nat rlich statt 1d linux so 2 den korrekten Namen des Linkers f r Ihre Plattform einsetzen Falls n tig schauen Sie nochmal im Abschnitt Technische Anmerkungen zur Toolchain p 27 nach Schlie lich ist m glich dass einige Include Dateien vom Host System mit in den privaten Include Ordner von GCC geraten sind So etwas kann durch GCC s fixincludes Prozess geschehen der beim Kompilieren von GCC ausgef hrt wird Dazu werden wir sp ter noch n heres erkl ren Zun chst f hren Sie das folgende Kommando aus um dieses Problem zu umgehen rm f tools lib gcc lib include pthread h bits sigthread h D Achtung An diesem Punkt ist es unbedingt notwendig die korrekte Funktion der Toolchain Kompilieren und Linken zu berpr fen Darum f hren wir nun einen kleinen Gesundheitscheck durch echo main gt dummy c cc dummy c readelf l a out grep tools Wenn alle
47. eigenst ndig und k nnen auch dann ausgef hrt werden wenn autoconf nicht installiert ist autoheader ist ein Werkzeug zum Erzeugen von Vorlagedateien f r C define Anweisungen die configure benutzen soll automdte ist ein Wrapper zu dem M4 Makroprozessor autoreconf ist sehr praktisch wenn viele autoconf generierte configure Skripte existieren Das Programm ruft wenn n tig autoconf und autoheader immer wieder auf um so die configure Skripte und Header Vorlagen in einer bestimmten Ordnerstruktur neu zu erzeugen autoscan kann beim Erzeugen einer configure in Datei fiir ein Softwarepaket behilflich sein Es untersucht die Ouelldateien in einem Ordner und sucht nach blichen Portabilit tsproblemen und erzeugt eine configure scan Datei die als Basis f r eine configure in Datei zu dem Softwarepaket dienen kann autoupdate ver ndert eine configure in Datei so dass sie nicht mehr die alten Namen der autoconf Makros aufruft sondern die neuen ifnames kann beim Schreiben einer configure in Datei f r ein Paket hilfreich sein Es gibt die Bezeichner aus die ein Paket in Pr prozessor Konditionen benutzt Wenn ein Paket bereits f r Portabilit t konfiguriert ist kann dieses kleine Werkzeug helfen herauszufinden welche Tests configure durchf hren muss Es kann einige L cken in autoscan generierten configure in Dateien f llen 120 Linux From Scratch Version 5 1 1 Automake 1 8 4 Automake generiert Makefile Dateien die
48. en2cxs env envsubst egn egn2graph ex expand expect expiry expr factor faillog false fdformat fdisk fgconsole fgrep file find find2perl findfs flex flex fold frcode free fsck fsck cramfs fsck minix ftp fuser g gawk gcc gccbug gcov gencat genksyms getconf getent getkeycodes getopt gettext gettextize Coreutils 5 2 1 p 88 Util linux 2 12a p 154 Net tools 1 60 p 112 Net tools 1 60 p 112 Shadow 4 0 4 1 p 147 Perl 5 8 4 p 116 Coreutils 5 2 1 p 88 E2fsprogs 1 35 p 132 Kbd 1 12 p 130 E2fsprogs 1 35 p 132 E2fsprogs 1 35 p 132 E2fsprogs 1 35 p 132 Coreutils 5 2 1 p 88 Ed 0 2 p 129 Vim 6 2 p 101 Vim 6 2 p 101 Grep 2 5 1 p 134 Automake 1 8 4 p 121 Util linux 2 12a p 154 Perl 5 8 4 p 116 Coreutils 5 2 1 p 88 Gettext 0 14 1 p 110 Groff 1 19 p 106 Groff 1 19 p 106 Vim 6 2 p 101 Coreutils 5 2 1 p 88 Expect 5 41 0 p 41 Shadow 4 0 4 1 p 147 Coreutils 5 2 1 p 88 Coreutils 5 2 1 p 88 Shadow 4 0 4 1 p 147 Coreutils 5 2 1 p 88 Util linux 2 12a p 154 Util linux 2 12a p 154 Kbd 1 12 p 130 Grep 2 5 1 p 134 File 4 09 p 124 Findutils 4 1 20 p 97 Perl 5 8 4 p 116 E2fsprogs 1 35 p 132 Flex 2 5 4a p 109 Flex 2 5 4a p 109 Coreutils 5 2 1 p 88 Findutils 4 1 20 p 97 Procps 3 2 1 p 144 E2fsprogs 1 35 p 132 Util linux 2 12a p 154 Util linux 2 12a p 154 Inetutils 1 4 2 p 114 Psmisc 21 4 p 146 GCC 3 3 3 p 86 Ga
49. es sind alles Buchstaben configure gnu prefix tools Dstatic ext IO Fcntl POSIX Die Bedeutung der configure Option e Dstatic_ ext IO Fcntl POSIX Damit wird Perl angewiesen die notwendigsten statischen Erweiterungen zu installieren die im n chsten Kapitel f r die Coreutils ben tigt werden Kompilieren Sie nur ein paar ben tigte Programmteile make perl utilities Dann kopieren Sie die Werkzeuge und ihre Bibliotheken an die richtige Stelle cp perl pod pod2man tools bin mkdir p tools lib perl5 5 8 4 cp R lib tools lib perl5 5 8 4 Details zu diesem Paket finden Sie in Inhalt von Perl p 116 63 Linux From Scratch Version 5 1 1 Stripping Die Schritte in diesem Abschnitt sind optional Wenn Ihre LFS Partition sehr klein ist werden Sie froh sein dass Sie einige unn tige Dinge loswerden k nnen Die ausf hrbaren Dateien und Bibliotheken die Sie bis hierher erstellt haben enthalten ungef hr 130 MB nicht ben tigte Debugging Symbole So entfernen Sie diese Symbole strip strip debug tools lib strip strip unneeded tools s bin Das erste der obigen Kommandos berspringt rund 20 Dateien mit der Meldung dass der Dateityp nicht erkannt wurde Die meisten dieser Dateien sind Skripte und keine Bin rdateien Passen Sie auf dass Sie strip unneeded nicht auf Bibliotheken anwenden sie w rden zerst rt werden und dann m ssten Sie die Toolchain neu kompilieren Um weitere 30 MB Pla
50. halt reboot weist den Kernel an das System neu zu starten Schauen Sie auch nach halt runlevel zeigt den vorigen und den aktuellen Runlevel an Entnimmt die Information aus var run utmp shutdown f hrt das System sicher herunter sendet entsprechende Signale an alle Prozesse und benachrichtig alle angemeldeten Benutzer sulogin erlaubt dem Superbenutzer sich einzuloggen Es wird normalerweise gestartet wenn das System im Einbenutzermodus gestartet wurde telinit weist init an in den angegebenen Runlevel zu wechseln utmpdump zeigt den Inhalt der angegebenen Logindatei in einem benutzerfreundlicheren Format an wall schreibt eine Nachricht an alle angemeldeten Benutzer 152 Linux From Scratch Version 5 1 1 Tar 1 13 94 Das Paket Tar enth lt ein Archivprogramm Approximate build time 0 2 SBU Required disk space 10 MB Tar ist abh ngig von Bash Binutils Coreutils Diffutils GCC Gettext Glibc Grep Make Sed Installieren von Tar Bereiten Sie Tar zum Kompilieren vor configure prefix usr bindir bin libexecdir usr sbin Kompilieren Sie das Paket make Um das Ergebnis zu pr fen f hren Sie das Kommando make check aus Installieren Sie das Paket make install Inhalt von Tar Installierte Programme rmt und tar Kurze Beschreibung rmt wird zum entfernten Manipulieren von magnetischen Bandlaufwerken verwendet und benutzt daf r Interprozesskommunikation tar wird zum Erzeugen und E
51. iiberschreiben w rden Kompilieren Sie das Paket make Der Kompiliervorgang ist nun abgeschlossen Wie bereits erw hnt empfehlen wir die Testsuite f r das tempor re System in diesem Kapitel nicht durchlaufen zu lassen Falls Sie die Testsuite f r Binutils dennoch laufen lassen m chten f hren Sie dieses Kommando aus make check Es sollten keine unerwarteten Fehler auftreten erwartete Fehler sind in Ordnung Leider gibt es hier anders als im GCC Paket keine einfache M glichkeit die Testergebnisse zusammenfassend anzuzeigen Nichtsdestotrotz wenn ein Fehler auftritt sollte er leicht zu erkennen sein Die Ausgabe zeigt dann etwas wie ieee else Ber ehe konn nel eo Und installieren Sie das Paket make install Nun bereiten Sie Binutils auf das erneute Anpassen der Toolchain im n chsten Kapitel vor make C ld clean make C ld LIB PATH usr lib lib Warnung Entfernen Sie die Binutils Ouell und Kompilierordner jetzt noch nicht Wir brauchen sie im jetzigen Zustand noch im n chsten Kapitel Details zu diesem Paket finden Sie in Inhalt von Binutils p 85 46 Linux From Scratch Version 5 1 1 Gawk 3 1 3 Gawk ist eine Implementierung von awk und wird zur Textmanipulation verwendet Approximate build time 0 2 SBU Required disk space 16 9 MB Gawk ist abh ngig von Bash Binutils Coreutils Diffutils GCC Gettext Glibc Grep Make Sed Installieren von Gawk Bereiten Sie Gawk zum Kompili
52. im IRC und f r seine unendliche Geduld xii Linux From Scratch Version 5 1 1 Aufbau Dieses Buch ist in die folgenden Abschnitte unterteilt Teil I Einf hrung Teil I erl utert einige wichtige Dinge zur Installation und schafft Grundlagen zu allgemeinen Dingen des Buches Version Anderungsprotokoll Danksagungen zugeh rige Mailinglisten und so weiter Teil II Vorbereitungen zur Installation Teil II beschreibt wie der Installationsprozess vorbereitet wird Anlegen einer Partition Herunterladen der Pakete und Kompilieren der ben tigten Werkzeuge Teil Ill Installation des LFS Systems Teil III f hrt Sie durch die eigentliche Installation von LFS Kompilieren und Installieren aller Pakete Schritt f r Schritt Aufsetzen der Bootskripte und Installieren des Kernels Das resultierende Linux System ist die Basis auf der sp ter weitere Software installiert wird und auf der das System ganz nach Ihrem Belieben erweitert werden kann Am Ende des Buches finden Sie zu Referenzzwecken eine Liste aller Programme Bibliotheken und wichtiger Dateien die im Verlauf des Buches installiert wurden xiii Linux From Scratch Version 5 1 1 Teil I Einf hrung Linux From Scratch Version 5 1 1 Kapitel 1 Einf hrung Der Ablauf im berblick Sie werden Ihr LFS System mit Hilfe einer bereits laufenden Linux Distribution wie z B Debian Mandrake Red Hat oder SuSE installieren Das bestehende Linux System der Host wird a
53. keine L sung gibt Soweit m glich verweisen alle URLs auf die Projektseite unter http www freshmeat net Die Freshmeat Seiten bieten einfachen Zugriff auf die offiziellen Download und Projektseiten Mailinglisten FAQ s Changelogs und vieles mehr Wir k nnen nicht garantieren dass die Download Adressen immer verf gbar sind Falls sich eine Download Adresse nach Erscheinen des Buches ge ndert haben sollte googlen Sie bitte nach dem entsprechenden Paket Sollten Sie auch hier erfolglos sein schauen Sie bitte auf die Korrekturseiten unter http www linuxfromscratch org lfs print oder noch besser Sie probieren eine alternative Download Methode aus Das Vorgehen wird auf der Seite http www linuxfromscratch org lfs packages html beschrieben Sie m ssen alle heruntergeladenen Pakete und Patches an einem Ort speichern auf den Sie w hrend der Arbeit mit dem gesamten Buch bequemenen Zugriff haben Weiterhin brauchen Sie einen Arbeitsordner in dem Sie die Quellen entpacken und kompilieren k nnen Es ist eine gute Vorgehensweise den Ordner LFS sources zum Speichern der Quellen und Patches und als Arbeitsordner zu benutzen So ist alles was Sie ben tigen immer auf der LFS Partition abgelegt und in allen Arbeitsschritten des Buches verf gbar Wir empfehlen Ihnen daher folgendes Kommando als root auszuf hren bevor Sie mit dem Herunterladen der Pakete beginnen mkdir LFS sources Machen Sie diesen Ordner f r normale Benutzer sch
54. laufen zu lassen oder es einfach nicht brauchen dann l schen Sie einfach den symbolischen Link etc rc d rcsysinit d S70loadkeys 165 Linux From Scratch Version 5 1 1 Konfigurieren des sysklogd Skript Das sysklogd Skript startet das Programm syslogd mit der Option m 0 Diese Option schaltet die periodische Marke ab die syslogd in der Voreinstellung alle 20 Minuten in die Logdateien schreibt Wenn Sie diese Zeitmarke einschalten wollen editieren Sie das sysklogd Skript entsprechend Weitere Informationen erhalten Sie mit man syslogd 166 Linux From Scratch Version 5 1 1 Konfigurieren des localnet Skript Eine Teilaufgabe des localnet Skript ist das Einstellen des Hostnamen Dies muss in etc sysconfig network konfiguriert werden Erstellen Sie die Datei etc sysconfig network und geben Sie den Hostnamen ein echo HOSTNAME lfs gt etc sysconfig network lfs muss hier durch den Namen f r Ihren Computer ersetzt werden Geben Sie nicht den FQDN Fully Qualified Domain Name gt Vollst ndigen Dom nennamen ein Diese Information wird erst sp ter in etc hosts eingetragen 167 Linux From Scratch Version 5 1 1 Erstellen der Datei etc hosts Wenn eine Netzwerkkarte eingerichtet werden soll m ssen Sie eine IP Adresse den voll qualifizierten Dom nennamen und m gliche Aliasnamen in etc hosts konfigurieren Die Syntax ist lt IP Adresse gt meinhost meinedomain org aliasname Solange Ihr Computer nicht o
55. lib libz so 1 usr lib libz so Inhalt von Zlib 93 Linux From Scratch Version 5 1 1 Installierte Bibliotheken libz a so Kurze Beschreibung libz enth lt Funktionen zum Komprimieren und Dekomprimieren die von einigen Programmen genutzt werden 94 Linux From Scratch Version 5 1 1 Mktemp 1 5 Das Paket Mktemp enth lt Programme zum sicheren Anlegen tempor rer Dateien aus Shell Skripten heraus Approximate build time 0 1 SBU Required disk space Sil 7 lie Die Installationsabh ngigkeiten zu Mktemp wurden leider noch nicht berpr ft Installation von Mktemp Viele Skripte verwenden das missbilligte Programm tempfile das die gleich Funktionalit t besitzt wie mktemp Patchen Sie mktemp damit es auch einen Wrapper fiir tempfile enthalt patch Npl i mktemp 1 5 add tempfile patch Bereiten Sie Mktemp zum Kompilieren vor configure prefix usr with libc Die Bedeutung der configure Option e with libe Dadurch benutzt mktemp die Funktionen mkstemp und mkdtemp aus der C Systembibliothek Kompilieren Sie das Paket make Installieren Sie es make install make install tempfile Inhalt von Mktemp Installierte Programme mktemp tempfile Kurze Beschreibung mktemp erzeugt tempor re Dateien auf sichere Weise Es wird in Skripten verwendet tempfile erzeugt tempor re Datein auf weniger sichere Weise als mktemp Es wird aus Gr ndern der R ckw rtskompatibilit t installiert 95 Lin
56. ltig verwenden werden Erst dort ist es wirklich wichtig dass die Tests erfolgreich durchlaufen Aber denken Sie daran selbst in Chapter 6 p 66 k nnen immer noch Fehler auftreten beim math Test zum Beispiel Wenn ein Fehler auftritt notieren Sie ihn dann rufen Sie make check erneut auf Die Testsuite sollte dann dort fortfahren wo sie unterbrochen wurde Sie k nnen dieses Stoppen und Starten umgehen indem Sie make k check aufrufen Aber stellen Sie in diesem Fall sicher dass Sie die Ausgaben mitloggen damit Sie sp ter die Logdatei nach den aufgetretenen Fehlern durchsuchen k nnen Auch wenn es nur eine harmlose Meldung ist die Installationsphase von Glibc wird sich ber das Fehlen von tools etc ld so conf beschweren Verhindern Sie diese st rende Meldung mkdir tools etc touch tools etc ld so conf Installieren Sie das Paket make install Verschiedene L nder und Kulturen haben auch unterschiedliche Konventionen zum Kommunizieren Darunter sind einfache Konventionen wie zum Beispiel das Format f r Datum und Uhrzeit aber auch sehr komplexeKonventionen wie zum Beispiel die dort gesprochene Sprache Die Internationalisierung von GNU Programmen funktioniert mit Hilfe der sogenannten Locales Wir installieren nun die Glibc Locales Anmerkung k g Wenn Sie wie empfohlen die Testsuite in diesem Kapitel nicht laufen lassen brauchen Sie auch die Locales nicht zu installieren Wir werden sie dann im n chsten Kapitel
57. ngig von Bash Binutils Coreutils Diffutils Gawk GCC Glibc Grep Make Sed Installation von Groff Groff erwartet dass die Umgebungsvariable PAGE die Standardpapiergr e enth lt F r alle in den Vereinigten Staaten ist das untenstehende Kommando so korrekt Wenn Ihr Standort woanders ist ersetzen Sie besser PAGE letter durch PAGE A4 Bereiten Sie Groff zum Kompilieren vor PAGE letter configure prefix usr Kompilieren Sie das Paket make Installieren Sie es make install Einige Dokumentationsprogramme wie zum Beispiel xman funktionieren ohne diese symbolischen Links nicht In s soelim usr bin zsoelim In s eqn usr bin geqn In s tbl usr bin gtbl Inhalt von Groff Installierte Programme addftinfo afmtodit egn egn2graph gegn Link auf egn grn grodvi groff groffer grog grolbp grolj4 grops grotty gtbl Link auf tbl hpftodit indxbib Ikbib lookbib mmroff negn nroff pfbtops pic pic2graph post grohtml pre grohtml refer soelim tbl tfmtodit troff und zsoelim Link auf soelim Kurze Beschreibung addftinfo liest eine troff Schriftdatei und f gt einige font metrische Informationen hinzu die vom groff System benutzt werden afmtodit erzeugt eine Schriftdatei fiir die Verwendung mit groff und grops egn kompiliert Beschreibungen von Gleichungen die in groff Eingabedateien enthalten sind zu Kommandos die groff versteht egn2graph konvertiert eine EON Gleichung zu einem besc
58. siehe oben Linux From Scratch Version 5 1 1 Wie Sie um Hilfe bitten k nnen Wenn Sie beim Lesen des Buches auf ein Problem sto en sollten Sie als erstes in der FAQ unter http www linuxfromscratch org fag nachlesen die meisten Fragen werden hier schon beantwortet Falls nicht versuchen Sie die Ursache des Problems zu finden Die folgende Anleitung k nnte Ihnen bei der Fehlersuche behilflich sein http www linuxfromscratch org hints downloads files errors txt Wenn das nicht n tzt sind die meisten Leute im Internet Relay Chat IRC und auf den Mailinglisten Ressourcen p 6 gern bereit Ihnen zu helfen Aber um sie bei der Problemdiagnose zu unterst tzen sollten Sie schon in der ersten Hilfsanfrage m glichst alle relevanten Informationen mitsenden Dinge die Sie angeben sollten Neben einer kurzen Zusammenfassung des Problems ist es wichtig dass Sie uns noch folgende Dinge mitteilen e Die Version des Buches das Sie benutzen dies ist die Version 5 1 1 e die Host Distribution und Versionsnummer die Sie benutzen um LFS zu installieren e das Paket oder der Abschnitt der Ihnen Probleme bereitet e die exakte Fehlermeldung bzw die genauen Symptome die Sie sehen e ob Sie von den Anleitungen im Buch abgewichen sind Beachten Sie Nur weil Sie m glicherweise von den Anweisungen im Buch abgewichen sind bedeutet das l ngst nicht dass wir Ihnen nicht helfen werden Der Grundsatz von LFS ist es die Wahl
59. teltags erzeugt eine Markup Datei f r TCL Code view startet vim im Nur lesen Modus vim ist der Editor vim132 startet vim in einem Terminal mit 132 Spalten Modus vim2html pl konvertiert vim Dokumentation zu HTML vimdiff editiert zwei oder drei Versionen einer Datei und zeigt die Unterschiede an vimm aktiviert das DEC Locator Eingabemodell auf einem entfernten Terminal vimspell sh erzeugt Syntax highlighting Aussagen f r eine Datei die in vim benutzt werden vimtutor bringt Ihnen die wichtigsten Tastenbelegungen und Kommandos von vim bei xxd erzeugt eine Hex Ausgabe einer Datei Das geht auch umgekehrt und kann zum Patchen von Bin rdateien benutzt werden 102 Linux From Scratch Version 5 1 1 M4 1 4 M4 enth lt einen Makroprozessor Approximate build time 0 1 SBU Required disk space 3 0 MB MA ist abh ngig von Bash Binutils Coreutils Diffutils GCC Gettext Glibc Grep Make Perl Sed Installation von M4 Bereiten Sie M4 zum Kompilieren vor configure prefix usr Kompilieren Sie das Paket make Um das Ergebnis zu pr fen f hren Sie das Kommando make check aus Und installieren Sie das Paket make install Inhalt von M4 Installiertes Programm m4 Kurze Beschreibung m4 kopiert die Eingabe zur Ausgabe und f hrt dabei Makros aus Die Makros k nnen entweder vordefiniert oder selbstgeschrieben sein und beliebige Argumente bernehmen Neben der F higkeit Makros auszuf hren besitz
60. terminfo zoneinfo mkdir usr share man man 1 2 3 4 5 6 7 8 mkdir usr local bin etc include lib sbin share src In s share man doc info usr local mkdir usr local share doc info locale man mkdir usr local share misc terminfo zoneinfo mkdir usr local share man man 1 2 3 4 5 6 7 8 mkdir var lock log mail run spool mkdir p var tmp opt cache lib misc local mkdir opt bin doc include info mkdir p opt lib man man 1 2 3 4 5 6 7 8 Ordner werden in der Voreinstellung mit den Rechten 755 erzeugt aber das ist nicht bei allen Ordnern erw nscht Wir nehmen zwei nderungen vor eine f r den Pers nlichen Ordner von root und eine weitere f r die Ordner f r tempor re Dateien chmod 0750 root chmod 1777 tmp var tmp Die erste Rechte nderung legt fest dass nicht jeder den Ordner root betreten darf das gleiche was ein normaler Benutzer mit seinem Pers nlichen Ordner auch tun w rde Die zweite nderung sorgt daf r dass jeder Benutzer in die Ordner tmp und var tmp schreiben aber nicht die Dateien anderer Benutzer l schen kann Letzteres wird durch das sticky bit bewirkt dem h chsten Bit in der Bit Maske 1777 Anmerkung zur FHS Konformit t Unsere Ordnerstruktur basiert auf dem FHS Standard verf gbar unter http www pathname com fhs Zus tzlich zu den oben erstellten Ordnern sieht dieser Standard auch die Existenz von usr local games und usr share games vor aber diese m c
61. und lt HOSTNAME gt meinedomain org nach Ihrem Belieben ndern bzw die IP Adresse und Hostnamen eintragen die Sie von Ihrem Netzwerkadministrator bekommen haben falls Ihr Rechner an ein bestehendes Netzwerk angeschlossen wird 168 Linux From Scratch Version 5 1 1 Konfigurieren des network Skript Dieser Arbschnitt ist nur interessant wenn Sie eine Netzwerkkarte konfigurieren m chen Wenn Sie keine Netzwerkkarte haben brauchen Sie h chstwahrscheinlich keine Konfigurationsdateien bez glich Netzwerkkarten einrichten Falls das der Fall ist m ssen Sie alle symbolischen Links mit Namen network aus allen Runlevel Ordnern entfernen etc rc d rc d Konfiguration des Standard Gateway Wenn Sie in einem Netzwerk sind miissen Sie wahrscheinlich das Standard Gateway f r diesen Rechner konfgurieren Fiigen Sie den korrekten Wert in die Datei etc sysconfig network ein cat gt gt etc sysconfig network lt lt EOF GATEWAY 192 168 1 2 GATEWAY _IF eth0 EOF Die Werte f r GATEWAY und GATEWAY IF miissend angepasst werden so das sie mit Ihrem Netzwerk funktionieren GATEWAY enth lt die IP Adresse f r das Standard Gateway und GATEWAY_IF enth lt das Netzwerkger t iiber welches das Standard Gateway erreicht werden kann Erstellen der Netzwerkger te Konfigurationsdateien Welche Netzwerkger te von den Skripten gestartet und gestoppt werden h ngt von den Dateien in etc sysconfig network devices ab Dieser Ordner sollt
62. vor allem auf langsamer Hardware Anmerkung Die Erfahrung hat uns gezeigt dass man nicht viele Vorteile durch das Durchlaufen der Testsuites in Chapter 5 p 26 hat Das Host System hat immer einen gewissen Einfluss auf die Tests in dem Kapitel und das verursacht seltsame und unerkl rliche Fehler Und nicht nur das die in Chapter 5 p 26 erzeugten Werkzeuge sind nur tempor r und werden ohnehin sp ter wieder gel scht Wir empfehlen Ihnen die Testsuites in Chapter 5 p 26 nicht durchlaufen zu lassen Die Anleitungen daf r sind dennoch vorhanden um Testern und Entwicklern eine Hilfe zu sein aber f r alle anderen Anwender sind sie nur optional Ein weit verbreitetes Problem beim Durchlaufen der Testsuites von Binutils und GCC ist es zu wenig Pseudo Terminals zur Verf gung zu haben abgek rzt PTY s Ein typisches Symptom daf r sind ungew hnlich viele fehlschlagende Tests Das kann aus vielen verschiedenen Gr nden geschehen Der wahrscheinlichste Grund daf r ist dass das devpts Dateisystem des Host Systems nicht korrekt aufgesetzt ist Wir werden das sp ter in Chapter 5 p 26 ausf hrlicher behandeln Manchmal produzieren Testsuites eines Pakets falschen Alarm Sehen Sie im LFS Wiki unter http wiki linuxfromscratch org nach um zu pr fen ob diese Fehler normal sind Das gilt f r alle Tests im gesamten Buch 25 Linux From Scratch Version 5 1 1 Kapitel 5 Erstellen eines temporaren Systems Einf hrung In diesem Kapi
63. wird machen Sie sich keine Sorgen es gibt noch einen anderen Weg die PTYs in der chroot Umgebung ans laufen zu bekommen Wir behandeln das Thema sp ter im Abschnitt Make_devices p 73 Denken Sie daran wenn Sie aus irgendeinem Grund die Arbeit an LFS beenden und sp ter wieder einsteigen m ssen Sie diese Dateisysteme erneut einh ngen bevor Sie in die chroot Umgebung wechseln Ansonsten werden Sie h chstwahrscheinlich Probleme bekommen 67 Linux From Scratch Version 5 1 1 Betreten der chroot Umgebung Es ist nun an der Zeit die chroot Umgebung zu betreten um mit dem Installieren der ben tigten Pakete zu beginnen Immer noch als root f hren Sie das folgende Kommando aus Damit betreten Sie die neue kleine Welt die zur Zeit nur mit tempor ren Werkzeugen ausgestattet ist chroot LFS tools bin env i HOME root TERM TERM PS1 u w s PATH bin usr bin sbin usr sbin tools bin tools bin bash login h Die an env bergebene Option i l scht alle Variablen in der chroot Umgebung Danach werden nur die Variablen HOME TERM PS1 und PATH wieder gesetzt TERM TERM setzt die Variable TERM in der chroot Umgebung auf den gleichen Wert wie ausserhalb von chroot diese Variable wird f r das korrekte Funktionieren von Programmen wie vim und less ben tigt Wenn Sie weitere Variablen wie CFLAGS oder CXXFLAGS ben tigen ist dies ein guter Platz um sie erneut zu setzen Von nun an brauchen wir die Variable LFS nich
64. zum Manipulieren eines ext2 Dateisystems verwenden k nnen libss wird von debugfs verwendet libuuid enth lt Routinen zum Erzeugen von einmaligen Bezeichnern f r Objekte die hinter dem lokalen System verf gbar sein k nnten 133 Linux From Scratch Version 5 1 1 Grep 2 5 1 Das Paket Grep enth lt Programme zum Durchsuchen von Dateien Approximate build time 0 1 SBU Required disk space Scie Wis Grep ist abh ngig von Bash Binutils Coreutils Diffutils GCC Gettext Glibc Make Sed Texinfo Installieren von Grep Bereiten Sie Grep zum Kompilieren vor configure prefix usr bindir bin with included regex Kompilieren Sie das Paket make Um das Ergebnis zu pr fen f hren Sie das Kommando make check aus Installieren Sie das Paket make install Inhalt von Grep Installierte Programme egrep Link auf grep fgrep Link auf grep und grep Kurze Beschreibung egrep gibt die Zeilen aus die auf einen bestimmten regul ren Ausdruck passen fgrep gibt die Zeilen aus die auf eine Liste von festgelegten Zeichenketten passen grep gibt die Zeilen aus die auf einen bestimmten einfachen regul ren Ausdruck passen 134 Linux From Scratch Version 5 1 1 Grub 0 94 Das Paket Grub enth lt den GRand Unified Bootloader Approximate build time 0 2 SBU Required disk space 10 MB Grub ist abh ngig von Bash Binutils Coreutils Diffutils GCC Glibc Grep Make Ncurses Sed Installatio
65. 1 SBU Required disk space 2 2 MB Psmisc ist abh ngig von Bash Binutils Coreutils Diffutils GCC Gettext Glibc Grep Make Ncurses Sed Installation von Psmisc Bereiten Sie Psmisc zum Kompilieren vor configure prefix usr exec prefix Die Bedeutung der configure Option e exec prefix Dadurch werden die Bin rdateien in bin und nicht in usr bin installiert Da die Psmisc Programme h ufig in Bootskripten verwendet werden m ssen sie verf gbar sein auch wenn das usr Dateisystem noch nicht eingeh ngt ist Kompilieren Sie das Paket make Installieren Sie es make install Es gibt keinen Grund warum pstree und pstree x11 in bin liegen m ssen Daher verschieben wir sie nach usr bin Ebenso muss pstree x11 nicht als separates Programm existieren daher machen wir daraus einen symbolischen Link auf pstree mv bin pstree usr bin ln sf pstree usr bin pstree xll In der Voreinstellung wird Psmisc s pidof Programm nicht installiert Das ist normalerweise kein Problem weil wir sp ter das Sysvinit Paket installieren welches eine bessere Version von pidof installiert Aber wenn Sie nicht Sysvinit verwenden m chten k nnen Sie die Installation von Psmisc durch Erstellen dieses Links komplettieren In s killall bin pidof Inhalt von Psmisc Installierte Programme fuser killall pstree und pstree x11 Link auf pstree Kurze Beschreibung fuser zeigt die PIDs von Prozessen an die gerade eine best
66. 2 3 3 Ifs 5 1 p 77 Shadow 4 0 4 1 p 147 E2fsprogs 1 35 p 132 GCC 3 3 3 p 86 GCC 3 3 3 p 86 Tcl 8 4 6 p 40 Glibc 2 3 3 lfs 5 1 p 77 Glibc 2 3 3 Ifs 5 1 p 77 E2fsprogs 1 35 p 132 Bison 1 875 p 104 Zlib 1 2 1 p 93 LFS Bootscripts 2 0 5 p 162 LFS Bootscripts 2 0 5 p 162 LFS Bootscripts 2 0 5 p 162 LFS Bootscripts 2 0 5 p 162 LFS Bootscripts 2 0 5 p 162 LFS Bootscripts 2 0 5 p 162 Brauche ich das loadkeys Skript p 165 LFS Bootscripts 2 0 5 p 162 Erstellen der Datei etc hosts p 168 Konfigurieren des localnet Skript p 167 Erstellen der Ger tedateien mit Make_devices 1 2 p 73 LFS Bootscripts 2 0 5 p 162 LFS Bootscripts 2 0 5 p 162 LFS Bootscripts 2 0 5 p 162 Erstellen der Datei etc hosts p 168 Konfigurieren des network Skript p 169 LFS Bootscripts 2 0 5 p 162 LFS Bootscripts 2 0 5 p 162 LFS Bootscripts 2 0 5 p 162 LFS Bootscripts 2 0 5 p 162 Konfigurieren des setclock Skript p 164 LFS Bootscripts 2 0 5 p 162 LFS Bootscripts 2 0 5 p 162 LFS Bootscripts 2 0 5 p 162 Konfigurieren des sysklogd Skript p 166 LFS Bootscripts 2 0 5 p 162 Linux 2 4 26 p 173 Erstellen der Datei etc fstab p 172 Erstellen der Dateien passwd group und der Logdateien p 72 Erstellen der Datei etc hosts p 168 Konfigurieren von Sysvinit p 151 Konfigurieren des dynamischen Laders p 79 Das Ende p 177 Konfigurieren von Glibc p 78 Konfigurieren von Glibc p 78 Erstellen der Dateien passwd group und der Logdate
67. 2 4 27 p 141 Modutils 2 4 27 p 141 Util linux 2 12a p 154 Util linux 2 12a p 154 Gettext 0 14 1 p 110 Gettext 0 14 1 p 110 Gettext 0 14 1 p 110 Gettext 0 14 1 p 110 Gettext 0 14 1 p 110 Gettext 0 14 1 p 110 Gettext 0 14 1 p 110 Gettext 0 14 1 p 110 Gettext 0 14 1 p 110 Gettext 0 14 1 p 110 Gettext 0 14 1 p 110 Gettext 0 14 1 p 110 Gettext 0 14 1 p 110 Gettext 0 14 1 p 110 Coreutils 5 2 1 p 88 Glibc 2 3 3 lfs 5 1 p 77 Coreutils 5 2 1 p 88 Vim 6 2 p 101 Util linux 2 12a p 154 Net tools 1 60 p 112 Groff 1 19 p 106 Net tools 1 60 p 112 Shadow 4 0 4 1 p 147 Shadow 4 0 4 1 p 147 Gettext 0 14 1 p 110 Coreutils 5 2 1 p 88 Net tools 1 60 p 112 Coreutils 5 2 1 p 88 Binutils 2 14 p 84 Coreutils 5 2 1 p 88 Groff 1 19 p 106 Glibc 2 3 3 lfs 5 1 p 77 Glibc 2 3 3 lfs 5 1 p 77 Binutils 2 14 p 84 Binutils 2 14 p 84 Coreutils 5 2 1 p 88 Kbd 1 12 p 130 Shadow 4 0 4 1 p 147 Coreutils 5 2 1 p 88 Patch 2 5 4 p 142 Coreutils 5 2 1 p 88 Glibc 2 3 3 lfs 5 1 p 77 Perl 5 8 4 p 116 Perl 5 8 4 p 116 A p 116 Perl 5 8 A p 116 Perl 5 8 4 p 116 Groff 1 19 p 106 187 Linux From Scratch Version 5 1 1 description p 155 description p 155 description p 155 description p 121 description p 133 description p 90 description p 149 description p 155 description p 95 description p 133 description p 107 description p 141 description p 141 description p 155 description p 155 de
68. 3 79 1 Mare s aAa IETS CUr Al Error make 1 Leaving directory lfs tmp make 3 79 1 makes sss pell llercian H ron 2 Viele Leute kopieren leider nur den unteren Teil MUR L218 wees nee Miro und das darauf folgende Das reicht f r uns aber nicht um Ihnen bei der Fehlerdiagnose helfen zu k nnen denn es sagt uns nur dass etwas schiefgelaufen ist aber nicht was Der ganze oben gezeigte Abschnitt sollte angegeben Linux From Scratch Version 5 1 1 werden denn er enth lt das ausgef hrte Kommando und die dazugeh rige Fehlermeldung Eric S Raymond hat zu diesem Thema einen sehr guten Artikel geschrieben Sie finden ihn unter http catb org esr faqs smart questions html Lesen und befolgen Sie bitte seine Tipps in dem Dokument So erh hen Sie Ihre Chance dass Sie auf Ihre Frage eine Antwort erhalten mit der Sie auch etwas anfangen k nnen Probleme mit Testsuites Viele Pakete enthalten eine Testsuite Abh ngig von der Wichtigkeit eines Paketes empfehlen wir Ihnen die Testsuite durchlaufen zu lassen Manchmal erzeugen die Pakete Fehlermeldungen oder unerwartete Ergebnisse Falls Sie solchen Problemen begegnen k nnen Sie im LFS Wiki unter http wiki linuxfromscratch org nachsehen ob diese Probleme bereits bekannt sind und untersucht wurden Wenn das Problem bereits bekannt ist brauchen Sie sich im Normalfall keine weiteren Sorgen machen Linux From Scratch Version 5 1 1 Kapitel 2 Vor
69. 5 2 1 p 88 Sysvinit 2 85 p 151 Coreutils 5 2 1 p 88 Util linux 2 12a p 154 Util linux 2 12a p 154 Util linux 2 12a p 154 Automake 1 8 4 p 121 Coreutils 5 2 1 p 88 Procps 3 2 1 p 144 Sysklogd 1 4 1 p 150 Coreutils 5 2 1 p 88 Ncurses 5 4 p 99 Coreutils 5 2 1 p 88 189 Linux From Scratch Version 5 1 1 description p 91 description p 141 description p 153 description p 156 description p 113 description p 80 description p 80 description p 115 description p 152 description p 42 description description p 102 description p 117 p description p 156 description p 128 description p 108 description p 9 1 description p 156 description p 131 description p 131 description p 131 description p 131 description p 131 description p 156 description p 156 description p 131 description p 156 description p 149 description p 123 description p 91 description p 131 description p 131 description p 91 description p 102 description p 152 description p 85 description p 144 description p 113 description p 91 description p 80 description p 144 description p 143 description p 107 description p 91 description p 117 description p 91 description p 80 description p 85 description p 85 description p 91 description p 91 description p 152 description p 91 description p 156
70. 50 MHz P3 mit 512 MB RAM und zwei 9 GB SCSI Festplatten Als der Server umgezogen wurde wurde er in belgarath umbenannt e Jesse Tie Ten Ouee lt highos linuxfromscratch org gt f r die Spende eines Yamaha CDRW 8824E CD Brenners e Zahllose weitere Menschen aus den verschiedenen LFS Mailinglisten die dieses Buch mit Ihren Vorschl gen Fehlerberichten und Kritiken besser machen Ausgeschiedene Team Mitglieder und Beitragende e Timothy Bauscher lt timothy linuxfromscratch org gt LFS Buchautor Betreuung des Hint Projektes e Robert Briggs f r die Spende der linuxfromscratch org und linuxfromscratch com Domain Namen e Ian Chilton lt ian ichilton co uk gt f r die Betreuung des Hint Projektes e Marc Heerdink lt gimli linuxfromscratch org gt LFS Buchautor Seth W Klein lt sklein linuxfromscratch org gt Erschaffer der LFS FAQ e Garrett LeSage lt garrett linuxart com gt Sch pfer des urspr nglichen LFS Banners Simon Perreault lt nomis80 videotron ca gt Betreuer des Hint Projektes e Geert Poels lt Geert Poels skynet be gt Sch pfer des urspr nglichen BLFS Banner basierend auf dem LFS Banner von Garrett LeSage e Frank Skettino lt bkenoah oswd org gt f r das urspr ngliche Design der alten Website schauen Sie unter http www oswd org e Jesse Tie Ten Ouee lt highos linuxfromscratch org gt f r das vor bergehende Hosten des linuxfromscratch org Servers dass Beantworten zahlloser Fragen
71. Dennoch k nnte man einen Tippfehler machen und dadurch das System unbrauchbar machen Bevor Sie also das Strip Kommando ausf hren sollten Sie ein Backup anlegen Wenn Sie strip ausf hren m chten ist besondere Vorsicht geboten damit Sie strip nicht auf Programme anwenden die gerade ausgef hrt werden inklusive der Bash Shell Daher m ssen Sie die chroot Umgebung vorerst verlassen logout Und dann erneut betreten chroot LFS tools bin env i HOME root TERM STERM PS1 u w PATH bin usr bin sbin usr sbin tools bin bash login F hren Sie nun dieses Kommando aus um Bin rdeiten und Bibliotheken mit strip zu bearbeiten tools bin find usr bin lib sbin type f exec tools bin strip strip debug Es werden viele Dateien gemeldet deren Format nicht erkannt wurde Die meisten dieser Dateien sind Skripte und keine Bin rdateien Die Warnungen k nnen einfach ignoriert werden Wenn Sie wirklich wenig Platz auf der Festplatte haben k nnen Sie strip all auf die Bin rdateien in usr bin sbin anwenden und so nochmals mehrere Megabytes sparen Benutzen Sie diese Option jedoch nicht mit Bibliotheken sie w rden zerst rt werden 159 Linux From Scratch Version 5 1 1 Aufr umen Wenn Sie von nun an die chroot Umgebung verlassen und wieder betreten m chten sollten Sie folgendes modifiziertes chroot Kommando verwenden chroot LFS usr bin env i HOME root TERM TERM PS1 u w
72. Dom nennamen zu IP Adressen aufzul sen Dies erreichen Sie am einfachsten indem Sie die IP Adresse des DNS Servers stellt Ihr Internet Provider oder Netzwerkadministrator bereit in etc resolv conf eintragen Erzeugen Sie die Datei mit diesem Kommando cat gt etc resolv conf lt lt EOF Begin etc resolv conf nameserver lt IP Adresse des Nameservers gt End etc resolv conf 169 Linux From Scratch Version 5 1 1 EOF Nat rlich m ssen Sie lt IP Adresse des Nameservers gt durch die echte IP Adresse Ihres DNS Servers ersetzen Oftmals gibt es mehr als einen Eintrag offizielle Nameserver m ssen aus Fallback Gr nden immer auch einen sekund ren DNS Server haben Die IP Adresse k nnte auch die eines Routers in Ihrem lokalen Netzwerk sein 170 Linux From Scratch Version 5 1 1 Kapitel 8 Das LFS System bootfahig machen Einf hrung Dieses Kapitel macht Ihr LFS bootf hig In diesem Kapitel erstellen Sie die fstab Datei erstellen einen neuen Kernel f r Ihr LFS System und installieren den Grub Bootloader damit Sie Ihr LFS System zum booten ausw hlen k nnen 171 Linux From Scratch Version 5 1 1 Erstellen der Datei etc fstab Die Datei etc fstab wird von einigen Programm benutzt um festzustellen wo und in welcher Reihenfolge Partitionen eingeh ngt werden sollen und welche Dateisysteme gepr ft werden m ssen Erstellen Sie eine neue Dateisystemtabelle cat gt etc fstab lt lt EOF f
73. Fredrik Danerklint lt fredan lfs fredan org gt se linuxfromscratch org Spiegel e Parisian sysadmins lt archive doc cs univ paris8 fr gt www2 fr linuxfromscratch org Spiegel Alexander Velin lt velin zadnik org gt bg linuxfromscratch org Spiegel e Dirk Webster lt dirk securewebservices co uk gt lfs securewebservices co uk Spiegel e Thomas Skyt lt thomas sofagang dk gt dk linuxfromscratch org Spiegel e Simon Nicoll lt sime dot sime com gt uk linuxfromscratch org Spiegel Asiatische Spiegel e Pui Yong lt pyng spam averse net gt sg linuxfromscratch org Spiegel e Stuart Harris lt stuart althalus me uk gt Ifs mirror intermedia com sg Spiegel e Unknown Ifs mirror if itb ac id Spiegel xi Linux From Scratch Version 5 1 1 Australische Spiegel e Jason Andrade lt jason dstc edu au gt au linuxfromscratch org Spiegel Spender e Dean Benson lt dean vipersoft co uk gt f r etliche Geldspenden e DREAMWVR COM f r das ehemalige Sponsoring diverser Ressourcen zu LFS und dazugeh rigen Unterprojekten e Hagen Herrschaft lt hrx hrxnet de gt f r die Spende eines 2 2 GHz P4 Systems welches nun unter dem Namen lorien l uft e O Reilly f r die gespendeten B cher zu SQL und PHP e VA Software die im Namen von Linux com eine VA Linux 420 ehem StartX SP2 Workstation gespendet haben Mark Stone f r die Spende von shadowfax dem ersten linuxfromscratch org Server einem 7
74. Konfigurieren von Shadow Dieses Paket enth lt Werkzeuge zum Bearbeiten Hinzuf gen und L schen von Benutzerpassw rtern Wir werden hier nicht erl utern was genau das password shadowing bedeutet Eine vollst ndige Erkl rung finden Sie in der Datei doc HOWTO in der entpackten Shadow Ordnerstruktur Eines gilt es allerdings zu beachten Programme die Passw rter berpr fen m ssen z B xdm ftp und pop3 Server m ssen shadow konform sein Das heisst sie m ssen mit Shadow Passw rtern umgehen k nnen Um Shadow Passw rter zu aktivieren benutzen Sie das folgende Kommando pwconv Und um Shadow Gruppenpassw rter zu aktivieren benutzen Sie das folgende Kommando grpconv Unter normalen Umst nden haben Sie bis hierher noch keine Passw rter erzeugt Wenn Sie jedoch hierher zur ckgebl ttert haben um nachtr glich Shadow zu aktivieren dann sollten Sie alle Benutzerpassw rter mit dem Kommando passwd und die Gruppenpassw rter mit dem Kommando gpasswd zur cksetzen Vergeben des Passworts f r root W hlen Sie ein Kennwort f r den Benutzer root und setzen Sie es mit dem Kommando passwd root Inhalt von Shadow Installierte Programme chage chfn chpasswd chsh dpasswd expiry faillog gpasswd groupadd groupdel groupmod groups grpck grpconv grpunconv lastlog login logoutd mkpasswd newgrp newusers passwd pwck pwconv pwunconv sg Link auf newgrp useradd userdel usermod vigr Link auf vipw und vipw K
75. Linux From Scratch Version 5 1 1 Gerard Beekmans Linux From Scratch Version 5 1 1 von Gerard Beekmans Copyright 1999 2004 Gerard Beekmans Dieses Buch beschreibt die genaue Vorgehensweise zum Installieren eines Linux Systems von Grund auf ausschliesslich unter Verwendung der Quellen aller ben tigter Programme Copyright 1999 2004 Gerard Beekmans Alle Rechte vorbehalten Weiterverteilung und Benutzung in Quell und Bin rform mit oder ohne Modifikationen ist erlaubt solange die folgenden Bedingungen eingehalten werden e Weitergegebenes Material in jeglicher Form muss den obigen Copyrighthinweis die Liste der Bedingungen und den folgenden Ausschlussvermerk beibehalten e Weder der Name Linux From Scratch noch die Namen der Mitwirkenden d rfen ohne vorherige schriftliche Genehmigung zu Werbezwecken f r abgeleitetes Material benutzt werden e Jegliches von Linux From Scratch abgeleitetes Material muss einen Verweis auf das Linux From Scratch Projekt enthalten THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT INDIRECT INCIDENTAL SPECIAL EXEMPLARY OR CONSEQUENTIAL DAMAGES INCLUDING BUT NOT LIMITED TO PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES L
76. Multi Thread Programme n tzlich sind libutil enth lt Kode f r Standard Funktionen die in vielen verschiedenen Unix Werkzeugen genutzt werden 81 Linux From Scratch Version 5 1 1 Erneutes Anpassen der Toolchain Nun da die neue C Bibliothek installiert ist muss die Toolchain erneut angepasst werden Wir modifizieren sie so dass alle weiteren kompilierten Programme gegen die neue C Bibliothek gelinkt werden Im Grunde ist das genau das gleiche was wir im vorigen Kapitel beim Anpassen der Glibc schonmal gemacht haben auch wenn es aussieht als w re es genau umgekehrt Im vorigen Kapitel haben wir die Toolchain von usr 11ib auf dem Host in das neue Verzeichnis tools 1ib umgelenkt Nun lenken wir die Toolchain von diesem Verzeichns tools 1ib um nach usr lib in unserem LFS System Als erstes wird der Linker angepasst Aus diesem Grunde haben wir die Quell und Kompilierordner aus dem zweiten Durchlauf von Binutils bestehen lassen Installieren Sie den angepassten Linker aus dem binutils build Ordner make C ld INSTALL tools bin install install a Anmerkung CE Falls Sie aus irgendeinem Grund die Warnung bersehen haben den Binutils Ordner zu behalten oder ihn vielleicht versehentlich gel scht haben ist noch nichts verloren Ignorieren Sie einfach das obige Kommando Daraus resultiert dass das n chste Paket Binutils gegen die Glibc Bibliotheken in tools anstelle von usr gelinkt wird Das ist zwar nicht ideal a
77. Namen vergeben Statt dem einfachen tools k nnen Sie etwas wie tools fuer Ifs benutzen Dann m ssen Sie allerdings im gesamten Buch sehr sorgf ltig alle Referenzen auf tools entsprechend anpassen inklusive aller Patches wie z B dem GCC Specs Patch Erstellen Sie den Ordner mit diesem Kommando mkdir LES tools Im n chsten Schritt erstellen Sie auf Ihrem Host System einen symbolischen Link nach tools Er zeigt auf den Ordner den wir gerade auf der LFS Partition erstellt haben ln s LES tools Anmerkung Br Das obige Kommando ist in dieser Form korrekt der Befehl In hat verschiedene Syntax Varianten also iiberpriifen Sie erst die Manpage bevor Sie einen vermeintlichen Fehler berichten Dieser symbolische Link erm glicht es uns die Toolchain so zu kompilieren dass sie immer t ool s referenziert das bedeutet f r uns dass Compiler Assembler und Linker sowohl in diesem Kapitel in dem wir immer noch einige Programme vom Host System benutzen als auch im n chsten Kapitel wenn wir in die LFS Partition chroot ed haben funktionieren werden weil wir immer den gleichen g ltigen Pfad benutzen 21 Linux From Scratch Version 5 1 1 Hinzuf gen des Benutzers Ifs Als root Benutzer eingeloggt k nnen kleinste Fehler Ihr System besch digen oder gar zerst ren Deshalb empfehlen wir dass Sie die Pakete in diesem Kapitel mit Hilfe eines unprivilegierten Benutzers kompilieren Nat rlich k nnen
78. OF Inhalt von Sysvinit 151 Linux From Scratch Version 5 1 1 Installierte Programme halt init killall5 last lastb Link auf last mesg pidof Link auf killall5 poweroff Link auf halt reboot Link auf halt runlevel shutdown sulogin telinit Link auf init utmpdump und wall Kurze Beschreibung halt ruft blicherweise shutdown mit dem Schalter h auf ausser wenn der aktuelle Runlevel 0 ist dann teilt es dem Kernel mit das System anzuhalten Vorher notiert es in var log wtmp dass das System nun heruntergefahren wird init ist die Mutter aller Prozesse Es liest seine Kommandos aus etc inittab die ihm normalerweise sagt welche Skripte in einem Runlevel gestartet werden sollen und wieviele gettys gestartet werden sollen killall5 sendet ein Signal an alle Prozesse ausser denen in der eigenen Sitzung so beendet es nicht die Programme die das Skript ausf hren welches es aufgerufen hat last zeigt welcher Benutzer als letztes eingeloggt und ausgeloggt hat indem es die Datei var log wtmp durchsucht Es kann auch Systemstarts und stopps sowie Wechsel der Runlevel zeigen lastb zeigt die letzten fehlgeschlagenen Loginversuche die in var 1og btmp protokolliert wurden mesg kontrolliert welche anderen Benutzer Nachrichten auf das aktuelle Terminal senden k nnen pidof gibt die PIDs eines Programms aus poweroff weist den Kernel an das System anzuhalten und den Computer auszuschalten Schauen Sie auch nacht
79. OSS OF USE DATA OR PROFITS OR BUSINESS INTERRUPTION HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY WHETHER IN CONTRACT STRICT LIABILITY OR TORT INCLUDING NEGLIGENCE OR OTHERWISE ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE Linux From Scratch Version 5 1 1 Widmung Ich widme dieses Buch meiner mich liebenden und sehr unterst tzenden Frau Beverly Beekmans Linux From Scratch Version 5 1 1 Inhaltsverzeichnis Einleituns rss nase rs ee pers oth ee Tee ten niet Ne Y tt v VOLWOLE Sess en dus FR IC Rind ME ee nausea EY FN I EN FAN FFR NN o AE PORC ni EN FNAN dase Rees v Die Ziel Sruppes occa ei are OU er E pe nn E ENEN SO vi NOTAUSSEIZUNGEN ua anna nee een viii Konventionen in diesem Buch sinens eE aE E EEEE E eTe ix DankKsagungen i ed yard yng lese eb een EAEE Thu y VEEE x Aurbau SSSR SD Rs ER RS ne eee Sn en Yd Fd dog xiii I Einf hrung ss innen DF Ddi 1 TEmruhring y ee een San DG TD ynd ester Cas Fy se Leet eate oe 2 Der Ablauf in berblick za ae ea eine einen DU 2 Andernesprotokoll an ee a ee weergeven 3 RESSOULCEN meet seo hrs nn Te ren ie ten men ee Eee 6 Wiesieum Hilfe Bitten K NNEN is rat sis hehe Y HR FT ods O items intenses 7 2 Vorbereiten einer neuen Partition ss 9 Einf hrung u sas pened erh He eu 9 Erstellen einer neuen Partition een essen res ea sn 10 Erstellen eines Dateisystems auf der neuen Partition 0s242s0sssesssnenessne
80. Parameters e LDLIBS lncurses Das weist Procinfo an die Bibliothek 1ibncurses anstelle der l ngst veralteten libtermcap zu verwenden Installieren Sie das Paket make install Inhalt von Procinfo Installierte Programme Isdev procinfo und socklist Kurze Beschreibung Isdev listet die in Ihrem System verf gbaren Ger te die zugeh rigen Interrupts und IO Ports auf procinfo zeigt eine bersicht ber einige Informationen im virtuellen Proc Dateisystem an socklist listet alle offenen Sockets auf und zeigt ihren Typ Portnummer und andere Details an 143 Linux From Scratch Version 5 1 1 Procps 3 2 1 Procps enth lt Programme zur berwachung und Steuerung von Systemprozessen Die Informationen zu den Prozessen holt Procps aus dem proc Ordner Approximate build time 0 1 SBU Required disk space 6 2 MB Procps ist abh ngig von Bash Binutils Coreutils GCC Glibc Make Ncurses Installation von Procps Kompilieren Sie nun Procps make Installieren Sie es make install Und entfernen Sie einen toten symolischen Link auf eine Bibliothek rm lib libproc so Inhalt von Procps Installierte Programme free kill pgrep pkill pmap ps skill snice sysctl tload top uptime vmstat w und watch Installierte Bibliothek libproc so Kurze Beschreibung free gibt die Menge an freiem und benutzten Arbeitsspeicher aus sowohl physischem als auch swap kill wird benutzt um Signale an Prozesse zu s
81. SOS SHE daemon floppy CHARS 8528 VORRE 9o Glia llowlic 8528 IL O g audion s ME EOF ox xX 01 No Die erzeugten Gruppen sind nicht Teil irgendeines Standards es sind Gruppen die das Skript make_devices im n chsten Abschnitt benutzt Neben der Gruppe root schl gt die LSB Linux Standard Base nur die Gruppe bin mit der GID 1 vor Alle anderen Gruppennamen und GIDs k nnen frei durch den Anwender gew hlt werden weil gut geschriebene Pakete sich nicht auf GID Nummern verlassen sondern den Gruppennamen verwenden Um die Meldung I have no name loszuwerden starten wir eine neue Shell Die Aufl sung von Benutzer und Gruppennamen funktioniert sofort nach dem Erstellen von etc passwd und etc group weil wir in Chapter 5 p 26 eine vollst ndige Glibc installiert haben exec tools bin bash login h Beachten Sie die Benutzung der Option h Das weist bash an kein internes Pfad Hashing zu benutzen Ohne diese Anweisung w rde bash sich die Pfade zu ausf hrbaren Dateien merken Weil wir aber frisch installierte Programme sofort nach der Installation an ihrem neuen Ort benutzen m chten schalten wir die Funktion in diesem Kapitel aus Die Programme login agetty und init und einige weitere verwenden Logdateien zum Protokollieren von Informationen wie z B wer sich zu welcher Zeit an das System angemeldet hat Diese Programme schreiben aber nur in Logdateien wenn diese auch existieren Daher initialisieren wir
82. Schritte vorzubereiten erstellen wir zwei Dateien f r die Shell bash Geben Sie als Benutzer fs das folgende Kommando ein um die neue Datei bash_profile zu erzeugen cat gt bash profile lt lt EOF exec env i HOME SHOME TERM STERM PS1 u w bin bash EOF Wenn Sie sich als Benutzer fs anmelden ist die erste Shell blicherweise eine login Shell Diese liest erst die Datei etc profile Ihres Host Systems ein sie enth lt wahrscheinlich Einstellungen zu Umgebungsvariablen und danach bash_profile Das Kommando exec env i bin bash in der zweiten Datei ersetzt die laufende Shell durch eine neue mit einer vollst ndig leeren Umgebung ausser der HOME TERM und PS1 Variablen Daduch wird sichergestellt dass keine ungewollten und potentiell gef hrlichen Umgebungsvariablen vom Host System auf unsere Arbeitsumgebung Einfluss nehmen k nnen Die hier angewendete Technik mag ein wenig befremdlich aussehen f hrt aber zu unserem Ziel n mlich einer absolut leeren Arbeitsumgebung Die neue Instanz der Shell ist eine sog non login Shell diese liest weder etc profile noch bash_profile ein Stattdessen liest sie die Datei bashrc Erstellen Sie diese Datei nun cat gt bashre lt lt EOF set th umask 022 LFS mnt lfs LC ALL POSIX PATH tools bin bin usr bin export LES LC ALL L PATH EOF Das Kommando set h schaltet die Hash Funktion von bash ab Normalerweise ist das sogenannte Hashing der
83. Sie Ihren eigenen Benutzernamen dazu verwenden aber es ist einfacher eine saubere Arbeitsumgebung zu erstellen wenn wir dazu den Benutzer fs erstellen und diesen w hrend des ganzen Installationsvorgangs benutzen Bitte f hren Sie als root dieses Kommando aus um den neuen Benutzer zu erzeugen useradd s bin bash m k dev null lfs Die Bedeutung der Parameter e s bin bash Dies macht die bash zur voreingestellten Shell f r den Benutzer lfs e m Dies erzeugt den Pers nlichen Ordner f r lfs e k dev null Dieser Parameter verhindert das m gliche Kopieren von Dateien aus einem skeleton Ordner Voreinstellung ist etc skel indem der Quellpfad dieser Dateien auf das spezielle Null Ger t eingestellt wird Wenn Sie sich als fs einloggen m chten m ssen Sie f r fs ein Passwort vergeben passwd lfs und fs vollen Zugriff auf den Ordner SLFS tools geben Dazu machen Sie lfs zum Besitzer des Ordners chown lfs LFS tools Wenn Sie wie vorgeschlagen einen extra Arbeitsordner eingerichtet haben dann geben Sie dem Benutzer fs auch dort die Besitzrechte chown lfs SLFS sources Als n chstes loggen Sie sich bitte als fs ein Sie k nnen das ber eine virtuelle Konsole ber den Display Manager oder mit dem folgenden Kommando tun su lfs Das sorgt daf r dass su eine neue Shell startet 22 Linux From Scratch Version 5 1 1 Vorbereiten der Arbeitsumgebung Um Ihre Arbeitsumgebung f r die weiteren
84. Updated to the new lfs bootscripts 2 0 2 and all necessary changes to the bootscript configuration March 21st 2004 winkie Chapter 6 Replaced Lfs Utils with Iana Etc and Mktemp February 27th 2004 jeremy Upgraded to Procps 3 2 0 February 27th 2004 jeremy Upgraded to Lfs utils 0 5 fixes a possible symlink attack in iana get February 27th 2004 jeremy Chapter 6 Altered the instructions for Findutils to be FHS compliant Linux From Scratch Version 5 1 1 February 26th 2004 jeremy Removed the creation of the usr etc directory to conform with FHS closes bug 775 February 26th 2004 jeremy Upgraded to Linux 2 4 25 February 23rd 2004 alex Chapters 6 9 Cleaned up the Revision of chroot and Reboot sections February 22nd 2004 alex Moved the stripping of the final system from chapter 9 to the end of chapter 6 February 22nd 2004 alex Chapter 6 Coreutils and E2fsprogs Clarified the prerequisites for running the tests February 19th 2004 alex Chapter 5 Stripping Removed an unnecessary share from the documentation s rm command February 14th 2004 jeremy Chapter 6 Upgraded to Less 382 February 14th 2004 jeremy Chapters 5 6 Upgraded to Ncurses 5 4 and removed references to the etip patch February 12th 2004 jeremy Chapter 6 Removed explicit paths from the pwconv and grpconv commands since usr sbin is part of the default path February 9th 2004 alex
85. abe Sie sollten auch den Namen des dynamischen Linkers f r Ihre Plattform kennen manchmal auch als dynamischer Lader bezeichnet nicht zu verwechseln mit dem Standard Linker d der Bestandteil der Binutils ist Der dynamische Linker kommt mit Glibc und seine Aufgabe ist es von einem Programm ben tigte gemeinsame Bibliotheken zu finden und zu laden das Programm zur Ausf hrung vorzubereiten und schliesslich das Programm selbst auszuf hren Im Regelfall wird der Name des dynamischen Linkers d linux so 2 sein F r weniger g ngige Systeme k nnte der Name auch d s0 1 sein und auf neueren 64 Bit Plattformen k nnte er sogar v llig verschieden sein Sie m ssten den Namen Ihres dynamischen Linkers herausfinden k nnen wenn Sie auf Ihrem Host System in den Ordner lib schauen Um wirklich sicher zu gehen k nnen Sie eine beliebige Bin rdatei auf Ihrem Host System berpr fen readelf 1 lt name of binary gt grep interpreter Notieren Sie die Ausgabe Eine Referenz die alle Plattformen abdeckt finden Sie in der Datei shlib versions im Basisordner des Glibc Quellordners Hier ein paar technische Hinweise zum Kompilierprozess in Chapter 5 p 26 e Der Kompilierprozess ist im Grunde hnlich wie Cross Kompilieren Dabei funktionieren Programme im selben Prefix in Kooperation und benutzen dazu ein wenig GNU Magie e Durch vorsichtiges Anpassen des Suchpfades f r den Standard Linker erreichen wir dass Programme nur gegen die gew
86. al cfdisk chkdupexe col colert colrm column ctrlaltdel cytune ddate dmesg elvtune fdformat fdisk fsck cramfs fsck minix getopt hexdump hwclock ipcrm ipcs isosize line logger look losetup mcookie mkfs mkfs bfs mkfs cramfs mkfs minix mkswap more mount namei pg pivot_root ramsize Link auf rdev raw rdev readprofile rename renice rev rootflags Link auf rdev script setfdprm setsid setterm sfdisk swapoff Link auf swapon swapon tunelp ul umount vidmode Link auf rdev whereis und write Kurze Beschreibung agetty ffnet einen tty Port fragt nach dem Login Namen und startet das login Programm arch gibt die Systemarchitektur aus blockdev erm glicht den Aufruf von Blockger te ioctls an der Kommandozeile cal zeigt einen einfachen Kalender an cfdisk wird zum Manipulieren der Partitionstabelle eines Ger tes benutzt 154 Linux From Scratch Version 5 1 1 chkdupexe findet Duplikate von ausf hrbaren Dateien col filtert R ckw rts Zeilenvorsch be aus colcrt filter nroff Ausgaben f r Terminals denen bestimmte F higkeiten fehlen wie zum beispiel durchstreichen oder halbe Zeilen colrm filtert eine bestimmte Spalte aus column formatiert eine Datei in mehrere Spalten ctrlaltdel setzt die Funktion der Tastenkombination Strg Alt Entf auf einen Hart oder Softreset cytune wurde benutzt um die Parameter der seriellen Schnittstellen auf Cyclade Karten zu ver ndern ddate gibt da
87. allieren Mehr Informationen dazu finden Sie unter http www linuxfromscratch org blfs view stable general gcc2 html Wir installieren diese alte Version von GCC im nicht standard Prefix opt um nicht mit dem auf dem System bereits unter usr installierten GCC durcheinander zu geraten Wenden Sie die Patche an und nehmen Sie eine kleine Anpassung vor patch Npl i gcc 2 95 3 2 patch patch Npl i gcc 2 95 3 no fixinc patch patch Npl i gcc 2 95 3 returntype fix patch echo timestamp gt gcc cstamp h in Die GCC Dokumentation empfiehlt GCC nicht im Quellordner sondern in einem gesonderten Ordner zu kompilieren mkdir gcc 2 build cd gcc 2 build Kompilieren und installieren Sie den Compiler gcc 2 95 3 configure prefix opt gcc 2 95 3 enable shared enable languages c enable threads posix make bootstrap make install 157 Linux From Scratch Version 5 1 1 Informationen zu Debugging Symbolen Die meisten Programme und Bibliotheken werden in der Voreinstellung mit Debugging Symolen kompiliert mit der Option gee g Wenn Sie ein Programm oder eine Bibliothek debuggen die mit debugging Symbolen kompiliert wurde dann kann Ihnen der Debugger nicht nur die Speicheradressen sondern auch die Namen der Funktionen und der Variablen im Programm anzeigen Doch das Einbinden dieser debugging Symbole vergr ssert das Programm bzw die Bibliothek deutlich Um einen Eindruck ber den von Debugging Symbolen belegt
88. alten ohne sich auf die Linux Version von jemand anders verlassen zu m ssen Mit LFS sitzen Sie selbst am Steuer und k nnen jeden Aspekt Ihres Systems beeinflussen wie zum Beispiel das Ordner Layout oder die Konfiguration der Bootskripte Auch bestimmen Sie wo warum und wie Programme installiert werden Ein weiterer Vorteil von LFS ist die M glichkeit ein sehr kompaktes Linux System erstellen zu k nnen Wenn Sie eine bliche Linux Distribution installieren sind Sie f r gew hnlich gezwungen viele Programme zu installieren die Sie h chstwahrscheinlich niemals benutzen werden Diese liegen dann unn tz auf der Festplatte und verbrauchen Speicherplatz oder noch schlimmer CPU Ressourcen Es ist leicht ein LFS System unter 100 MB zu installieren Das klingt immer noch zu gro Einige von uns haben daran gearbeitet ein sehr kleines Embedded Linux zu bauen Wir haben es geschafft einen Apache Webserver auf einem Linux From Scratch laufen zu lassen mit gerade mal 8 Mb belegtem Festplattenspeicher Durch weitere Beschneidungen k nnte das System auf bis zu 5 MB oder weniger schrumpfen Versuchen Sie das mal mit einer herk mmlichen Linux Distribution Man k nnte die verschiedenen Linux Distributionen mit einem Hamburger vergleichen den man in einer Fast Food Kette kauft man wei nie genau was man isst LFS auf der anderen Seite w re kein Hamburger sondern vielmehr das Rezept wie man einen Hamburger macht Das erm glicht es das Rezept zu
89. amm make Nun installieren Sie Make und die dazugeh rige Dokumentation make install Details zu diesem Paket finden Sie in Inhalt von Patch p 142 58 Linux From Scratch Version 5 1 1 Tar 1 13 94 Das Paket Tar enth lt ein Archivprogramm Approximate build time 0 2 SBU Required disk space 10 3 MB Tar ist abh ngig von Bash Binutils Coreutils Diffutils GCC Gettext Glibc Grep Make Sed Installieren von Tar Bereiten Sie Tar zum Kompilieren vor configure prefix tools Kompilieren Sie die Programme make Wenn Sie die Testsuite durchlaufen lassen m chten f hren Sie dieses Kommando aus make check Dann installieren Sie sie und die dazugeh rige Dokumentation make install Details zu diesem Paket finden Sie in Inhalt von Tar p 153 59 Linux From Scratch Version 5 1 1 Texinfo 4 7 Das Paket Texinfo enth lt Programme zum Lesen Schreiben und Konvertieren von Info Dokumenten Systemdokumentation Approximate build time 0 2 SBU Required disk space 1G 3 Wits Texinfo ist abh ngig von Bash Binutils Coreutils Diffutils GCC Gettext Glibc Grep Make Ncurses Sed Installieren von Texinfo Bereiten Sie Texinfo zum Kompilieren vor configure prefix tools Kompilieren Sie die Programme make Wenn Sie die Testsuite durchlaufen lassen m chten f hren Sie dieses Kommando aus make check Dann installieren Sie sie und die dazugeh rige Dokument
90. ange die Standardeingabe kein Terminal ist liest eine Zeile mit Stichw rtern von der Standardeingabe durchsucht eine bibliographische Datenbank nach Referenzen zu diesen Stichw rtern gibt die gefundenen Referenzen aus und wiederholt das so lange bis keine weitere Eingabe mehr vorhanden ist mmroff ist ein einfacher Pr prozessor f r groff negn formatiert Gleichungen f r die ascii Ausgabe nroff ist ein Skript das nroff Kommandos mit groff emuliert pfbtops bersetzt eine Postscript Schrift in pfb Format zu ASCII pic kompiliert Beschreibungen von Bildern die in groff oder TeX Eingabedateien vorhanden sind zu Kommandos die von TeX oder troff verwendet werden k nnen pic2graph konvertiert ein PIC Diagramm zu einem beschnittenen Bild pre grohtml bersetzt die Ausgabe von GNU troff zu html post grohtml bersetzt die Ausgabe von GNU troff zu html refer kopiert den Inhalt einer Datei zur standard Ausgabe ausser das Zeilen zwischen und als Zitat interpretiert werden und Zeilen zwischen R1 und R2 als Kommandos behandelt werden die angeben wie mit Zitaten umgegangen werden soll soelim liest Dateien und ersetzt Zeilen der Form so Datei durch den Inhalt der erw hnten Datei tbl kompiliert Beschreibungen von Tabellen die in troff Eingabedateien eingebettet sind zu Kommandos die von troff unterst tzt werden tfmtodit erzeugt Schriftdateien zur Verwendung mit groff Tdvi troff ist hochkompatibel mit Unix troff bli
91. ar sind Bitte nutzen Sie eine der alternativen Download Adressen wie z B ftp gaosu rave org pub linux Ifs 3 Anmerkung Anmerkung 2 Als dieses Buch geschrieben wurde haben die Betreuer von Glibc entschieden neue Glibc Versionen nicht als Tarball zum Download bereitzustellen Daher hat das LFS Toolchain Team 17 Linux From Scratch Version 5 1 1 einen eigenen Tarball aus dem CVS erzeugt und sofern n tig Patches bereits eingespielt Der Tarball ist auf den LFS Softwarespiegeln verf gbar ftp gaosu rave org pub linux lfs packages conglomeration glibc 2 3 3 lfs 5 1 tar bz2 ftp lfs mirror intermedia com sg pub lfs lfs packages conglomeration glibc 2 3 3 lfs 5 1 tar bz2 http packages lfs es org glibc glibc 2 3 3 lfs 5 1 tar bz2 http mirror averse net lfs packages glibc 2 3 3 lfs 5 1 tar bz2 ftp mirror averse net pub lfs packages glibc 2 3 3 lfs 5 1 tar bz2 ftp ftp lfs matrix de lfs packages conglomeration glibc 2 3 3 lfs 5 1 tar bz2 ftp ftp sg linuxfromscratch org pub lfs packages glibc 2 3 3 lfs 5 1 tar bz2 http ftp sg linuxfromscratch org glibc 2 3 3 lfs 5 1 tar bz2 Falls Sie die Integrit t des Tarballs berpr fen m chten Dies ist die MD5 Priifsumme cdl1fabdf5162ad68329e7b28D308278 Sie kann mit dem Programm md5sum verglichen werden Linux From Scratch Version 5 1 1 Erforderliche Patches Neben all den Paketen ben tigen Sie auch einige Patches Diese beheben entweder kleine Fehler die vom Betreuer n
92. aschend erscheinen aber der Name der Ger tedatei ist frei w hlbar abgesehen davon dass viele Programme sich darauf verlassen dass Ger tedateien wie dev null ihren blichen Namen besitzen Die drei verbleibenden Parameter teilen dem Kernel mit welches Ger t die Datei denn nun tats chlich referenziert type ist ein Buchstabe entweder b oder c und gibt an ob das Ger t in Bl cken wie zum Beispiel Festplatten oder zeichenweise angesprochen wird wie z B die Konsole major und minor sind Nummern die zusammen einen eindeutig identifizierbaren Kode f r das Ger t ergeben Eine Liste der zur Zeit zugewiesenen Nummern f r Linux finden Sie in der Datei devices txt im Unterordner Documentation in den Kernelquellen Beachten Sie dass eine Major Minor Kombinationen blicherweise sowohl einem Block als auch einem Zeichenorientierten Ger t zugeordnet ist Es handelt sich jedoch um vollkommen unterschiedliche Ger te die nicht einfach vertauscht werden k nnen Ein Ger t wird durch alle drei Werte type major minor identifiziert und nicht nur durch major minor Wenn Sie also eine Ger tedatei erstellen achten Sie darauf den korrekten Typ anzugeben Weil das Nachschlagen von Typ Major und Minor Nummern mittels mknod eine typische Fehlerquelle ist wurde das Skript make_devi ces erstellt Es enth lt eine komplette Serie von mknod Kommandos eines pro Ger t inklusive empfohlenem Namen Rechten und Gruppenzuordnungen Es wurde so erstellt da
93. atcht werden damit sie mit der neuen Syntax klar kommen Wir empfehlen die oben angegebenen Anweisungen so zu bernehmen Kompilieren Sie das Paket make Wenn Sie die Testsuite durchlaufen lassen m chten f hren Sie dieses Kommando aus make RUN_EXPENSIVE_TESTS yes check Der Parameter RUN_EXPENSIVE_TESTS yes teilt der Testsuite mit noch zus tzliche Tests zu durchlaufen die auf einigen Plattformen sehr zeitintensiv sein k nnen Normalerweise ist das unter Linux aber kein Problem Und installieren Sie das Paket make install Details zu diesem Paket finden Sie in Inhalt von Coreutils p 89 48 Linux From Scratch Version 5 1 1 Bzip2 1 0 2 Das Paket Bzip2 enth lt Programme zum Komprimieren und Dekomprimieren von Dateien Bei Textdateien erreichen Sie eine wesentlich bessere Kompressionsrate als das traditionelle Kommando gzip Approximate build time 0 1 SBU Required disk space 2 5 MB Bzip2 ist abh ngig von Bash Binutils Coreutils Diffutils GCC Glibc Make Installieren von Bzip2 Das Paket Bzip2 enth lt kein configure Skript Kompilieren und installieren Sie es einfach mit make PREFIX tools install Details zu diesem Paket finden Sie in Inhalt von Bzip2 p 126 49 Linux From Scratch Version 5 1 1 Gzip 1 3 5 Das Paket Gzip enth lt Programme zum Komprimieren und Dekomprimieren von Dateien Approximate build time 0 1 SBU Required disk space 2 6 MB Gzip ist abh ngig von
94. ation make install Details zu diesem Paket finden Sie in Inhalt von Texinfo p 118 60 Linux From Scratch Version 5 1 1 Bash 2 05b Das Paket Bash enth lt die Bourne Again SHell Approximate build time 1 2 SBU Required disk space 27 MB Bash ist abh ngig von Binutils Coreutils Diffutils Gawk GCC Glibc Grep Make Ncurses Sed Installieren von Bash Die Bash enth lt einige bekannte Fehler Beheben Sie diese mit dem folgenden Patch patch Npl i bash 2 05b 2 patch Bereiten Sie Bash nun zum Kompilieren vor configure prefix tools Kompilieren Sie das Programm make Wenn Sie die Testsuite durchlaufen lassen wollen f hren Sie dieses Kommando aus make tests Nun installieren Sie Make und die dazugeh rige Dokumentation make install Und erstellen Sie einen Link f r die Programme die sh als Shell benutzen In s bash tools bin sh Details zu diesem Paket finden Sie in Inhalt von Bash p 123 61 Linux From Scratch Version 5 1 1 Util linux 2 12a Das Paket Util linux enth lt verschiedene Werkzeuge Darunter befinden sich Programme zum Umgang mit Dateisystemen Konsolen Partitionen und System Nachrichten Approximate build time 0 2 SBU Reguired disk space 16 MB Util linux ist abh ngig von Bash Binutils Coreutils Diffutils GCC Gettext Glibc Grep Make Ncurses Sed Zlib Installieren von Util linux Util linux verwendet nicht die gerade frisch ins
95. ber unsere Tests haben gezeigt dass die resultierenden Programme identisch zu sein scheinen Von nun an wird jedes kompilierte Programme nur gegen die Bibliotheken in usr 1ib und 1ib gelinkt Das zus tzliche INSTALL tools bin install wird ben tigt weil das Makefile aus dem zweiten Durchlauf immer noch die Referenz auf usr bin install enth lt welches wir noch nicht installiert haben Einige Distributionen enthalten einen symbolischen Link ginstall der Vorrang im Makefile hat und hier Probleme verursachen kann Das obige Kommando k mmert sich auch darum Sie k nnen nun die Binutils Quell und Kompilierordner l schen Als n chstes passen Sie die Specs Datei von GCC an so dass sie auf den neuen dynamischen Linker verweist Wie schon zuvor benutzen wir dazu sed SPECFILE tools lib gcc lib specs amp amp sed e s tools lib ld linux so 2 lib ld linux so 2 g SSPECFILE gt newspecfile amp amp mv f newspecfile SPECFILE amp amp unset SPECFILE Auch hier empfehlen wir den Befehl zu kopieren und einzuf gen Und auch hier ist es wieder sinnvoll die Specs Datei darauf zu berpr fen ob die nderungen tats chlich erfolgreich durchgef hrt wurden Q Wichtig Wenn Sie an einer Plattform arbeiten bei der der Name des Linkers nicht 1d linux so 2 ist m ssen Sie in den obigen Kommandos 1d linux so 2 durch dem Namen des Linkers f r Ihre Plattform ersetzen Wenn n tig schlagen Sie nochmal im Abschnitt Technis
96. bereiten einer neuen Partition Einf hrung In diesem Kapitel bereiten wir die Partition vor die sp ter Ihr neues LFS System enthalten wird Wir erstellen die Partition erzeugen ein Dateisystem darauf und h ngen sie anschliessend ein mounten Linux From Scratch Version 5 1 1 Erstellen einer neuen Partition Um das neue Linux System zu installieren brauchen wir etwas Platz eine leere Partition Wenn Sie keine freie Partition und keinen unpartitionierten Platz auf Ihrer Festplatte haben k nnen Sie LFS auch auf der Partition installieren auf der bereits Ihre gerade installierte Distribution l uft Dieses Vorgehen empfehlen wir nicht wenn Sie das erste Mal ein LFS installieren Aber wenn Sie wenig Plattenplatz haben und sich etwas zutrauen schauen Sie sich die Anleitung unter http www linuxfromscratch org hints downloads files lfs_next_to_existing_systems txt an F r ein minimales System ben tigen Sie eine Partition mit etwa 1 3 GB Platz Das reicht aus um die Quellpakete zu speichern und alle Pakete zu installieren Aber wenn Sie Ihr LFS sp ter als prim res Betriebssystem nutzen wollen m chten Sie sp ter vermutlich noch weitere Software hinzuf gen und dann brauchen Sie mehr Platz wahrscheinlich um die 2 bis 3 GB Man hat fast nie genug Arbeitsspeicher deshalb ist es eine gute Idee eine kleine Partition als Swap Partition zu benutzen das ist Speicherplatz den der Kernel verwendet um selten genutzte Daten auszulager
97. bnisse nicht grob von denen unter der obigen URL abweichen k nnen sie beruhigt fortfahren Schlussendlich installieren Sie das Paket make install Anmerkung CE An diesem Punkt empfehlen wir dringend die Gesamtpr fung die wir fr her in diesem Kapitel gemacht haben noch einmal durchzuf hren Schlagen Sie im Die Glibc integrieren p 38 nach und wiederholen Sie die Priifung Wenn die Ergebnisse nicht in Ordnung sind haben Sie h chstwahrscheinlich vergessen den oben erw hnten GCC Specs Patch einzuspielen Details zu diesem Paket finden Sie in Inhalt von GCC p 87 45 Linux From Scratch Version 5 1 1 Binutils 2 14 Durchlauf 2 Approximate build time 1 5 SBU Required disk space 35 6 Wie Neuinstallation von Binutils Erstellen Sie erneut einen eigenen Ordner zum Kompilieren mkdir binutils build cd binutils build Bereiten Sie nun Binutils zum Kompilieren vor binutils 2 14 configure prefix tools enable shared with lib path tools lib Die Bedeutung der neuen configure Option with lib path tools lib Dies teilt dem configure Skript mit den Standard Bibliothekssuchpfad des Linkers als tools 1ib vorzugeben Wir m chten im Standard Bibliothekssuchpfad keine Ordner unseres Host Systems haben daher geben wir den gewiinschten Pfad vor Bevor Sie mit dem Kompilieren von Binutils beginnen denken Sie daran alle Umgebungsvariablen zu entfernen die die Standard Optimierungen
98. bt jedoch jede Menge sinnlose Zeichen auf dem Bildschirm aus und k nnte die Einstellungen Ihres Terminals durcheinander bringen Das Durchlaufen dieser Testsuite ist daher ausdr cklich optional Installieren Sie das Paket make install Viele Benutzer sind es gew hnt vi anstelle von vim zu starten Damit vim gestartet wird obwohl vi eingegeben wurde erzeugen Sie einen symbolischen Link In s vim usr bin vi Wenn Sie sp ter das X Window System auf Ihrem LFS installieren m chten sollten Sie nach der Installation von X Ihren Vim erneut installieren Vim bringt eine sch ne grafische Oberfl che mit die allerdings X und ein paar weitere Bibliotheken voraussetzt Weitere Informationen finden Sie in der Vim Dokumentation Konfigurieren von Vim In der Voreinstellung l uft vim im vi Kompatibilit tsmodus Einige Leute m gen das so aber wir w rden vim lieber im vim Modus ausf hren sonst h tten wir in diesem Buch nicht vim installiert sondern gleich vi Wir haben die Einstellung nocompatible gesetzt um hervorzuheben dass der neue Modus benutzt wird Ausserdem erinnert es diejenigen die zur ck zum compatible Modus m chten daran dass diese Einstellung als erstes gemacht wird weil sie andere Einstellungen berschreibt Erzeugen Sie eine Standard vim Konfigurationsdatei mit diesem Kommando cat gt etc vimrc lt lt EOF Begin etc vimrc set nocompatible set backspace 2 syntax on u nel STC Vimi 101 Lin
99. ch falls Sie irgendwelche Zweifel haben Installieren Sie das Paket 86 Linux From Scratch Version 5 1 1 make install Einige Pakete erwarten dass der C Pr prozessor im Ordner 1ib installiert ist Um diesen Paketen Rechnung zu tragen erzeugen Sie diesen symbolischen Link In s usr bin cpp lib Viele Pakete benutzen den Namen cc um den C Compiler aufzurufen Um auch diesen Paketen Rechnung zu tragen erzeugen wir einen weiteren symbolischen Link In s gcc usr bin cc Anmerkung Le An dieser Stelle ist es wichtig den Gesundheitscheck den wir schon fr her durchgef hrt haben erneut laufen zu lassen Schlagen Sie im Erneutes Anpassen der Toolchain p 82 nach und wiederholen Sie den Test Wenn das Ergebnis negativ ist haben Sie m glichweise versehentlich den GCC Specs Patch aus Chapter 5 p 26 angewendet Inhalt von GCC Installierte Programme c cc Link auf gcc ccl ccl plus collect2 cpp g gcc gccbug und gcov Installierte Bibliotheken libgcc a libgcc_eh a libgcc_s so libstdc a so und libsupc a Kurze Beschreibung cpp ist der C Pr prozessor Er wird von dem Compiler benutzt um include und define und hnliche Anweisungen im Quellkode durch ihren endgiiltigen Kode zu erweitern g ist der C Compiler gcc ist der C Compiler Er wird verwendet um den Quellkode eines Programmes in Assemblerkode umzuwandeln gccbug ist ein Shellskript mit dem man gute Fehlerberichte erzeuge
100. chain Dieser Abschnitt soll einige technische Details zum gesamten Kompilier und Installationsprozess erl utern Es ist nicht zwingend erforderlich dass Sie alles hier sofort verstehen Das meiste ergibt sich von selbst wenn Sie erstmal die ersten Pakete installiert haben Scheuen Sie sich nicht zwischendurch noch einmal in diesem Abschnitt nachzulesen Das Ziel von Chapter 5 p 26 ist es eine gut funktionierende tempor re Arbeitsumgebung zu erschaffen in die wir uns sp ter abkapseln und von wo aus wir in Chapter 6 p 66 ohne Schwierigkeiten ein sauberes endg ltiges LFS System erstellen k nnen Wir werden uns so weit wie m glich vom Host System abschotten und so eine in sich geschlossene Toolchain erzeugen Bitte beachten Sie dass der gesamte Prozess so ausgelegt ist jegliche Risiken f r neue Leser zu minimieren und gleichzeitig den Lerneffekt zu maximieren Kurz gesagt man k nnte auch fortgeschrittenere Techniken einsetzen um das System zu erstellen D Wichtig Bevor Sie fortfahren sollten Sie den Namen der Plattform kennen auf der Sie arbeiten diese wird auch oft als Ziel Tripplet bezeichnet F r die meisten wird das Ziel Tripplet zum Beispiel i686 pc linux gnu sein Ein einfacher Weg sein Ziel Tripplet herauszufinden besteht darin das Skript config quess auszuf hren das mit den Quellen vieler Pakete mitgeliefert wird Entpacken Sie die Binutils Quellen f hren Sie das Skript aus config guess und notieren Sie sich die Ausg
101. che Anmerkungen zur Toolchain p 27 nach D Achtung Es ist an diesem Punkt zwingend notwendig die grundlegenden Funktionen Kompilieren und Linken der angepassten Toolchain zu berpr fen Aus diesem Grund f hren wir folgenden Test durch echo main gt dummy c cc dummy c readelf 1 a out grep lib Wenn alles korrekt funktioniert sollten keine Fehler auftreten und die Ausgabe des letzten Kommandos ist 82 Linux From Scratch Version 5 1 1 Reguesting program interpreter lib ld linux so 2 Beachten Sie dass 1 ib nun der Prefix zum dynamischen Linker ist Wenn Sie eine andere oder berhaupt keine Ausgabe erhalten ist etwas ernsthaft schiefgelaufen Sie miissen das iiberpriifen und alle Schritte noch einmal nachvollziehen um das Problem zu finden und zu beheben Machen Sie nicht weiter solange das Problem nicht behoben ist Am wahrscheinlichsten ist dass etwas beim Anpassen der Specs Datei weiter oben nicht funktioniert hat Wenn Sie mit dem Ergebnis zufrieden sind l schen Sie die Testdateien rm dummy c a out 83 Linux From Scratch Version 5 1 1 Binutils 2 14 Binutils ist eine Sammlung von Software Entwicklungswerkzeugen zum Beispiel Linker Assembler und weitere Programme f r die Arbeit mit Objektdateien Approximate build time 1 4 SBU Required disk space 167 MB Binutils ist abh ngig von Bash Coreutils Diffutils GCC Gettext Glibc Grep Make Perl Sed Texinfo Insta
102. chen Aber die Linux Ouellen liegen oft sehr lange auf Ihrem Computer daher ist die Chance gro dass ein zuk nftiger Benutzer auf Ihrem System die Benutzer ID erh lt die Ihre Kernel Quellen derzeit haben und damit w re er der Besitzer dieser Dateien und hat dann auch Schreibrechte darauf Unter diesem Aspekt m chten Sie vielleicht chown R 0 0 auf den Ordner linux 2 4 26 anwenden damit alle Dateien dem root Benutzer geh ren Inhalt von Linux Installierte Dateien Der Kernel die Kernel Header und die System map Kurze Beschreibung Der Kernel ist der Motor Ihres GNU Linux Systems Nach dem Einschalten Ihres Rechners ist der Kernel der erste Teil des Betriebssystems der geladen wird Er erkennt und initialisiert alle Komponenten Ihrer Computer Hardware und macht diese Komponenten f r die Software verf gbar Er verwandelt eine einzelne CPU in eine Multitasking Maschine die unz hlige Programme scheinbar zur gleichen Zeit ausf hren kann Die Kernel Header definieren die Schnittstelle zu den Diensten des Kernels Die Header in dem include Ordner Ihres Systems sollten immer diejenigen sein mit denen die Glibc kompiliert wurde und sollten daher bei einem Kernelupgrade nicht ersetzt werden Die Datei System map enth lt eine Liste von Adressen und Symbolen Sie ordnet Einstiegspunkte und Adressen aller Funktionen und Datenstrukturen dem entsprechenden Kernel zu 174 Linux From Scratch Version 5 1 1 Das LFS System bootf hig mach
103. chen IP Adresse an ein Netzwerkger t zur Verf gung Das swap Skript aktiviert und deaktiviert Swap Dateien und Partitionen Das sysklogd Skript startet und stoppt die System und Kernel Log D monen Das template Skript ist eine Vorlage die Sie verwenden k nnen um Ihre eigenen Bootskripte f r eigene D monen zu schreiben 162 Linux From Scratch Version 5 1 1 Wie funktioniert der Bootvorgang mit diesen Skripten Linux benutzt eine spezielle Booteinrichtung mit dem Namen SysVinit Es basiert auf dem Konzept der Runlevel Dieses Konzept kann von System zu System stark variieren Man kann nicht einfach annehmen weil Dinge in lt hier Distributionsnamen einsetzen gt funktionieren tun sie das auch in LFS LFS hat seinen eigenen Weg wie diese Dinge funktionieren aber grunds tzlich respektieren wir die allgemein blichen Standards SysVinit wir nennen es nun einfach nur init funktioniert nach dem Runlevel Schema Es gibt 7 Runlevel von 0 bis 6 genaugenommen gibt es sogar mehr aber diese sind f r Spezialf lle reserviert und werden blicherweise nicht benutzt Die Man page von init beschreibt diese Details genauer Jeder Runlevel korrespondiert mit Dingen die der Computer beim Hochfahren ausf hren soll Der Standard Runlevel ist 3 Hier ist eine Beschreibung wie die verschiedenen Runlevel blicherweise eingesetzt werden F hrt den Computer herunter Ein Benutzer Modus Mehr Benutzer Modus ohne Netzwerk Mehr Benut
104. cherweise wird es mit dem groff Kommando aufgerufen welches auch Pr prozessoren und Postprozessoren in der richtigen Reihenfolge und mit den richtigen Optionen aufruft zsoelim ist die GNU Implementierung von soelim 107 Linux From Scratch Version 5 1 1 Sed 4 0 9 Das Paket Sed enth lt einen Stream Editor Approximate build time 0 2 SBU Required disk space Om 2 MB Sed ist abh ngig von Bash Binutils Coreutils Diffutils GCC Gettext Glibc Grep Make Texinfo Installieren von Sed Bereiten Sie Sed zum Kompilieren vor configure prefix usr bindir bin Kompilieren Sie das Paket make Um das Ergebnis zu pr fen f hren Sie das Kommando make check aus Installieren Sie das Paket make install Inhalt von Sed Installiertes Programm sed Kurze Beschreibung sed wird zum Filtern und Transformieren von Dateien in einem einzigen Durchlauf verwendet 108 Linux From Scratch Version 5 1 1 Flex 2 5 4a Das Programm Flex wird benutzt um Programme zu erzeugen die Muster in Texten erkennen k nnen Approximate build time 0 1 SBU Required disk space 3 4 MB Flex ist abh ngig von Bash Binutils Bison Coreutils Diffutils GCC Gettext Glibc Grep M4 Make Sed Installation von Flex Bereiten Sie Flex zum Kompilieren vor configure prefix usr Kompilieren Sie das Paket make Zum Durchlaufen der Testsuite k nnen Sie dieses Kommando benutzen make bigcheck Installieren Sie
105. cratch org Server stellt einige Mailinglisten f r die Entwicklung des LFS Projektes bereit Unter anderem befinden sich dort auch die Entwickler und Support Mailinglisten Welche Listen es gibt wie Sie eine Liste abonnieren k nnen wo Sie die Archive finden und vieles mehr erfahren Sie unter http www linuxfromscratch org mail html News Server Alle Mailinglisten von linuxfromscratch org sind auch ber das NNTP Protokoll verf gbar Alle E Mails an die Mailinglisten werden in die dazugeh rige Newsgruppe kopiert und umgekehrt Der News Server ist erreichbar unter news linuxfromscratch org Wiki Weitere Informationen zu Paketen neueren Versionen Einstellm glichkeiten pers nliche Erfahrungen und vieles mehr finden Sie in unserem LFS W iki unter http wiki linuxfromscratch org Sie k nnen dort auch eigene Informationen hinzuf gen und auf diese Weise anderen Benutzern helfen Referenzen Wenn Sie noch detailliertere Informationen zu Paketen brauchen werden Sie auf dieser Seite hilfreiche Links finden http www 109bean org uk LFS references html Softwarespiegel Das LFS Projekt hat viele Softwarespiegel ber die ganze Welt verteilt die die Website zur Verf gung stellen und den Download der ben tigten Programme vereinfachen Bitte besuchen Sie http www linuxfromscratch org um eine Liste der aktuellen Softwarespiegel einzusehen Kontakt Bitte senden Sie alle Fragen und Kommentare direkt an eine der LFS Mailinglisten
106. cription p 97 description p 155 description p 149 description p 90 description p 149 description p 133 description p 155 description p 107 description p 155 description p 90 description p 133 description p 143 description p 141 description p 103 description p 140 description p 118 description p 139 description p 139 description p 139 description p 139 description p 131 description p 135 description p 155 description p 90 description p 121 description p 152 description p 121 description p 90 description p 133 description p 90 description p 155 mkfs bfs mkfs cramfs mkfs minix mkinstalldirs mklost found mknod mkpasswd mkswap mktemp mk_cmds mmroff modinfo modprobe more mount msgattrib msgcat msgemp msgcomm msgconv msgen msgexec msgfilter msgfmt msggrep msginit msgmerge msgunfmt msgunig mt mtrace mv mve awk namei nameif negn netstat newgrp newusers ngettext nice nisdomainname nl nm nohup nroff nscd nscd_nischeck objcopy objdump od openvt passwd paste patch pathchk pcprofiledump perl perlbug perlcc perldoc perlivp pfbtops Util linux 2 12a p 154 Util linux 2 12a p 154 Util linux 2 12a p 154 Automake 1 8 4 p 121 E2fsprogs 1 35 p 132 Coreutils 5 2 1 p 88 Shadow 4 0 4 1 p 147 Util linux 2 12a p 154 Mktemp 1 5 p 95 E2fsprogs 1 35 p 132 Groff 1 19 p 106 Modutils
107. d Texinfo Installieren von Glibc Dieses Paket funktioniert nicht gut wenn nicht die Standard Optimierungseinstellungen inklusive der Optionen march und mcpu benutzt werden Deshalb sollten eventuell gesetzte Umgebungsvariablen die die Standardoptimierung berschreiben zum Beispiel CFLAGS und CXXFLAGS f r den Kompiliervorgang zur ckgesetzt oder entsprechend abge ndert werden Grunds tzlich gilt weichen Sie von dem in diesem Buch beschriebenen Weg zum Kompilieren von Glibc ab dann riskieren Sie die Stabilit t Ihres gesamten LFS Systems Die Glibc Dokumentation empfiehlt nicht im Quellordner sondern in einem gesonderten Ordner zu kompilieren mkdir glibc build cd glibc build Als n chstes bereiten Sie Glibc zum Kompilieren vor glibc 2 3 3 1fs 5 1 configure prefix tools disable profile enable add ons linuxthreads with binutils tools bin with headers tools include without gd without cvs Die Bedeutung der configure Parameter disable profile Dies sorgt daf r dass die Bibliotheken ohne Profiling Informationen erzeugt werden Lassen Sie diese Option weg wenn Sie mit den erzeugten Bibliotheken Profiling betreiben m chten e enable add ons linuxthreads Dies aktiviert Zus tze die zu Glibc installiert wurden in unserem Fall Linuxthreads e with binutils tools bin und with headers tools include Genaugenommen werden diese Optionen nicht ben tigt Aber sie stellen sicher da
108. d awk und sh in einer einzigen universellen Sprache perlbug wird zum Erzeugen und Emailen von Fehlerberichten zu Perl oder seinen Modulen verwendet perlcc erzeugt ausf hrbare Dateien aus Perl Programmen perldoc zeigt Teile einer Dokumentation im pod Format an perlivp ist die Perl Installations pr fprozedur Damit wird gepr ft ob Perl und seine Bibliotheken korrekt installiert wurden piconv ist die Perl Version des Zeichensatz Konverters iconv pl2pm ist ein Hilfsmittel zum konvertieren von Perl4 pl Dateien zu Perl5 pm Modulen pod2html konvertiert pod Dateien in das Html Format pod2latex konvertiert Dateien im Pod Format nach LaTeX pod2man konvertiert Pod Daten zu formatiertem roff input pod2text konvertiert Pod Daten in formatierten ASCII Text pod2usage gibt Benutzungshinweise aus eingebetteten Pod Dokumenten in Dateien aus podchecker pr ft die Syntax einer Pod Dokumentation podselect zeigt ausgew hlte Bereiche einer Pod Dokumentation an psed ist die Perl Version des Stream Editors sed pstruct gibt C Strukuten aus die von cc g S erzeugt wurden s2p bersetzt sed zu perl splain wird zur Analyse von Warnungen in Perl benutzt xsubpp konvertiert Perl XS Kode zu C Kode 117 Linux From Scratch Version 5 1 1 Texinfo 4 7 Das Paket Texinfo enth lt Programme zum Lesen Schreiben und Konvertieren von Info Dokumenten Systemdokumentation Approximate build time 0 2 SBU Required disk space 17 MB
109. d konvertiert sie mit Hilfe von etc localtime falls die Hardware Uhr auf GMT gestellt ist in lokale Zeit Wenn die Hardware Uhr auf lokale Zeit eingestellt ist wird die Zeit nicht konvertiert Es gibt leider keinen Weg automatisch herauszufinden ob die Hardware Uhr auf GMT gestellt ist oder nicht deshalb m ssen wir das selber konfigurieren ndern Sie den Wert von UTC zu 0 Null wenn Ihre Hardware Uhr nicht auf GMT Zeit eingestellt ist Legen Sie die neue Datei etc sysconfig clock mit dem folgenden Kommando an cat gt etc sysconfig clock lt lt EOF Begin etc sysconfig clock Wei End etc sysconfig clock EOF Vielleicht m chten Sie sich nun die sehr gute Anleitung unter http www linuxfromscratch org hints downloads files time txt ansehen sie erkl rt sehr gut wie man unter LFS mit der Systemzeit umgeht Sie erkl rt Dinge wie Zeitzonen UTC und die TZ Umgebungsvariable 164 Linux From Scratch Version 5 1 1 Brauche ich das loadkeys Skript Falls Sie sich in Chapter 8 p 171 entschieden haben das Tastaturlayout in den Kernel fest einzubinden dann brauchen Sie genau genommen dieses Skript nicht weil der Kernel das Tastaturlayout bereits f r Sie l d Sie k nnen es aber trotzdem ausf hren es schadet nicht Es kann sogar hilfreich sein zum Beispiel wenn Sie viele verschiedene Kernel haben und das Tastaturlayout nicht immer fest einkompilieren wollen Wenn Sie sich entscheiden dass loadkeys Skript nicht
110. danach von Autoconf benutzt werden k nnen Approximate build time 0 2 SBU Required disk space 6 8 MB Automake ist abh ngig von Autoconf Bash Coreutils Diffutils Grep M4 Make Perl Sed Installation von Automake Bereiten Sie Automake zum Kompilieren vor configure prefix usr Kompilieren Sie das Paket make Zum Testen der Ergebnisse k nnen Sie das Kommando make check benutzen Dies dauert recht lange etwa 5 SBUs Installieren Sie das Paket make install Inhalt von Automake Installierte Programme acinstall aclocal aclocal 1 8 automake automake 1 8 compile config guess config sub depcomp elisp comp install sh mdate sh missing mkinstalldirs py compile symlink tree ylwrap Kurze Beschreibung acinstall ist ein Skript welches M4 Dateien im aclocal Stil installiert aclocal erzeugt basierend auf dem Inhalt von configure in Dateien entsprechende aclocal m4 Dateien automake ist ein Werkzeug zum automatischen Erzeugen von Makefile in s aus sog Makefile am Dateien Um alle Makefile in Dateien eines Pakets zu erzeugen lassen Sie dieses Programm im Basisordner des Pakets laufen Durch das Scannen von configure in findet es automatisch jede n tige Makefile am Datei und erzeugt die entsprechende Makefile in Datei compile ist ein Wrapper f r Compiler config guess ist ein Skript Es versucht kanonische Tripplets f r das Build den Host oder die Zielarchitektur zu erraten config sub i
111. die eine festgelegte Mindestgr e haben Voreinstellung ist 4 Bei Objektdateien gibt es in der Voreinstellung nur die Zeichenketten aus den Initialisierungs und Ladeabschnitten aus Bei anderen Dateitypen durchsucht es die gesamte Datei strip verwirft Symbole aus Objektdateien libiberty enth lt Routinen die von verschiedenen GNU Programmen genutzt werden inklusive getopt obstack strerror strtol und strtoul libbfd ist die Bibliothek f r Bin rdateibezeichner libopcodes ist eine Bibliothek zur Behandlung von Obcodes Sie wird zum Erzeugen von Werkzeugen wie z B objdump benutzt Obcodes sind die Text Versionen der Prozessorinstruktionen 85 Linux From Scratch Version 5 1 1 GCC 3 3 3 Das Paket GCC enth lt die GNU Compiler Sammlung die auch die C und C Compiler beinhaltet Approximate build time 11 7 SBU Required disk space 294 MB GCC ist abh ngig von Bash Binutils Coreutils Diffutils Findutils Gawk Gettext Glibc Grep Make Perl Sed Texinfo Installieren von GCC Dieses Paket funktioniert nicht gut wenn nicht die Standard Optimierungseinstellungen inklusive der Optionen march und mcpu benutzt werden Deshalb sollten eventuell gesetzte Umgebungsvariablen die die Standardoptimierung berschreiben zum Beispiel CFLAGS und CXXFLAGS f r den Kompiliervorgang zur ckgesetzt oder entsprechend abge ndert werden Entpacken Sie die Archive GCC core und GCC g sie entpacken sich in den gleich
112. die gemeinsamen Bibliotheken make install libs Inhalt von E2fsprogs Installierte Programme badblocks blkid chattr compile_et debugfs dumpe2fs e2fsck e2image e2label findfs fsck fsck ext2 fsck ext3 logsave Isattr mk_cmds mke2fs mkfs ext2 mkfs ext3 mklost found resize2fs tune2fs und uuidgen Installierte Bibliotheken libblkid a so libcom_err a so libe2p a so libext2fs a so libss a so und libuuid a so Kurze Beschreibung 132 Linux From Scratch Version 5 1 1 badblocks durchsucht ein Ger t blicherweise eine Festplatte nach defekten Bl cken blkid ist ein Kommandozeilenprogramm zum Auffinden und Ausgeben der Eigenschaften eines Blockger tes chattr ndert Dateiattribute auf second extended ext2 Dateisystemen compile_et ist ein Fehlertabellen Compiler Er konvertiert eine Tabelle mit Fehlercode Namen und Meldungen in eine C Quelldatei die dann mit der com_err Bibliothek verwendet werden kann debugfs ist ein Dateisystemdebugger Er kann benutzt werden um den Status eines ext2 Dateisystems zu untersuchen und zu ver ndern dumpe2fs gibt Informationen zum Superblock und zu Blockgruppen des Dateisystems auf einem bestimmten Ger t aus e2fsck wird zum Pr fen und Reparieren von ext2 und ext3 Dateisystemen benutzt e2image wird zum Speichern von kritischen ext2 Dateisystemdaten in eine Datei verwendet e2label zeigt oder ver ndert das Label eines Dateisystems auf dem angegebenen Ger
113. dircolors Bison 1 875 p 104 E2fsprogs 1 35 p 132 Util linux 2 12a p 154 Bzip2 1 0 2 BU 1 0 2 p 126 p 126 2 p 126 Bzip2 l 0 2 p 126 Bzip2 1 0 2 p 126 Bzip2 1 0 2 p 126 Bzip2 1 0 2 p 126 Bzip2 1 0 2 p 126 Bzip2 1 0 2 p 126 Binutils 2 14 p 84 Perl 5 8 4 p 116 Util linux 2 12a p 154 Ncurses 5 4 p 99 Coreutils 5 2 1 p 88 Glibc 2 3 3 lfs 5 1 p 77 Util linux 2 12a p 154 Shadow 4 0 4 1 p 147 E2fsprogs 1 35 p 132 Shadow 4 0 4 1 p 147 Coreutils 5 2 1 p 88 Util linux 2 12a p 154 Coreutils 5 2 1 p 88 Coreutils 5 2 1 p 88 Shadow 4 0 4 1 p 147 Coreutils 5 2 1 p 88 Shadow 4 0 4 1 p 147 Kbd 1 12 p 130 Coreutils 5 2 1 p 88 Ncurses 5 4 p 99 Diffutils 2 8 1 p 128 Findutils 4 1 20 p 97 Util linux 2 12a p 154 Util linux 2 12a p 154 Util linux 2 12a p 154 Util linux 2 12a p 154 Coreutils 5 2 1 p 88 Automake 1 8 4 p 121 E2fsprogs 1 35 p 132 Gettext 0 14 1 p 110 Automake 1 8 4 p 121 Gettext 0 14 1 p 110 Automake 1 8 4 p 121 Coreutils 5 2 1 p 88 GCC 3 3 3 p 86 Coreutils 5 2 1 p 88 Util linux 2 12a p 154 Coreutils 5 2 1 p 88 Util linux 2 12a p 154 Coreutils 5 2 1 p 88 Coreutils 5 2 1 p 88 Util linux 2 12a p 154 Kbd 1 12 p 130 E2fsprogs 1 35 p 132 Automake 1 8 4 p 121 Modutils 2 4 27 p 141 Coreutils 5 2 1 p 88 Diffutils 2 8 1 p 128 Diffutils 2 8 1 p 128 Coreutils 5 2 1 p 88 Coreutils 5 2 1 p 88 183 Linux From Scratch Version 5 1 1 description p 104 de
114. e Dateien der Form ifconfig xyz enthalten wobei xyz der Name eines Netzwerkger tes ist wie zum Beispiel ethO oder eth0 1 Wenn Sie den Ordner etc sysconfig network devices umbenennen oder verschieben m chten aktualisieren Sie auch in der Datei etc sysconfig rc den Pfad zu network_devices Nun erzeugen wir neue Dateien Das folgende Kommando erzeugt die Beispieldatei ifconfig eth0 cat gt etc sysconfig network devices ifconfig eth0 lt lt EOF ONBOOT yes SERVICE static WPS 192 o 168 il dl N B EMMASK 255 52555255 0 ROADCAST 192 168 1 255 EOF Nat rlich m ssen die Werte der Variablen in jeder Datei angepasst werden um mit der tats chlichen Systemkonfiguration bereinzustimmen Wenn die ONBOOT Variable auf yes gesetzt ist wird das network Skript die Netzwerkkarte beim booten starten Wenn sie auf irgendeinen anderen Wert gesetzt wird ignoriert das Skript dieses Ger t und startet es dementsprechend auch nicht Der Eintrag SERVICE stellt ein wie die IP Adresse vergeben wird Die LFS Bootskripte sind in Bezug auf IP Adressen Zuweisung modular aufgebaut Durch das Erstellen weiterer Dateien in etc sysconfig network devices services K nnen Sie weitere Zuweisungsmethoden definieren Das k nnten Sie z B tun um DHCP zu nutzen wird im BLFS Buch beschrieben Erstellen der Datei etc resolv conf Wenn Sie mit dem Internet verbunden sind brauchen Sie h chstwahrscheinlich DNS Namensaufl sung um Internet
115. e durs andere ne en FFR einen ste danse den en tunes NN 104 ERON Yu ne E A a Y de ss 105 Groffel 19er yao 106 Sed 4 0 9 nes essen en eng ere etudes 108 Pl eX 2 54 i u een erstma A FYD 109 Gettext 0 14 1 2 taten Br E e I Rp ol 110 Net t6015 1 60 uii ss ioi tee la de diese E Ri Ran don note dea date YD des tay 112 netutls L42 er 2 ange NT ten GY teen ee LE nent est en ne 114 Perles 8 ss re vived sind ne TN so pease y pen cau en RT ele in Ge Tm ta Lu mess 116 Teximtoe EE NS sn dn Fd En Fun nd a OR Re nt D ss 118 AULOCONLE ZI RER EIER RE eo ND Ui A E es 120 Automake l Sid Y sas een ys vane se tan tn Anne don ee st NES 121 Bash 2 036 Sr nan nd Me ten I dees dec etapa te Onde ts cided 123 FIlE 4 09 iie oeu an yell maces einst lebe mette ds Se dd fn ea se 124 Eibtool 1 5 6 sise TAD dd nt se Rte ddd LG en rss Meee here 125 Bzip2 1 02 2 ereignete Rte side FYNN YD 126 Diffutls 2 8 1 22er ine euer ea sn RR in Feet oes 128 Jare E O u sb ee eiieksetksssht 129 i lt a 09 PR nette one en neo ler NEFOEDD 130 E2fspro8S 1 39 2 1 4 me Keen se AT CHYN AFR EEE NYTH TEPS 132 Gre pa ZN l ania ee dn o en a tnt Meee Reno eet wa nee a An NN ee sent ES 134 Grub 0 94 25 ST ata DF dg UC Ra a o tn en a Gn Re 135 GAP ME Ho Lise WYNO Y HNN YCHEN FM E de rente AFON PEN WED ne ne tee nates 136 Man 1 502 2 y yd yn du dd ddu Ny ae rege 138 Make a 80 233 2 Bela Hanni Brest er Pet DA YF dda 140 Moditilsc2 4227 cs hiv ean oe Ri ns Here A eS Dd Ne ate 141 P tc
116. e keine symbolischen Links usr include linux asm haben 75 Linux From Scratch Version 5 1 1 Man pages 1 66 Das Paket Man pages enth lt ber 1200 Hilfetexte Approximate build time 0 1 SBU Required disk space 15 MB Man pages ist abh ngig von Bash Coreutils Make Installation der Man pages Installieren Sie die Man pages durch Ausf hren von make install Inhalt von Man pages Installierte Dateien verschiedene Hilfeseiten Kurze Beschreibung Man pages enth lt beispielsweise die Hilfeseiten zu allen C und C Funktionen wichtigen Ger te und Konfigurationsdateien 76 Linux From Scratch Version 5 1 1 Glibc 2 3 3 Ifs 5 1 Glibc ist die C Bibliothek Sie stellt Systemaufrufe und grundlegende Funktionen zur Verf gung z B das Zuweisen von Speicher Durchsuchen von Ordnern ffnen und Schlie en sowie Schreiben von Dateien Zeichenkettenverarbeitung Mustererkennung Arithmetik etc Die C Bibliothek wird von allen dynamisch gelinkten Programmen verwendet Approximate build time 12 3 SBU Required disk space 784 MB Glibc ist abh ngig von Bash Binutils Coreutils Diffutils Gawk GCC Gettext Grep Make Perl Sed Texinfo Installieren von Glibc Das Installationssystem der Glibc ist sehr eigenst ndig und installiert perfekt selbst wenn die Specs Datei unseres Compilers und der Linker immer noch auf tools verweisen Wir k nnen die Specs Datei und den Linker nicht vor der Installation von
117. e m ssten dieses Kommando allerdings jedesmal ausf hren wenn Sie einen neuen Kernel entpacken loadkeys m usr share kbd keymaps defkeymap map gz gt unpacked sources dir linux 2 4 26 drivers char defkeymap c Inhalt von Kbd Installierte Programme chvt deallocvt dumpkeys fgconsole getkeycodes getunimap kbd_mode kbdrate loadkeys Loadunimap mapscrn openvt psfaddtable Link auf psfxtable psfgettable link auf psfxtable psfstriptable Link auf psfxtable psfxtable resizecons setfont setkeycodes setleds setlogcons setmetamode setvesablank showconsolefont showkey unicode_start und unicode_stop 130 Linux From Scratch Version 5 1 1 Kurze Beschreibung chvt ndert das vordergr ndige Virtuelle Terminal deallocvt zieht zugewiesene unbenutzte Virtuelle Terminals zur ck dumpkeys gibt Tastatur bersetzungstabellen aus fgconsole gibt die Nummer des aktiven Virtuellen Terminals aus getkeycodes gibt die scancode zu keycode Zuweisungstabelle des Kernels aus getunimap gibt die aktuell verwendete Unimap aus kbd_mode setzt den Tastaturmodus bzw zeigt ihn an kbdrate setzt die Tastenwiederholrate und pausen oder zeigt sie an loadkeys l dt Tastatur bersetzungstabellen loadunimap l dt eine unicode zu Schrift Zuweisungstabelle des Kernels mapscrn ist ein veraltetes Programm das benutzerdefinierte Zeichenausgabezuweisungstabellen in den Konsoletreiber l dt Dies wird nun durch setfont erledigt op
118. e nicht wissen was Sie w hrend dem Ausf hren von make config auf die Fragen antworten sollen dann akzeptieren Sie einfach die Voreinstellungen Diese sind in den meisten F llen richtig Sie werden gefragt werden welche Netzwerkprotokolle Sie im Kernel aktiviert haben Die Standardantworten aktivieren die Programme mit den g ngigen Protokollen TCP PPP und einigen anderen Sie m ssen diese Protokolle dann noch im Kernel aktivieren was Sie hier tun ist nur die Vorbereitung der Programme damit Sie diese Protokolle sp ter benutzen k nnen aber es ist immer noch Sache des Kernels diese Protokolle auch wirklich verf gbar zu machen Beheben Sie zuerst ein kleines Problem in den Quellen des mii tool Hilfsprogramms patch Npl i net tools 1 60 miitool gcc33 1 patch Bereiten Sie nun Net tools zum Kompilieren vor wenn Sie generell die Standardwerte annehmen m chten die Ihnen von make config vorgeschlagen werden dann k nnen Sie stattdessen auch yes make config ausf hren make config Kompilieren Sie das Paket make Installieren Sie es make update Inhalt von Net tools Installierte Programme arp dnsdomainname Llink auf hostname domainname Link auf hostname hostname ifconfig nameif netstat nisdomainname Link auf hostname plipconfig rarp route slattach und ypdomainname Link auf hostname Kurze Beschreibung arp wird zum Manipulieren des ARP Cache des Kernels verwendet Normalerweise zum Hinzuf gen oder
119. e von Links f r Sie zusammengestellt e Beyond Linux From Scratch Das Buch Beyond Linux From Scratch befasst sich mit der Installation einer Menge Software die den Rahmen des LFS Buches sprengen wiirde Das BLFS Projekt finden Sie unter http www linuxfromscratch org blfs e LFS Hints Die LFS Hints sind eine Sammlung von niitzlichen Anleitungen und Tipps die von Freiwilligen aus der LFS Gemeinschaft eingereicht wurden Die Anleitungen sind verf gbar unter http www linuxfromscratch org hints list html e Mailinglisten Es gibt einige Mailinglisten die Sie abonnieren k nnen wenn Sie mal Hilfe ben tigen Schauen Sie f r weitere Informationen unter Chapter 1 Mailing lists p 6 nach e Das Linux Documentation Project Das Ziel des Linux Documentation Project ist es in allen Fragen zu Linux zusammenzuarbeiten Das LDP verf gt ber jede Menge an HOWTOs Anleitungen und Man pages Sie finden es unter http www tldp org 180 Linux From Scratch Version 5 1 1 Index of packages and important installed files Packages Autoconf Automake Bash Werkzeuge Binutils Werkzeuge Durchlauf 1 Werkzeuge Durchlauf 2 Bison Boot Skripte Anwendung Bzip2 Werkzeuge Coreutils Werkzeuge DejaGnu Diffutils Werkzeuge E2fsprogs Ed Expect File Findutils Werkzeuge Flex Gawk Werkzeuge GCC Werkzeuge Durchlauf 1 Werkzeuge Durchlauf 2 GCC 2953 Gettext Werkze
120. eat net projects gcc GCC g 3 3 3 2 026 KB http freshmeat net projects gcc GCC testsuite 3 3 3 1 051 KB http freshmeat net projects gcc Gettext 0 14 1 6 397 KB http freshmeat net projects gettext Glibc 2 3 3 lfs 5 1 13 101 KB Siehe Hinweis 2 weiter unten http freshmeat net projects glibc Grep 2 5 1 545 KB http freshmeat net projects grep Groff 1 19 2 360 KB http freshmeat net projects groff Grub 0 94 902 KB ftp alpha gnu org pub gnu grub Gzip 1 3 5 324 KB ftp alpha gnu org gnu gzip Iana Etc 1 00 161 KB http freshmeat net projects iana etc Inetutils 1 4 2 1 019 KB http freshmeat net projects inetutils Kbd 1 12 617 KB http freshmeat net projects kbd Less 382 259 KB http freshmeat net projects less LFS Bootscripts 2 0 5 32 KB http downloads linuxfromscratch org Libtool 1 5 6 2 602 KB http freshmeat net projects libtool Linux 2 4 26 30 051 KB http freshmeat net projects linux M4 1 4 310 KB http freshmeat net projects gnum4 Make 3 80 899 KB http freshmeat net projects gnumake Make_devices 1 2 20 KB http downloads linuxfromscratch org Man 1 5m2 196 KB http freshmeat net projects man Man pages 1 66 1 582 KB http freshmeat net projects man pages Mktemp 1 5 69 KB http freshmeat net projects mktemp Modutils 2 4 27 229 KB
121. efix tools disable nls enable shared enable languages c Die Bedeutung der configure Parameter with local prefix tools Der Sinn dieses Schalters ist es usr local include aus dem Suchpfad von gce zu entfernen Dies ist nicht absolut zwingend erforderlich jedoch m chten wir m gliche Einfl sse aus dem Host System vermeiden daher ist diese Option hier wichtig e enable shared Dieser Schalter scheint hier erstmal nicht besonders einleuchtend Aber durch ihn kompilieren wir sowohl Libgcc_s so 1 als auch libgcc_eh a und die Pr senz von libgcc_eh a stellt sicher dass das configure Skript f r Glibc das n chste zu kompilierende Paket korrekte Ergebnisse erzielt Beachten Sie dass gee selbst trotzdem statisch gelinkt wird dies wird durch den Parameter static in BOOT_LDFLAGS im n chsten Schritt erreicht e enable languages c Diese Option stellt sicher dass nur der C Compiler gebaut wird Diese Option wird nur ben tigt wenn Sie das komplette GCC Archiv heruntergeladen und entpackt haben Fahren Sie mit dem Kompilieren des Pakets fort make BOOT_LDFLAGS static bootstrap Die Bedeutung der make Parameter e BOOT_LDFLAGS static Dies weist GCC an seine Programme statisch zu verlinken e bootstrap Dieses make Target kompiliert GCC nicht einfach nur sondern kompiliert gleich mehrmals GCC benutzt die im ersten Durchlauf erzeugten Programme um sich im zweiten Durchlauf selbst damit zu kompilieren Darauf f
122. einen Umst nden berspringen Testen Sie das Ergebnis make check Die Anmerkungen zur Testsuite aus Glibc 2 3 3 lfs 5 1 p 35 gelten nat rlich auch hier Schlagen Sie dort nach falls Sie irgendwelche Zweifel haben Auch wenn es nur eine harmlose Nachricht ist die Installationsroutine von Glibc wird sich ber die fehlende Datei etc ld so conf beschweren Beheben Sie diese st rende Warnung mit 77 Linux From Scratch Version 5 1 1 touch etc ld so conf Und installieren Sie das Paket make install Die Locales wurden durch das obige Kommando nicht installiert Holen Sie das nach make localedata install locales Als Alternative zu dem vorigen Kommando k nnen Sie auch nur die von Ihnen ben tigten oder gew nschten Locales installieren Das erreichen Sie mit dem Kommando localedef Informationen dazu finden Sie in der Datei INSTALL in den Quellen zu Glibc Jedoch gibt es einige Locales die essentiell f r die Tests von weiteren Paketen sind im einzelnen die libstdc Tests von GCC Die folgenden Anweisungen anstelle des oben verwendeten Targets install locales installieren einen minimalen Satz von Locales die notwendig sind um die nachfolgenden Tests erfolgreich durchf hren zu k nnen mkdir p usr lib locale localedef i de DE f ISO 8859 1 de DE localedef i de DE euro f ISO 8859 15 de_DE euro localedef i en HK f ISO 8859 1 en HK localedef i en PH f ISO 8859 1 en PH localedef i en US f ISO 8859 1 en
123. eken installiert sind wollen wir alle Werkzeuge die im Rest des Kapitels kompiliert werden gegen diese Bibliotheken verlinken Um das zu erreichen m ssen wir den Linker und die Specs Datei des Compilers anpassen Manche Leute meinen das untenstehende w re Schwarze Magie aber in Wirklichkeit ist es ganz einfach Installieren Sie zuerst den angepassten Linker die Anpassung haben Sie am Schluss des ersten Binutils Durchlaufs durchgef hrt in dem Sie folgendes Kommando im Ordner binutils build ausf hren make C ld install Von diesem Punkt an wird alles ausschliesslich gegen die Bibliotheken in fools lib verlinkt Anmerkung CE Falls Sie die Warnung die Binutils Ordner nicht zu l schen bersehen haben oder Sie vielleicht versehentlich gel scht haben seien Sie unbesorgt Es ist noch nicht alles verloren Ignorieren Sie das obige Kommando einfach Die Folge davon ist ein gewisses Risiko dass nachfolgende Programme gegen Bibliotheken auf dem Host System gelinkt werden Das ist nicht ideal aber auch kein allzu grosses Problem Die Situation wird korrigiert wenn wir sp ter den zweiten Durchlauf der Binutils installieren Nun da der angepasste Linker installiert ist m ssen Sie die Binutils Ordner l schen Als n chstes m ssen Sie die GCC Specs Datei erg nzen so dass sie den neuen dynamischen Linker referenziert Ein einfaches sed Kommando erledigt diese Aufgabe SPECFILE tools lib gcc lib specs amp amp sed
124. en Ihr frisches LFS System ist nun beinahe fertig Eines der letzten Dinge ist sicherzustellen dass es booten kann Die untenstehende Anleitung gilt nur auf Computern mit IA32 Architektur dazu geh ren alle handels blichen PCs Informationen zum boot loading auf anderen Architekturen finden Sie in den blichen Dokumentationsquellen zu diesen Architekturen Das booten kann ein komplexes Thema sein Hier erstmal ein paar warnende Worte Sie sollten mit Ihrem jetzigen Bootloader und den Betriebssystemen die Sie weiter verwenden wollen vertraut sein Halten Sie bitte eine Notfalldiskette bereit damit Sie Ihren Computer starten k nnen falls Ihr Computer aus irgendwelchen Gr nden unbrauchbar wird weil er zum Beispiel nicht mehr bootet Bereits einige Schritte vorher haben wir den Grub Bootloader in Vorbereitung zu diesem Schritt installiert In dieser Prozedur m ssen ein paar Grub Dateien an spezielle Orte auf der Festplatte kopiert werden Bevor wir dazu kommen empfehlen wir dass Sie eine Grub Boot Diskette erstellen nur f r den Fall der F lle Legen Sie eine leere Diskette ein und f hren Sie dieses Kommando aus dd if boot grub stagel of dev fd0 bs 512 count 1 dd if boot grub stage2 of dev fd0 bs 512 seek 1 Entfernen Sie die Diskette und bewahren Sie sie an einem sicheren Ort auf Wir starten nun die grub Shell grub Grub verwendet ein eigenes Schema der Form hdn m zur Benennung von Festplatten und Partitionen wobei n d
125. en Vergleichen Sie zum Beispiel man tar und info tar infokey kompiliert eine Ouelldatei mit Info Anpassungen in ein bin res Format install info wird zum Installieren von Info Dateien benutzt Es aktualisiert die Eintr ge in der Info Indexdatei makeinfo iibersetzt Texinfo Ouelldokumente in verschiedene andere Formate Info Dateien reiner Text oder HTML 118 Linux From Scratch Version 5 1 1 texi2dvi wird zum Formatieren von Texinfo Dokumenten in ein Ger teunabh ngiges Format zum Drucken benutzt texindex sortiert Texinfo Indexdateien 119 Linux From Scratch Version 5 1 1 Autoconf 2 59 Autoconf erstellt Shell Skripte die automatisch Quelltexte Konfigurieren Approximate build time 0 5 SBU Required disk space 7 7 MB Autoconf ist abh ngig von Bash Coreutils Diffutils Grep M4 Make Perl Sed Installation von Autoconf Bereiten Sie Autoconf zum Kompilieren vor configure prefix usr Kompilieren Sie das Paket make Zum Testen der Ergebnisse k nnen Sie das Kommando make check benutzen Dies dauert lange etwa 2 SBUs Installieren Sie das Paket make install Inhalt von Autoconf Installierte Programme autoconf autoheader autom4te autoreconf autoscan autoupdate und ifnames Kurze Beschreibung autoconf ist ein Werkzeug zum Erzeugen von Shell Skripten die automatisch Quellcode Pakete konfigurieren um sie an unterschiedliche Unix System anzupassen Die erzeugten configure Skripte sind
126. en s durchsehen und Ihre eigene Kernelkonfiguration frisch einrichten Um POSIX shared memory Unterst tzung zu haben m ssen Sie im Kernel die Option Virtual memory file system support einschalten Diese finden Sie im File systems Men und ist blicherweise eingeschaltet berpr fen Sie die Abh ngigkeiten und erzeugen Sie die entsprechenden Abh ngigkeitsdateien make CC opt gcc 2 95 3 bin gcc dep Kompilieren Sie das Kernel Abbild make CC opt gcc 2 95 3 bin gcc bzImage Kompilieren Sie die Treiber die als Modul konfiguriert wurden make CC opt gcc 2 95 3 bin gcc modules Wenn Sie planen Kernel Module zu verwenden dann brauchen Sie die Datei etc modules conf Informationen betreffend Module und Kernelkonfiguration im allgemeinen finden Sie in der Kernel Dokumentation Sie finden Sie im Ordner linux 2 4 26 Documentation Die modules conf Man page und das Kernel HOWTO unter http www tldp org HOWTO Kernel HOWTO html k nnten f r Sie auch von Interesse sein Installieren Sie die Module make CC opt gcc 2 95 3 bin gcc modules install Wenn Sie viele Module aber daf r wenig Festplattenspeicher haben k nnen Sie die Module strippen und komprimieren Fiir die meisten ist Komprimieren den Aufwand nicht wert aber wenn Sie wirklich Platzprobleme haben dann schauen Sie unter http www linux mips org archives linux mips 2002 04 msg00031 html 173 Linux From Scratch Version 5 1 1 Weil ohne Dokumentation nic
127. en Benutzers aus Is zeigt den Inhalt der angegebenen Ordner an In der Voreinstellung werden Dateien und Ordner alphabetisch sortiert md5sum erzeugt eine MD5 Priifsumme Message Digest 5 bzw zeigt sie an mkdir erzeugt Ordner mit den angegebenen Namen mkfifo erzeugt FIFO s First In First Out eine sogenannte named Pipe im UNIX Sprachgebrauch mit dem angegebenen Namen mknod erzeugt eine Ger tedatei mit dem angegebenen Namen Eine Ger tedatei ist eine spezielle zeichen oder blockorientierte Datei oder ein FIFO mv verschiebt Dateien und Ordner oder benennt sie um nice startet ein Programm mit ge nderter Priorit t nl numeriert die Zeilen der angegebenen Dateien nohup f hrt ein Programm aus so dass es immun gegen hangup s ist die Ausgaben werden in eine Protokolldatei umgeleitet od gibt eine Datei oktal oder in anderen Formaten aus 90 Linux From Scratch Version 5 1 1 paste f gt angegebene Dateien zusammen Sequenziell zusammengeh rende Zeilen werden Seite an Seite durch Tabulatoren getrennt zusammengef gt pathchk pr ft ob Dateinamen g ltig und portierbar sind pinky ist eine abgespeckte Version von finger Es gibt ein paar Informationen ber den angegebenen Benutzer aus pr bereitet Dateien seiten oder spaltenweise f r den Ausdruck vor printenv gibt die aktuelle Arbeitsumgebung aus printf gibt die angegebenen Argumente in einem bestimmten Format aus dies ist der C printf Funktion sehr hn
128. en Ordner Auf die gleiche Weise entpacken Sie bitte auch das GCC Testsuite Paket Das vollst ndige GCC Paket enth lt noch weitere Compiler Eine Anleitung wie Sie diese installieren k nnen finden Sie unter http www linuxfromscratch org blfs view stable general gcc html Vorerst installieren Sie nur den No Fixincludes Patch und nichf den Specs Patch den wir auch im vorigen Kapitel benutzt haben patch Npl i gcc 3 3 3 no_ fixincludes 1 patch Wenden Sie nun einen Sed Befehl an dadurch wird die Installation von libiberty a verhindert Wir m chten die von Binutils bereitgestellte Version von libiberty a verwenden sed i s install_to INSTALL DEST libiberty Makefile in Die GCC Dokumentation empfiehlt GCC nicht im Ouellordner sondern in einem gesonderten Ordner zu kompilieren mkdir gcc build cd gcc build Bereiten Sie nun GCC zum Kompilieren vor gcc 3 3 3 configure prefix usr enable shared enable threads posix enable _cxa_atexit enable clocale gnu enable languages c c Kompilieren Sie das Paket make Q Wichtig Die GCC Testsuite in diesem Abschnitt wird als absolut kritisch betrachtet Wir raten Ihnen sie unter keinen Umst nden zu berspringen Testen Sie das Ergebnis aber halten Sie bei Fehlern nicht an Sie erinnern sich an die paar bekannten make k check Die Anmerkungen zur Testsuite aus dem GCC 3 3 3 Durchlauf 2 p 43 gelten auch hier noch Schlagen Sie dort na
129. en Speicher zu bekommen schauen Sie sich dies an e Eine Bash Bin rdatei mit Debugging Symbolen 1200 KB e Eine Bash Bin rdatei ohne Debugging Symbole 480 KB e Glibc und GCC Dateien lib und usr lib mit Debugging Symbolen 87 MB e Glibc und GCC Dateien lib und usr lib ohne Debugging Symbole 16 MB Die Gr ssen variieren ein wenig abh ngig davon welchen Compiler und welche C Bibliothek Sie benutzen Aber wenn man Programme mit und ohne Debugging Symbole vergleicht liegt der Faktor im Regelfall zwischen 2 und 5 Da die meisten Leute vermutlich niemals einen Debugger mit ihrer Systemsoftware einsetzen kann hier eine Menge Platz gespart werden indem wir die debugging Symbole entfernen Der Einfachheit halber finden Sie im n chsten Kapitel ein Kommando mit dem Sie alle debugging Symbole von allen Programmen und Bibliotheken auf Ihrem System entfernen k nnen Weitere Informationen zum Thema Optimierung finden Sie in einer Anleitung unter http www linuxfromscratch org hints downloads files optimization txt 158 Linux From Scratch Version 5 1 1 Erneutes Stripping Die meisten Leute werden vermutlich niemals einen Debugger mit ihrer Systemsoftware einsetzen Sie k nnen hier ca 200MB Platz sparen indem Sie die Debugging Symbole entfernen Das verursacht keine Beschwerlichkeiten ausser das Sie die Software danach nicht mehr vollst ndig debuggen k nnen Die meisten Leute haben keine Probleme mit dem unten stehenden Kommando
130. enden pgrep findet Prozesse aufgrund ihres Namens und anderer Attribute pkill signalisiert Prozesse basierend auf ihrem Namen oder anderen Attributen pmap gibt eine Speicher bersicht des angegebenen Prozesses aus ps zeigt eine bersicht der laufenden Prozesse an skill sendet Signale an Prozesse die den angegebenen Kriterien entsprechen snice ndert die Priorit t von Prozessen die auf die angegebenen Kriterien passen sysctl ndert Kernelparamter zur Laufzeit tload gibt eine Grafik der aktuellen durchschnittlichen Systemlast aus top zeigt die obersten CPU Prozesse an Es erm glicht eine bersicht ber laufende Prozesse in Echtzeit uptime gibt aus wie lange ein System bereits l uft wieviele Benutzer eingeloggt sind und wie hoch die Systemlast ist vmstat erzeugt Statistiken zur Ausnutzung des virtuellen Speichers gibt Informationen zu Prozessen Speicher Paging Block IO trapsm und CPU Aktivit t aus w zeigt an welche Benutzer gerade eingeloggt sind wo und seit wann watch f hrt ein Kommando immer wieder aus und gibt eine Bildschirmseite von seiner Ausgabe aus So k nnen Sie die Ausgabe eines Programms beobachten 144 Linux From Scratch Version 5 1 1 libproc enth lt Funktionen die von den meisten Programmen in diesem Paket benutzt werden 145 Linux From Scratch Version 5 1 1 Psmisc 21 4 Das Paket Psmisc enth lt Programme zum Anzeigen von Prozessinformationen Approximate build time 0
131. enfassung des Inhalts und eine kurze Beschreibung zu den installierten Programmen und Bibliotheken Falls Sie in diesem Kapitel Compiler Optimierungen verwenden m chten lesen Sie bitte die Anleitung unter http www linuxfromscratch org hints downloads files optimization txt Compiler Optimierungen k nnen ein Programm etwas schneller ablaufen lassen aber sie k nnen auch zu Schwierigkeiten beim Kompilieren oder sogar beim Ausf hren von Programmen f hren Wenn sich ein Paket nicht kompilieren l sst versuchen Sie es erstmal ohne Optimierungen und schauen Sie ob das Problem dann behoben ist Selbst wenn das Paket mit Compiler Optmierungen kompilierbar ist besteht die Gefahr dass es fehlerhaft kompiliert wurde z B wegen des komplexen Zusammenspiels zwischen Kode und den Compilerwerkzeugen Kurz gesagt der potientelle Geschwindigkeitsvorteil wird durch das hohe Risiko aufgehoben Wenn Sie das erste mal ein LFS erstellen sollten Sie keine Compiler Optimierungen benutzen Ihr System wird trotzdem sehr schnell sein und gleichzeitig auch noch stabil Die Installationsreihenfolge in diesem Kapitel muss auf jeden Fall eingehalten werden sonst k nnten einige Programme eventuell feste Referenzen auf tools erhalten Kompilieren Sie aus diesem Grund auch nicht mehrere Pakete gleichzeitig Gleichzeitiges Kompilieren kann Ihnen eine Zeitersparnis bringen besonders auf Mehrprozessormaschinen aber es kann zu Programmen f hren die Referenzen auf tools
132. enthalten und nicht mehr funktionieren sobald dieser Ordner entfernt wird Auf jeder Informationsseite finden Sie als erstes ein paar allgemeine Informationen zum jeweiligen Paket Eine kurze Beschreibung des Paketinhalts eine Absch tzung der ben tigten Kompilierzeit des ben tigten Festplattenspeichers beim Kompilieren die offizielle Download Adresse falls Sie Pakete updaten m chten und welche anderen Pakete zum erfolgreichen Kompilieren ben tigt werden Nach den Installationsanweisungen folgt eine Liste der Programme und Bibliotheken inklusive einer kurzen Beschreibung die das Paket installiert Wenn Sie im Auge behalten m chten welches Paket welche Dateien installiert sollten Sie einen Paketmanager verwenden Eine allgemeine bersicht zu Paketmanagern finden Sie unter http www linuxfromscratch org blfs view cvs introduction important html Eine Paketmanagement Methode speziell f r LFS finden Sie unter http www linuxfromscratch org hints downloads files more_control_and_pkg_man txt 66 Linux From Scratch Version 5 1 1 Einh ngen der Dateisysteme proc und devpts Damit bestimmte Programme richtig funktionieren m ssen die Dateisysteme proc und devpts in der chroot Umgebung verf gbar sein Das proc Dateisystem ist das Pseudo Prozessinfo Dateisystem Der Kernel stellt mit diesem Dateisystem Informationen ber den Status des Systems zur Verf gung Und das devpts Dateisystem ist die heutzutage bliche Methode Pseudo
133. envt startet ein Programm in einem neuen Virtuellen Terminal VT psf ist ein Satz von Werkzeugen zum Umgang mit Unicode Zeichentabellen f r Konsole Schriften resizecons ndert die Vorstellung des Kernels ber die Ausma e einer Konsole setfont ndert EGA VGA Schriften in der Konsole setkeycodes l dt scancode zu keycode Zuweisungstabellen des Kernel N tzlich wenn Sie ein paar un bliche Tasten auf Ihrer Tastatur haben setleds setzt Tastaturoptionen und LED s Einige Leute finden es n tzlich Num Lock in der Voreinstellung eingeschaltet zu haben Mit setleds num kann man dies erreichen setlogcons sendet Kernel Nachrichten auf die Konsole setmetamode definiert die Behandlung von Meta Tasten auf der Tastatur setvesablank l sst Sie den eingebauten Hardware Bildschirmschoner anpassen keine fliegenden Toaster nur ein einfacher schwarzer Schirm showconsolefont zeigt die aktutelle EGA VGA Konsole Schrift an showkey zeigt Scancode Keycode und ASCII Code der auf der Tastatur gedr ckten Taste an unicode_start versetzt Tastatur und Konsole in den Unicode Modus unicode_stop schaltet den Unicode Modus von Tastatur und Konsole wieder aus 131 Linux From Scratch Version 5 1 1 E2fsprogs 1 35 E2fsprogs stellt die Dateisystemwerkzeuge f r die Benutzung des ext2 Dateisystems zur Verf gung Auch ext3 wird unterst tzt das ist ein Journaling Dateisystem Approximate build time 0 6 SBU Required disk space 48 4 MB
134. er durchzuf hrenden nderungen oder als Oktalzahl angegeben werden repr sentiert die absoluten neuen Rechte chown ndert Besitzer und oder Gruppenzugeh rigkeit der angegebenen Dateien chroot f hrt ein Kommando mit dem angegebenen Pfad als Ordner aus Das Kommando kann eine interaktive Shell sein Auf den meisten Systemen darf das nur root cksum gibt die CRC Pr fsumme Cyclic Redundancy Check und die Anzahl der Bytes f r jede angegebene Datei aus comm vergleicht zwei sortierte Dateien und gibt in drei Spalten die Zeilen aus die jeweils einzigartig bzw gleich sind cp kopiert Dateien csplit teilt eine Datei in mehrere neue Dateien Dazu wird ein bestimmtes Muster oder Zeilennummern verwendet Ausserdem gibt csplit die Anzahl Bytes jeder neuen Datei aus cut gibt Ausschnitte von Zeilen aus Die Ausschnitte werden nach Feldern oder Positionsangaben gew hlt date zeigt die aktuelle Zeit im angegebenen Format an oder setzt die Systemzeit dd kopiert eine Datei mit der angegebenen Blockgr e und anzahl Optional kann w hrenddessen eine Konvertierung durchgef hrt werden df berichtet ber den verf gbaren und verwendeten Festplattenspeicher auf allen eingeh ngten Dateisystemen oder 89 Linux From Scratch Version 5 1 1 den Dateisystemen die die angegebenen Dateien enthalten dir ist identisch mit ls dircolors gibt Kommandos zum Setzen der LS_COLOR Umgebungsvariable aus um damit das Farbschema von Is zu
135. eren Der folgende Patch korrigiert das Problem patch Npl i inetutils 1 4 2 no server man pages 1 patch Bereiten Sie Inetutils zum Kompilieren vor configure prefix usr libexecdir usr sbin sysconfdir etc localstatedir var disable logger disable syslogd disable whois disable servers Die Bedeutung der configure Parameter e disable logger Das verhindert die Installation des Programmes logger welches Nachrichten an den System Log D monen bergibt Wir installieren ihn nicht weil etwas sp ter durch Util Linux eine bessere Version installiert wird e disable syslogd Diese Option verhindert die Installation des System Log D monen weil wir einen mit dem Sysklogd Paket installieren e disable whois Dies verhindert das Kompilieren des whois Clients welcher leider elendig veraltet ist Eine Anleitung f r einen besseren whois Client finden Sie im BLFS Buch e disable servers Das verhindert die Installation verschiedener Netzwerkserver die dem Inetutils Paket beiliegen Diese gelten in einem basis LFS System als nicht angebracht Einige sind von Natur aus unsicher und nur in vertrauensw rdigen Netzen sicher einsetzbar Mehr Informationen finden Sie unter http www linuxfromscratch org blfs view stable basicnet inetutils html Beachten Sie dass es f r fast alle dieser Netzwerkserver einen besseren Ersatz gibt Kompilieren Sie das Paket make Installieren Sie es make install Und
136. eren vor configure prefix tools Kompilieren Sie das Paket make Wenn Sie die Testsuite durchlaufen lassen m chten f hren Sie dieses Kommando aus make check Und installieren Sie make install Details zu diesem Paket finden Sie in Inhalt von Gawk p 98 47 Linux From Scratch Version 5 1 1 Coreutils 5 2 1 Das Paket Coreutils enth lt eine gro e Anzahl an Shell Werkzeugen zum Einstellen der grundlegenden Systemeigenschaften Approximate build time 0 9 SBU Required disk space 69 MB Coreutils ist abh ngig von Bash Binutils Coreutils Diffutils GCC Gettext Glibc Grep Make Perl Sed Installieren von Coreutils Bereiten Sie Coreutils zum Kompilieren vor DEFAULT_POSIX2_VERSION 199209 configure prefix tools Dieses Paket hat ein Problem wenn es mit neueren Glibc Versionen als 2 3 2 kompiliert wird Einige der Coreutils Werkzeuge wie z B head tail und sort lehnen ihre traditionelle Syntax ab eine Syntax die allerdings bereits seit ca 30 Jahren verwendet wird Die alte Syntax ist so eingeb rgert dass hier dieKompatibilit t bewahrt werden sollte bis die neue Syntax berall bernommen wurde R ckw rtskompatibilit t kann durch das Setzen der Umgebungsvariable DEFAULT_POSIX2_VERSION auf 199209 erreicht werden Wenn Sie keine R ckw rtskompatibilit t w nschen lassen Sie die Variable einfach weg Dann m ssen Sie allerdings mit den Konsequenzen leben Viele Pakete m ssen gep
137. ert dieser Variable spezifiziert den Standard Bibliothekssuchpfad f r den Linker Sie werden sp ter in diesem Kapitel sehen wie diese Vorbereitung zur Anwendung kommt D Warnung Entfernen Sie die Binutils Kompilier und Quellordner noch nicht Sie ben tigen Sie sp ter in ihrem jetzigen Zustand Details zu diesem Paket finden Sie in Inhalt von Binutils p 85 31 Linux From Scratch Version 5 1 1 GCC 3 3 3 Durchlauf 1 Das Paket GCC enth lt die GNU Compiler Sammlung die auch die C und C Compiler beinhaltet Approximate build time 4 4 SBU Required disk space 411 7 MB GCC ist abh ngig von Bash Binutils Coreutils Diffutils Findutils Gawk Gettext Glibc Grep Make Perl Sed Texinfo Installieren von GCC Entpacken Sie nur den GCC core Tarball wir brauchen zun chst weder den C Compiler noch die Testsuite Dieses Paket funktioniert nicht gut wenn nicht die Standard Optimierungseinstellungen inklusive der Optionen march und mcpu benutzt werden Deshalb sollten eventuell gesetzte Umgebungsvariablen die die Standardoptimierung berschreiben zum Beispiel CFLAGS und CXXFLAGS f r den Kompiliervorgang zur ckgesetzt oder entsprechend abge ndert werden Die GCC Dokumentation empfiehlt GCC nicht im Quellordner sondern in einem gesonderten Ordner zu kompilieren mkdir gcc build cd gec build Bereiten Sie GCC zum Kompilieren vor gcc 3 3 3 configure prefix tools with local pr
138. escription p 112 description p 120 description p 98 description p 107 description p 118 description p 99 description p 118 description p 99 description p 152 description p 141 description p 141 description p 90 description p 118 description p 121 description p 155 description p 155 description p 155 description p 90 kallsyms kbdrate kbd_mode Kernel kernelversion kill killall killall5 klogd ksyms last lastb lastlog ld Idconfig Idd lddlibc4 less less sh lessecho lesskey libnetcfg libtool libtoolize line link Ikbib In loadkeys loadunimap locale localedef locate logger login logname logoutd logsave look lookbib losetup Is Isattr Isdev Ismod md make makeinfo makewhatis man man2dvi man2html mapscrn mbchk mcookie md5sum mdate sh mesg missing mkdir mke2fs mkfifo mkfs Modutils 2 4 27 Kbd 1 12 p 130 Kbd 1 12 p 130 Linux 2 4 26 p 173 Modutils 2 4 27 p 141 Procps 3 2 1 p 144 Psmisc 21 4 p 146 Sysvinit 2 85 p 151 Sysklogd 1 4 1 p 150 Modutils 2 4 27 p 141 Sysvinit 2 85 p 151 Sysvinit 2 85 p 151 Shadow 4 0 4 1 p 147 Binutils 2 14 p 84 Glibc 2 3 3 lfs 5 1 p 77 Glibc 2 3 3 lfs 5 1 p 77 Glibc 2 3 3 lfs 5 1 p 77 Less 382 p 105 Vim 6 2 p 101 Less 382 p 105 Less 382 p 105 Perl 5 8 4 p 116 Libtool 1 5 6 p 125 Libtool 1 5 6 p 125 Util linux 2 12a p 154 Coreutils 5 2 1 p 88 Grof
139. f 1 19 p 106 Coreutils 5 2 1 p 88 Kbd 1 12 p 130 Kbd 1 12 p 130 Glibc 2 3 3 lfs 5 1 p 77 Glibc 2 3 3 lfs 5 1 p 77 Findutils 4 1 20 p 97 Util linux 2 12a p 154 Shadow 4 0 4 1 p 147 Coreutils 5 2 1 p 88 Shadow 4 0 4 1 p 147 E2fsprogs 1 35 p 132 Util linux 2 12a p 154 Groff 1 19 p 106 Util linux 2 12a p 154 Coreutils 5 2 1 p 88 E2fsprogs 1 35 p 132 Procinfo 18 p 143 Modutils 2 4 27 p 141 M4 1 4 p 103 Make 3 80 p 140 Texinfo 4 7 p 118 Man 1 5m2 p 138 Man 1 5m2 p 138 Man 1 5m2 p 138 Man 1 5m2 p 138 Kbd 1 12 p 130 Grub 0 94 p 135 Util linux 2 12a p 154 Coreutils 5 2 1 p 88 Automake 1 8 4 p 121 Sysvinit 2 85 p 151 Automake 1 8 4 p 121 Coreutils 5 2 1 p 88 E2fsprogs 1 35 p 132 Coreutils 5 2 1 p 88 Util linux 2 12a p 154 p l41 ae 186 Linux From Scratch Version 5 1 1 description p 141 description p 131 description p 131 description p 174 description p 141 description p 144 description p 146 description p 152 description p 150 description p 141 description p 152 description p 152 description p 149 description p 85 description p 80 description p 80 description p 80 description p 105 description p description p 105 description p 105 description p 1 17 description p 125 description p 125 description p 155 description p 90 description p 107 description p 90 description p 131 description p 131 description p 80 description p 80 des
140. ffiziell im Internet bekannt ist d h Sie haben eine registrierte Domain und einen g ltigen zugewiesenen IP Block die meisten haben dies nicht sollten Sie sicherstellen dass die IP Adresse im privaten Adressraum liegt G ltige Adressr ume daf r sind Klasse Netzwerke A MOMOMOTO B 172 16 0 0 lois 1172 51L O 1925168000 lois 192 169 25550 Eine g ltige IP Adresse k nnte zum Beispiel 192 168 1 1 sein Ein g ltiger voll qualifizierter Dom nenname k nnte zum Beispiel www linuxfromscratch org sein nicht empfohlen weil dies ein registrierter Name ist und Ihrem DNS Server Probleme bereiten k nnte Auch wenn Sie keine Netzwerkkarte verwenden brauchen Sie dennoch einen voll qualifizierten Dom nennamen Das ist n tig damit einige Programme korrekt arbeiten k nnen Wenn Sie keine Netzwerkkarte konfigurieren erzeugen Sie etc hosts mit diesem Kommando cat gt etc hosts lt lt EOF Begin etc hosts no network card version 127 0 0 1 lt value of HOSTNAME gt example org lt value of HOSTNAME gt localhost End etc hosts no network card version EOF Wenn Sie eine Netzwerkkarte konfigurieren m chten erzeugen Sie etc hosts mit diesem Kommando cat gt etc hosts lt lt EOF Begin etc hosts network card version 1275040411 localhost 192 168 1 1 lt HOSTNAME gt meinedomain org lt HOSTNAM tl V End etc hosts network card version EOF Nat rlich m ssen Sie 192 168 1 1
141. gerungsbereich more ist ein Filter zum seitenweisen Anzeigen von Text Less ist jedoch besser mount h ngt ein Dateisystem auf einem Ger t an einem Ordner in der Ordnerstruktur ein namei zeigt die symbolischen Links in Pfadnamen an pg Zeigt eine Textdatei seitenweise an pivot_root macht ein Dateisystem zu dem neuen root Dateisystem fiir den aktuellen Prozess ramsize kann benutzt werden um die Gr e einer RAM Disk in einem bootbaren Abbild zu setzen 155 Linux From Scratch Version 5 1 1 rdev kann in einem bootf higen Abbild das root Ger t abfragen und festlegen readprofile liest Profiling Informationen aus dem Kernel rename benennt eine Datei um und ersetzt ein Zeichenkette durch eine andere renice ver ndert die Priorit t eines Prozesses rev dreht die Zeilen einer Datei um rootflags kann die root Parameter eines bootf higen Abbildes festlegen script erstellt eine Abschrift einer Terminalsitzung setfdprm setzt benutzerdefinierte Floppy Disk Parameter setsid f hrt ein Kommando in einer neuen Sitzung aus setterm setzt Terminal Attribute sfdisk kann Festplattenpartitionen bearbeiten swapdev setzt ein Swap Ger t in einem bootf higen Abbild swapoff deaktiviert Auslagerungsdateien und ger te swapon aktiviert Auslagerungsdateien und ger te tunelp justiert Parameter eines Zeilendruckers ul ist ein Filter zum bersetzen von Unterstrichen in entsprechende Escape Sequenzen die das verwendete Termina
142. gig von Bash Binutils Coreutils Diffutils GCC Glibc Grep Make Sed Zlib Installation von File Bereiten Sie File zum Kompilieren vor configure prefix usr Kompilieren Sie das Paket make Installieren Sie es make install Inhalt von File Installiertes Programm file Installierte Bibliothek libmagic a so Kurze Beschreibung file versucht Dateien zu klassifizieren Dazu f hrt es verschiedene Tests durch Dateisystem Tests Tests mit magischen Nummern und Sprachtests Der erste erfolgreiche Test entscheidet ber das Ergebnis libmagic enth lt Routinen zur Erkennung von magischen Nummern wird vom file Programm verwendet 124 Linux From Scratch Version 5 1 1 Libtool 1 5 6 GNU Libtool ist ein Skript zur Unterst tzung von Bibliotheken Libtool versteckt die Komplexit t von gemeinsam benutzten Bibliotheken hinter einer konsistenten und portablen Schnittstelle Approximate build time 1 5 SBU Required disk space 20 MB Libtool ist abh ngig von Bash Binutils Coreutils Diffutils GCC Glibc Grep Make Sed Installation von Libtool Bereiten Sie Libtool zum Kompilieren vor configure prefix usr Kompilieren Sie das Paket make Um das Ergebnis zu pr fen f hren Sie das Kommando make check aus Installieren Sie das Paket make install Inhalt von Libtool Installierte Programme libtool und libtoolize Installierte Bibliotheken libltdl a so Kurze Beschreibung l
143. h 2 54 a2 ee ee ng eee desire te Vers Ress are tan np ae ved cendushncaasevedsanewstes 142 Proemfo 18 sns eio se tunen Geeks Dd edy nt rie ra retiens nr ser es 143 Procps 3 2 12 ae REIHE Re sok FUDD FY de FOD dea TF pad tente a0 144 Psmise 21 4 RES POTTER A 146 Shadow 4 0 4 1 23 4 een is pins AEA EEEE OPTREK YRR y YD 147 Sysklogd l 4 l hri eea e E sa ER bien 150 SYSVINIT 2 o SERIEN ian de Sag RR ee nes I ERTL FR Y RU ee 151 Tar 1 13 94 sans meiste pas yn Fd CORRE 153 iii Linux From Scratch Version 5 1 1 LEE DA 12a seen ee AYN ddon YR tices EG y ince sai Re Uae dh yg 154 GEEZ 99 Be suisse EEE RE ATSSEEEREISRERFTERTTEFRFENENETLGTERTANEROE PURE Fn nnd i do Se 157 Informationen zu Debugging Symbolen ss 158 Erneutes StHiPpime ruhen sehen an tante Ans de don een os 159 AUITAUMED ln er BERUHEN RR TR deed vest E dg di do 160 7 Aufsetzen der System Boot Skripte ss 161 Einf hrung nr N ee DR ner sei Sek oe de dt eee ees 161 LFS Bo tscnipts 2 03 essen rennes rene bn pour smtp IOPE EE PIE STIR RYFYG 162 Wie funktioniert der Bootvorgang mit diesen Skripten 0 0 0 0 eee cece ence eeceeeeeeeeeeeea nen 163 Konfigurieren des setclock Skript 2 8 ee Ra ts 164 Brauche ich das loadkeys Skript seen 165 Konfigurieren des sysklogd Sktipt 2 2 IY ed se ee eins se in 166 Konfigurieren des localnet Skript ss 167 Erstellen der Dater efc h sts un ter m attenant Seed ab eens 168 Konfigurieren des network Skript ss 169 8 Das LFS
144. hen Gl ckwunsch Sie sind fertig mit der Installation Ihres eigenen LFS Systems Vielleicht war das eine lange Prozedur aber wir hoffen es war die Zeit Wert Wir w nschen Ihnen viel Freude mit Ihrem brandneuen selbstgebauten Linux System Es k nnte sinnvoll sein die Datei etc 1fs release zu erstellen Mit dieser Datei ist es f r Sie und f r uns wenn Sie uns bei etwas um Hilfe bitten sollten einfach herauszufinden welche LFS Version Sie haben Erstellen Sie die Datei mit diesem Kommando echo 5 1 1 gt etc lfs release 177 Linux From Scratch Version 5 1 1 Lassen Sie sich z hlen M chten Sie nun wo Sie das Buch durchgearbeitet haben als LFS Benutzer gez hlt werden Dann besuchen Sie http www linuxfromscratch org cgi bin lfscounter cgi und registrieren Sie sich als LFS Benutzer indem Sie Ihren Namen und die Versionsnummer Ihres ersten LFS Systems dort eintragen Lassen Sie uns nun in Ihr LFS booten 178 Linux From Scratch Version 5 1 1 Neustarten des Systems Jetzt wo s mtliche Software installiert wurde wird es Zeit Ihren Computer neu zu starten Ein paar Dinge sollten Sie aber noch beachten Das in diesem Buch installierte System ist sehr minimal wahrscheinlich fehlen Ihnen einige Funktionen zur weiteren Konfiguration des Systems W hrend wir uns nun noch in der chroot Umgebung befinden k nnten Sie einige Pakete aus dem BLFS Buch installieren und damit Ihre Situation nach dem Neustart deutlich verbesser
145. hler in perldoc in Zusammenhang mit dem Programm less Kompilieren Sie das Paket make Wenn Sie die Testsuite ausf hren m chten m ssen Sie erst eine Basisversion der Datei etc hosts erstellen Diese wird ben tigt damit einige der Tests den Hostnamen localhost aufl sen k nnen echo 127 0 0 1 localhost hostname gt etc hosts Wenn Sie m chten k nnen Sie nun die Tests ausf hren make test Und installieren Sie das Paket make install Inhalt von Perl Installierte Programme a2p c2ph dprofpp enc2xs find2perl h2ph h2xs libnetcfg perl perl5 8 4 Link auf perl perlbug perlcc perldoc perlivp piconv pl2pm pod2html pod2latex pod2man pod2text pod2usage podchecker podselect psed Link auf s2p pstruct Link auf c2ph s2p splain und xsubpp Installierte Bibliotheken zu viele um sie einzeln zu nennen Kurze Beschreibung a2p bersetzt awk zu perl c2ph gibt C Strukturen aus die von cc g S erzeugt wurden dprofpp zeigt Perl Profiling Daten an en2cxs erzeugt aus Unicode Zeichenzuordnungen oder Tcl Encoding Dateien eine Perl Erweiterung f r das Encode Modul find2perl bersetzt find Kommandos nach perl h2ph konvertiert h C Header Dateien zu ph Perl Header Dateien 116 Linux From Scratch Version 5 1 1 h2xs konvertiert h C Header Dateien zu Perl Erweiterungen libnetcfg kann zum Konfigurieren von libnet benutzt werden perl kombiniert die besten Eigenschaften von C se
146. hnittenen Bild grn ist ein groff Pr prozessor f r gremlin Dateien grodvi ist ein Treiber f r groff der das TeX dvi Format erzeugt groff ist eine Benutzerschnittstelle f r das groff Dokumentenformatierungssystem Normalerweise f hrt es das troff Programm und einen f r das Ausgabeger t passenden Postprozessor aus groffer zeigt groff Dateien und Man pages unter X und im tty an grog liest Dateien und err t welche der groff Optionen e man me mm ms p s und t ben tigt werden und gibt das Kommando mit diesen Optionen aus grolbp ist ein groff Treiber f r Canon CAPSL Drucker Laserdrucker der LBP 4 und LBP 8 Serie 106 Linux From Scratch Version 5 1 1 grolj4 ist ein Treiber f r groff der Ausgaben im PCL5 Format passend f r HP LaserJet 4 Drucker erzeugt grops bersetzt die Ausgabe von GNU troff zu Postscript grotty bersetzt die Ausgabe von GNU troff in eine passende Form f r schreibmaschinen hnliche Ger te gtbl ist die GNU Implementation von tbl hpftodit erzeugt aus einer HP tagged Schriftmetrik Datei eine Schriftdatei zur Verwendung mit groff Tlj4 indxbib erzeugt einen invertierten Index f r die bibliographischen Datenbanken eine spezielle Datei f r die Verwendung mit refer lookbib und Ikbib Ikbib durchsucht bibliographische Datenbanken nach Referenzen die bestimmte Schl ssel enthalten und gibt die gefundenen Referenzen aus lookbib gibt einen Prompt auf die standard Fehlerausgabe sol
147. hrbaren Dateien installiert werden auf exec_prefix target_alias gesetzt welches dann zum Beispiel zu usr i686 pc linux gnu aufgel st wird Da wir aber nur f r unser eigenes System installieren brauchen wir diesen speziellen Ordner in usr nicht Diese Konfiguration w rde benutzt werden wenn das System zum Querkompilieren genutzt w rde zum Beispiel um auf einer Intel Maschine Code zu generieren der auf einem PowerPC ausgef hrt werden kann Wichtig E Die Binutils Testsuite in diesem Abschnitt wird als kritisch eingestuft Wir raten Ihnen die Tests unter keinen Umst nden zu berspringen Testen Sie das Ergebnis make check Die Anmerkungen zur Testsuite aus dem Abschnitt Binutils 2 14 Durchlauf 2 p 46 sind hier immer noch g ltig 84 Linux From Scratch Version 5 1 1 Schlagen Sie nach falls Sie irgendwelche Bedenken oder Zweifel haben Installieren Sie das Paket make tooldir usr install Installieren Sie die libiberty Header Datei die von einigen Paketen ben tigt wird cp binutils 2 14 include libiberty h usr include Inhalt von Binutils Installierte Programme addr2line ar as c filt gprof Id nm objcopy objdump ranlib readelf size strings und strip Installierte Bibliotheken libiberty a libbfd a so und libopcodes a so Kurze Beschreibung addr2line konvertiert Programmadressen zu Dateinamen und Zeilennummern Mit Hilfe des Programmnamens und einer Speicheradre
148. hten wir in einem Basis System eigentlich nicht haben Wenn Sie m chten k nnen Sie Ihr System nat rlich vollst ndig FHS konform machen Zur Struktur in usr local share macht FHS keine pr zisen Angaben daher haben wir die Ordner erstellt die wir f r n tig halten 70 Erstellen notwendiger symbolischer Links Linux From Scratch Version 5 1 1 Einige Programme haben fest eingestellte Pfade zu Programmen die hier aber noch nicht existieren Deshalb erstellen wir eine Reihe symbolischer Links die aber im weiteren Verlauf des Kapitels beim Installieren der restlichen Software durch echte Dateien ersetzt werden In In In In S s s S tools bin bash cat pwd stty bin tools bin perl usr bin tools lib libgcc_s so l usr lib bash bin sh 71 Linux From Scratch Version 5 1 1 Erstellen der Dateien passwd group und der Logdateien Damit root sich am System anmelden kann und damit der Name root der richtigen Benutzer ID zugeordnet werden kann m ssen die relevanten Eintr ge in etc passwd und etc group vorhanden sein Erzeugen Sie etc passwd mit dem folgenden Kommando cat gt etc passwd lt lt EOF Toorts O a 0 2 roots roor Aara ocala EOF Das tats chliche Passwort f r roof Das x ist hier nur Platzhalter wird erst sp ter gesetzt Erstellen Sie etc group mit dem folgenden Kommando cat gt etc group lt lt EOF LOSE SEEN Oi eee 11e SMS CCE MEME wg Ale E
149. hts komplett ist erzeugen Sie die Man pages die mit dem Kernel kommen make mandocs Und installieren diese cp a Documentation man usr share man man9 Das Kompilieren des Kernel ist nun abgeschlossen aber einige der erzeugten Dateien befinden sich noch im Quellordner Um die Installation abzuschlie en m ssen Sie noch zwei Dateien in den Ordner boot kopieren Der Pfad zu der Kerneldatei variiert abh ngig von der benutzten Plattform auf der Sie arbeiten Geben Sie das folgende Kommando ein um den Kernel zu installieren cp arch i386 boot bzImage boot lfskernel System map ist eine Symboldatei fiir den Kernel Sie ordnet Funktions Einstiegspunkte jeder Funktion in der Kernel API sowie Adressen der Kernel Datenstrukturen zu Geben Sie das folgende Kommando ein um die Datei zu installieren cp System map boot config ist die Kernel Konfigurationsdatei die durch das Kommando make menuconfig erzeugt wurde Sie enth lt alle Konfigurationsoptionen f r den soeben kompilierten Kernel Es ist sinnvoll diese Datei aufzubewahren cp config boot config lfskernel Beachten Sie bitte dass die Dateien im Kernel Ouellordner nicht roof geh ren Immer wenn Sie ein Paket als root Benutzer entpacken so wie wir es hier im chroot tun erhalten die entpackten Dateien die Benutzer und Gruppen ID desjenigen der das Archiv erstellt hat Das ist blicherweise f r normale Pakete kein Problem weil Sie den Ouellordner nach der Installation l s
150. http www linuxfromscratch org patches lfs 5 1 1 kbd 1 12 more programs 1 patch Man 80 Columns Patch 1 KB http www linuxfromscratch org patches lfs 5 1 1 man 1 5m2 80cols patch Mktemp Tempfile Patch 3 KB http www linuxfromscratch org patches lfs 5 1 1 mktemp 1 5 add tempfile patch Net tools Mii Tool Gcc33 Patch 2 KB http www linuxfromscratch org patches lfs 5 1 1 net tools 1 60 miitool gcc33 1 patch Perl Libc Patch 1 KB http www linuxfromscratch org patches lfs 5 1 1 perl 5 8 4 libc 1 patch Zus tzlich zu den ben tigten Patches gibt es noch zahlreiche weitere optionale Patches die von der LFS Gemeinschaft erstellt wurden Die meisten beheben kleine Probleme oder schalten Funktionen ein die in der Voreinstellung abgeschaltet sind Durchsuchen Sie ruhig die Patch Datenbank unter http www linuxfromscratch org patches und laden Sie zus tzliche Patche herunter die Sie benutzen m chten 19 Linux From Scratch Version 5 1 1 Kapitel 4 Letzte Vorbereitungen ber LFS Die Umgebungsvariable LFS wird im gesamten Verlauf des Buches h ufig benutzt Es ist sehr wichtig dass diese Variable immer definiert ist Sie sollte auf den Mountpunkt gesetzt sein den Sie f r Ihre LFS Partition gew hlt haben berpr fen Sie nochmals mit dem folgenden Kommando dass die Variable korrekt gesetzt ist echo LFS Stellen Sie sicher dass die Ausgabe den Pfad zu Ihrer LFS Partition anzeigt Dieser sollte mnt 1fs sein wenn Sie
151. ibt f r jedes Paket den Namen und eine kurze Beschreibung in die whatis Datenbank man formatiert die angeforderte Online Man page und zeigt sie an man2dvi konvertiert eine Hilfeseite in das dvi Format man2html konvertiert eine Hilfeseite nach HTML whatis durchsucht die whatis Datenbank und zeigt eine kurze Beschreibung zu den Systemkommandos an die das bergebene Stichwort als separates Wort enthalten 139 Linux From Scratch Version 5 1 1 Make 3 80 Das Paket Make enth lt Programme zum Kompilieren umfangreicher Pakete Approximate build time 0 2 SBU Required disk space 8 8 MB Make ist abh ngig von Bash Binutils Coreutils Diffutils GCC Gettext Glibc Grep Sed Installieren von Make Bereiten Sie Make zum Kompilieren vor configure prefix usr Kompilieren Sie das Paket make Um das Ergebnis zu pr fen f hren Sie das Kommando make check aus Installieren Sie das Paket make install Inhalt von Make Installiertes Programm make Kurze Beschreibung make erkennt automatisch welche Teile eines gro en Programms neu kompiliert werden m ssen und f hrt automatisch die notwendigen Kommandos aus 140 Linux From Scratch Version 5 1 1 Modutils 2 4 27 Das Modutils Paket enth lt diverse Programme zur Verwaltung von Kernel Modulen Approximate build time 0 1 SBU Approximate build time 2 9 MB Modutils ist abh ngig von Bash Binutils Bison Coreutils Diffutils Flex GCC Glibc
152. ibt sicherlich einige die aus welchen Gr nden auch immer dieses Buch nicht lesen wollen Wenn Sie Ihr Linux System nicht von Grund auf selbst bauen m chten ist dieses Buch vermutlich die falsche Lekt re Unser Ziel ist es Ihnen zu helfen ein vollst ndiges lauff higes und grundsolides System zu erstellen Wenn Sie nur interessiert was genau beim Hochfahren Ihres Computers geschieht dann empfehlen wir das From Power Up To Bash HOWTO Mit Hilfe dieses HOWTOs wird ein blankes System installiert welches dem in diesem Buch sehr hnlich ist sich aber ausschlie lich auf das Erstellen eines Systems konzentriert das eine Bash Shell booten kann Wenn Sie sich entscheiden was Sie lesen m chten halten Sie sich einfach Ihr Ziel vor Augen Wenn Sie ein komplettes Linux installieren wollen und nebenbei ein bisschen dazulernen wollen dann ist dieses Buch vermutlich die beste Wahl Wenn Ihr Ziel aber eher die reine bung ist und Sie dann sp ter keine weitere Verwendung f r das fertige Linux System haben dann ist das From Power Up To Bash HOWTO wahrscheinlich die bessere Wahl vi Linux From Scratch Version 5 1 1 Das From Power Up To Bash Prompt HOWTO finden Sie unter http axiom anu edu au okeefe p2b oder auf der Website des Linux Documentation Project unter http www tldp org HOWTO From PowerUp To Bash Prompt HOWTO html Vil Linux From Scratch Version 5 1 1 Voraussetzungen In diesem Buch gehen wir davon a
153. ibtool stellt vereinheitlichte Dienste zum Erstellen von Bibliotheken zur Verf gung libtoolize stellt einen Standardweg zur Verf gung um einem Paket libtool Unterst tzung hinzuzuf gen libltdl versteckt die verschiedenen Schwierigkeiten mit Bibliotheken die dlopen verwenden 125 Linux From Scratch Version 5 1 1 Bzip2 1 0 2 Das Paket Bzip2 enth lt Programme zum Komprimieren und Dekomprimieren von Dateien Bei Textdateien erreichen Sie eine wesentlich bessere Kompressionsrate als das traditionelle Kommando gzip Approximate build time 0 1 SBU Required disk space 3 0 MB Bzip2 ist abh ngig von Bash Binutils Coreutils Diffutils GCC Glibc Make Installieren von Bzip2 Bereiten Sie Bzip2 zum Kompilieren vor make f Makefile libbz2_so make clean Der Schalter f veranlasst Bzip2 ein anderes Makefile in diesem Fall Makefile libbz2_so zu verwenden Dieses erzeugt eine dynamische Bibliothek 1ibbz2 so und verlinkt die Bzip2 Werkzeuge damit Kompilieren Sie das Paket make Wenn Sie Bzip2 neu installieren m ssen m ssen Sie zuerst rm f usr bin bz ausf hren ansonsten schl gt make install fehl Installieren Sie die Programme make install Und installieren Sie die ausf hrbare Datei bzip2 nach bin Dann erzeuen Sie ein paar n tige symbolische Links und r umen auf cp bzip2 shared bin bzip2 cp a libbz2 so lib In s lib libbz2 so 1 0 usr lib libbz2 so rm usr bin bunzip2 bzcat bzip2 mv usr
154. icher Sprache in die Sprache des Anwenders Daf r benutzt es einen Ubersetzungsnachrichten Katalog gettextize kopiert alle standard Gettext Dateien in den Basisordner eines Pakets um so die ersten Schritte der Internationalisierung zu erleichtern hostname zeigt den Netzwerk Hostnamen in verschiedenen Formen an msgattrib filtert Nachrichten in einem Ubersetzungskatalog nach ihren Attributen und manipuliert diese Attribute msgcat f gt die angegebenen po Dateien aneinander und verschmelzt sie msgemp vergleich zwei po Dateien um zu pr fen das beide den gleichen Satz an msgid Zeichenketten enthalten msgcomm findet die Nachrichten die die angegebenen po Dateien gemeinsam haben msgconv konvertiert den bersetzungskatalog in einen anderen Zeichensatz 110 Linux From Scratch Version 5 1 1 msgen erzeugt einen englischen bersetzungskatalog msgexec f hrt ein Kommando auf allen bersetzungen in einem Katalog aus msgfilter wendet einen Filter auf alle bersetzungen in einem Katalog an msgfmt erzeugt aus einem bersetzungskatalog einen bin ren Katalog msggrep extrahiert alle Nachrichten aus einem Katalog die auf ein bestimmtes Muster passen oder zu einer bestimmten Quelldatei geh ren msginit erzeugt eine neue po Datei und initialisiert die Meta Informationen mit Werten aus der Umgebung des Benutzers msgmerge kombiniert zwei rohe bersetzungen in eine einzige Datei msgunfmt macht aus einem bin ren Katalog eine
155. idungen zu erzwingen Nach dem Durchlauf von configure k nnen Sie den Inhalt von config make im glibc build Ordner nach den Details durchsuchen Sie werden ein paar interessante Dinge finden wie zum Beispiel CC gcc B tools bin zum Kontrollieren der verwendeten Bin rwerkzeuge oder die Parameter nostdinc und isystem zum Kontrollieren des Suchpfades des Compilers Diese Besonderheiten heben einen wichtigen Aspekt des Paketes Glibc hervor Es ist kompiliertechnisch gesehen sehr eigenst ndig und nicht nicht von Toolchain Vorgaben abh ngig Nach der Installation von Glibc nehmen wir noch ein paar Anpassungen vor damit stellen wir sicher dass Suchen und Verlinken nur innerhalb unseres Prefix tools stattfindet Wir installieren einen angepassten Id welcher einen fest angegebenen Suchpfad auf too1s 1ib hat Dann bearbeiten wir die spec Datei von gcc so dass sie auf den neuen Dynamischen Linker in tools 1ib verweist Der letzte Schritt ist entscheidend f r den gesamten Prozess Wie oben bereits angemerkt wird ein fest eingestellter Pfad zum Dynamischen Linker in jeder ausf hrbaren ELF Datei eingebettet Sie k nnen das berpr fen indem Sie dieses Kommando ausf hren readelf 1 lt Name der ausf hrbaren Datei gt grep interpreter Durch das Anpassen der Specs Datei von gcestellen wir sicher dass jedes von hier an kompilierte Programm bis zum Ende des Kapitels unseren neuen Dynamischen Linker in tools 1lib benutzt Die Notwendigkeit den ne
156. ie Nummer der Festplatte und m die Nummer der Partition ist Beide Werte starten bei null Das bedeutet dass zum Beispiel die Partition hdal f r Grub hd0 0 ist und hdb2 ist hd1 1 Anders als Linux betrachtet Grub CD Rom Laufwerke nicht als Festplatte Wenn Sie also ein CD Rom Laufwerk auf hdb haben und eine zweite Festplatte auf hdc dann ist die zweite Festplatte immernoch hd1 Bestimmen Sie mit den obigen Informationen den Namen Ihrer root Partition Im folgenden Beispiel nehmen wir an dass Ihre root Partition hda4 ist Sagen Sie Grub zuerst wo er seine stage 1 2 Dateien findet Sie k nnen die Tabulator Taste verwenden damit Grub Alternativen anzeigt root hd0 3 amp Warnung Das n chste Kommando berschreibt Ihren jetzigen Bootloader Wenn Sie das nicht wollen f hren Sie das Kommando nicht aus Zum Beispiel wenn Sie einen Bootloader von einem Dritthersteller benutzen m chten um Ihren MBR zu verwalten MBR Master Boot Record In dem Fall w rde es Sinn machen Grub in den Bootsektor Ihrer LFS Partition zu installieren das Kommando w rde dann lauten setup hd0 3 Sagen Sie Grub nun dass er sich in den MBR von hda installieren soll setup hd0 Wenn alles in Ordnung ist wird Grub nun berichten dass er seine Dateien in boot grub findet Das ist alles soweit quit Nun m ssen wir die Datei menu lst erstellen welche das Grub Bootmen definiert cat gt boot grub menu lst lt lt EOF
157. ie Bedeutung der make Parameter configure host Dies erzwingt die sofortige Konfiguration alle Unterordner Eine statisch gebaute Version w rde ansonsten fehlschlagen Wir benutzen diese Option zur Umgehung dieses Problems e LDFLAGS all static Dies teilt dem Linker mit dass alle Binutils Programme statisch gelinkt werden sollen Genaugenommen wird all static zuerst an libtool bergeben welches dann wiederum static an den Linker bergibt Der Kompiliervorgang ist nun abgeschlossen Normalerweise w rden Sie nun die Testsuite durchlaufen lassen aber in diesem fr hen Stadium ist die Testsuite Umgebung Tcl Expect und DejaGnu noch nicht verf gbar Ausserdem 30 Linux From Scratch Version 5 1 1 macht es wenig Sinn die Tests dennoch laufen zu lassen weil die Programme aus dem ersten Durchlauf sehr bald durch die aus dem zweiten Durchlauf ersetzt werden Installieren Sie das Paket make install Bereiten Sie nun den Linker auf die sp teren Anpassungen vor make C ld clean make C ld LDFLAGS all static LIB PATH tools lib Die Bedeutung der make Parameter e C ld clean Dies weist das Programm make an alle kompilierten Dateien im Unterordner 1d zu l schen e C ld LDFLAGS all static LIB PATH tools lib Diese Option kompiliert alles im Unterordner 1d erneut Die Angabe der Makefile Variable LIB_PATH auf der Kommandozeile berschreibt den Standardwert und zeigt auf den tempor ren tools Ordner Der W
158. ie die Testdateien rm dummy c a out 39 Linux From Scratch Version 5 1 1 Tcl 8 4 6 Das Tcl Paket enth lt die sog Tool Command Language Approximate build time 0 9 SBU Required disk space 22 7 MB Tcl ist abh ngig von Bash Binutils Coreutils Diffutils GCC Glibc Grep Make Sed Installieren von Tcl Dieses und die nachsten beiden Pakete werden nur installiert damit wir die Testsuites von GCC und Binutils laufen lassen k nnen Drei Pakete nur zu Testzwecken zu installieren k nnte etwas bertrieben erscheinen aber es ist wirklich sehr wichtig zu wissen dass unsere allerwichtigsten Programme und Werkzeuge richtig funktionieren Selbst wenn wir die Testsuites in diesem Kapitel nicht ausfiihren wie empfohlen werden diese Pakete doch zumindest fiir die Tests im n chsten Kapitel ben tigt Bereiten Sie Tcl zum Kompilieren vor cd unix configure prefix tools Kompilieren Sie das Paket make Wenn Sie die Testsuite ausf hren m chten f hren Sie TZ UTC make test aus Es ist jedoch bekannt dass die Tcl Testsuite unter bestimmten Bedingungen fehlschl gt Daher sind Fehler in der Testsuite nicht berraschend wir betrachten diese Fehler nicht als kritisch Der Parameter TZ UTC setzt die Zeitzone f r die Dauer des Durchlauchs der Testsuite auf Coordinated Universal Time UTC auch als Greenwhich Mean Time GMT bekannt Dadurch werden zeitbezogene Tests korrekt ausgewertet Mehr Informationen zu der TZ Umgeb
159. ie eine hnliche System Konfiguration wie Sie haben Ein Beispiel wie GCC 3 3 3 auf i686 pc linux gnu aussehen sollte finden Sie unter http gcc gnu org ml gcc testresults 2004 01 msg00826 html Beachten Sie dass das Ergebnis folgendes enth lt x 1 XPASS unexpected pass for g t 1 FAIL unexpected failure for gcc Pal SIDINGS Ss Terz llailosieckesn Der erfolgreiche Durchlauf fiir g ist unerwartet weil wir enable __cxa_atexit benutzt haben Offensichtlich unterst tzen nicht alle von GCC unterst tzten Plattformen __cxa_atexit in ihren C Bibliotheken daher wird das erfolgreiche Durchlaufen dieses Tests als unerwartet betrachtet Die 24 unerwartet erfolgreichen Durchl ufe f r libstdc sind begr ndet durch die Option enable clocale gnu das die korrekte Wahl Systeme ist die auf Glibc Version 2 2 5 oder h her basieren Die zugrunde liegende Locale Unterst tzung in der GNU C Bibliothek ist besser als das ansonsten gew hlte Modell generic welches anwendbar w re wenn Sie zum Beispiel Newlibc Sun libc oder eine sonstige libc verwenden w rden Die libstdc Testsuite erwartet anscheinend das Modell generic daher ist das erfolgreiche Absolvieren dieser Tests unerwartet 44 Linux From Scratch Version 5 1 1 Ein paar unerwartete Fehler lassen sich oftmals gar nicht vermeiden Die Entwickler von GCC kennen diese blicherweise bereits hatten aber noch keine Zeit diese Fehler zu beheben Kurz gesagt solange Ihre Testerge
160. ien p 72 Iana Etc 1 00 p 96 192 Linux From Scratch Version 5 1 1 description description description description description description description description description description description description description description description description description description p 100 p 81 p 145 p 81 p 81 p 81 p 81 p 30 p 149 p 133 p 87 p 87 p 40 p 81 p 81 p 133 p 104 p 94 m m m mm m description description description description description description p 162 p 162 p 162 p 162 p 162 p 162 rr description p 162 description p 74 description p 162 description p 162 description p 162 description description description description p 162 p 162 p 162 p 162 oso description p 162 description p 162 description p 162 description p 162 description p 174 etc services etc syslog conf etc vim var log btmp var log lastlog var log wtmp var run utmp Kernel Header Man pages Iana Etc 1 00 p 96 Konfigurieren von Sysklogd p 150 Konfigurieren von Vim p 101 Erstellen der Dateien passwd group und der Logdateien p 72 Erstellen der Dateien passwd group und der Logdateien p 72 Erstellen der Dateien passwd group und der Logdateien p 72 Erstellen der Dateien passwd group und der Logdateien p 72 Linux 2 4 26 p 173 Man pages 1 66 p 76 193 Linux From Scratch Version
161. iffsfehlern libanl ist eine Bibliothek zum asynchronen Nachschlagen von Namen libbsd compat erm glicht einigen BSD Programmen unter Linux zu laufen libe ist die C Bibliothek eine Sammlung von h ufig genutzten Funktionen liberypt ist die Kryptographie Bibliothek libdl ist eine Schnittstellenbibliothek zum dynamischen Linker libg ist eine Laufzeitbibliothek f r g libieee ist die IEEE Flie kommabibliothek libm ist eine Mathematik Bibliothek libmcheck enth lt Kode der beim Booten ausgef hrt wird libmemusage wird von memusage verwendet und hilft beim Sammeln von Informationen ber die Speichernutzung eines Programms 80 Linux From Scratch Version 5 1 1 libnsl ist die Bibliothek f r Netzwerkdienste libnss sind die Name Service Switch Bibliotheken Sie enthalten Funktionen zum Aufl sen von Hostnamen Benutzernamen Gruppennamen Aliasen Diensten Protokollen und so weiter libpcprofile enth lt Profiling Funktionen die zum Verfolgen der CPU Benutzung einzelner Quelltextzeilen verwendet werden k nnen libpthread ist die POSIX Threads Bibliothek libresolv enth lt Funktionen zum Erzeugen Senden und Auswerten von Paketen an Internet Domain Name Server DNS librpesve enth lt Funktionen die verschiedene RPC Dienste zur Verf gung stellen librt enth lt Funktionen mit Schnittstellen f r die meisten POSIX 1b Echtzeiterweiterungen libthread_db enth lt Funktionen die zum Erzeugen von Debuggern f r
162. immte Datei oder ein Dateisystem verwenden killall beendet Prozesse aufgrund ihres Namens Es sendet ein Signal an alle Prozesse die ein bestimmtes Kommando ausf hren pstree zeigt laufende Prozesse als Baumstruktur an pstree x11 das gleiche wie pstree wartet allerdings vor dem Beenden auf eine Best tigung 146 Linux From Scratch Version 5 1 1 Shadow 4 0 4 1 Das Paket Shadow enth lt Programme zur sicheren Verwaltung von Kennw rtern Approximate build time 0 4 SBU Required disk space 11 MB Shadow ist abh ngig von Bash Binutils Bison Coreutils Diffutils GCC Gettext Glibc Grep Make Sed Installation von Shadow Shadow baut den Pfad zu passwd in die Bin rdatei selbst fest ein aber macht das leider nicht ganz korrekt Wenn die Datei passwd beim Installieren von Shadow nicht vorhanden ist nimmt das Paket an dass es nach bin passwd geh rt installiert es dann aber nach usr bin passwd Das f hrt zu dem Fehler dass bin passwd nicht gefunden werden kann Um diesen Fehler zu umgehen erstellen Sie eine dymmy passwd Datei damit der Pfad korrekt eingebunden wird touch usr bin passwd Bereiten Sie Shadow nun zum Kompilieren vor configure libdir usr lib enable shared Umgehen Sie ein Problem mit der Internationalisierung von Shadow echo define HAVE_SETLOCALE 1 gt gt config h Kompilieren Sie das Paket make Und installieren Sie es make install Shadow benutzt zwei Dateien zur Ko
163. in mkdir mknod mv pwd rm rmdir sync bin mv usr bin sleep stty su test touch true uname bin mv usr bin chroot usr sbin Wir benutzen das Programm ki 11 aus dem Procps Paket welches unter bin kill sp ter in diesem Kapitel installiert wird Entfernen Sie die installierte Version von Coreutils rm usr bin kill Schliesslich erstellen Sie noch zwei symbolische Links um FHS kompatibel zu sein In s test bin In s bin install usr bin Inhalt von Coreutils Installierte Programme basename cat chgrp chmod chown chroot cksum comm cp csplit cut date dd df dir dircolors dirname du echo env expand expr factor false fmt fold groups head hostid hostname id install join link In logname Is md5sum mkdir mkfifo mknod mv nice nl nohup od paste pathchk pinky pr printenv printf ptx pwd readlink rm rmdir seq shalsum shred sleep sort split stat stty su sum sync tac tail tee test touch tr true tsort tty uname unexpand unig unlink uptime users vdir wc who whoami und yes Kurze Beschreibung basename entfernt den Pfad und Suffix von einem angegebenen Dateinamen cat gibt Dateien an der Standard Ausgabe aus bzw f gt sie zusammen chgrp ndert die Gruppenzugeh rigkeit einer Datei Die Gruppe kann entweder als Name oder als numerische ID angegeben werden chmod ndert die Zugriffsrechte der angegebenen Dateien Der Modus kann entweder symbolisch in Form d
164. inals oder zum Anzeigen seines vollst ndigen Namens verwendet werden tset kann zum Initialisieren eines Terminals verwendet werden libncurses enth lt Funktionen zum Anzeigen von Text auf einem Terminal in vielen komplizierten Variationen Ein gutes Beispiel ist das angezeigte Men von make menuconfig des Kernels libform enth lt Funktionen zum Implementieren von Formularen libmenu enth lt Funktionen zum Implementieren von Men s libpanel enth lt Funktionen zum Implementieren von Schaltfl chen 100 Linux From Scratch Version 5 1 1 Vim 6 2 Das Paket Vim enth lt einen sehr m chtigen Texteditor Approximate build time 0 4 SBU Required disk space 34 MB Vim ist abh ngig von Bash Binutils Coreutils Diffutils GCC Glibc Grep Make Ncurses Sed Alternativen zu Vim Wenn Sie einen anderen Editor als Vim bevorzugen zum Beispiel Emacs Joe oder Nano dann schauen Sie unter http www linuxfromscratch org blfs view stable postlfs editors html dort finden Sie einige Installationshinweise Installation von Vim ndern Sie den Standardpfad von vimrc und gvimrc nach etc echo define SYS_VIMRC_FILE etc vimrc gt gt src feature h echo define SYS GVIMRC FILE etc gvimrc gt gt src feature h Bereiten Sie Vim zum Kompilieren vor configure prefix usr Kompilieren Sie das Paket make Um das Ergebnis zu testen kann das folgende Kommando verwendet werden make test Die Testsuite gi
165. installieren Wenn Sie die Glibc Locales dennoch installieren m chten f hren Sie dieses Kommando aus make localedata install locales 36 Linux From Scratch Version 5 1 1 Als Alternative zu dem vorigen Kommando k nnen Sie auch nur die von Ihnen ben tigten oder gew nschten Locales installieren Das erreichen Sie mit dem Kommando localedef Informationen dazu finden Sie in der Datei INSTALL in den Quellen zu Glibc Jedoch gibt es einige Locales die essentiell f r die Tests von weiteren Paketen sind im einzelnen die libstdc Tests von GCC Die folgenden Anweisungen anstelle des oben verwendeten Targets install locales installieren einen minimalen Satz von Locales die notwendig sind um die nachfolgenden Tests erfolgreich durchf hren zu k nnen mkdir p tools lib locale localedef i de_DE f ISO 8859 1 de_DE i de DE euro f ISO 8859 15 de_DE euro ISO 8859 1 en_HK ISO 8859 1 en_PH ISO 8859 1 en_US ISO 8859 1 es_MX localedef localedef localedef localedef localedef localedef localedef localedef localedef localedef ak Sal al a a al Sal Sal ai st en_HK en_PH en_US es_MX fa_IR fr FR KE e SE e DE UTF 8 fa IR ISO 8859 1 fr FR fr FR euro f ISO 8859 15 fr FR euro it IT f ISO 8859 1 it IT Ja_JP f EUC JP ja_JP Details zu diesem Paket finden Sie in Inhalt von Glibc p 79 37 Linux From Scratch Version 5 1 1 Die Glibc integrieren Jetzt wo die tempor ren C Biblioth
166. inutils 2 14 p 84 Util linux 2 12a p 154 Net tools 1 60 p 112 Binutils 2 14 p 84 Autoconf 2 59 p 120 Autoconf 2 59 p 120 Autoconf 2 59 p 120 Automake 1 8 4 p 121 Gettext 0 14 1 p 110 Autoconf 2 59 p 120 Autoconf 2 59 p 120 Autoconf 2 59 p 120 E2fsprogs 1 35 p 132 Coreutils 5 2 1 p 88 Bash 2 05b p 123 Bash 2 05b p 123 Findutils 4 1 20 p 97 182 Linux From Scratch Version 5 1 1 description p 116 description p 121 description p 121 description p 106 description p 85 description p 106 description p 154 description p 139 description p 85 description p 154 description p 112 description p 85 description p 120 description p 120 description p 120 description p 121 description p 110 description p 120 description p 120 description p 120 description p 133 description p 89 description p 123 description p 123 description p 97 bison blkid blockdev bunzip2 bzcat bzcmp bzdiff bzgrep bzip2 bzip2recover bzless bzmore c filt c2ph cal captoinfo cat catchsegv cfdisk chage chattr chfn chgrp chkdupexe chmod chown chpasswd chroot chsh chvt cksum clear cmp code col colcrt colrm column comm compile compile_et config charset config guess config rpath config su cp cpp csplit ctrlaltdel cut cytune date dd ddate deallocvt debugfs depcomp depmod df diff diff3 dir
167. ion 5 1 1 Gzip 1 3 5 Das Paket Gzip enth lt Programme zum Komprimieren und Dekomprimieren von Dateien Approximate build time 0 1 SBU Required disk space 2 6 MB Gzip ist abh ngig von Bash Binutils Coreutils Diffutils GCC Glibc Grep Make Sed Installation von Gzip Bereiten Sie Gzip zum Kompilieren vor configure prefix usr Das Programm gzexe bekommt den Pfad zu gzip fest eingebaut Da wir diese Datei im nachhinein verschieben miissen wir mit dem folgenden Kommando sicherstellen dass der korrekte Pfad in die Bin rdatei geschrieben wird cp gzexe in backup sed s BINDIR bin gzexe in backup gt gzexe in Kompilieren Sie das Paket make Installieren Sie das Paket make install Und verschieben Sie die Programme in den Ordner bin mv usr bin gzip bin rm usr bin gunzip zcat In s gzip bin gunzip In s gzip bin zcat In s gunzip bin uncompress Inhalt von Gzip Installierte Programme gunzip Link auf gzip gzexe gzip uncompress Link auf gunzip zcat Link auf gzip zcmp zdiff zegrep zfgrep zforce zgrep zless zmore und znew Kurze Beschreibung gunzip dekomprimiert gzip Dateien gzexe wird zum Erzeugen von selbstentpackenden ausf hrbaren Dateien verwendet gzip komprimiert Dateien mit dem Lempel Ziv LZ77 Algorythmus zcat dekomprimiert gzip Dateien zur Standardausgabe zcmp f hrt cmp auf gzip Dateien aus zdiff f hrt diff auf gzip Dateien aus zegrep f hrt egrep
168. ionalit ten einschalten Dieses Paket funktioniert nicht gut wenn nicht die Standard Optimierungseinstellungen inklusive der Optionen march und mcpu benutzt werden Deshalb sollten eventuell gesetzte Umgebungsvariablen die die Standardoptimierung berschreiben zum Beispiel CFLAGS und CXXFLAGS f r den Kompiliervorgang zur ckgesetzt oder entsprechend abge ndert werden Die Dokumentation zu Binutils empfiehlt Binutils ausserhalb des Quellordners zu kompilieren mkdir binutils build cd binutils build Anmerkung CE Wenn die im Buch angegebenen SBU Werte einen Nutzen haben sollen m ssen Sie nun die Zeit messen die Sie zum Kompilieren dieses Pakets ben tigen Dies k nnen Sie relativ einfach mit folgendem Kommando tun time configure amp amp amp amp amp amp make install Bereiten Sie nun Binutils zum Kompilieren vor binutils 2 14 configure prefix tools disable nls Die Bedeutung der configure Parameter e prefix tools Dies teilt dem configure Skript mit die Installation der Binutils Programme in den Ordner tools vorzubereiten e disable nls Dies deaktiviert die Internationalisierung oft auch als il8n abgek rzt Wir brauchen keine Internationalisierung f r unsere statischen Programme und nls verursacht h ufig Probleme beim statischen Verlinken von Programmen Fahren Sie mit dem Kompilieren des Pakets fort make configure host make LDFLAGS all static D
169. ischeck pcprofiledump pt_chown rpcgen rpcinfo sin sprof tzselect xtrace zdump und zic Installierte Bibliotheken ld so libBrokenLocale a so libSegFault so libanl a so libbsd compat a libc a so libc_nonshared a libcrypt a so libdl a so libg a libieee a libm a so libmcheck a libmemusage so libnsl a libnss_compat so libnss_dns so libnss_files so libnss_hesiod so libnss_nis so libnss_nisplus so libpcprofile so libpthread a so libresolv a so librpcsvc a librt a so libthread_db so und libutil a so Kurze Beschreibung catchsegv kann zum Erzeugen eines Stacktrace benutzt werden wenn ein Programm mit einem Speicherzugriffsfehler abst rzt gencat erzeugt Nachrichtenkataloge getconf zeigt System Konfigurationswerte f r dateisystemspezifische Variablen an getent liest Eintr ge aus einer administrativen Datenbank glibcbug erzeugt einen Fehlerbericht und verschickt ihn per E Mail an die Bug E Mailadresse 79 Linux From Scratch Version 5 1 1 iconv f hrt Zeichensatzkonvertierungen durch iconvconfig erzeugt schnellladende iconv Modul Konfigurationsdateien Idconfig konfiguriert die Laufzeitbindungen des dynamischen Linkers Idd gibt aus welche gemeinsamen Bibliotheken von einem Programm oder einer Bibliothek ben tigt werden Iddlibc4 unterst tzt Idd bei Objektdateien locale ist ein Perl Programm das im Compiler die Verwendung von POSIX Locales f r eingebaute Operationen ein b
170. konfiguration weil sie zum Beispiel Hardwareabh ngig sind Wir haben den System V Init Stil gew hlt weil er weit verbreitet ist und die meisten gut damit umgehen k nnen Wenn Sie etwas anderes bevorzugen Marc Heerdink hat eine Aneitung zu BSD Stil Init Skripten geschrieben Sie finden das Dokument unter http www linuxfromscratch org hints downloads files bsd init txt Und wenn Sie etwas radikaleres m chten durchsuchen Sie die LFS Mailinglisten nach depinit Wenn Sie sich f r etwas ganz anderes entschieden haben k nnen Sie das nachfolgende Kapitel berspringen und direkt bei Chapter 8 p 171 weitermachen 161 Linux From Scratch Version 5 1 1 LFS Bootscripts 2 0 5 Das Paket LFS Bootskripte enth lt einige Boot Skripte Approximate build time 0 1 SBU Required disk space 0 3 MB LFS Bootskripte sind abh ngig von Bash Coreutils Installation von LFS Bootskripte Die Installation der Boot Skripte ist sehr einfach make install Inhalt von LFS Bootskripte Installierte Skripte checkfs cleanfs functions halt ifdown ifup loadkeys localnet mountfs mountkernfs network rc reboot sendsignals setclock static swap sysklogd und template Kurze Beschreibung Das checkfs Skript pr ft Dateisysteme bevor sie eingeh ngt werden mit der Ausnahme von journal und netzwerkbasierten Dateisystemen Das cleanfs Skript entfernt Dateien die nicht ber das Neustarten des Systems hinaus existieren sollten wie zum
171. l versteht umount l st ein Dateisystem aus der Ordnerstruktur vidmode kann zum Setzen des Videomodus in einem bootf higen Abbild benutzt werden whereis gibt den Ort einer Bin rdatei der Quellen und der Man page f r ein Kommando an write sendet eine Nachricht an einen Benutzer Zumindest sofern der Benutzer solche Nachrichten nicht deaktiviert hat 156 Linux From Scratch Version 5 1 1 GCC 2 95 3 Approximate build time 1 5 SBU Approximate build time 130 MB Installieren von GCC Dieses Paket funktioniert nicht gut wenn nicht die Standard Optimierungseinstellungen inklusive der Optionen march und mcpu benutzt werden Deshalb sollten eventuell gesetzte Umgebungsvariablen die die Standardoptimierung berschreiben zum Beispiel CFLAGS und CXXFLAGS f r den Kompiliervorgang zur ckgesetzt oder entsprechend abge ndert werden Dies ist eine ltere Version von GCC die wir nur installieren um damit in Chapter 8 p 171 den Linux Kernel zu kompilieren Diese Version wird von den Kernel Entwicklern empfohlen wenn Sie absolute Stabilit t brauchen Neuere Versionen von GCC wurden nicht so intensiv mit dem Linux Kernel getestet Eine neuere Version funktioniert h chstwahrscheinlich dennoch folgen wir dem Rat der Kernel Entwickler und benutzen hier diese Version um den Kernel zu kompilieren Anmerkung Le Wir installieren hier nicht den C Compiler und seine Bibliotheken Dennoch k nnten Sie Gr nde haben diese zu inst
172. lich ptx erzeugt aus dem Inhalt von Dateien einen vertauschten Index mit jedem Stichwort im Kontext pwd gibt den Namen des aktuellen Ordners aus readlink gibt den Wert eines symbolischen Links aus rm l scht Dateien oder Ordner rmdir l scht leere Ordner seq gibt eine Zahlenreihe in einem bestimmten Wertebereich und mit einem bestimmten Inkrement aus shalsum pr ft 160 Bit SHA 1 Pr fsummen oder gibt sie aus shred berschreibt eine Datei mehrfach mit un blichen Mustern um das Wiederherstellen der Daten zu erschweren sleep pausiert f r die angegebene Zeit sort sortiert die Zeilen einer Datei split teilt eine Datei in St cke nach Gr sse oder nach Zeilennummern stty setzt Terminal Einstellungen oder zeigt sie an su startet eine Shell mit anderer Benutzer und oder Gruppen ID sum gibt Pr fsumme und Anzahl der Bl cke einer Datei aus sync schreibt den Dateisystempuffer Ge nderte Bl cke werden auf die Festplatte geschrieben und der Superblock wird aktualisiert tac f gt Dateien r ckw rts zusammen tail gibt die letzten zehn oder die angegebene Anzahl von Zeilen einer Datei aus tee liest von der Standardeingabe w hrend gleichzeitig auf die Standardausgabe und in eine Datei geschrieben wird test vergleicht Werte und pr ft Dateitypen touch ndert Zeitstempel von Dateien setzt Zugriffs und nderungszeit einer Datei auf die aktuelle Zeit Dateien die noch nicht existieren werden mit der L nge 0 angeleg
173. lieren Sie das Paket make install Inhalt von DejaGnu Installiertes Programm runtest Kurze Beschreibung runtest ist das Wrapper Skript das die korrekte expect Shell findet und DejaGnu ausf hrt 42 Linux From Scratch Version 5 1 1 GCC 3 3 3 Durchlauf 2 Approximate build time 11 0 SBU Required disk space 332 1 MB Neuinstallation von GCC Die Hilfsmittel zum Testen von GCC und Binutils sind nun installiert Tcl Expect und DejaGnu Wir k nnen GCC und Binutils nun erneut installieren sie gegen die neue Glibc verlinken und testen Es gibt eine Sache die noch beachtet werden muss Die Testsuites sind stark von funktionierenden Pseudo Terminals PTYs abh ngig Diese werden vom Host System bereitgestellt Heutzutage werden PTYs meist ber das Dateisystem devpts implementiert Ob Ihr Host System korrekt eingerichtet ist k nnen Sie mit einem einfachen Test feststellen expect c spawn ls Wenn Sie diese Meldung erhalten The system has no more ptys Ask your system administrator to create more ist Ihr Host System nicht korrekt f r PTYs eingerichtet Solange Sie dieses Problem nicht behoben haben brauchen Sie die Testsuites von GCC und Binutils gar nicht erst durchlaufen zu lassen Wenn Sie mehr Informationen zum Einrichten von PTYs brauchen schauen Sie am besten in das LFS Wiki unter http wiki linuxfromscratch org Diesmal kompilieren wir sowohl den C als auch den C Compiler Entpacken Sie die GCC core
174. llieren von Binutils Jetzt ist ein guter Zeitpunkt um zu berpr fen dass die Pseudo Terminals PTYs in Ihrer chroot Umgebung funktionieren Mit dem folgenden schnellen Test berpr fen wir ob alles korrekt konfiguriert ist expect c spawn 1s Wenn Sie die Nachricht The system has no more ptys Ask your system administrator to create more erhalten sind die PTYs in Ihrer chroot Umgebung nicht korrekt konfiguriert In dem Fall macht es keinen Sinn die Tests f r Binutils und GCC laufen zu lassen solange Sie das Problem nicht behoben haben Schlagen Sie bitte im Abschnitt Einh ngen der Dateisysteme proc und devpts p 67 und Make_devices p 73 nach und f hren Sie die empfohlenen Schritte durch um das Problem zu beseitigen Dieses Paket funktioniert nicht gut wenn nicht die Standard Optimierungseinstellungen inklusive der Optionen march und mcpu benutzt werden Deshalb sollten eventuell gesetzte Umgebungsvariablen die die Standardoptimierung berschreiben zum Beispiel CFLAGS und CXXFLAGS f r den Kompiliervorgang zur ckgesetzt oder entsprechend abge ndert werden Die Dokumentation zu Binutils empfiehlt Binutils ausserhalb des Quellordners zu kompilieren mkdir binutils build cd binutils build Bereiten Sie nun Binutils zum Kompilieren vor binutils 2 14 configure prefix usr enable shared Kompilieren Sie das Paket make tooldir usr Normalerweise ist fooldir der Ordner in den die ausfii
175. ls Coreutils Diffutils GCC Gettext Glibc Grep Make Sed Installieren von Diffutils Bereiten Sie Diffutils zum Kompilieren vor configure prefix usr Kompilieren Sie das Paket make Installieren Sie es make install Inhalt von Diffutils Installierte Programme cmp diff diff3 und sdiff Kurze Beschreibung cmp vergleicht zwei Dateien und berichtet ob und an welchen Bytes sie sich unterscheiden diff vergleicht zwei Dateien oder Ordner und berichtet in welchen Zeilen sich die Dateien unterscheiden diff3 vergleicht drei Dateien Zeile f r Zeile sdiff f hrt interaktiv zwei Dateien zusammen und gibt das Ergebnis aus 128 Linux From Scratch Version 5 1 1 Ed 0 2 Ed enth lt einen recht spartanischen Zeileneditor Approximate build time 0 1 SBU Required disk space Sal MB Ed ist abh ngig von Bash Binutils Coreutils Diffutils GCC Glibc Grep Make Sed Installation von Ed Anmerkung CE u Ed wird nicht von vielen Leuten benutzt Ed wird installiert weil er von dem Programm Patch verwendet wird wenn Sie einen Ed basierten Patch installieren m chten Das passiert allerdings sehr selten heutzutage werden fast ausschliesslich diff basierte Patches bevorzugt Ed verwendet die mktemp Funktion um tempor re Dateien in tmp zu erstellen doch diese Funktion ist verwundbar schauen Sie in die Sektion ber tempor re Dateien in http en tldp org HOWTO Secure Programs HOWTO avoid race html Der f
176. ls Einstiegspunkt benutzt denn Sie brauchen Programme wie Compiler Linker und eine Shell um Ihr neues System zu erstellen Normalerweise sind alle notwendigen Programme installiert wenn Sie bei der Installation Ihrer Distribution die Kategorie Entwicklung bei den zu installierenden Programmen ausgew hlt haben In Chapter 2 p 9 erstellen Sie als erstes eine neue Linux Partition und ein Dateisystem auf dem Ihr neues LFS System kompiliert und installiert wird Dann laden Sie in Chapter 3 p 14 alle f r LFS notwendigen Pakete und Patches herunter und speichern sie auf dem neuen Dateisystem In Chapter 4 p 20 erstellen Sie sich dann eine gute Arbeitsumgebung f r die weiteren Schritte Chapter 5 p 26 beschreibt dann die Installation einiger Pakete f r die grundlegende Entwicklungsumgebung im weiteren Verlauf des Buches Toolchain genannt die ben tigt wird um dann das eigentliche System in Chapter 6 p zu erstellen Einige dieser Pakete werden ben tigt um rekursive Abh ngigkeiten aufzul sen zum Beispiel ben tigen Sie einen Compiler um einen Compiler zu kompilieren Als erstes erstellen Sie im Chapter 5 p 26 eine erste Version der Basiswerkzeuge bestehend aus Binutils und GCC Die Programme aus diesen Paketen werden statisch verlinkt damit sie unabh ngig vom Host System benutzt werden k nnen Im zweiten Schritt bauen Sie Glibc die C Bibliothek Glibc wird mit den Programmen der im ersten Schritt erstellten Basiswerkzeuge kom
177. man conf in Bereiten Sie Man nun zum Kompilieren vor configure default confdir etc Die Bedeutung der configure Parameter e default Veranlasst das configure Skript eine sorgf ltige Auswahl an Voreinstellungen auszuw hlen Zum Beispiel Nur englische Manpages keine Nachrichtenkataloge man ohne suid Bit Unterst tzung komprimierter Manpages komprimieren von cat Seiten erstellen von cat Seiten wenn der zugeh rige Ordner existiert FHS Konformit t durch ablegen der cat Seiten unter var cache man sofern der Ordner existiert e confdir etc Durch diese Option sucht das Programm man seine Konfigurationsdatei man conf im Ordner etc Kompilieren Sie das Paket make Und installieren Sie es make install am Anmerkung Falls Sie SGR Escape Sequenzen abschalten m chten m ssen Sie die Datei man conf editieren und das Argument c zu NROFF hinzufiigen Wenn Sie weitergehende Informationen zur Kompression von Manpages haben m chten schauen Sie am besten im BLFS Buch unter http www linuxfromscratch org blfs view cvs postlfs compressdoc html nach Inhalt von Man 138 Linux From Scratch Version 5 1 1 Installierte Programme apropos makewhatis man man2dvi man2html und whatis Kurze Beschreibung apropos durchsucht die whatis Datenbank und gibt kurze Beschreibungen zu den Kommandos aus die die angegebene Zeichenkette enthalten makewhatis erstellt die whatis Datenbank Es liest alle Man pages und schre
178. n Das schafft Platz im Arbeitsspeicher f r wichtigere Dinge Die Swap Partition in Ihrem LFS kann dieselbe sein wie die die Sie bereits fiir ihr Host System nutzen Falls Sie also bereits eine funktionsf hige Swap Partition haben miissen Sie nicht noch eine weitere Partition erstellen Rufen Sie ein Partitionierungsprogramm wie zum Beispiel cfdisk oder fdisk auf als Argument bergeben Sie die Festplatte auf der Sie die neue Partition erstellen m chten zum Beispiel dev hda f r die prim re IDE Festplatte Erstellen Sie eine native Linux Partition und eine Swap Partition falls ben tigt Bitte lesen Sie in der Man Page zu cfdisk oder fdisk nach wenn Sie nicht wissen wie man diese Programme bedient Merken Sie sich die Bezeichnung Ihrer neuen Partition sie k nnte hda5 oder hnlich lauten Das Buch bezeichnet diese Partition im weiteren Verlauf als die LFS Partition Wenn Sie nun eine Swap Partition haben merken Sie sich auch deren Bezeichnung Die Bezeichnungen werden sp ter f r die Datei etc fstab ben tigt 10 Linux From Scratch Version 5 1 1 Erstellen eines Dateisystems auf der neuen Partition Nun haben wir eine leere Partition und k nnen darauf ein Dateisystem anlegen Das meistverbreitete Dateisystem unter Linux ist das Second Extended Filesystem ext2 aber bei den gro en Festplatten von heute werden die Journaling Dateisysteme immer beliebter An dieser Stelle werden wir ein ext2 Dateisystem erstellen Anleitu
179. n Doch wenn Sie den tools Ordner in seinem jetzigen Zustand behalten haben Sie Dateien mit einer Benutzer ID zu der es kein Benutzerkonto gibt Das ist gef hrlich denn ein sp ter erstelltes Konto k nnte genau diese ID bekommen und w re damit pl tzlich der Besitzer des Ordners tools und aller Dateien darin Dieser Benutzer k nnte alle Dateien unbemerkt manipulieren Um dieses Problem zu vermeiden k nnen Sie Ihrem LFS System den Benutzer fs sp ter beim Erzeugen der etc passwd hinzuf gen und ihm die gleiche Benutzer ID und Gruppen ID wie auf Ihrem Host System geben Alternativ k nnen Sie und im Buch gehen wir davon aus dass Sie dies tun den Inhalt des Ordners tools dem Benutzer root zuordnen Benutzen Sie dazu folgendes Kommando chown R 0 0 tools Das Kommando benutzt 0 0 anstelle von root root weil chown den Namen root nicht aufl sen kann solange die Passwortdatei noch nicht erzeugt wurde 69 Linux From Scratch Version 5 1 1 Erstellen der Ordner Lassen Sie uns nun Struktur in unser LFS System bringen und einige Ordne erstellen Das folgende Kommando erstellt eine mehr oder weniger standardkonforme Ordnerstruktur mkdir p bin boot dev pts shm etc opt home lib mnt proc mkdir p root sbin srv tmp usr local var opt mkdir p media floppy cdrom mkdir usr bin include lib sbin share src In s share man doc info usr mkdir usr share doc info locale man mkdir usr share misc
180. n Zum Beispiel k nnen Sie durch installieren des Text Browsers Lynx das BLFS Buch auf der einen Konsole lesen w hrend Sie auf der anderen weitere Pakete installieren Mit dem GPM Paket k nnen Sie Kopieren und Einf gen mit der Maus benutzen Ausserdem k nnte es in Ihrem Netzwerk sinnvoll sein das Paket dhcpcd oder ppp zu installieren Nun lassen Sie uns Ihr System Neustarten als erstes verlassen Sie die chroot Umgebung logout H ngen Sie die virtuellen Dateisysteme aus umount LFS dev pts umount LFS proc Und h ngen Sie das LFS Dateisystem aus umount LFS Wenn Sie sich zu Beginn f r mehrere Partitionen entschieden haben miissen Sie die anderen Partitionen aush ngen bevor Sie LFS wie folgt aush ngen umount LFS usr umount LFS home umount LFS Und jetzt k nnen Sie Ihren Computer neu starten shutdown r now Unter der Annahme dass der Grub Bootloader wie vorgeschlagen installiert wurde sollte das Standard Bootmen LFS 5 1 15 1 automatisch booten Nach dem Neustart ist Ihr LFS System bereit Sie k nnen es nun benutzen und damit beginnen weitere eigene Software zu installieren 179 Linux From Scratch Version 5 1 1 Was nun Vielen Dank dass Sie das LFS Buch gelesen haben Wir hoffen dass Sie das Buch n tzlich fanden und das es Ihre Zeit wert war Jetzt wo Sie mit der Installation von LFS fertig sind fragen Sie sich vielleicht Was nun Um diese Frage zu beantworten haben wir eine Reih
181. n description description description description description description description description description description description description description description description description description description description description description description description p 80 p 80 p 111 p 85 p 133 p 30 p 30 p 127 p 30 p 133 p 30 p 30 p 133 p 133 p 109 p 100 p 80 p 87 p 111 p 111 p 111 p 85 p 30 p 125 p 30 p 124 p 80 p 80 p 100 p 149 p 100 p 81 p 81 p 85 A mm libpanel libpcprofile libproc libpthread libresolv librpesve librt libSegFault libshadow libss libstdc libsupc libtcl8 4 so libthread db libutil libuuid liby a libz Scripts checkfs cleanfs functions halt ifdown loadkeys Konfigurieren localnet etc hosts Konfigurieren make devices mountfs mountkernfs network etc hosts Konfigurieren IC reboot sendsignals setclock Konfigurieren static swap sysklogd Konfigurieren template Others boot System map etc fstab etc group etc hosts etc inittab etc ld so conf etc lfs release etc localtime etc nsswitch conf etc passwd etc protocols Ncurses 5 4 p 99 Glibc 2 3 3 Ifs 5 1 p 77 Procps 3 2 1 p 144 Glibc 2 3 3 Ifs 5 1 p 77 Glibc 2 3 3 Ifs 5 1 p 77 Glibc 2 3 3 lfs 5 1 p 77 Glibc 2 3 3 Ifs 5 1 p 77 Glibc
182. n wie zum Beispiel start stop restart reload status Wenn ein K Link ausgef hrt werden soll wird das entsprechende Skript mit dem stop Parameter aufgerufen Wenn ein S Link ausgef hrt werden soll wird das Skript mit dem start Parameter aufgerufen Es gibt eine Ausnahme S Links in den Ordnern rc0 d und rc6 d starten keine Dienste Sie werden stattdessen mit dem stop Parameter aufgerufen um etwas zu beenden Die Logik dahinter ist dass Sie wohl kaum einen Dienst starten wollen wenn Sie rebooten oder das System anhalten wollen Hier einige Beschreibungen welche Parameter zu einem Skript was bewirken e start Der Dienst wird gestartet e stop Der Dienst wird gestoppt e restart Der Dienst wird gestoppt und dann erneut gestartet e reload Die Konfiguration des Dienstes wird neu eingelesen Das verwendet man nachdem die Konfigurationsdatei eines Dienstes ge ndert wurde und man nicht den ganzen Dienst neu starten muss e status Gibt aus ob der Dienst l uft und wenn ja mit welchen PIDs Sie k nnen den Bootprozess ruhig nach Ihren W nschen anpassen schlussendlich ist es ja auch Ihr eigenes LFS System Die Dateien hier sind nur Beispiele wie man es gut erledigen kann nun wir halten es f r gut Sie m gen es aber vielleicht hassen 163 Linux From Scratch Version 5 1 1 Konfigurieren des setclock Skript Das setclock Skript liest die Zeit aus der Hardware Uhr des Computers auch bekannt als BIOS oder CMOS Uhr un
183. n kann gcov ist ein Werkzeug zum Testen des Deckungsgrades Es wird zum Analysieren von Programmen benutzt um herauszufinden wo Optimierungen den gr ssten Effekt zeigen libgcc enth lt Laufzeitunterst tzung f r gcc libstdc ist die Standard C Bibliothek Sie enth lt viele h ufig genutzte Funktionen libsupc stellt Unterstiitzungsroutinen f r die Programmiersprache C zur Verf gung 87 Linux From Scratch Version 5 1 1 Coreutils 5 2 1 Das Paket Coreutils enth lt eine gro e Anzahl an Shell Werkzeugen zum Einstellen der grundlegenden Systemeigenschaften Approximate build time 0 9 SBU Required disk space 69 MB Coreutils ist abh ngig von Bash Binutils Coreutils Diffutils GCC Gettext Glibc Grep Make Perl Sed Installieren von Coreutils Die Funktion von uname ist ein wenig fehlerhaft weil der Schalter p immer unknown ausgibt Der folgende Patch behebt das Problem auf Intel Architekturen patch Npl i coreutils 5 2 1 uname 1 patch Wir m chten nicht dass Coreutils seine Version von hostname installiert weil sie schlechter ist als die von Net tools bereitgestellte Verhindern Sie die Installation mit dem folgenden Patch patch Npl i coreutils 5 2 1 hostname 1 patch Bereiten Sie Coreutils zum Kompilieren vor DEFAULT_POSIX2_VERSION 199209 configure prefix usr Kompilieren Sie das Paket make Diese Testsuite trifft einige Annahmen in Hinsicht auf die Existenz von Benutzer
184. n rohen Nachrichtenkatalog in Textform msgunig vereinheitlicht doppelte bersetzungen in einem Nachrichtenkatalog ngettext zeigt die bersetzung einer Textnachricht an deren Grammatik von einer Zahl abh ngt xgettext extrahiert alle bersetzbaren Nachrichten aus den angegebenen Quelldateien um eine erste Nachrichtenkatalogvorlage zu erstellen libasprintf definiert die autosprintf Klasse sie macht C formatierte Routinen in C Programmen verf gbar vor allem zur Verwendung mit lt string gt Strings und den lt iostream gt Streams libgettextlib ist eine private Bibliothek die die allgemeinen Routinen der verschiedenen gettext Programme enth lt Sie sind nicht zur normalen Verwendung gedacht libgettextpo wird zum Schreiben von spezialisierten Programmen verwendet die PO Dateien verarbeiten sollen Diese Bibliothek wird benutzt wenn die mitgelieferten Standardprogramme von gettext nicht ausreichen so wie msgcomm msgcmp msgattrib und msgen libgettextsrc ist eine private Bibliothek die die allgemeinen Routinen der verschiedenen gettext Programme enth lt Sie sind nicht zur normalen Verwendung gedacht 111 Linux From Scratch Version 5 1 1 Net tools 1 60 Die Net tools sind eine Sammlung von grundlegenden Programmen f r das Netzwerk unter Linux Approximate build time 0 1 SBU Required disk space 9 4 MB Net tools ist abh ngig von Bash Binutils Coreutils GCC Glibc Make Installation von Net tools Wenn Si
185. n und Gruppen die in in unserem LFS System noch nicht vorhanden sind Wir m ssen noch einige Dinge einrichten bevor wir die Tests laufen lassen k nnen Falls Sie diese Testsuite nicht ausf hren m chten fahren Sie mit Installieren Sie das Paket fort Damit die Testsuite vollst ndig durchlaufen kann wird das Programm su ben tigt Wir haben uns aber nicht die M he gemacht es in Chapter 5 p 26 zu installieren weil es root Rechte ben tigt Wir holen dies nun nach make install root Erstellen Sie die Tabelle der eingebundenen Dateisysteme mit touch etc mtab Und erstellen Sie zwei Dummy Gruppen und einen Dummy Benutzer echo dummy1 x 1000 gt gt etc group echo dummy2 x 1001 dummy gt gt etc group echo dummy x 1000 1000 bin bash gt gt etc passwd Wir k nnen die Testsuite nun durchlaufen lassen Als erstes starten wir einige Tests die als root laufen m ssen export NON_ROOT_USERNAME dummy make check root Die verbleibenden Tests werden als Benutzer dummy ausgef hrt su dummy c make RUN_EXPENSIVE_TESTS yes check Danach entfernen Sie die dummy Gruppen und Benutzer sed i bak dummy d etc passwd etc group 88 Linux From Scratch Version 5 1 1 Installieren Sie das Paket make install Und verschieben Sie einige Programme an die richtige Stelle mv usr bin basename cat chgrp chmod chown cp dd df bin mv usr bin date echo false head install ln ls bin mv usr b
186. n von Grub Dieses Paket funktioniert nicht gut wenn nicht die Standard Optimierungseinstellungen inklusive der Optionen march und mcpu benutzt werden Deshalb sollten eventuell gesetzte Umgebungsvariablen die die Standardoptimierung berschreiben zum Beispiel CFLAGS und CXXFLAGS f r den Kompiliervorgang zur ckgesetzt oder entsprechend abge ndert werden Bereiten Sie nun Grub zum Kompilieren vor configure prefix usr Kompilieren Sie das Paket make Installieren Sie es make install mkdir boot grub cp usr share grub i386 pc stage 1 2 boot grub Ersetzen Sie i 38 6 pc durch den f r Ihre Plattform korrekten Ordner Der Ordner i386 pc enth lt auch einige stagel_5 Dateien die jeweils f r verschiedene Dateisysteme gedacht sind Schauen Sie nach welche zur Verf gung stehen und kopieren Sie die notwendigen nach boot grub Die meisten Leute werden e2fs_stage1_5 und oder reiserfs_stagel_5 kopieren Inhalt von Grub Installierte Programme grub grub install grub md5 crypt grub terminfo und mbchk Kurze Beschreibung grub ist die GRand Unified Bootloader Kommando Shell grub install installiert GRUB auf dem angegebenen Ger t grub md5 crypt verschl sselt Passw rter im MD5 Format grub terminfo erzeugt ein terminfo Kommando aus dem Namen eines Terminals Es kann verwendet werden wenn Sie ein un bliches Terminal haben mbchk pr ft das Format eines Multiboot Kernel 135 Linux From Scratch Vers
187. nd Sie das LFS System installieren W hrend Sie warten bis das Kompilieren aller Pakete abgeschlossen ist k nnen Sie einfach auf ein anderes VT Virtuelles Terminal oder auf den X Desktop wechseln und dort wie gewohnt weiterarbeiten Zum Abschluss der Installation werden in Chapter 7 p 161 die Boot Skripte eingerichtet der Kernel und der Bootloader werden in Chapter 8 p 171 konfiguriert und Chapter 9 p 177 enth lt Verweise auf Seiten wo Sie Hilfe finden wenn Sie das Buch zu Ende gelesen haben Abschliessend ist der Computer bereit f r einen Neustart mit dem neuen LFS System Dies ist die ganze Vorgehensweise in zusammengefasster Form Detaillierte Informationen ber alle Schritte werden im Einzelnen in den Kapiteln behandelt w hrend Sie diese durcharbeiten Machen Sie sich keine Gedanken falls jetzt noch etwas unklar sein sollte alle Fragen werden im weiteren Verlauf beantwortet werden Bitte lesen Sie Chapter 4 p 20 sehr genau es erkl rt einige sehr wichtige Dinge ber die Sie sich im klaren sein sollten bevor Sie mit Chapter 5 p 26 und den folgenden beginnen nderungsprotokoll Dies ist das Linux From Scratch Buch in der Version 5 1 1 vom June 5th 2004 Wenn dieses Buch lter als zwei Monate ist gibt es vielleicht bereits eine neuere bessere Version Das k nnen Sie berpr fen indem Sie einen unserer Software Spiegel aus der Liste von http www linuxfromscratch org besuchen Linux From Scratch Version 5 1 1
188. ndo aus make tests Installieren Sie das Paket make install Starten Sie die frisch installierte bash dies ersetzt die gerade laufende Version exec bin bash login h Beachten Sie dass die Parameter die Sitzung zu einer interaktiven Login Shell machen etc profile wird eingelesen falls die Datei existiert und die entsprechend zuerst gefundene Datei bash_profile bash_login oder profile ausserdem wird das Hashing abgeschaltet damit neu installierte Programme sofort gefunden werden k nnen Inhalt von Bash Installierte Programme bash sh Link auf bash und bashbug Kurze Beschreibung bash ist ein weit verbreiteter Befehlsinterpreter Er f hrt alle m glichen Arten von Erweiterungen und Ersetzungen an einer Kommandozeile durch bevor diese dann ausgef hrt wird Das macht diesen Befehlsinterpreter zu einem m chtigen Werkzeug bashbug ist ein Shell Skript welches dem Benutzer helfen soll einen Fehlerbericht zur Bash in einem standardisierten Format zu Erstellen und per Email zu versenden sh ist ein symbolischer Link auf das Programm bash Wenn die bash als sh aufgerufen wird versucht sie das Verhalten der historischen Versionen von sh so gut wie m glich zu nachzuahmen und bleibt dabei trotzdem POSIX Konform 123 Linux From Scratch Version 5 1 1 File 4 09 File ist ein kleines Werkzeug zum Identifizieren von Dateitypen Approximate build time 0 1 SBU Required disk space 6 3 MB File ist abh n
189. ndo make check aus Installieren Sie das Paket make install Inhalt von Gawk Installierte Programme awk Link auf gawk gawk gawk 3 1 3 grcat igawk pgawk pgawk 3 1 3 und pwcat Kurze Beschreibung gawk ist ein Programm zur Manipulation von Textdateien Es ist die GNU Implementierung von awk grcat zeigt die Gruppendatenbank etc group an igawk erm glicht gawk Dateien einzubinden pgawk ist die Profiling Version von gawk pwcat zeigt die Passwortdatenbank etc passwd an 98 Linux From Scratch Version 5 1 1 Ncurses 5 4 Das Paket Ncurses enth lt Bibliotheken f r den terminalunabh ngigen Zugriff auf Textbildschirme Approximate build time 0 6 SBU Required disk space 27 MB Ncurses ist abh ngig von Bash Binutils Coreutils Diffutils Gawk GCC Glibc Grep Make Sed Installation von Ncurses Bereiten Sie Ncurses zum Kompilieren vor configure prefix usr with shared without debug Kompilieren Sie das Paket make Installieren Sie das Paket make install Setzen Sie die Ausf hrungsrechte f r die Ncurses Bibliothek chmod 755 usr lib 5 4 Und korrigieren Sie eine Bibliothek die nicht ausf hrbar sein sollte chmod 644 usr lib libncursestt a Verschieben Sie die Bibliotheken in den Ordner lib denn es wird erwartet dass sie sich dort befinden mv usr lib libncurses so 5 lib Da die Bibliotheken verschoben wurden zeigen ein paar symbolische Links ins Leere Erstellen Sie die
190. ne EL A nsnnnersnnne nenn 11 Einh ngen mounten der neuen Partition ss 12 II Vorbereitungen zur Installation sise 13 3 Das Material Pakete tind Patches 2520 este nen YNYR Co YNO gd En GORDD 14 Einf hrung u Ein in ee Dae ye cad enr I ne ded Risen 14 Alle Paketen ala RER dn RR YW ent Meee tongs 15 Erforderliche Patehes iiu inst nent E en 19 4 Letzte Vorbereitungen erroen oae e E eE mdr muses spies sieed TEPEE EOE A ATE EEE GIE V ERETO 20 Uber SLES enaa E HNN NN E E E E ER FE SAA 20 Erstellen des Ordners LFS tools sise 21 Hinzufugen des Ben tzersIfs 2 2 kr E EEEE NEEESE REER 22 Vorbereiten der Arbeitsumgebung inii eiii eyr Tun gees 5er selig ne ont ph 23 UD BUS en een 24 berdie Me stsiites as an ns NER RISSE NIS ER 25 5 Erstellen eines tempor ren Systems u lee esse pe yd nend 26 Einf hrung Bar Hal eu gd FF A en tt wee Fd dyn Yd 26 Technische Anmerkungen zur Toolchain ccccsececceeceeceeeeeceeeeeceeceseeeeeseeeeeseereeenereeeeresenes 27 Binutils 2 14 Durchlaut I se ai ed enr en Dei ei 30 GCc 3 3 3 Durchlaut Rasen esse sente oen OE nU ynd ass pated ydd YU eue A YEE Y 32 Einux 2 4 20 Header anne msn Dennis GY te 34 Glibe 2 3 3 Ks gt 3 1 rest rene ea eh Re a tn ant le diet sat 35 Die Glibe Integrieren nn session atelstr boolean AEE E EAE SEEE 38 TOLS G ats Seas oss sense ers en do ead pot RG a O NA Miedo organ aes NO a FN RED 40 Expect SALO nannte Bas Rss ID Ein ig bi asien 41 DejaGnu l 4 4 i
191. nfiguration der Authentifizierungseinstellungen Installieren Sie diese beiden Konfigurationsdateien cp etc limits login access etc Wir m chten die voreingestellte crypt Methode zu MD5 ndern welche theoretisch sicherer ist Ausserdem erlaubt sie Passw rter mit mehr als 8 Zeichen Ausserdem m ssen wir den alten Ort f r die Benutzermailboxen von var spool mailzu var mail ndern Das erledigen wir indem wir die Konfigurationsdatei gleich beim Kopieren an die richtige Stelle ndern benutzen Sie am besten Kopieren und Einf gen um den Befehl auszuf hren sed e s MD5 CRYPT ENAB no MD5 CRYPT ENAB yes e s var spool mail var mail etc login defs linux gt etc login defs Verschieben Sie zwei Links an ihre korrekte Stelle mv bin sg usr bin mv bin vigr usr sbin Und verschieben Sie Shadow s dynamische Bibliotheken an eine bessere Stelle mv usr lib lib shadow misc so 0 lib Weil einige Pakete die gerade verschobenen Bibliotheken in usr lib erwarten erstellen Sie die folgenden symbolischen Links 147 Linux From Scratch Version 5 1 1 In sf lib libshadow so 0 usr lib libshadow so In sf lib libmisc so 0 usr lib libmisc so Die Option D zu useradd ben tigt diesen Ordner um korrekt zu funktionieren mkdir etc default Coreutils hat das Programm groups bereits in usr bin installiert Wenn Sie m chten k nnen Sie das von Shadow installierte wieder l schen rm bin groups
192. ngen f r andere Dateisysteme k nnen Sie unter http www linuxfromscratch org blfs view stable postlfs filesystems html finden Um ein ext2 Dateisystem auf der LFS Partition zu erzeugen f hren Sie bitte folgendes aus mke2fs dev xxx Ersetzen Sie xxx durch den Namen der LFS Partition wie zum Beispiel hda5 Wenn Sie eine neue Swap Partition erstellt haben m ssen Sie diese als Swap Partition initialisieren wird auch als formatieren bezeichnet so wie Sie es oben schon mit mke2fs getan haben indem Sie dieses Kommando ausf hren mkswap dev yyy Bitte ersetzen Sie yyy mit dem Namen Ihrer Swap Partition Linux From Scratch Version 5 1 1 Einh ngen mounten der neuen Partition Nachdem wir nun ein Dateisystem erzeugt haben m chten wir auch darauf zugreifen k nnen Dazu m ssen wir erst einen Mountpunkt w hlen und es dann dort einh ngen mounten In diesem Buch nehmen wir an dass das Dateisystem unter mnt 1fs eingeh ngt wird aber im Grunde ist es egal welchen Ordner Sie sich aussuchen W hlen Sie einen Mountpunkt und weisen Sie diesen der Umgebungsvariable LFS zu F hren Sie dazu folgendes Kommando aus export LFS mnt lfs Nun erstellen Sie den Mountpunkt und h ngen das LFS Dateisystem mit diesen Kommandos ein mkdir p LFS mount dev xxx LFS Ersetzen Sie xxx mit der Bezeichnung der LFS Partition Falls Sie sich entschieden haben mehrere Partitionen f r LFS zu verwenden z B eine f r und eine
193. ngliste zeigt I would suggest that people who compile new kernels should not have a single symbolic link in sight except the one that the kernel build itself sets up namely the linux include asm symlink that is only used for the internal kernel compile itself Anc yes chie is waat I Clo My ene ee llann still has the ole 2 2 13 header files even though I haven t run a 2 2 13 kernel in a _loong_ time But those headers were what Glibc was compiled against so those headers are what matches the library object files And this is actually what has been the suggested environment for at least the last five years I don t know why the symlink business keeps on living on like a bad zombie Pretty much every distribution still has that broken symlink and people still remember that the linux sources should go into usr src linux even though that hasn t been true in a _loong_ time Der wichtige Teil ist der in dem Linus sagt dass die Header Dateien diejenigen sein sollen mit denen die Glibc kompiliert wurde Das sind die Header Dateien die zum sp teren Kompilieren von Paketen verwendet werden sollten weil nur diese exakt auf die Objektkodedateien der Bibliotheken passen Durch das Kopieren der Header stellen wir sicher dass sie verf gbar bleiben falls Sie sp ter den Kernel updaten Beachten Sie dass es vollkommen in Ordnung ist die Kernelquellen in usr src linux liegen zu haben solange Si
194. nschten Bibliotheken gelinkt werden e Vorsichtiges Anpassen von gcc s specs Datei um dem Compiler mitzuteilen welcher Dynamische Linker verwendet wird Als erstes wird Binutils installiert da sowohl GCC als auch Glibc beim Durchlaufen des configure Skriptes einige Tests zum Assembler und Linker durchf hren und auf dem Ergebnis basierend bestimmte Funktionen ein bzw ausschalten Das ist wichtiger als man zun chst denken mag Ein falsch konfigurierter GCC oder Glibc kann zu Fehlern in der Toolchain f hren die erst am Ende der Installation des LFS Systems bemerkt werden Zum Gl ck weisen Fehlschl ge beim Durchlaufen der Testsuites im Regelfall auf solche Probleme hin bevor zuviel Zeit vergeudet wird Binutils installiert seinen Assembler an zwei Stellen tools bin und tools SZIEL_TRIPPLET bin In Wirklichkeit sind die Programme an der einen Stelle mit denen an der anderen durch einen harten Link verkn pft Ein wichtiger Aspekt des Linkers ist seine Suchreihenfolge f r Bibliotheken Genaue Informationen erhalten Sie mit Id und dem Parameter verbose Zum Beispiel Id verbose grep SEARCH gibt die aktuellen Suchpfade und ihre Reihenfolge aus Sie k nnen sehen welche Dateien tats chlich von ld verlinkt werden indem Sie ein Dummy Programm kompilieren und den Parameter verbose angeben Zum Beispiel gcc dummy c Wl verbose 2 gt amp 1 grep succeeded zeigt dass alle Dateien beim Linken erfolgreich ge ffnet werden konnten
195. och endg ltig behoben werden oder beinhalten Modifikationen und Anpassungen an unser LFS Sie brauchen folgende Patches Bash Patch 7 KB http www linuxfromscratch org patches lfs 5 1 1 bash 2 05b 2 patch Bison Attribute Patch 2 KB http www linuxfromscratch org patches lfs 5 1 1 bison 1 875 attribute patch Coreutils Hostname Patch 1 KB http www linuxfromscratch org patches lfs 5 1 1 coreutils 5 2 1 hostname 1 patch Coreutils Uname Patch 1 KB http www linuxfromscratch org patches lfs 5 1 1 coreutils 5 2 1 uname 1 patch Ed Mkstemp Patch I KB http www linuxfromscratch org patches lfs 5 1 1 ed 0 2 mkstemp patch Expect Spawn Patch 6 KB http www linuxfromscratch org patches lfs 5 1 1 expect 5 41 0 spawn 1 patch GCC No Fixincludes Patch 1 KB http www linuxfromscratch org patches lfs 5 1 1 gcc 3 3 3 no_fixincludes 1 patch GCC Specs Patch 11 KB http www linuxfromscratch org patches lfs 5 1 1 gcc 3 3 3 specs 1 patch GCC 2 Patch 16 KB http www linuxfromscratch org patches lfs 5 1 1 gcc 2 95 3 2 patch GCC 2 No Fixincludes Patch 1 KB http www linuxfromscratch org patches lfs 5 1 1 gcc 2 95 3 no fixinc patch GCC 2 Return Type Patch 1 KB http www linuxfromscratch org patches lfs 5 1 1 gcc 2 95 3 returntype fix patch Inetutils No Server Man Pages Patch 4 KB http www linuxfromscratch org patches lfs 5 1 1 inetutils 1 4 2 no_server_man_pages 1 patch Kbd More Programs Patch 1 KB
196. olgende Patch l sst Ed die mkstemp Funktion verwenden das ist der bevorzugte Weg um tempor re Dateien zu erzeugen patch Npl i ed 0 2 mkstemp patch Bereiten Sie Ed nun zum Kompilieren vor configure prefix usr exec prefix Die Bedeutung der configure Option e exec prefix Dies erzwingt eine Installation der Programme nach bin Die Programme dort zu installieren ist sinnvoll f r den Fall dass usr mal nicht verf gbar sein sollte Kompilieren Sie das Paket make Um das Ergebnis zu pr fen f hren Sie das Kommando make check aus Installieren Sie das Paket make install Inhalt von Ed Installierte Programme ed und red Link auf ed Kurze Beschreibung ed ist ein zeilenorientierter Texteditor Er kann zum Erzeugen Anzeigen Ver ndern oder sonstigem Manipulieren von Textdateien verwendet werden red ist ein beschr nker ed er kann nur Dateien im aktuellen Ordner bearbeiten und keine Shell Kommandos ausf hren 129 Linux From Scratch Version 5 1 1 Kbd 1 12 Kbd enth lt die Dateien f r das Tastaturlayout und entsprechende Werkzeuge dazu Approximate build time 0 1 SBU Required disk space 12 MB Kbd ist abh ngig von Bash Binutils Bison Coreutils Diffutils Flex GCC Gettext Glibc Grep Gzip M4 Make Sed Installation von Kbd In der Voreinstellung werden einige von Kbd s Hilfprogrammen setlogcons setvesablank und getunimap nicht installiert Aktivieren Sie erst die
197. olgt ein weiterer Kompiliervorgang Abschlie end werden die Ergebnisse des zweiten und dritten Kompiliervorgangs verglichen um sicherzustellen dass GCC sich selbst problemlos kompilieren konnte Das bedeutet normalerweise dass alles korrekt kompiliert wurde Der Kompiliervorgang ist nun abgeschlossen Normalerweise w rden Sie nun die Testsuite durchlaufen lassen aber in diesem fr hen Stadium ist die Testsuite Umgebung Tel Expect und DejaGnu noch nicht verf gbar Ausserdem 32 Linux From Scratch Version 5 1 1 macht es wenig Sinn die Tests nun laufen zu lassen weil die Programme aus dem ersten Durchlauf sehr bald durch die aus dem zweiten Durchlauf ersetzt werden Installieren Sie das Paket make install Zum Abschluss erstellen wir noch einen symbolischen Link Viele Programme benutzen das Kommando ce anstelle von gcc Das dient dem Zweck die Programme generisch zu halten damit sie auf verschiedenen Unix Systemen verwendbar sind Nicht jedes System hat den GNU C Compiler installiert Der Aufruf von cc l sst dem Administrator die Wahl welchen C Compiler er installieren m chte solange ein symbolischer Link auf den echten Compiler verweist In s gcc tools bin cc Details zu diesem Paket finden Sie in Inhalt von GCC p 87 33 Linux From Scratch Version 5 1 1 Linux 2 4 26 Header Approximate build time 0 1 SBU Required disk space 92 5 Me Installation der Kernel Header Da einige Pakete die Kernel Heade
198. on __cxa_atexit anstelle von atexit um C Destruktoren f r lokale Statics und globale Objekte zu registrieren Ausserdem ist die Option f r eine vollst ndig standardkonforme Behandlung von Destruktoren erforderlich Das beeinflusst auch die C ABI das Ergebnis sind C shared libraries und C Programme die interoperabel mit anderen Linux Distributionen sind e enable languages c c Diese Option wird ben tigt damit sowohl der C als auch der C Compiler erzeugt werden Kompilieren Sie das Paket make Diesmal m ssen Sie nicht das bootstrap Target verwenden weil wir bereits einen Compiler benutzen der aus exakt den gleichen Quellen gebaut wurde Der Kompiliervorgang ist nun abgeschlossen Wie bereits erw hnt empfehlen wir die Testsuite f r das tempor re System in diesem Kapitel nicht durchlaufen zu lassen Falls Sie die Testsuite f r GCC dennoch laufen lassen m chten f hren Sie dieses Kommando aus make k check Der Schalter k l sst die Testsuite bis zum Ende durchlaufen auch wenn Fehler auftreten sollten Die Testsuite von GCC ist sehr umfangreich und es ist beinahe sicher dass Fehler auftreten Um eine Zusammenfassung der Ergebnisse zu erhalten benutzen Sie dieses Kommando gec 3 3 3 contrib test_summary Wenn Sie nur die Zusammenfassungen sehen m chten pipen Sie die Ausgabe durch grep A7 Summ Sie k nnen Ihre Ergebnisse mit denen in der gcc testresults Mailingliste ver ffentlichten vergleichen d
199. oneinfo Canada Eastern etc localtime Die Bedeutung der Option e remove destination Dadurch wird das Entfernen des bereits existierenden symbolischen Links erzwungen Der Grund warum wir kopieren anstatt einen symbolischen Link zu benutzen ist der dass wir den Fall abdecken wollen dass usr auf einer separaten Partition liegt Das k nnte z B problematisch werden wenn in den Single User Modus gebootet wird Anstelle von Canada Eastern m ssen Sie nat rlich den Namen der Zeitzone einsetzen den Ihnen tzselect ausgeben hat Konfigurieren des dynamischen Laders Per Voreinstellung sucht der dynamische Lader 1ib 1d linux so 2 in lib und usr lib nach dynamischen Bibliotheken die von ausf hrbaren Programmen zur Laufzeit ben tigt werden Wenn allerdings Bibliotheken ausserhalb von 1ib und usr 11ib liegen m ssen Sie diese Verzeichnisse in etc ld so conf eintragen damit der dynamische Lader diese finden kann Zwei Ordner die daf r bekannt sind weitere Bibliotheken zu enthalten sind usr local lib und opt 1ib also f gen wir diese Ordner in den Suchpfad ein Erstellen Sie die neue Datei etc 1d so conf mit dem folgenden Kommando cat gt etc ld so conf lt lt EOF f Begin etc ld so conf usr local lib opt lib End etc ld so conf EOF Inhalt von Glibc Installierte Programme catchsegv gencat getconf getent glibcbug iconv iconvconfig ldconfig ldd lddlibc4 locale localedef mtrace nscd nscd_n
200. onen in fertigen Bibliotheken zur Verf gung Die wichtigste dieser Bibliotheken auf jedem Linux System ist die Glibc Es gibt zwei elementare Wege wie man Funktionen einer Bibliothek in ein Programm einbinden kann statisch oder dynamisch Beim statischen Linken eines Programmes wird der Kode der genutzten Funktionen in die ausf hrbare Datei eingebettet das resultiert in einem relativ gro en und klobigen ausf hrbaren Programm Beim dynamischen Linken eines Programmes wird in der ausf hrbaren Datei nur eine Referenz auf den dynamischen Linker den Namen der Bibliothek und den Namen der Funktion eingebettet daraus ergibt sich eine wesentlich kleinere ausf hrbare Datei Ein dritter m glicher Weg besteht darin die Programmierschnittstelle des dynamischen Linkers zu benutzen Schauen Sie f r weitere Informationen bitte in die Manpage von dlopen Dynamisches Linken ist unter Linux der Standard und hat drei gro e Vorteile gegen ber dem statischen Linken Erstens braucht man nur eine Kopie des ausf hrbaren Kodes anstelle vieler Kopien des selben Kodes die in allen 28 Linux From Scratch Version 5 1 1 m glichen ausf hrbaren Dateien eingebunden sind nebenbei spart das auch Speicherplatz auf der Festplatte Zweitens Benutzen mehrere Programme die gleichen Bibliotheksfunktionen gleichzeitig so wird dennoch nur eine Kopie der Funktion geladen das spart Arbeitsspeicher Drittens Wenn in einer Bibliotheksfunktion ein Fehler behoben wi
201. ont setkeycodes setleds setlogcons setmetamode setsid setterm setvesablank sfdisk sg sh shalsum showconsolefont showkey shred shtags pl shutdown size skill slattach sleep sln snice socklist soelim sort splain split sprof strings strip stty su sulogin sum swapdev swapoff swapon symlink tree sync sysctl syslogd tac tack tail Coreutils 5 2 1 p 88 Modutils 2 4 27 p 141 Tar 1 13 94 p 153 Util linux 2 12a p 154 Net tools 1 60 p 112 Glibc 2 3 3 lfs 5 1 p 77 Glibc 2 3 3 lfs 5 1 p 77 Inetutils 1 4 2 p 114 Sysvinit 2 85 p 151 DejaGnu 1 4 4 p 42 Vim 6 2 p 101 Vim 6 2 p 101 Perl 5 8 4 p 116 Util linux 2 12a p 154 Diffutils 2 8 1 p 128 Sed 4 0 9 p 108 Coreutils 5 2 1 p 88 Util linux 2 12a p 154 Kbd 1 12 p 130 Kbd 1 12 p 130 Kbd 1 12 p 130 Kbd 1 12 p 130 p 130 Util ee 2 12a p 154 Util linux 2 12a p 154 Kbd 1 12 p 130 Util linux 2 12a p 154 Shadow 4 0 4 1 p 147 Bash 2 05b p 123 Coreutils 5 2 1 p 88 Kbd 1 12 p 130 Kbd 1 12 p 130 Coreutils 5 2 1 p 88 Vim 6 2 p 101 Sysvinit 2 85 p 151 Binutils 2 14 p 84 Procps 3 2 1 p 144 Net tools 1 60 p 112 Coreutils 5 2 1 p 88 Glibc 2 3 3 lfs 5 1 p 77 Procps 3 2 1 p 144 Procinfo 18 p 143 Groff 1 19 p 106 Coreutils 5 2 1 p 88 Perl 5 8 4 p 116 Coreutils 5 2 1 p 88 Glibc 2 3 3 lfs 5 1 p 77 Binutils 2 14 p 84 Binutils 2 14 p 84 Coreutils 5 2 1 p 88 Coreutils
202. p 149 vmstat Procps 3 2 1 p 144 description p 144 w Procps 3 2 1 p 144 description p 144 wall Sysvinit 2 85 p 151 description p 152 watch Procps 3 2 1 p 144 description p 144 WC Coreutils 5 2 1 p 88 description p 92 190 whatis whereis who whoami write xargs xgettext xsubpp xtrace xxd yacc yes ylwrap ypdomainname zcat zcmp zdiff zdump zegrep zfgrep zforce zgrep zic zless zmore znew zsoelim Libraries ld so libanl libasprintf libbfd libblkid libBrokenLocale libbsd compat libbz2 libe libcom_err liberypt libdl libe2p libext2fs libfl a libform libg libgcc libgettextlib libgettextpo libgettextsrc libiberty libieee libltdl libm libmagic libmcheck libmemusage libmenu libmise libncurses libnsl libnss libopcodes Man 1 5m2 p 138 Util linux 2 12a p 154 Coreutils 5 2 1 p 88 Coreutils 5 2 1 p 88 Util linux 2 12a p 154 Findutils 4 1 20 p 97 Gettext 0 14 1 p 110 Perl 5 8 4 p 116 Glibc 2 3 3 lfs 5 1 p 77 Vim 6 2 p 101 Bison 1 875 p 104 Coreutils 5 2 1 p 88 Automake 1 8 4 p 121 Net tools 1 60 p 112 Gzip 1 3 5 p 136 Gzip 1 3 5 p 136 Gzip 1 3 5 p 136 Glibc 2 3 3 lfs 5 1 p 77 Gzip 1 3 5 p 136 Gzip 1 3 5 Gzip 1 3 5 p 136 Gzip 1 3 5 Glibc 2 3 3 lfs 5 1 p 77 Gzip 1 3 5 Gzip 1 3 5 Gzip 1 3 5 p 136 Glibc 2 3 3 lfs 5 1 p 77 Glibc 2 3 3 lfs 5 1 p 77 Gettext 0 14 1 p
203. piliert Im dritten Schritt erstellen Sie eine zweite Version der Basiswerkzeuge Dieses Mal verlinken Sie die Programme dynamisch gegen die gerade frisch installierte Glibc Die verbleibenden Pakete aus Chapter 5 p 26 werden alle diesen zweiten Durchlauf der Toolchain verwenden und dynamisch gegen die neue hostunabh ngige Glibc gelinkt Wenn dies erledigt ist ist der weitere Installationsvorgang mit Ausnahme des Kernels nicht mehr von der Linux Distribution auf dem Host System abh ngig Vielleicht sind Sie der Meinung dass dies eine ganze Menge Arbeit ist nur um von der Host Distribution unabh ngig zu werden Nun eine vollst ndige Erkl rung finden Sie am Anfang von Chapter 5 p 26 inklusive einiger Hinweise auf die Unterschiede zwischen statisch und dynamisch verlinkter Programme In Chapter 6 p 66 wird das eigentliche LFS System erstellt Wir benutzen das Programm chroot change root wechseln der Wurzel um eine Shell in einer virtuellen Umgebung zu starten in der das root Verzeichnis auf die LFS Partition eingestellt ist Das ist hnlich wie Neustarten und Einh ngen der LFS Partition als root Partition Der Grund warum Sie nicht wirklich Neustarten sondern stattdessen chroot en ist dass das Erstellen eines bootf higen Systems zus tzliche Arbeit erfordert die im Moment noch unn tig ist Der grosse Vorteil gegen ber dem Neustart ist dass das chroot en des Systems die Weiternutzung des Host Betriebssystems erlaubt w hre
204. ption p 155 description p 110 description p 110 getunimap glibcbug gpasswd gprof grcat grep grn grodvi groff groffer grog grolbp grolj4 grops grotty groupadd groupdel groupmod groups groups grpck grpconv grpunconv grub grub install grub md5 crypt grub terminfo gtbl gunzip gzexe gzip h2ph h2xs halt head hexdump hostid hostname hostname hostname hpftodit hwelock iconv iconvconfig id ifconfig ifnames igawk indxbib info infocmp infokey infotocap init insmod insmod_ksymoops_clean install install info install sh ipcrm ipcs isosize join Kbd 1 12 p 130 Glibc 2 3 3 lfs 5 1 p 77 Shadow 4 0 4 1 p 147 Binutils 2 14 p 84 Gawk 3 1 3 p 98 Grep 2 5 1 p 134 Groff 1 19 p 106 Groff 1 19 p 106 Groff 1 19 p 106 Groff 1 19 p 106 Groff 1 19 p 106 Groff 1 19 p 106 Groff 1 19 p 106 Groff 1 19 p 106 Groff 1 19 p 106 Shadow 4 0 4 1 p 147 Shadow 4 0 4 1 p 147 Shadow 4 0 4 1 p 147 Shadow 4 0 4 1 p 147 Coreutils 5 2 1 p 88 Shadow 4 0 4 1 p 147 Shadow 4 0 4 1 p 147 Shadow 4 0 4 1 p 147 Grub 0 94 p 135 Grub 0 94 p 135 Grub 0 94 p 135 Grub 0 94 p 135 Groff 1 19 p 106 Gzip 1 3 5 p 136 Gzip 1 3 5 p 136 Gzip 1 3 5 p 136 Perl 5 8 4 p 116 Perl 5 8 4 p 116 Sysvinit 2 85 p 151 Coreutils 5 2 1 p 88 Util linux 2 12a p 154 Coreutils 5 2 1 p 88 Ne
205. punkt sehr schwierig und oft erschien sie sogar unm glich Nachdem ich jedoch eine Vielzahl von Problemen wie Abh ngigkeiten und Kompilierfehler aus der Welt geschafft hatte war mein eigenes Linux System gebaut und voll funktionsf hig Ich nannte es Linux From Scratch kurz LFS Ich hoffe Sie haben viel Freude beim Erstellen Ihres eigenen LFS Gerard Beekmans gerard linuxfromscratch org Linux From Scratch Version 5 1 1 Die Zielgruppe Wer dieses Buch wahrscheinlich lesen m chte Es gibt viele Gr nde warum jemand dieses Buch m glicherweise lesen m chte Der Hauptgrund ist ein Linux System direkt aus den Quelltexten erstellen zu wollen Eine Frage die viele Leute stellen ist Warum soll ich mir die gro e M he machen ein Linux System von Grund auf zu erstellen wenn ich einfach ein existierendes Linux herunterladen und installieren kann Das ist nat rlich eine berechtigte Frage und gleichzeitig auch der Ansto f r diesen Abschnitt des Buches Ein wichtiger Grund f r die Existenz von LFS besteht darin dem Leser beizubringen wie Linux intern funktioniert Der Selbstbau eines Linux Systems veranschaulicht Ihnen was Linux seinen Herzschlag verleiht und wie die Komponenten zusammenarbeiten und voneinander abh ngen Das Beste daran ist dass der Lernprozess Sie dazu bef higt Linux an Ihre eigenen Bed rfnisse und Vorlieben anzupassen Einer der gr ssten Vorteile von LFS ist dass Sie mehr Kontrolle ber IhrSystem erh
206. r configure prefix tools Kompilieren Sie das Paket make Wenn Sie die Testsuite durchlaufen lassen m chten f hren Sie dieses Kommando aus make check Und installieren Sie das Paket make install Details zu diesem Paket finden Sie in Inhalt von Findutils p 97 52 Linux From Scratch Version 5 1 1 Make 3 80 Das Paket Make enth lt Programme zum Kompilieren umfangreicher Pakete Approximate build time 0 2 SBU Required disk space 8 8 MB Make ist abh ngig von Bash Binutils Coreutils Diffutils GCC Gettext Glibc Grep Sed Installieren von Make Bereiten Sie Make zum Kompilieren vor configure prefix tools Kompilieren Sie das Programm make Wenn Sie die Testsuite durchlaufen lassen m chten f hren Sie dieses Kommando aus make check Nun installieren Sie Make und die dazugeh rige Dokumentation make install Details zu diesem Paket finden Sie in Inhalt von Make p 140 53 Linux From Scratch Version 5 1 1 Grep 2 5 1 Das Paket Grep enth lt Programme zum Durchsuchen von Dateien Approximate build time 0 1 SBU Required disk space Sots Wis Grep ist abh ngig von Bash Binutils Coreutils Diffutils GCC Gettext Glibc Make Sed Texinfo Installieren von Grep Bereiten Sie Grep zum Kompilieren vor configure prefix tools disable perl regexp with included regex Die Bedeutung der configure Parameter e disable perl regexp Dies s
207. r Abschnitt bezieht install info unknown option dir file mnt lfs usr info dir Diese Textform Text mit fester Zeichenbreite symbolisiert Bildschirmausgaben blicherweise als Ergebnis von eingegebenen Befehlen Ausserdem wird diese Textform f r Dateinamen wie z B etc ld so conf verwendet Hervorhebung Diese Textform wird f r verschiedene Zwecke benutzt haupts chlich um wichtige Details in den Vordergrund zu stellen und f r Eingabebeispiele http www linuxfromscratch org Diese Textform wird f r Links benutzt sowohl innerhalb des Buches als auch zu externen Seiten wie HOWTOs Downloads und Webseiten cat gt LFS etc group lt lt EOF POOLE loin xx 8 ILE Solche Textabschnitte werden haupts chlich verwendet wenn Konfigurationsdateien erstellt werden Das erste Kommando erzeugt die Datei LFS etc group mit dem Inhalt der nachfolgend eingegeben wird bis die Zeichenfolge EOF erkannt wird Normalerweise wird Text in dieser Textform exakt so eingegeben wie er zu hier zu lesen ist Linux From Scratch Version 5 1 1 Danksagungen Wir m chten uns bei allen nachfolgenden Personen und Organisationen f r ihr Mitwirken am Projekt Linux From Scratch bedanken Derzeitige Projektmitglieder e Gerard Beekmans lt gerard linuxfromscratch org gt Linux From Scratch Initiator LFS Projektbetreuer e Matthew Burgess lt matthew linuxfromscratch org gt LFS Co Maintainer allgemeine Paketbetreuung LFS Buchau
208. r referenzieren entpacken wir nun das Kernelarchiv konfigurieren es und kopieren die ben tigten Dateien an eine Stelle wo gcc sie sp ter finden kann Bereiten Sie die Installation der Header vor make mrproper Hierdurch wird sichergestellt dass der Kernel Baum absolut sauber ist Das Kernel Team empfiehlt dieses Kommando vor jedem Kompilieren des Kernelsauszuf hren Sie sollten sich nicht darauf verlassen dass die Quellen nach dem Entpacken sauber sind Erstellen Sie die Datei include linux version h make include linux version h Erstellen Sie den plattformspezifischen symbolischen Link include asm make symlinks Installieren Sie die plattformspezifischen Header Dateien mkdir tools include asm cp include asm tools include asm cp R include asm generic tools include Installieren Sie die Multiplattform Headerdateien cp R include linux tools include 34 Linux From Scratch Version 5 1 1 Glibc 2 3 3 Ifs 5 1 Glibc ist die C Bibliothek Sie stellt Systemaufrufe und grundlegende Funktionen zur Verf gung z B das Zuweisen von Speicher Durchsuchen von Ordnern ffnen und Schlie en sowie Schreiben von Dateien Zeichenkettenverarbeitung Mustererkennung Arithmetik etc Die C Bibliothek wird von allen dynamisch gelinkten Programmen verwendet Approximate build time 11 8 SBU Required disk space 734 2 MB Glibc ist abh ngig von Bash Binutils Coreutils Diffutils Gawk GCC Gettext Grep Make Perl Se
209. ramm zum Modifizieren von Dateien Approximate build time 0 1 SBU Required disk space ie Mie Patch ist abh ngig von Bash Binutils Coreutils Diffutils GCC Glibc Grep Make Sed Installieren von Patch Bereiten Sie Patch zum Kompilieren vor die Pr prozessor Option D_GNU_SOURCE wird nur auf PowerPC Plattformen ben tigt Auf anderen Architekturen k nnen Sie sie weglassen CPPFLAGS D_GNU_SOURCE configure prefix usr Kompilieren Sie das Paket make Installieren Sie es make install Inhalt von Patch Installiertes Programm patch Kurze Beschreibung patch ver ndert Dateien nach den Vorgaben einer patch Datei Eine patch Datei ist blicherweise eine Auflistung von Unterschieden die mit dem Programm diff erzeugt wurde Durch Anwenden dieser Unterschiede auf die Originaldateien erstellt patch eine gepatchte Version Wenn man Patche anstelle von komplett neuen Tar Archiven verwendet um Programmguellen auf dem laufenden zu halten kann man eine Menge Downloadzeit sparen 142 Linux From Scratch Version 5 1 1 Procinfo 18 Procinfo sammelt Systeminformationen wie zum Beispiel Speicherausnutzung und IRQ Nummern aus dem proc Ordner und gibt die Daten sinnvoll formatiert aus Approximate build time 0 1 SBU Required disk space 0 2 MB Procinfo ist abh ngig von Binutils GCC Glibc Make Ncurses Installation von Procinfo Kompilieren Sie Procinfo make LDLIBS Incurses Die Bedeutung des make
210. rd oder sie auch einfach nur verbessert erweitert wird m ssen Sie nur diese eine Bibliothek neu kompilieren und nicht jedes Programm das diese Funktion benutzt Wenn der dynamische Linker so viele Vorteile hat warum linken wir die ersten beiden Pakete in diesem Kapitel dann statisch Das hat drei Gr nde historische den Lerneffekt und technische Hintergr nde Historische Gr nde deshalb weil in fr heren LFS Versionen alle Pakete in diesem Kapitel statisch verlinkt wurden Lerntechnische Gr nde weil es Sinn macht den Unterschied zu kennen Technische weil wir durch diesen Schritt noch einen Schritt unabh ngiger vom Host System werden Das bedeutet diese Programme k nnen unabh ngig vom Host System eingesetzt werden Nat rlich k nnten wir auch dann noch ein gut funktionierendes LFS System erstellen wenn diese Pakete dynamisch gelinkt werden 29 Linux From Scratch Version 5 1 1 Binutils 2 14 Durchlauf 1 Binutils ist eine Sammlung von Software Entwicklungswerkzeugen zum Beispiel Linker Assembler und weitere Programme f r die Arbeit mit Objektdateien Approximate build time 1 0 SBU Required disk space 170 MB Binutils ist abh ngig von Bash Coreutils Diffutils GCC Gettext Glibc Grep Make Perl Sed Texinfo Installieren von Binutils Es ist wichtig dass Binutils als erstes Paket kompiliert wird weil Glibc und GCC verschiedene Tests bez glich Linker und Assembler durchf hren und daraufhin erst diverse Funkt
211. ref refer rename renice reset resize2fs resizecons rev rlogin rm Util linux 2 12a p 154 Gawk 3 1 3 p 98 Procps 3 2 1 p 144 Groff 1 19 p 106 Groff 1 19 p 106 Perl 5 8 4 p 116 Sysvinit 2 85 p 151 Inetutils 1 4 2 p 114 Coreutils 5 2 1 p 88 Util linux 2 12a p 154 Procps 3 2 1 p 144 Perl 5 8 4 p 116 Net tools 1 60 p 112 Vim 6 2 p 101 Procps 3 2 1 p 144 Perl 5 8 4 p 116 Perl 5 8 4 p 116 Perl 5 8 4 p 116 Perl 5 8 4 p 116 Perl 5 8 4 p 116 Perl 5 8 4 p 116 Perl 5 8 4 p 116 Groff 1 19 p 106 Sysvinit 2 85 p 151 Coreutils 5 2 1 p 88 Groff 1 19 p 106 Coreutils 5 2 1 p 88 Coreutils 5 2 1 p 88 Procinfo 18 p 143 Procps 3 2 1 p 144 Perl 5 8 4 p 116 Kbd 1 12 p 130 Psmisc 21 4 p 146 Psmisc 21 4 p 146 Perl 5 8 4 p 116 Coreutils 5 2 1 p 88 Glibc 2 3 3 lfs 5 1 p 77 Gawk 3 1 3 p 98 Shadow 4 0 4 1 p 147 Shadow 4 0 4 1 p 147 Coreutils 5 2 1 p 88 Shadow 4 0 4 1 p 147 Automake 1 8 4 p 121 Util linux 2 12a p 154 Binutils 2 14 p 84 Net tools 1 60 p 112 Inetutils 1 4 2 p 114 Util linux 2 12a p 154 Binutils 2 14 p 84 Coreutils 5 2 1 p 88 Util linux 2 12a p 154 Sysvinit 2 85 p 151 Ed 0 2 p 129 Vim 6 2 p 101 Groff 1 19 p 106 Util linux 2 12a p 154 Util linux 2 12a p 154 Ncurses 5 4 p 99 E2fsprogs 1 35 p 132 Kbd 1 12 p 130 Util linux 2 12a p 154 Inetutils 1 4 2 p 114 Coreutils 5 2 1 p 88 188 Linux From Scratch Version 5 1 1 description p 155 descrip
212. reibbar und sticky denn Sie werden das Herunterladen der Pakete nicht als root durchf hren Wir schlagen folgendes Kommando vor chmod atwt LFS sources Linux From Scratch Version 5 1 1 Alle Pakete Laden Sie die folgenden Pakete herunter Autoconf 2 59 903 KB http freshmeat net projects autoconf Automake 1 8 4 644 KB http freshmeat net projects automake Bash 2 05b 1 910 KB http freshmeat net projects gnubash Binutils 2 14 10 666 KB http freshmeat net projects binutils Bison 1 875 796 KB http freshmeat net projects bison Bzip2 1 0 2 650 KB http freshmeat net projects bzip2 Coreutils 5 2 1 3 860 KB http freshmeat net projects coreutils DejaGnu 1 4 4 1 055 KB http freshmeat net projects dejagnu Diffutils 2 8 1 762 KB http freshmeat net projects diffutils E2fsprogs 1 35 3 003 KB http freshmeat net projects e2fsprogs Ed 0 2 182 KB http freshmeat net projects ed Expect 5 41 0 510 KB http freshmeat net projects expect File 4 09 356 KB Siehe Hinweis 1 weiter unten http freshmeat net projects file Findutils 4 1 20 760 KB http freshmeat net projects findutils Flex 2 5 4a 372 KB ftp ftp gnu org gnu non gnu flex Gawk 3 1 3 1 596 KB http freshmeat net projects gnuawk GCC 2 95 3 9 618 KB http freshmeat net projects gcc GCC core 3 3 3 11 283KB http freshm
213. rkzeuge Net tools Patch Werkzeuge Perl Werkzeuge Procinfo Procps Psmisc Sed Werkzeuge Shadow Konfigurieren Sysklogd Konfigurieren Sysvinit Konfigurieren Tar Werkzeuge Tel Texinfo Werkzeuge Util linux Werkzeuge Vim Zlib Programs a2p acinstall aclocal addftinfo addr2line afmtodit agetty apropos ar arch arp as autoconf autoheader autom4te automake autopoint autoreconf autoscan autoupdate badblocks basename bash bashbug bigram M4 1 4 p 103 Make 3 80 p 140 Make 3 80 p 53 Erstellen der Ger tedateien mit Make_devices 1 2 p 73 Man 1 5m2 p 138 Man pages 1 66 p 76 Mktemp 1 5 p 95 Modutils 2 4 27 p 141 Ncurses 5 4 p 99 Ncurses 5 4 p 57 Net tools 1 60 p 112 Patch 2 5 4 p 142 Patch 2 5 4 p 58 Perl 5 8 4 p 116 Perl 5 8 4 p 63 Procinfo 18 p 143 Procps 3 2 1 p 144 Psmisc 21 4 p 146 Sed 4 0 9 p 108 Sed 4 0 9 p 55 Shadow 4 0 4 1 p 147 Konfigurieren von Shadow p 148 Sysklogd 1 4 1 p 150 Konfigurieren von Sysklogd p 150 Sysvinit 2 85 p 151 Konfigurieren von Sysvinit p 151 Tar 1 13 94 p 153 Tar 1 13 94 p 59 Tcl 8 4 6 p 40 Texinfo 4 7 p 118 Texinfo 4 7 p 60 Util linux 2 12a p 154 Util linux 2 12a p 62 Vim 6 2 p 101 Zlib 1 2 1 p 93 Perl 5 8 4 p 116 Automake 1 8 4 p 121 Automake 1 8 4 p 121 Groff 1 19 p 106 Binutils 2 14 p 84 Groff 1 19 p 106 Util linux 2 12a p 154 Man 1 5m2 p 138 B
214. s Diskordianische Datum aus oder konvertiert ein Gregorianisches Datum in ein Diskordianisches dmesg zeigt die Bootmeldungen des Kernel an elvtune kann zum Manipulieren der Performance und Interaktivit t von Blockger ten benutzt werden fdformat formatiert eine Diskette low level fdisk kann zum Bearbeiten der Partitionstabelle auf einem Ger t verwendet werden fsck cramfs f hrt eine Konsistenzpr fung auf dem Cramfs Dateisystem durch fsck minix f hrt eine Konsistenzpr fung auf dem Minix Dateisystem durch getopt analysiert die Optionen in der Kommandozeile hexdump zeigt eine Datei hexadezimal oder in einem anderen Format an hwelock wird zum Setzen oder Lesen der Hardware Uhr auch RTC oder BIOS Uhr gennant benutzt iperm entfernt eine IPC Ressource ipes gibt IPC Status Informationen aus isosize gibt die Gr e eines iso9660 Dateisystems aus line kopiert eine einzelne Zeile logger gibt eine Nachricht in das Logsystem ein look sucht nach Zeilen die mit einer bestimmten Zeichenkette beginnen und zeigt sie an losetup konfiguriert und kontrolliert Loopback Ger te mcookie erzeugt magische Cookies 128 bit hexadezimale Zufallszahlen f r xauth mkfs erzeugt ein Dateisystem auf einem Ger t blicherweise einer Festplattenpartition mkfs bfs erzeugt ein SCO bfs Dateisystem mkfs cramfs erzeugt ein cramfs Dateisystem mkfs minix erzeugt ein Minix Dateisystem mkswap initialisiert ein Ger t oder eine Datei als Ausla
215. s allerdings mit Ihrem alten System GCC kompiliert wurde w hrend der Rest der Pakete aber mit der neuen Version gebaut wird GCC 3 3 3 ist daf r bekannt ca 30 langsamer zu sein Bitte beachten Sie auch dass die SBU Angaben auf Mehrprozessormaschinen nicht gut anwendbar sind Aber wenn Sie das Gl ck haben eine solche Maschine zu besitzen wird der Unterschied h chstwahrscheinlich so gering sein dass es Ihnen egal sein kann Wenn Sie sich aktuelle Zeitangaben f r bestimmte Computerkonfigurationen ansehen m chten schauen Sie doch mal unter http www linuxfromscratch org bdubbs 24 Linux From Scratch Version 5 1 1 ber die Testsuites Die meisten Pakete stellen eine Testsuite zur Verf gung Es ist prinzipiell immer eine gute Idee eine solche Testsuite f r neu kompilierte Programme auch durchlaufen zu lassen So stellen Sie sicher dass alles korrekt kompiliert wurde Wenn eine Testsuite alle ihre Tests erfolgreich durchl uft k nnen Sie ziemlich sicher sein dass das Paket so funktioniert wie es der Entwickler vorgesehen hat Dennoch garantiert das nat rlich nicht f r Fehlerfreiheit Bestimmte Tests sind wichtiger als andere Zum Beispiel die Tests der Toolchain Pakete GCC Binutils und Glibc die C Bibliothek sind von h chster Bedeutung weil diese Pakete eine absolut zentrale Rolle f r die Funktion des gesamten Systems spielen Aber seien Sie gewarnt die Testsuites von GCC und Glibc ben tigen sehr viel Zeit
216. s korrekt funktioniert sollten keine Fehler auftreten und die Ausgabe des letzten Kommandos 38 Linux From Scratch Version 5 1 1 ist Reguesting program interpreter tools lib ld linux so 2 Achten Sie besonders darauf dass too1s 1ib der Prefix zu ihrem dynamischen Linker ist Wenn Sie keine oder eine andere als die obige Ausgabe Ausgabe erhalten haben ist etwas ernsthaft schiefgelaufen Sie miissen alle Ihre Schritte noch einmal iiberpriifen und den Fehler finden und korrigieren Machen Sie nicht weiter bevor Sie den Fehler nicht beseitigt haben Als erstes fiihren Sie nochmals den Gesundheitscheck durch und benutzen gece anstelle von cc Wenn das funktioniert fehlt die Verkn pfung von tools bin cc Gehen Sie zur ck zu GCC 3 3 3 Durchlauf 1 p 32 und reparieren Sie die Verkn pfung Als zweites stellen Sie bitte sicher dass Ihre Umgebungsvariable PATH richtig gesetzt ist Sie k nnen die Variable mit dem Kommando echo PATH anzeigen pr fen Sie dass tools bin am Anfang der Liste steht Wenn die PATH Variable falsch gesetzt ist sind Sie m glicherweise nicht als fs eingeloggt oder in Vorbereiten der Arbeitsumgebung p 23 ist etwas schiefgelaufen Es K nnte auch etwas beim Anpassen der Specs Datei fehlgeschlagen sein In diesem Fall wiederholen Sie die Anpassung und benutzen Sie Kopieren und Einf gen um das Kommando auszuf hren tippen Sie es nicht ab Wenn Sie mit dem Ergebnis zufrieden sind l schen S
217. scription p 110 description p 110 description p 110 description p 110 description p 110 description p 111 description p 111 description p 111 description p 111 description p 111 description p 111 description p 111 description p 111 description p 111 description p 90 description p 80 description p 90 description p description p 155 description p 112 description p 107 description p 112 description p 149 description p 149 description p 111 description p 90 description p 112 description p 90 description p 85 description p 90 description p 107 description p 80 description p 80 description p 85 description p 85 description p 90 description p 131 description p 149 description p 91 description p 142 description p 91 description p 80 description p 117 description p 117 description p 117 description p 117 description p 117 description p 107 pg pgawk pgrep pic pic2graph piconv pidof ping pinky pivot root pkill pl2pm plipconfig pltags pl pmap pod2html pod2latex pod2man pod2text pod2usage podchecker podselect post grohtml poweroff pr pre grohtml printenv printf procinfo ps psed psf pstree pstree x11 pstruct ptx pt_chown pwcat pwck pwconv pwd pwunconv py compile ramsize ranlib rarp rcp rdev readelf readlink readprofile reboot red
218. scription p 133 description p 154 description p 126 description p 126 description p 126 description p 126 description p 126 description p 126 description p 127 description p 127 description p 127 description p 85 description p 116 description p 154 description p 99 description p 89 description p 79 description p description p description p 133 description p 148 description p 89 description p 155 description p 89 description p 89 description p 148 description p 89 description p 148 description p 131 description p 89 description p 99 description p 128 description p 97 description p 155 description p 155 description p 155 description p 155 description p 89 description p 121 description p 133 p description p 110 description p 121 description description p 121 description p 89 description p 87 description p 89 description p 155 description p 89 description p 155 description p 89 description p 89 description p 155 description p 131 description p 133 description p 121 description p 141 description p 89 description p 128 description p 128 description p 90 description p 90 dirname dmesg dnsdomainname domainname dpasswd dprofpp du dumpe2fs dumpkeys e2fsck e2image e2label echo ed efm filter pl efm_perl pl egrep elisp comp elvtune
219. se symbolischen Links neu In sf lib libncurses so 5 usr lib libncurses so In sf libncurses so usr lib libcurses so Inhalt von Ncurses Installierte Programme captoinfo Link auf tic clear infocmp infotocap Link auf tic reset Link auf tset tack tic toe tput und tset Installierte Bibliotheken libcurses a so Link auf libncurses a so libform a so libmenu a so libncurses a libncurses a so libpanel a so Kurze Beschreibung captoinfo konvertiert termcap Beschreibungen zu terminfo Beschreibungen clear l scht den Bildschirminhalt wenn m glich infocmp vergleicht terminfo Beschreibungen oder gibt sie aus infotocap konvertiert terminfo Beschreibungen zu termcap Beschreibungen reset setzt ein Terminal auf seine Voreinstellungen zur ck tack wird benutzt um die Korrektheit eines Eintrages in der terminfo Datenbank zu berpr fen 99 Linux From Scratch Version 5 1 1 tic ist der Compiler f r Beschreibungen zu terminfo Eintr gen Er bersetzt terminfo Dateien aus dem Quellformat in das bin re Format das von den ncurses Bibliotheksroutinen ben tigt wird Eine terminfo Datei enth lt Informationen ber die F higkeiten eines bestimmten Terminals toe listet alle verf gbaren Terminaltypen auf und gibt zu jedem den Namen und die Beschreibung aus tput macht der Shell die Werte von terminalabh ngigen F higkeiten zug nglich Es kann auch zum Zur cksetzen oder Initialisieren eines Term
220. sk space 0 5 MB Sysklogd ist abh ngig von Binutils Coreutils GCC Glibc Make Installation von Sysklogd Kompilieren Sie Sysklogd make Installieren Sie es make install Konfigurieren von Sysklogd Erstellen Sie die neue Datei etc syslog conf indem Sie folgendes Kommando eingeben cat gt etc syslog conf lt lt EOF Begin etc syslog conf auth authpriv var log auth log auth authpriv none var log sys log daemon var log daemon log kern var log kern log mark yar log maiil log user var log user Log emerg End etc syslog conf EOF Inhalt von Sysklogd Installierte Programme klogd und syslogd Kurze Beschreibung klogd ist ein Systemd mon zum Abfangen und Protokollieren von Kernelnachrichten syslogd protokolliert die Nachrichten von Systemprogrammen mit Jeder Logeintrag enth lt mindestens einen Datumsstempel und den Hostnamen und blicherweise auch den Programmnamen aber das h ngt davon ab wie vertrauensselig der Logd mon konfiguriert wurde 150 Linux From Scratch Version 5 1 1 Sysvinit 2 85 Das Sysvinit Paket enh lt Programme mit denen Sie das Starten Ausf hren und Beenden des Systems kontrollieren k nnen Approximate build time 0 1 SBU Required disk space 0 9 MB Sysvinit ist abh ngig von Binutils Coreutils GCC Glibc Make Installation von Sysvinit Wenn Runlevel gewechselt werden zum Beispiel beim Herunterfahren des Systems
221. ss in Bezug auf die Kernel Header und Binutils Programme beim Kompilieren der Glibc nichts schiefgehen kann e without gd Diese Option stellt sicher dass wir nicht das memusagestat Programm erzeugen das seltsamerweise immer gegen die Host Bibliotheken libgd libpng libz und so weiter verlinkt wird e without cvs Diese Option soll verhindern dass ein Makefile eventuell automatische CVS Downloads durchf hrt falls ein CVS Schnappschuss verwendet wird Genaugenommen wird diese Option zur Zeit nicht ben tigt Wir setzen sie dennoch um eine Warnung bez glich des fehlenden Programmes autoconf zu verhindern W hrend dieser Phase sehen Sie m glicherweise die folgende Warnung configure WARNING These auxiliary programs are missing or incompatible versions msgfmt some features will be disabled Check the INSTALL file for required versions Das fehlende oder inkompatible Programm msgfmt ist normalerweise harmlos aber manchmal kann es zu Fehlern beim Durchlaufen der Testsuite f hren 35 Linux From Scratch Version 5 1 1 Kompilieren Sie das Paket make AUTOCONF no Der Kompiliervorgang ist nun abgeschlossen Wie bereits erw hnt empfehlen wir die Testsuite f r das tempor re System in diesem Kapitel nicht durchlaufen zu lassen Falls Sie die Testsuite dennoch laufen lassen m chten f hren Sie dieses Kommando aus make check Die Glibc Testsuite ist sehr stark von einigen Funktionen Ihres Host Sys
222. ss nur die blichen Ger te aktiviert sind Die restlichen Zeilen sind auskommentiert Sie sollten make_ devices mit einem Editor ffnen und an Ihre Bed rfnisse anpassen Dies braucht seine Zeit aber es ist sehr einfach Wenn Sie zufrieden sind f hren Sie das Skript aus um die Ger tedateien anzulegen p Warnung Ein Fehler beim Bearbeiten von make_devices zum Beispiel bei der Anzahl der Partitionen kann zu Fehlern beim Booten f hren cd dev make devices Falls Sie in Einh ngen der Dateisysteme proc und devpts p 67 keine Schwierigkeiten mit dem Einh ngen des Dateisystems devpts hatten k nnen Sie diesen Abschnitt berspringen und im n chsten Abschnitt weitermachen Wenn Sie devpts nicht einh ngen konnten m ssen Sie einige statische ptyXX und ttyXX Ger tedateien erzeugen Daf r ffnen Sie make_devices in Ihrem Editor suchen den Abschnitt Pseudo TTY masters und aktivieren einige ptyXX Ger te eine Handvoll reicht um die Testsuites zufriedenzustellen aber wenn Sie einen Kernel ohne devpts Unterst tzung w nschen brauchen Sie wahrscheinlich weitaus mehr jedes xterm ssh Verbindung telnet Sitzung und so weiter benutzt ein Pseudo Terminal In dem direkt darauf folgenden Abschnitt Pseudo TTY slaves aktivieren Sie bitte noch die zugeh rigen ttyXX Ger te Wenn Sie fertig sind f hren Sie make_devices in dev erneut aus dadurch werden die neuen Ger te erzeugt 73 Linux From Scratch Version 5 1 1
223. sse benutzt das Programm Debugging Informationen in der ausf hrbaren Datei um herauszufinden welche Quelldatei und Zeilennummer mit der Adresse assoziiert ist ar erzeugt manipuliert und extrahiert aus Archiven Ein Archiv ist eine einzelne Datei die eine strukturierte Sammlung weiterer Dateien enth lt as ist ein Assembler Er assembliert die Ausgabe von gcc zu Objektdateien c filt wird vom dynamischen Linker benutzt um C und Java Symbole aufzuschl sseln damit berladene Funktionen nicht in Konflikt geraten gprof zeigt call graph Profiling Daten an ld ist ein Linker Er verbindet mehrere Objektdateien und Archivdateien zu einer einzigen Datei replaziert ihre Daten und verbindet ihre Symbolreferenzen nm listet alle Symbole auf die in einer Objektdatei vorkommen objcopy wird zum Konvertieren eines bestimmten Objektdateityps in einen anderen verwendet objdump zeigt ausgew hlte Informationen ber eine Objektdatei an Diese Informationen sind haupts chlich f r Programmierer sinnvoll die an den Kompilierwerkzeugen arbeiten ranlib erzeugt einen Index des Archivinhalts und speichert ihn im Archiv Der Index listet alle reallokierbaren Symbole auf die von im Archiv enthaltenen Objektdateien definiert werden readelf zeigt Informationen ber Bin rdateien vom Typ elf an size listet die Abschnitts und Gesamtgr e f r eine Objektdatei auf strings gibt f r jede angegebene Datei die druckbaren Zeichenketten aus
224. ssennnennnnsennsssnnn en 66 Einf hrung a ek pe NER IR Y Gece ea Ri CD O 66 Einh ngen der Dateisysteme proc und devpts u222uussussenssenssenssunsennsnnnnon FL sennennnsennsnnnnnnnn 67 Betreten der chroot Umgebung ses 68 Anden des Besitzers gests TT Y A ne Gene 69 Erstellen d r Ordnet i i dei Sn IR re ddid dT selten session ner 70 Erstellen notwendiger symbolischer Links VV 71 Erstellen der Dateien passwd group und der Logdateien essen rennen nenn 12 Erstellen der Ger tedateien mit Make_devices 1 2 issus 73 Ein x 2 4 26 Header rennen pe DDOE pen y Dya ein dote tn aus EA RD 75 Man pages 1 66 naar Rent nn Y A yn Y no 76 Ghbe 2733S cs sn oa 3 wh ee code nd Dd sent date dt 77 Erneutes Anpassen der Toolchain ss 82 1521011 uh Y Y RY ER EYN HR RER PR CR CRE 84 GCC II 5 2a antun FO ROF ONR see HIN niit ent nn asus TN NF NN 86 Coreutils 5 2 1 seco ss tessa is ont etes TN eis Br be te lets ne da ga ben 88 ZA I o 1900 sit tn te E E YA I rU NF TAF DAD HF GY NID I 93 Mktemp 1 5 22 4 8 FN YNE CYR FARF TF FAN AT YE REF Y NT FFF RE FFAN NN AYRES CYF NF SA FFYN NF 95 Tana Etc 1 00 estos Sect she ARF TO um ag FN NEF NE NE NEF YRR YNFYD FO HN 96 Findutils 4 1 20 se sirro aan En Re DU ga Lo 97 Gawk 3 3 RY een ernst ETS NES CR A teten 98 Neurses Sn eu sn bier es hub cha Dos set 99 ViM SN FE a aa en Le a RS den cite HN RE meus en A RSA DF nes see 101 MATE REED RE SR NS Re Y ae SITE ee RD AR Bie em 103 Bison 1879 ARE EN ose danseus
225. st ein Sub Skript zum Validieren der Konfiguration depcomp ist ein Skript zum Kompilieren eines Programmes so das nicht nur die gew nschte Ausgabe erzeugt wird sondern auch Informationen zu Abh ngigkeiten elisp comp kompiliert Emacs Lisp Kode install sh ist ein Skript welches ein Programm ein Skript oder eine Datendatei installiert mdate sh ist ein Skript welches den nderungszeitstempel einer Datei oder eines Ordners ausgibt missing ist ein Skript welches fehlende GNU Programme w hrend der Installation ersetzt mkinstalldirs ist ein Skript zum Erzeugen einer Ordnerstruktur py compile kompiliert ein Python Programm symlink tree ist ein Skript zum Erzeugen einer Symlink Version einer Ordnerstruktur 121 Linux From Scratch Version 5 1 1 ylwrap ist ein Wrapper f r lex und yacc 122 Linux From Scratch Version 5 1 1 Bash 2 05b Das Paket Bash enth lt die Bourne Again SHell Gesch tzte Kompilierzeit il 52 SBuU Ungef hr ben tigter Festplattenplatz 27 MB Bash ist abh ngig von Binutils Coreutils Diffutils Gawk GCC Glibc Grep Make Ncurses Sed Installieren von Bash Bash hat ein paar Fehler die manchmal zu unerwiinschten Effekten f hren Beheben Sie das Problem mit diesem Patch patch Npl i bash 2 05b 2 patch Bereiten Sie Bash nun zum Kompilieren vor configure prefix usr bindir bin Kompilieren Sie das Paket make Zum Testen der Ergebnisse f hren Sie dieses Komma
226. t tr bersetzt quetscht oder entfernt Zeichen von der Standardeingabe true macht nichts ist immer erfolgreich Beendet immer mit einem Statuskode der Erfolg bedeutet tsort sortiert topologisch Schreibt eine vollst ndig sortierte Liste entsprechend der teilweisen Sortierung in einer Datei tty gibt den Dateinamen des Terminals aus das mit der Standardeingabe verbunden ist uname gibt Systeminformationen aus unexpand konvertiert Leerzeichen zu Tabulatoren unig entfernt alle identischen Zeilen bis auf eine unlink entfernt eine Datei 91 Linux From Scratch Version 5 1 1 uptime gibt aus wie lange ein System bereits l uft wieviele Benutzer eingeloggt sind und wie hoch die Systemlast ist users gibt die Namen der eingeloggten Benutzer aus vdir ist das gleiche wie ls 1 we gibt die Anzahl Zeilen W rter und Bytes einer Datei aus Und eine Summe falls mehrere Dateien angegeben wurden who gibt aus wer gerade eingeloggt ist whoami gibt den Benutzernamen aus der mit der aktuell effektiven Benutzer ID verkn pft ist yes gibt y oder eine andere Zeichenkette solange aus bis es beendet wird 92 Linux From Scratch Version 5 1 1 Zlib 1 2 1 Zlib enth lt die Bibliothek libz Sie wird von einigen Programmen zum Komprimieren und Dekomprimieren genutzt Approximate build time 0 1 SBU Required disk space ion MB Zlib ist abh ngig von Binutils Coreutils GCC Glibc Make Sed Installation von Zlib
227. t findfs findet ein Dateisystem mit Hilfe des Label oder einer UUID fsck wird zum Pr fen und Reparieren von Dateisystemen verwendet In der Voreinstellung pr ft es alle Dateisysteme in etc fstab logsave speichert die Ausgabe eines Kommandos in eine Logdatei Isattr listet Dateiattribute auf einem ext2 Dateisystem auf mk_cmds konvertiert eine Tabelle mit Kommando Namen und Hilfsmeldungen zu C Quellkode der dann mit der libss Subsystem Bibliothek verwendet werden kann mke2fs wird zum Erstellen eines second extended Dateisystems auf einem Ger t verwendet mklost found wird benutzt um einen lost found Ordner auf einem second extended Dateisystem zu erzeugen Es f hrt eine Vorzuweisung von Disk Blocks zu diesem Ordner durch um damit e2fsck die Arbeit zu erleichtern resize2fs kann zum Vergr ssern oder Verkleinern eines ext2 Dateisystems verwendet werden tune2fs wird zum Einstellen von ver nderbaren Parametern auf einem second extended Dateisystem eingesetzt uuidgen erzeugt neue universell einzigartige Bezeichner UUID Jede UUID kann grunds tzlich als einzigartig betrachtet werden auf dem lokalen oder auf anderen Systemen in der Vergangenheit und in der Zukunft libblkid enth lt Routinen zum Identifizieren von Ger ten und zum Extrahieren von Token libcom_err ist die allgemeine Routine zum Anzeigen von Fehlern libe2p wird von dumpe2fs chattr und Isattr benutzt libext2fs enth lt Routinen die Programme im Benutzerkontext
228. t M4 eingebaute Funktionen zum Einf gen benannter Dateien zum Ausf hren von Unix Befehlen und Integer Berechnungen zur Manipulation von Text und zur Behandlung von Rekursionen usw M4 kann entweder als Frontend zu einem Compiler oder als eigenst ndiger Makroprozessor genutzt werden 103 Linux From Scratch Version 5 1 1 Bison 1 875 Bison erstellt ein Programm das die Struktur einer Textdatei analysiert Approximate build time 0 6 SBU Required disk space 10 6 MB Bison ist abh ngig von Bash Binutils Coreutils Diffutils GCC Gettext Glibc Grep M4 Make Sed Installation von Bison Zuerst wenden wir einen Patch an der aus dem CVS zuriickportiert wurde um ein kleines Problem beim Kompilieren einiger Pakete zu beheben patch Npl i bison 1 875 attribute patch Bereiten Sie Bison zum Kompilieren vor configure prefix usr Kompilieren Sie das Paket make Um das Ergebnis zu pr fen f hren Sie das Kommando make check aus Installieren Sie das Paket make install Inhalt von Bison Installierte Programme bison und yacc Installierte Bibliothek liby a Kurze Beschreibung bison erzeugt aus einer Reihe von Regeln ein Programm zum Analysieren der Struktur von Textdateien Bison ist ein Ersatz zu yacc Yet Another Compiler Compiler yacc ist ein Wrapper zu bison Er wird benutzt weil immer noch viele Programm yacc anstelle von bison aufrufen Bison wird dann mit der y Option aufgerufen liby
229. t mehr weil alles was Sie tun ausschliesslich auf das LFS System beschr nkt ist denn das was die Shell fiir den Ordner h lt ist in Wirklichkeit der Wert der Variable LFS Variable die dem chroot Kommando iibergeben wurde Beachten Sie dass tools bin am Ende der Variable PATH steht Das bewirkt dass ein tempor res Werkzeug nicht mehr benutzt wird sobald seine endg ltige Version installiert ist Nun zumindest wenn die Shell sich nicht die Standorte von ausf hrbaren Dateien merkt aus diesem Grund wird die Hash Funktion der bash mit der Option h abgeschaltet Sie m ssen alle Kommandos in den folgenden Kapiteln in der chroot Umgebung ausf hren Wenn Sie die chroot Umgebung aus irgendeinem Grund verlassen Neustart zum Beispiel dann denken Sie daran die Dateisysteme proc und devpts einzuh ngen das wurde bereits im vorigen Abschnitt behandelt und die chroot Umgebung zu betreten bevor Sie mit der Installation fortfahren Die Eingabeaufforderung der Bash wird I have no name anzeigen Das ist normal weil die Datei etc passwd noch nicht erstellt wurde 68 Linux From Scratch Version 5 1 1 ndern des Besitzers Im Augenblick geh rt der Ordner tools dem Benutzer fs ein Benutzer der aber nur auf dem Host System existiert Auch wenn Sie den Ordner tools nach der fertigen Installation von LFS l schen m chten entscheiden Sie sich vielleicht es doch aufzubewahren zum Beispiel um weitere LFS Systeme zu baue
230. t tools 1 60 p 112 Coreutils 5 2 1 p 88 Gettext 0 14 1 p 110 Groff 1 19 p 106 Util linux 2 12a p 154 Glibc 2 3 3 lfs 5 1 p 77 Glibc 2 3 3 lfs 5 1 p 77 Coreutils 5 2 1 p 88 Net tools 1 60 p 112 Autoconf 2 59 p 120 Gawk 3 1 3 p 98 Groff 1 19 p 106 Texinfo 4 7 p 118 Ncurses 5 4 p 99 Texinfo 4 7 p 118 Ncurses 5 4 p 99 Sysvinit 2 85 p 151 Modutils 2 4 27 p 141 Modutils 2 4 27 p 141 Coreutils 5 2 1 p 88 Texinfo 4 7 p 118 Automake 1 8 4 p 121 Util linux 2 12a p 154 Util linux 2 12a p 154 Util linux 2 12a p 154 Coreutils 5 2 1 p 88 185 Linux From Scratch Version 5 1 1 description p 131 description p 79 description p 148 description p 85 description p 98 description p 134 description p 106 description p description p 106 description p 106 description p 106 description p 106 description p 107 description p 107 description p 107 description p 149 description p 149 description p 149 description p 149 description p 90 description p 149 description p description p 149 description p 135 description p 135 description p 135 description p 135 description p 107 description p 136 description p 136 description p 136 description p 116 description p 117 description p 152 description p 90 description p 155 description p 90 description p 112 description p 90 description p 110 description p 107 description p 155 description p 80 description p 80 description p 90 d
231. tallierten Header und Bibliotheken im Verzeichnis tools Das korrigieren wir durch Anpassen des configure Skriptes ep configure configure backup sed s usr include tools include g configure backup gt configure Bereiten Sie Util linux zum Kompilieren vor configure Kompilieren Sie einige unterst tzende Routinen make C lib Da wir nur ein paar ausgew hlte Werkzeuge aus diesem Paket ben tigen kompilieren wir auch nur diese make C mount mount umount make C text utils more Nun kopieren wir diese Programme in unseren tempor ren Ordner tools cp mount u mount text utils more tools bin Details zu diesem Paket finden Sie in Inhalt von Util linux p 154 62 Linux From Scratch Version 5 1 1 Perl 5 8 4 Das Paket Perl enth lt die Skriptsprache Perl Practical Extraction and Report Language Approximate build time 0 8 SBU Required disk space 74 MB Perl ist abh ngig von Bash Binutils Coreutils Diffutils Gawk GCC Glibc Grep Make Sed Installieren von Perl Zuerst m ssen Sie ein paar festeingestellte Pfade zur C Bibliothek anpassen patch Npl i perl 5 8 4 libc 1 patch Perl besteht darauf zum Feststellen der Plattform das Programm arch zu benutzen Erzeugen Sie ein kleines Skript um dieses Kommando nachzuahmen echo uname m gt tools bin arch chmod 755 tools bin arch Bereiten Sie Perl zum Kompilieren vor passen Sie auf dass Sie das IO Fcntl POSIX richtig schreiben
232. tel werden wir ein minimales Linux System kompilieren und installieren Das System wird gerade genug Werkzeuge beinhalten um mit dem Erstellen des endg ltigen LFS Systems im nachfolgenden Kapitel beginnen zu k nnen und nur ein wenig mehr komfortabel sein als minimal notwendig Das Erstellen dieses minimalen Systems erfolgt in zwei Schritten Als erstes erzeugen wir eine brandneue Host unabh ngige Toolchain Compiler Assembler Linker und Bibliotheken Dann benutzen wir diese um alle weiteren essentiellen Werkzeuge zu kompilieren Die in diesem Kapitel kompilierten Dateien werden im Ordner LFS tools installiert um sie von den restlichen Dateien des Systems sauber zu trennen Die hier kompilierten Programme sind nur tempor r und sollen nicht mit in unser endg ltiges LFS System einfliessen Die Anweisungen zum Kompilieren setzen voraus dass Sie die Shell Bash benutzen Ausserdem wird grunds tzlich vorausgesetzt dass Sie die Archive bereits als fs Benutzer entpackt haben das wird gleich erkl rt und mit cd bereits in den jeweiligen Ordner mit den Quellen gewechselt haben bevor Sie die Kompilieranleitung umsetzen Einige der Pakete werden vor dem Kompilieren gepatcht aber nur um ein potentielles Problem zu umgehen Meist wird ein Patch sowohl in diesem als auch im folgenden Kapitel ben tigt manchmal aber auch nur in einem Machen Sie sich also keine Gedanken wenn die Installationsanweisungen f r einen Patch zu fehlen scheinen Ausserdem
233. tellt sicher dass grep nicht gegen die PCRE Bibliothek verlinkt wird die eventuell auf dem Host System installiert ist aber dann sp ter in der chroot Umgebung nicht mehr verf gbar w re with included regex Dies stellt sicher dass Grep seinen eingebauten Code f r Regul re Ausdr cke benutzt Ohne diesen w rde es den Code von Glibc benutzen der aber bekannt daf r ist ein wenig fehlerhaft zu sein Kompilieren Sie die Programme make Wenn Sie die Testsuite durchlaufen lassen m chten f hren Sie dieses Kommando aus make check Dann installieren Sie sie und die dazugeh rige Dokumentation make install Details zu diesem Paket finden Sie in Inhalt von Grep p 134 54 Linux From Scratch Version 5 1 1 Sed 4 0 9 Das Paket Sed enth lt einen Stream Editor Approximate build time 0 2 SBU Required disk space SR MB Sed ist abh ngig von Bash Binutils Coreutils Diffutils GCC Gettext Glibc Grep Make Texinfo Installieren von Sed Bereiten Sie Sed zum Kompilieren vor configure prefix tools Kompilieren Sie das Programm make Wenn Sie die Testsuite durchlaufen lassen m chten f hren Sie dieses Kommando aus make check Nun installieren Sie Make und die dazugeh rige Dokumentation make install Details zu diesem Paket finden Sie in Inhalt von Sed p 108 55 Linux From Scratch Version 5 1 1 Gettext 0 14 1 Gettext wird zur bersetzung und Lokalisierung ver
234. tems abh ngig insbesondere vom Kernel Dar berhinaus k nnen in diesem Kapitel einige Tests von der Umgebung Ihres Host Systems negativ beeinflusst werden Diese werden nat rlich kein Problem mehr sein wenn wir sp ter die Testsuite von Glibc in der chroot Umgebung in Chapter 6 p 66 ausf hren Grunds tzlich erwarten wir dass die Glibc Testsuite fehlerfrei durchl uft Nichtsdestotrotz k nnen Fehler unter bestimmten Umst nden manchmal nicht vermieden werden Hier ist eine Liste der uns allgemein bekannten Probleme e Der math Test schl gt manchmal fehl wenn Sie ein System mit einer lteren Intel oder AMD CPU besitzen Bestimmte Optimierungseinstellungen haben hier ebenfalls einen gewissen Einfluss e Der gettext Test schl gt manchmal aufgrund von Host System bedingten Problemen fehl Die genauen Ursachen sind noch nicht ganz gekl rt e Der atime Test schl gt fehl wenn die LFS Partition mit der Option noatime eingeh ngt wurde Auch andere Dateisystemeigenschaften k nnen hier Einfluss haben e Der shm Test kann fehlschlagen wenn auf dem Host System das Dateisystem devfs verwendet wird aber aufgrund fehlender Kernelunterst tzung kein tmpfs Dateisystem unter dev shm gemountet ist e Auf alter oder langsamer Hardware k nnen einige Tests aufgrund von Timeouts fehlschlagen Machen Sie sich keine allzugrossen Gedanken wenn einige Glibc Tests in diesem Kapitel fehlschlagen Die Glibc aus Chapter 6 p 66 ist diejenige die wir endg
235. tion p 98 description p 144 description p 107 description p 107 description p 117 description p 152 description description p 91 description p 155 description p 144 description p 117 description p 112 description p 102 description p 144 description p 117 description p 117 p description p 1 17 description p 1 17 description p 1 17 description p 1 17 description p 1 17 description p 107 description p 152 description p 9 1 description p 107 description p 9 1 description p 9 1 description p 143 description p 144 description p 117 description p 131 description p 146 description p 146 description p 117 description p 91 description p 80 description p 98 description p 149 description p 149 description p 91 description p 149 description p 121 description p 155 description p 85 description p 112 description p 115 description p 156 description p 85 description p 91 description p 156 description p 152 description p 129 description p 102 description p 107 description p 156 description p 156 description p 99 description p 133 description p 131 description p 156 description p 115 description p 91 rmdir rmmod rmt rootflags route rpcgen rpcinfo rsh runlevel runtest rview rvim s2p script sdiff sed seg setfdprm setf
236. tor e Craig Colton lt meerkats bellsouth net gt LFS ALFS BLFS und Ersteller des Logos f r das Hint Projekt e Nathan Coulson lt nathan linuxfromscratch org gt LFS Bootskript Betreuer e Jeroen Coumans lt jeroen linuxfromscratch org gt Website Entwickler Betreuung der FAQ e Bruce Dubbs lt bdubbs linuxfromscratch org gt Kopf des LFS Oualit tssicherungsteams BLFS Buchautor e Manuel Canales Esparcia lt manuel linuxfromscratch org gt LFS Buchautor XML e Alex Groenewoud lt alex linuxfromscratch org gt LFS Buchautor Mark Hymers lt markh linuxfromscratch org gt Betreuung des CVS Ersteller des BLFS Buches ehemaliger LFS Buchautor e James Iwanek lt iwanek linuxfromscratch org gt Mitglied des Teams f r Systemadministration e Nicholas Leippe lt nicholas linuxfromscratch org gt Wiki Betreuer e Anderson Lizardo lt lizardo linuxfromscratch org gt Ersteller und Betreuer der Website Skripte Bill Maltby lt bill linuxfromscratch org gt LES Projekt Organisator Alexander Patrakov lt alexander linuxfromscratch org gt LFS Buchautor Internationalisierung Lokalisierung Scot Mc Pherson lt scot linuxfromscratch org gt Betreuer des NNTP Gateway e Ryan Oliver lt ryan linuxfromscratch org gt Kopf des Test Teams Betreuung der Toolchain Mitbegr nder des PLFS James Robertson lt jwrober linuxfromscratch org gt Bugzilla Betreuer Wiki Entwickler LFS Buchautor
237. ts anne esse RR ne DR Renee 42 GEE 333 Durchlaut 2 2 see ns nuded shops sehinge ng YN anse IR osseuse ten dates 43 Binutils 2 14 Durchlauf 2 sisi nu anne oa segdabenwadden seecdcnlancedustoucceuacevceuveses sn 46 Gawk3cl 3i Erin een Set E St RER te 47 Coreutils 5 2 l 458 588 05h an sh MR uen lus NI St Ut 48 Bzp2 02 sen sn Anse sn nn FFYN ns an ie Teer 49 Gzipol SD TE TU yn ru YDYS edyn dd YD DC heh y uo 50 Diffutils 2 8 l 2 5 aossshas backs 2 eis OU Dnw ie 51 Findutls 4 L20 oniiir iiare peee A ons aie nike EE EEEE EN SE AES 52 Make3 80 AE A CYR AFF FA HF FEN ES 53 Gr p2 5 1 nennen sh EAR NF AR Las FAE NHS FETH RD ane detente site 54 Seg AOO energie len 55 Getter OTAJ unse sense een ane ner ana etienne 56 Ncurses IA nn na a yn Y ane need ane y RA GT EU PEN gyndyn Mio 57 PatCh 235 As ist sa ent M ee ls Bm ee ete ie learn 58 Par TS OS ne ans o dd ee tenes SUR de ne tte RS ee dd TO 59 Texinto AT ewyn nydd doom GY RD ote eo ane remet OMR gn cae ae tete Cyd Y de SDS 60 Linux From Scratch Version 5 1 1 Bash 2 056 2 aa in dite net DR sobte ages stave dusy int ne Non HAN FFAN NF 61 Ufilzlnux 2 l2a sers nude TMS el Nae Hea heen Seda en TES RU Re do TN on hat Yna O 62 Perl 5 OA sce A i Se dd AO Re i weht 63 SUPPLE hoodia ns san YET NWFN NW YNN NEN enr NW FAN NF A YNN NY HR NU YNN NN 64 IT Installation desILFS Systems ui es ee nn si lee 65 6 Installieren der grundlegenden System Software u22240ssssnnnennnssennnesnnneenn
238. tz zu sparen k nnen Sie die Dokumentation entfernen rm rf tools doc info man Sie werden nun zum Installieren der Glibc mindestens 850 MB freien Platz auf Ihrem LFS Dateisystem ben tigen Wenn Sie Glibc kompilieren und installieren k nnen werden Sie mit allen restlichen Paketen keine Probleme haben 64 Linux From Scratch Version 5 1 1 Teil lll Installation des LFS Systems Linux From Scratch Version 5 1 1 Kapitel 6 Installieren der grundlegenden System Software Einf hrung In diesem Kapitel begeben wir uns an den eigentlichen Ort des Geschehens und beginnen ernsthaft mit dem Bau des endg ltigen LFS Systems Im einzelnen chroot en wir in unser tempor res Mini Linux erzeugen einige Hilfsmittel und beginnen dann alle Pakete der Reihe nach zu installieren Die Installation der ganzen Software ist recht einfach Vielleicht sind Sie der Meinung das es einfacher w re wenn wir hier eine generelle Installationsanleitung geben w rden und nur bei davon abweichenden Paketen eine vollst ndige Erkl rung geben Auch wenn wir dieser berlegung im Grunde zustimmen haben wir uns entschlossen f r jedes Paket eine vollst ndige Anleitung zu geben einfach um die Fehlerwahrscheinlichkeit so gering wie m glich zu halten Der Schl ssel zum Erlernen wie Linux intern funktioniert ist zu wissen wof r ein Paket benutzt wird und warum ein Benutzer oder das System es ben tigt Aus diesem Grund gibt es zu jedem Paket eine Zusamm
239. uen Linker zu benutzen ist auch der Grund daf r dass wir den Specs Patch f r den zweiten GCC Durchlauf anwenden Ein Fehler dabei w rde dazu f hren dass die GCC Programme selbst den Linker Namen des 1ib Ordners des Host Systems eingebettet h tten und das w rde unserem Ziel uns vom Host System zu trennen entgegenwirken W hrend des zweiten Durchlaufs der Binutils k nnen wir den configure Parameter with lib path benutzen um den Bibliotheksuchpfad von Id zu kontrollieren Von diesem Punkt an ist die Toolchain unabh ngig Die verbleibenden Pakete aus Chapter 5 p 26 kompilieren alle mit der neuen Glibc in tools und alles ist in Ordnung Aufgrund ihrer bereits erw hnten eigenst ndigen Natur ist die Glibc das erste wichtige Paket das wir nach dem Eintreten in die chroot Umgebung in Chapter 6 p 66 installieren Wenn die Glibc erstmal nach usr installiert ist werden wir schnell ein paar Voreinstellungen in der Toolchain ndern und dann schreiten wir mit dem Erstellen des endg ltigen LFS Systems fort Bemerkungen zum statischen Linken Fast alle Programme f hren neben ihrer eigentlichen Aufgabe noch einige sehr typische manchmal v llig triviale Dinge aus Das beinhaltet das Reservieren von Speicher Durchsuchen von Ordnern Lesen und Schreiben von Dateien Verarbeitung von Zeichenketten Mustersuche Arithmetik und viele andere Dinge Anstatt Programme zu zwingen das Rad neu zu erfinden stellt das GNU System all diese Basisfunkti
240. uge Glibc Werkzeuge Grep Werkzeuge Groff Grub Konfigurieren Gzip Werkzeuge Iana Etc Inetutils Kbd Konfigurieren Less Libtool Linux System Header Werkzeuge Header Autoconf 2 59 p 120 Automake 1 8 4 p 121 Bash 2 05b p 123 Bash 2 05b p 61 Binutils 2 14 p 84 Binutils 2 14 Durchlauf 1 p 30 Binutils 2 14 Durchlauf 2 p 46 Bison 1 875 p 104 LFS Bootscripts 2 0 5 p 162 Wie funktioniert der Bootvorgang mit diesen Skripten p 163 Bzip2 1 0 2 p 126 Bzip2 1 0 2 p 49 Coreutils 5 2 1 p 88 Coreutils 5 2 1 p 48 DejaGnu 1 4 4 p 42 Diffutils 2 8 1 p 128 Diffutils 2 8 1 p 51 E2fsprogs 1 35 p 132 Ed 0 2 p 129 Expect 5 41 0 p 41 File 4 09 p 124 Findutils 4 1 20 p 97 Findutils 4 1 20 p 52 Flex 2 5 4a p 109 Gawk 3 1 3 p 98 Gawk 3 1 3 p 47 GCC 3 3 3 p 86 GCC 3 3 3 Durchlauf 1 p 32 GCC 3 3 3 Durchlauf 2 p 43 GCC 2 95 3 p 157 Gettext 0 14 1 p 110 Gettext 0 14 1 p 56 Glibc 2 3 3 lfs 5 1 p 77 Glibc 2 3 3 lfs 5 1 p 35 Grep 2 5 1 p 134 Grep 2 5 1 p 54 Groff 1 19 p 106 Grub 0 94 p 135 Das LFS System bootf hig machen p 175 Gzip 1 3 5 p 136 Gzip 1 3 5 p 50 Iana Etc 1 00 p 96 Inetutils 1 4 2 p 114 Kbd 1 12 p 130 Konfigurieren der Tastatur p 130 Less 382 p 105 Libtool 1 5 6 p 125 Linux 2 4 26 p 173 Linux 2 4 26 Header p 75 Linux 2 4 26 Header p 34 181 MA Make Werkzeuge Make devices Man Man pages Mktemp Modutils Ncurses We
241. und g Tarballs und testsuite falls Sie die Test durchlaufen lassen m chten Die Archive entpacken sich in einen einzigen Unterordner namens gcc 3 3 3 Zuerst korrigieren Sie ein Problem und f hren eine wichtige Anpassung durch patch Npl i gcec 3 3 3 no_fixincludes 1 patch patch Npl i gcc 3 3 3 specs 1 patch Der erste Patch schaltet das GCC fixincludes Skript ab Wir haben das vorher bereits kurz erw hnt hier wollen wir eine n here Erkl rung dazu geben Unter normalen Umst nden durchsucht das fixincludes Skript von GCC Ihr System nach Header Dateien die repariert werden m ssen Dabei kann es vorkommen dass das Skript der Meinung ist einige Header Dateien auf Ihrem Host System m ssten repariert werden GCC repariert diese dann und kopiert sie in den privaten GCC Include Ordner Sp ter dann in Chapter 6 p 66 nachdem wir die neuere Glibc installiert haben w rde dieser private Include Ordner vor den System Include Ordnern durchsucht werden GCC w rde dann die reparierten Include Dateien des Host Systems finden und diese passen dann h chstwahrscheinlich nicht zu der Glibc Version die wir f r das LFS System verwendet haben Der zweite Patch ndert den GCC Standardpfad zum dynamischen Linker blicherweise 1d linux so 2 Ausserdem entfernt er usr include aus dem GCC Include Suchpfad Das Patchen an dieser Stelle statt des nachtr glichen Anpassens der Specs Datei stellt sicher dass beim Kompilieren von GCC
242. ungsvariable finden Sie sp ter in Chapter 7 p 161 Installieren Sie das Paket make install amp Warnung Sie sollten den tc18 4 6 Ouellordner noch nicht entfernen weil das n chste Paket die internen Header Dateien ben tigt Erstellen Sie einen n tigen symbolischen Link In s tclsh8 4 tools bin tclsh Inhalt von Tcl Installierte Programme tclsh Link auf tclsh8 4 tclsh8 4 Installierte Bibliothek libtcl8 4 so Kurze Beschreibung telsh8 4 ist die Tcl Kommando Shell libtcl8 4 so ist die Tcl Bibliothek 40 Linux From Scratch Version 5 1 1 Expect 5 41 0 Das Paket Expect f hrt vorprogrammierte Dialoge mit anderen interaktiven Programmen aus Approximate build time 0 1 SBU Required disk space SR IE MB Expect ist abh ngig von Bash Binutils Coreutils Diffutils GCC Glibc Grep Make Sed Tel Installieren von Expect Spielen Sie erst einen Patch ein dieser behebt einen Fehler in Expect der ansonsten Fehlalarme beim Durchlaufen der GCC Testsuite verursachen k nnte patch Npl i expect 5 41 0 spawn 1 patch Bereiten Sie nun Expect zum Kompilieren vor configure prefix tools with tcl tools lib with x no Die Bedeutung der configure Parameter e with tcl tools lib So stellen wir sicher dass das configure Skript die Tcl Installation in unserem tempor ren Ordner findet Es sollte keine m glicherweise auf dem Host System installierte Version gefunden werden e with x no
243. unser neuer dynamischer Linker verwendet wird Das bedeutet dass alle endg ltigen und auch tempor ren Bin rdateien beim Kompiliervorgang gegen die neue Glibc gelinkt werden Q Wichtig u Diese Patches sind zwingende Voraussetzung f r einen erfolgreichen Gesamtdurchlauf Vergessen Sie nicht sie zu installieren Erstellen Sie erneut einen eigenen Ordner zum Kompilieren mkdir gcc build cd gec build Bevor Sie mit dem Kompilieren von GCC beginnen denken Sie daran alle Umgebungsvariablen zur ckzusetzen die die Standard Optimierungen berschreiben w rden Bereiten Sie nun GCC zum Kompilieren vor 43 Linux From Scratch Version 5 1 1 gcc 3 3 3 configure prefix tools with local prefix tools enable clocale gnu enable shared enable threads posix enable _cxa_atexit enable languages c c Die Bedeutung der neuen configure Optionen e enable clocale gnu Diese Option stellt sicher dass unter allen Umst nden das korrekte locale Modell f r die C Bibliotheken ausgew hlt wird Falls das configure Skript de_DE Locales findet wird es das korrekte Modell gnu w hlen Falls aber de_DE nicht installiert ist besteht das Risiko dass aufgrund des f lschlicherweise ausgew hlten Modells generic ABI inkompatible C Bibliotheken erstellt werden e enable threads posix Das schaltet die Behandlung von C Exceptions f r Threads ein e enable __cxa_atexit Diese Option erlaubt die Benutzung v
244. urch k nnen Meldungen in der Sprache des Anwenders ausgegeben werden Approximate build time 0 5 SBU Required disk space 55 MB Gettext ist abh ngig von Bash Binutils Bison Coreutils Diffutils Gawk GCC Glibc Grep Make Sed Installieren von Gettext Bereiten Sie Gettext zum Kompilieren vor configure prefix usr Kompilieren Sie das Paket make Zum Durchlaufen der Testsuite k nnen Sie dieses Kommando benutzen make check Dies braucht sehr lange etwa 7 SBUs Installieren Sie das Paket make install Inhalt von Gettext Installierte Programme autopoint config charset config rpath envsubst gettext gettextize hostname msgattrib msgcat msgcmp msgcomm msgconv msgen msgexec msgfilter msgfmt msggrep msginit msgmerge msgunfmt msgunig ngettext project id team address trigger urlget user email und xgettext Installierte Bibliotheken libasprintf a so libgettextlib a so libgettextpo a so und libgettextsrc a so Kurze Beschreibung autopoint kopiert die Dateien einer typischen Gettext Infrastruktur in ein Ouellpaket config charset gibt eine systemabh ngige Tabelle von zeichenkodierenden Aliasen aus config rpath gibt einen systemabh ngigen Satz von Variablen aus die beschreiben wie der Laufzeit Suchpfad von gemeinsamen Bibliotheken in einer ausfiihrbaren Datei gesetzt wird envsubst erweitert Umgebungsvariablen in Shell Format Zeichenketten gettext bersetzt Nachrichten in nat rl
245. urze Beschreibung chage ndert die maximale Anzahl von Tagen zwischen zwei n tigen Passwort nderungen chfn wird benutzt um den vollst ndigen Namen und ein paar andere Informationen eines Benutzers zu ndern chpasswd wird benutzt um das Passwort mehrerer Benutzer in einem Durchlauf zu ndern chsh wird benutzt um die voreingestellte Shell eines Benutzers zu ndern dpasswd wird zum ndern des Einw hl Kennwortes eines Benutzers verwendet expiry pr ft ob ein Kennwort abgelaufen ist und setzt eine entsprechende Regelung durch faillog wird zum Untersuchen der Logdatei ber fehlgeschlagene Logins eine maximale Fehlerzahl vor der Sperrung eines Kontos zu setzen und um den Z hler zur ckzusetzen verwendet gpasswd wird zum Hinzuf gen und L schen von Mitgliedern in Gruppen verwendet 148 Linux From Scratch Version 5 1 1 groupadd erzeugt eine Gruppe mit dem angegebenen Namen groupdel l scht eine Gruppe mit dem angegebenen Namen groupmod ndert den Namen oder die GID einer Gruppe groups zeigt die Gruppenzugeh rigkeit eines Benutzers an grpck pr ft die Integrit t der group Dateien etc group und etc gshadow grpconv erzeugt oder aktualisiert die shadow group Datei aus der normalen group Datei grpunconv aktualisiert etc group aus etc gshadow und l scht die letztere dann lastlog berichtet ber die letzten Anmeldungen aller oder eines bestimmten Benutzers login wird vom System benutzt um einen Benutzer anzumelden
246. us dass der Leser ein angemessenes Vorwissen zur Installation von Linux Software hat Sie sollten diese HOWTOs lesen bevor Sie mit der Installation Ihres LFS Systems beginnen Software Building HOWTO Dies ist ein umfangreiches Handbuch zum Erstellen und Installieren allgemeiner UNIX Softwarepakete unter Linux Das HOWTO ist erh ltlich unter http www tldp org HOWTO Software Building HOWTO html The Linux Users Guide Dieses Handbuch behandelt die Verwendung ausgew hlter Linux Software und ist zu finden unter http espc22 murdoch edu au stewart guide guide html The Essential Pre Reading Hint Dies ist eine LFS Anleitung die speziell f r neue Linux Anwender geschrieben wurde Es ist haupts chlich eine Linksammlung sehr guter Informationsquellen zu allen m glichen Themen Jeder der LFS installieren m chte sollte zumindest den Gro teil der dort behandelten Themen verstehen Sie ist verf gbar unter http www linuxfromscratch org hints downloads files essential_prereading txt viii Linux From Scratch Version 5 1 1 Konventionen in diesem Buch Zum besseren Verst ndnis gibt es einige Konventionen die in diesem Buch befolgt werden Nachfolgend einige Beispiele configure prefix usr Solange nicht anders angegeben muss Text in dieser Textform exakt so eingegeben werden wie er hier zu sehen ist Diese Form wird auch in den erl uternden Abschnitten verwendet um eindeutig anzugeben auf welche Kommandos sich de
247. ux From Scratch Version 5 1 1 EOF set nocompatible versetzt vim in einen n tzlicheren Betriebsmodus als den vi kompatiblen Modus Entfernen Sie das no falls Sie das alte vi Verhalten nutzen m chten backspace 2 erlaubt das sogenannte backspacing ber Zeilenumbr che hinweg automatisches Einr cken und das Starten von Einr ckungen syntax on aktiviert vims Hervorheben von Syntax Inhalt von Vim Installierte Programme efm_filter pl efm_perl pl ex Link auf vim less sh mve awk pltags pl ref rview Link auf vim rvim Link auf vim shtags pl tcltags vi Link auf vim view Link auf vim vim vim132 vim2html pl vimdiff Link auf vim vimm vimspell sh vimtutor und xxd Kurze Beschreibung efm_filter pl ist ein Filter zum Erzeugen einer Fehlerdatei die von vim gelesen werden kann efm_perl pl reformatiert Fehlermeldungen von Perl um sie mit dem Quickfix Modus von vim benutzen zu k nnen ex startet vim im ex Modus less sh ist ein Skript das vim mit less vim startet mve awk bearbeitet vim Fehler pltags pl erzeugt eine Markup Datei f r Perl Code die mit vim benutzt werden kann ref pr ft die Schreibweise von Argumenten rview ist eine eingeschr nkte Version von view es gibt keine Shell Kommandos und view kann nicht angehalten werden rvim ist eine eingeschr nkte Version von vim es gibt keine Shell Kommandos und vim kann nicht angehalten werden shtags pl erzeugt eine Markup Datei f r Perl Skripte
248. ux From Scratch Version 5 1 1 lana Etc 1 00 Das Paket Iana Etc stellt Daten zu Netzwerkdiensten und Protokollen zur Verf gung Approximate build time 0 1 SBU Required disk space 641 KB Die Installationsabh ngigkeiten zu Iana Etc wurden leider noch nicht berpr ft Installation von lana Etc Auffinden der Daten make Installieren Sie es make install Inhalt von lana Etc Installierte Dateien protocols services 96 Linux From Scratch Version 5 1 1 Findutils 4 1 20 Das Paket Findutils enth lt Programme zum Auffinden von Dateien entweder durch rekursive Suche in einer Ordnerstruktur oder ber den Zugriff auf eine Datenbank was h ufig schneller ist aber die Gefahr birgt dass die Datenbank nicht den aktuellen Zustand wiederspiegelt Approximate build time 0 2 SBU Required disk space Tod MB Findutils ist abh ngig von Bash Binutils Coreutils Diffutils GCC Gettext Glibc Grep Make Sed Installieren von Findutils Bereiten Sie Findutils zum Kompilieren vor configure prefix usr libexecdir usr lib locate localstatedir var lib misc Die obige localstatedir Anweisung ndert den Standort der Locate Datenbank wie vom FHS Standard verlangt nach var lib misc Kompilieren Sie das Paket make Um das Ergebnis zu pr fen f hren Sie das Kommandomake check aus Installieren Sie das Paket make install Inhalt von Findutils Installierte Programme bigram code find frcode
249. verschieben Sie das Programm ping an die korrekte Stelle mv usr bin ping bin Inhalt von Inetutils Installierte Programme ftp ping rcp rlogin rsh talk telnet und tftp Kurze Beschreibung ftp ist das ARPANET Dateiiibertrangsprogramm ping sendet echo reguest Pakete und berichtet wie lange die Antwort braucht 114 rcp kopiert entfernte Dateien rlogin f hrt einen entfernten Login durch rsh f hrt eine entfernte Shell aus talk wird zum Unterhalten mit anderen Benutzern verwendet telnet ist eine Schnittstelle zum TELNET Protokoll tftp ist das Triviale Datei bertragungsprogramm 115 Linux From Scratch Version 5 1 1 Linux From Scratch Version 5 1 1 Perl 5 8 4 Das Paket Perl enth lt die Skriptsprache Perl Practical Extraction and Report Language Approximate build time 2 9 SBU Required disk space 143 MB Perl ist abh ngig von Bash Binutils Coreutils Diffutils Gawk GCC Glibc Grep Make Sed Installieren von Perl Wenn Sie die vollst ndige Kontrolle ber die Art haben m chten wie Perl sich selbst zum Installieren konfiguriert dann k nnen Sie stattdessen das interaktive Configure Skript benutzen Wenn Sie mit den sinnvollen Voreinstellungen zufrieden sind die Perl automatisch erkennt dann benutzen Sie einfach das folgende Kommando configure gnu prefix usr Dpager bin less isR Die Bedeutung der configure Option Dpager bin less isR Dies korrigiert einen Fe
250. wendet Programme k nnen mit sogenanntem Native Language Support NLS Unterst tzung f r die lokale Sprache kompiliert werden Dadurch k nnen Meldungen in der Sprache des Anwenders ausgegeben werden Approximate build time 0 5 SBU Required disk space 67 6 MB Gettext ist abh ngig von Bash Binutils Bison Coreutils Diffutils Gawk GCC Glibc Grep Make Sed Installieren von Gettext Bereiten Sie Gettext zum Kompilieren vor configure prefix tools Kompilieren Sie die Programme make Wenn Sie die Testsuite durchlaufen lassen m chten f hren Sie dieses Kommando aus make check Die Gettext Testsuite braucht sehr viel Zeit ca 7 SBU und ist nicht als kritisch einzustufen Deshalb empfehlen wir diesen Schritt zu berspringen Ausserdem ist bekannt dass die Gettext Testsuite in diesem Kapitel unter verschiedenen Bedingungen fehlschl gt zum Beispiel wenn Sie einen Java Compiler auf dem Host System findet ein experimenteller Patch zum Deaktivieren von Java ist aus dem LFS Patches Projekt verf gbar Und installieren Sie das Paket make install Details zu diesem Paket finden Sie in Inhalt von Gettext p 110 56 Linux From Scratch Version 5 1 1 Ncurses 5 4 Das Paket Ncurses enth lt Bibliotheken f r den terminalunabh ngigen Zugriff auf Textbildschirme Approximate build time 0 7 SBU Required disk space 27 8 MB Ncurses ist abh ngig von Bash Binutils Coreutils Diffutils Gawk GCC
251. wk 3 1 3 p 98 GCC 3 3 3 p 86 GCC 3 3 3 p 86 GCC 3 3 3 p 86 Glibc 2 3 3 lfs 5 1 p 77 Modutils 2 4 27 p 141 Glibc 2 3 3 lfs 5 1 p 77 Glibc 2 3 3 lfs 5 1 p 77 Kbd 1 12 p 130 Util linux 2 12a p 154 Gettext 0 14 1 p 110 Gettext 0 14 1 p 110 184 Linux From Scratch Version 5 1 1 description p 90 description p 155 description p 112 description p 112 description p 148 description p 116 description p 90 description p 133 description p 131 description p 133 description p 133 description p 133 description p 90 description p 129 description p 102 description p 102 description p 134 description p 121 description p 155 description p 116 description p 90 description p 110 description p 106 description p 106 description p 102 description p 90 description p 41 description p 148 description p 90 description p 90 description p 148 description p 90 description p 155 description p 155 description p 131 description p 134 description p 124 description p 97 description p 116 description p 133 description p 109 description p 109 description p 90 description p 97 description p 144 description p 133 description p 155 description p 155 description p 114 description p 146 description p 87 description p 98 description p 87 description p 87 description p 87 description p 79 description p 141 description p 79 description p 79 description p 131 descri
252. xtrahieren von Dateien aus einem Archiv verwendet 153 Linux From Scratch Version 5 1 1 Util linux 2 12a Das Paket Util linux enth lt verschiedene Werkzeuge Darunter befinden sich Programme zum Umgang mit Dateisystemen Konsolen Partitionen und System Nachrichten Approximate build time 0 2 SBU Reguired disk space 16 MB Util linux ist abh ngig von Bash Binutils Coreutils Diffutils GCC Gettext Glibc Grep Make Ncurses Sed Zlib Anmerkung zur FHS Konformit t FHS empfiehlt var 1ib hwclock anstelle des eigentlich blichen Ordners et c als Speicherort f r die Datei adjtime zu benutzen F hren Sie das folgende Kommando aus um das Programm hwclock FHS Konform zu machen cp hwclock hwclock c backup sed s etc adjtime var lib hwclock adjtime hwclock hwclock c backup gt hwclock hwclock c mkdir p var lib hwclock Installieren von Util linux Bereiten Sie Util linux zum Kompilieren vor configure Kompilieren Sie das Paket make HAVE KILL yes HAVE SLN yes Die Bedeutung der make Parameter HAVE KILI yes Verhindert dass das Programm kill bereits durch Procps installiert erneut installiert wird e HAVE_SLN yes Verhindert dass das Programm sln eine statisch gelinkte Version von In bereits durch Glibc installiert erneut installiert wird Installieren Sie das Paket make HAVE_KILL yes HAVE_SLN yes install Inhalt von Util linux Installierte Programme agetty arch blockdev c
253. zer Modus mit Netzwerk reserviert f r eigene Anpassungen funktioniert ansonsten wie 3 genauso wie 4 wird normalerweise f r grafischen Login benutzt wie z B X s xdm oder KDE s kdm Startet den Computer neu auswv o Das Kommando zum wechseln des Runlevel ist init lt Runlevel gt wobei lt Runlevel gt der Runlevel ist in den Sie wechseln m chten Zum Neustarten des Computers w rde ein Benutzer zum Beispiel init 6 eingeben Das reboot Kommando ist nur ein Alias darauf genauso wie das Kommando halt ein Alias auf init 0 ist Unter etc rc d finden sich eine Menge Ordner mit dem Namen rc d wobei das die Nummer eines Runlevels ist Dort liegt auch rcsysinit d welches einige symbolische Links enth lt Einige beginnen mit einem K andere mit einem S gefolgt von einer zweistelligen Zahl Das K bedeutet beenden kill eines Dienstes das S bedeutet starten start eines Dienstes Die Zahlen bestimmen die Reihenfolge in der die Skripte ausgef hrt werden von 00 bis 99 Je kleiner die Zahl desto fr her wird das Skript ausgef hrt Wenn init in einen anderen Runlevel wechselt werden die n tigen Skripte gestoppt und andere daf r gestartet Die echten Skripte befinden sich in etc rc d init d Sie erledigen die ganze Arbeit und die ganzen symbolischen Links zeigen auf sie Stopp und Startskripte zeigen auf dieselbe Datei in etc rc d init d Das funktioniert weil die Skripte mit unterschiedlichen Parametern ausgef hrt werden k nne
254. zu haben Ihr Hinweis hilft uns lediglich m gliche Ursachen f r Ihr Problem besser erkennen zu k nnen Probleme mit configure Skripten Wenn beim Durchlaufen der configure Skripte ein Problem auftritt schauen Sie erst einmal in die Datei config log Diese Datei enth lt viele Fehlermeldungen die auf dem Bildschirm sonst nicht angezeigt werden Geben Sie diese Fehlermeldungen mit an wenn Sie um Hilfe bitten Probleme beim Kompilieren Um Ihnen zu helfen sind sowohl Bildschirmausgaben als auch die Inhalte verschiedener Dateien n tzlich Die Ausgaben des configure Skriptes und die des make Befehls k nnen sehr hilfreich sein Bitte kopieren Sie nicht einfach blindlings die gesamte Ausgabe auf der anderen Seite sollte es aber auch nicht zu wenig sein Als Beispiel soll Ihnen folgende Bildschirmausgabe von make helfen gcc DALIASPATH mnt lfs usr share locale DLOCALEDIR mnt 1lfs usr share locale DLIBDIR mnt lfs usr lib DINCLUDEDIR mnt 1fs usr include DHAVE CONFIG H I I O2 e gwcl C gcc g 02 static o make ar o arscan o commands o dir o expand o file o function o getopt o implicit o job o main o misc o read o remake o rule o signame o variable o vpath o default o remote stub o version o optl o weil Job Im funcilon load coo Aion g lfs tmp make 3 79 1 job c 1565 undefined reference to getloadavg collect2 ld returned 1 exit status ma im a TW Error i make 2 Leaving directory lfs tmp make
255. zw ausschaltet localedef erzeugt Locale Spezifikationen mtrace nscd ist der name service cache daemon dieser stellt einen Zwischenspeicher f r die meisten namensbasierten Anfragen zur Verf gung nscd_nischeck pr ft ob der sichere Modus f r NIS Anfragen ben tigt wird pcprofiledump gibt Informationen aus die durch PC Profiling erzeugt wurden pt_chown ist ein Hilfsprogramm zu grantpt Es setzt Besitzer Gruppe und Zugriffsberechtigungen von Slave Pseudo Terminals rpcgen erzeugt C Kode zum Implementieren des RPC Protokolls rpcinfo generiert eine RPC Anfrage an einen RPC Server sin wird zum Erzeugen von symbolischen Verkn pfungen benutzt Das Programm ist statisch verlinkt daher kann es zum Erzeugen symbolischer Verkn pfungen auf dynamische Bibliotheken verwendet werden selbst wenn das System zum dynamischen Linken aus irgendwelchen Gr nden nicht funktioniert sprof liest Profiling Daten zu Shared Objects und zeigt sie an tzselect stellt dem Anwender einige Fragen zu seinem Standort und erzeugt eine passende Zeitzonenbeschreibung xtrace verfolgt den Durchlauf eines Programmes indem es die jeweils ausgef hrte Funktion ausgibt zdump gibt Zeitzonen aus zic ist ein Compiler f r Zeitzonen ld so ist ein Hilfsprogramm f r ausf hrbare gemeinsame Bibliotheken libBrokenLocale wird von Programmen wie z B Mozilla verwendet um Probleme mit defekten Locales aufzul sen libSegFault behandelt Signale zu Speicherzugr
Download Pdf Manuals
Related Search
Related Contents
取扱説明書 - 富士電機 MICREX-NX (情報・プロセス制御システム) User-centered methods are insufficient for safety critical systems 1 Sennheiser Bluetooth Lightweight Earset - Wireless Connectivity KWC Suprimo 10.271.103 User's Manual AEG CTV 4910 Curtis FRW218B User's Manual P6083 user guide bookmap X-Hybrid Series User Manual Copyright © All rights reserved.
Failed to retrieve file