Home
Linux From Scratch - Open Source Software on erdfunkstelle.de
Contents
1. Linux From Scratch Version 6 2 Sprache Code Kodierung D nisch da ISO 8859 1 Deutsch de ISO 8859 1 Englisch de ISO 8859 1 Spanisch es ISO 8859 1 Finnisch fi ISO 8859 1 Franz sisch fr ISO 8859 1 Irisch ga ISO 8859 1 Galician gl ISO 8859 1 Indonesisch id ISO 8859 1 Isl ndisch is ISO 8859 1 Italienisch it ISO 8859 1 Niederl ndisch nl ISO 8859 1 Norwegisch no ISO 8859 1 Portugiesisch pt ISO 8859 1 Schwedisch sv ISO 8859 1 Tchechisch cs ISO 8859 2 Kroatisch hr ISO 8859 2 Ungarisch hu ISO 8859 2 Japanisch ja EUC JP Koreanisch ko EUC KR Polnisch pl ISO 8859 2 Russisch ru KOI8 R Slovakisch sk ISO 8859 2 T rkisch tr ISO 8859 9 Anmerkung Hilfeseiten in Sprachen die sich nicht in der Tabelle befinden werden nicht unterstiitzt Norwegisch funktioniert aufgrund des Ubergangs von no_NO zu nb_NO nicht und Koreanisch funktioniert aufgrund des unvollst ndigen Groff Patches nicht Wenn ein Quellpaket die Hilfeseiten im erwarteten Format mitliefert so k nnen diese einfach nach usr share man lt Sprachcode gt kopiert werden Beispielsweise k nnen franz sische Hilfeseiten http ccb club fr man man fr 1 58 0 tar bz2 mit dem folgenden Kommando installiert werden mkdir p usr share man fr amp amp cp rv man usr share man fr Falls die Programm Entwickler die Hilfeseiten in UTF 8 ausliefern z B RedHat anstatt der oben aufgelisteten Kodie
2. 6 52 Sysvinit 2 86 Linux From Scratch Version 6 2 Das Sysvinit Paket enh lt Programme mit denen Sie das Starten Ausfiihren und Beenden des Systems kontrollieren k nnen Geschatzte Kompilierzeit weniger als 0 1 SBU Ungef hr ben tigter Festplattenplatz 1 MB 6 52 1 Installation von Sysvinit Wenn Runlevel gewechselt werden zum Beispiel beim Herunterfahren des Systems sendet init Signale an alle Programme die es gestartet hat Init gibt Sending processes the TERM signal auf dem Bildschirm aus Dieser Text suggeriert das init Signale an alle Prozesse sendet Das ist so aber nicht korrekt denn es geht hier nur um Prozesse die von init gestartet wurden 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 sed i s Sending processes amp started by init g sre init c Kompilieren Sie das Paket make C src Dieses Paket enth lt keine Testsuite Installieren Sie das Paket make C src install 6 52 2 Einrichten von Sysvinit Erstellen Sie die Datei etc inittab cat gt etc inittab lt lt EOF Begin etc inittab Lele 3s mitos tente s o or Macas sk anh do l a SysSinit 10 11 12 2 wait 133 Swan 14 24 wena 153538118 16 6 wait ca 12345 ctrlaltdel sbin shutdown t1 a r now oe wm dte s Queja ely in AMO Sl erat ete 1o ey mie eye 1 Jetta me iimalt 6 me 2
3. UNICODESY 14 KEYMAP de latin1 KEYMAP_CORRECTIONS euro2 LEGACY_CHARSET 1so 8859 15 BROKEN_COMPOSE 0 FONT LatArCyrHeb l1o m 8859 15 End etc sysconfig console EOF Die n tigen Zeichen fiir die Sprachen Chinesisch Japanisch Koreanisch und ein paar weitere lassen sich in der Linux Konsole nicht anzeigen Falls Sie diese ben tigen m ssen Sie das X Window System die ben tigten Schriften und eine Eingabe Methode wie SCIM installieren Anmerkung Mit der Datei etc sysconfig console k nnen Sie ausschlie lich die Lokalisierung f r die Linux Textkonsole einrichten Dies hat nichts mit den Einstellungen f r das X Window System SSH Sitzungen oder einer seriellen Konsole zu tun 214 Linux From Scratch Version 6 2 7 7 Einrichten des sysklogd Skripts Das sysklogd Skript ruft syslogd mit dem Parameter m 0 auf Dieser Parameter schaltet die periodische Zeitmarke ab die sonst von syslogd alle 20 Minuten in die Protokolldateien geschrieben wird Falls Sie diese Zeitmarke wieder einschalten m chten bearbeiten Sie bitte das Skript sysklogd und ndern die Option entsprechend F r weitere Informationen schlagen Sie bitte in man syslogd nach 215 Linux From Scratch Version 6 2 7 8 Erstellen der Datei etc inputrc Die Datei inputrc k mmert sich um das Tastaturmapping in bestimmten Situationen Sie ist die Konfigurationsdatei von Readline der Bibliothek die Eingabe Funktionen f r Bash und d
4. chmod v 755 lib lib readline history so Nun verschieben Sie die statischen Bibliotheken an eine passendere Stelle mv v lib lib readline history a usr lib 124 Linux From Scratch Version 6 2 Als n chstes werden die so Dateien im Ordner lib gel scht und nach usr 1ib verlinkt rm v lib lib readline history so In sfv lib libreadline so 5 usr lib libreadline so In sfv lib libhistory so 5 usr lib libhistory so 6 23 2 Inhalt von Readline Installierte Bibliotheken libhistory a so und libreadline a so Kurze Beschreibungen libhistory Stellt eine konsistente Schnittstelle zum Wiederaufrufen von Zeilen aus dem Verlauf zur Verf gung libreadline K mmert sich um die Konsistenz der Benutzerschnittstelle bei Programmen die eine Kommandozeilenoberfl che bereitstellen m ssen 125 Linux From Scratch Version 6 2 6 24 Zlib 1 2 3 Die in Zlib enthaltenen Routinen werden von vielen Programmen zum Komprimieren und Dekomprimieren genutzt Gesch tzte Kompilierzeit weniger als 0 1 SBU Ungefahr ben tigter Festplattenplatz 3 1 MB 6 24 1 Installation von Zlib Anmerkung Vorsicht Zlib baut seine gemeinsamen Bibliotheken falsch wenn die Umgebungsvariable CFLAGS gesetzt ist Falls Sie die Umgebungsvariable CFLAGS verwenden fiigen Sie ihr fir den Durchlauf von configure den Wert fPIC an und entfernen Sie ihn sp ter wieder Bereiten Sie Zlib zum Kompilieren vor configure pre
5. 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 Testsuite von Tcl 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 Durchlaufs der Testsuite auf Coordinated Universal Time UTC auch als Greenwhich Mean Time GMT bekannt Dadurch werden zeitbezogene Tests korrekt ausgewertet Mehr Informationen zu der Umgebungsvariable TZ finden Sie sp ter in Kapitel 7 Installieren Sie das Paket make install Installieren Sie die Tcl Header Dateien Das n chste Paket Expect ben tigt Sie zum Kompilieren make install private headers Erstellen Sie einen n tigen symbolischen Link In sv tclsh8 4 tools bin tclsh 47 5 8 2 Inhalt von Tcl Installierte Programme tclsh Link auf tclsh8 4 uand tclsh8 4 Installierte Bibliothek libtcl8 4 so Kurze Beschreibungen tclsh8 4 Die Tcl Kommando Shell telsh Ein Link auf telsh8 4 libtc18 4 so Die Tcl Bibliothek 48 Linux From Scratch Version 6 2 Linux From Scratch Version 6 2 5 9 Expect 5 43 0 Das Paket Expect f hrt vorprogrammierte Dialoge mit anderen interaktiven Programmen aus Gesch tzte Kompilierzeit 0 1 SBU Ungefahr ben tigter Festplattenplatz 4 MB 5 9 1 Installation von Expect Spielen
6. grep Gibt die Zeilen aus die auf einen bestimmten einfachen regul ren Ausdruck passen 151 Linux From Scratch Version 6 2 6 38 Groff 1 18 1 1 Groff enth lt verschiedene Programme zur Verarbeitung und Formatierung von Text Gesch tzte Kompilierzeit 0 4 SBU Ungefahr ben tigter Festplattenplatz 39 2 MB 6 38 1 Installation von Groff Dieser Patch f gt Unterst tzung f r ascii8 und nippon Ger te zu Groff hinzu patch Npl i groff 1 18 1 1 debian_fixes 1 patch Anmerkung Diese Ger te werden von Man DB beim Formatieren von nicht englischen Man pages verwendet die nicht in der Kodierung ISO 8859 1 vorliegen Derzeit gibt es keinen funktionierenden Patch f r Groff 1 19 x der diese Funktionalit t hinzuf gt Einige Bildschirmschriften enthalten nicht die Unicode Variante der einfachen Anf hrungszeichen und Bindestriche Stattdessen soll Groff die ASCII Versionen verwenden sed i e s 2010 002D e s 2212 002D e s 2018 0060 e s 2019 0027 font devutf8 R proto Groff erwartet dass die Umgebungsvariable PAGE die Standardpapiergr e enth lt F r Anwender in den Vereinigten Staaten ist PAGE letter korrekt Wenn Ihr Standort woanders ist ersetzen Sie bitte PAGE letter durch PAGE A4 Die Voreinstellung der Papiergr e wird zwar zum Kompilierzeitpunkt eingestellt werden Jedoch kann man auch sp ter noch in der Datei etc papersize die Papiergr e einstellen Dazu m ssen Sie nur A4 oder
7. berlassen 75 Linux From Scratch Version 6 2 Teil Ill Installation des LFS Systems Linux From Scratch Version 6 2 Kapitel 6 Installieren der grundlegenden System Software 6 1 Einfuhrung In diesem Kapitel begeben Sie sich an den eigentlichen Ort des Geschehens und beginnen mit dem Bau des endgiiltigen LFS Systems Im einzelnen chrooten Sie in Ihr tempor res Mini Linux erzeugen einige Hilfsmittel und beginnen dann alle Pakete der Reihe nach zu installieren Die Installation der Software ist sehr gradlinig Auch wenn die Installationsanweisungen an einigen Stellen sicherlich k rzer h tten ausfallen k nnen haben wir uns f r die ausf hrliche Variante entschieden Wenn Sie lernen m chten wie Linux intern funktioniert dann sollten Sie wissen wof r die jeweiligen Pakete benutzt werden und warum ein Benutzer oder das System auf sie angewiesen sind Deshalb finden Sie zu jedem Paket eine Zusammenfassung seines Inhalts und eine kurze Beschreibung zu den installierten Programmen und Bibliotheken Falls Sie in diesem Kapitel Compiler Optimierungen einsetzen 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 Ausf hren von Programmen f hren Wenn sich ein Paket nicht kompilieren l sst versuchen Sie es erstmal ohne Optim
8. 176 178 groupdel 176 178 groupmod 176 178 groups 106 108 grpck 176 178 grpconv 176 178 grpunconv 176 178 grub 145 145 grub install 145 145 grub md5 crypt 145 145 grub set default 145 145 grub terminfo 145 145 gtbl 152 153 gunzip 155 155 gzexe 155 155 gzip 155 155 h2ph 121 122 h2xs 121 122 halt 182 183 head 106 108 hexdump 191 192 hostid 106 108 hostname 106 108 hostname 149 149 hpftodit 152 153 258 hwelock 191 192 iconv 88 92 iconvconfig 88 92 id 106 108 ifcfg 159 159 ifnames 128 128 ifstat 159 159 igawk 147 147 indxbib 152 153 info 186 187 infocmp 114 115 infokey 186 187 infotocap 114 115 init 182 183 insmod 171 172 insmod static 171 172 install 106 109 install info 186 187 install sh 130 131 instmodsh 121 122 ip 159 159 iperm 191 193 ipcs 191 193 isosize 191 193 join 106 109 kbdrate 161 162 kbd_mode 161 162 kill 117 117 killall 174 174 killall5 182 183 klogd 180 181 last 182 183 lastb 182 183 lastlog 176 178 ld 97 98 Idconfig 88 92 Idd 88 92 Iddlibc4 88 92 less 164 164 less sh 195 197 lessecho 164 164 lesskey 164 164 lex 143 143 lexgrog 166 169 lfskernel 2 6 16 27 231 233 libnetcfg 121 122 libtool 120 120 libtoolize 120 120 line 191 193 link 106 109 Ikbib 152 153 In 10
9. 179 libss 137 139 libstdc 100 103 libsupc 100 103 libtc18 4 so 47 48 libthread_db 88 94 libutil 88 94 libuuid 137 139 liby a 113 113 libz 126 127 Skripte checkfs 203 203 cleanfs 203 203 console 203 203 Einrichten 212 functions 203 203 halt 203 203 ifdown 203 203 ifup 203 203 localnet 203 203 etc hosts 222 Einrichten 221 mountfs 203 203 mountkernfs 203 203 network 203 203 etc hosts 222 Einrichten 225 rc 203 203 reboot 203 203 sendsignals 203 203 setclock 203 204 Einrichten 211 Linux From Scratch Version 6 2 static 203 204 swap 203 204 sysklogd 203 204 Einrichten 215 template 203 204 udev 203 204 Sonstige boot config 2 6 16 27 231 233 boot System map 2 6 16 27 231 233 dev 78 etc fstab 229 etc group 84 etc hosts 222 etc inittab 182 etc inputrc 216 etc ld so conf 92 etc lfs release 236 etc limits 177 etc localtime 91 etc login access 177 etc login defs 177 etc nsswitch conf 91 etc passwd 84 etc profile 218 etc protocols 111 etc resolv conf 227 etc services 111 etc syslog conf 180 etc udev 188 190 etc vimrc 196 usr include asm linux h 86 86 var log btmp 84 var log lastlog 84 var log wtmp 84 var run utmp 84 Man pages 87 87 263
10. ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE Linux From Scratch Version 6 2 Inhaltsverzeichnis AN vii A E E E A e EA ES as ATEA business vii 2 Warum sollte man dieses Buch lesen case ii Vili 37 V Oralsselzungen O As A ss x 4 Mindestanforderungen an das Host System u usuessssssnsnessnnnnssnnnensnnnensnnnnnsnnonnnnnonnnnnnnnnnnennnnnnnnn xi 5 Konventionen in diesem Buch 4 seeds sacees ice ssactass sine vans sbanaa suaead es unbe anna xiii AS XIV A gp AA OS o A aes XV A cat acts eh seis Sao a i A ee een Oa ees 1 1 Einf hrung uns oodedaaeepaaae a E EEE S EE ETOS ATEEN ETEA 2 1 1 Vorgehensweise zur Installation von LFS uuu ae dated DRS 2 A Y 4 A ES E eee 5 IT Vorbereitungen zur Installation succre esei iiaii iin KE aie un lehnen 8 2 Y otDereilem einer ME USE Pat Om u ice acs eet cua N gute ecg seca O aeons 9 A NS 9 2 2 A dou ecstasy rs unssenies 10 2 3 Erstellen eines Dateisystems auf der neuen Partition ee eee eeseceeeeeeeeeeseeceaeeeeeeeeeeeaeees 11 2 4 Einh ngen mounten der neuen Partition rss0ssrss0ossssnnssssnnssssnnsessnnsessnnessnnesssnnssnennenen 12 De Pakete und Patches zn ta rn Erste 13 Alico Emf NN o er ESTER 13 32 Alle PAK Cte tanda bene ibn ke na bei 14 y Erforderliche eS a ane 21 4 A schl ss d r Vorber itunsen toi tesis iris 25 3 1 Die NAR TA Ge hs Bie O 25 4 2 Erstellen des Ordners SEFES to0ls aut ee 26 4 5 Hinzuflse
11. Das n chste zu installierende Paket ist Glibc Die wichtigsten berlegungen zum Kompilieren von Glibc besch ftigen sich mit dem Compiler Binutils und den Kernel Headern Der Compiler ist normalerweise kein Problem weil Glibc immer den gee 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 Entscheidungen zu erzwingen Nach dem Durchlauf von configure k nnen Sie den Inhalt von config make im Ordner glibc build nach den Details durchsuchen Sie werden ein paar interessante Dinge finden wie zum Beispiel CC gcc B tools bin zum Kontrollieren der verwendeten Binutils oder die Parameter nostdinc und isystem zum Kontrollieren des Suchpfades des Compilers Diese Besonderheiten heben einen wichtigen Aspekt von Glibc hervor Sie ist Kompiliertechnisch gesehen eigenst ndig und nicht von Voreinstellungen der Toolchain abh ngig Nach der Installation von Glibc nehmen Sie noch ein paar Anpassungen vor dadurch stellen Sie sicher dass Suchen und Verlinken nur innerhalb unseres Prefix tools stattfindet Sie installieren einen angepassten Id welcher einen fest angegebenen Suchpfad auf tools 1ib hat Dann bearbeiten Sie die specs Datei von gcc so dass sie auf den neuen Dynamischen Linker in tools lib verweist Der letzte Schritt ist entscheidend f r den gesamten Ablauf Wie oben bereit
12. Download http www kerneltools org pub downloads module init tools module init tools 3 2 2 tar bz2 MDS5 Pr fsumme alad0a09d3231673 70d631f3f5040e9 e Ncurses 5 5 2 260 KB Webseite http dickey his com ncurses Download ftp invisible island net ncurses ncurses 5 5 tar gZ MD5S Priifsumme e73c1ac10b4bfc46db43b2ddfd6244ef e Patch 2 5 4 183 KB Webseite http www gnu org software patch Download http ftp gnu org gnu patch patch 2 5 4 tar gZ MDS Priifsumme ee5ae84d115f051d87fcaaef3b4ae782 e Perl 5 8 8 9 887 KB Webseite http www perl com Download http ftp funet fi pub CPAN src perl 5 8 8 tar bz2 MDS Priifsumme a377c0c67ab43fd96eeec29ce19e8382 e Procps 3 2 6 273 KB Webseite http procps sourceforge net Download http procps sourceforge net procps 3 2 6 tar gz MDS5 Pr fsumme 7ce39ea27d7b3da0e8ad74dd41d06783 e Psmisc 22 2 239 KB Webseite http psmisc sourceforge net Download http prdownloads sourceforge net psmisc psmisc 22 2 tar gz download MDS Priifsumme 77737c817a40ef2c160a7194b5b64337 e Readline 5 1 1 983 KB Webseite http cnswww cns cwru edu php chet readline rltop html Download http ftp gnu org gnu readline readline 5 1 tar gz MDS Prifsumme 7ee5a692db88b30ca48927a13fd60e46 18 Linux From Scratch Version 6 2 e Sed 4 1 5 781 KB Webseite http www gnu org software sed Download http ftp gnu org gnu sed sed 4 1 5 tar gz MDS Priifsumme 7alcbbbb334
13. Falls der Hersteller jedoch keinen passenden Kernel ausliefert oder Sie diesen aus irgendwelchen Griinden nicht installieren m chten dann k nnen Sie selbst einen 2 6er Kernel kompilieren Eine Hilfestellung dazu finden Sie in Kapitel 8 vorausgesetzt der Host verwendet GRUB als Bootloader e Make 3 79 1 e Patch 2 5 4 e Sed 3 0 2 e Tar 1 14 xi Linux From Scratch Version 6 2 Um herauszufinden ob Ihr Host System alle notwendigen Programmversionen installiert hat f hren Sie den folgenden Befehl aus cat gt version check sh lt lt bin bash EOF Einfaches Skript zum Auflisten der Versionsnummern wichtiger Werkzeug bash version head nl curt UI i2 a echo n ES We Le version head ni ewe A t3 4 92 192 SS A lt dew mulil head ni cue scl w F 6 echo m Coreutales N chown version head m eu O E2 eLEE ESO head n1 ILMO es SEINEN head nl gawk version head n1 gee versilonm head n Ao Lal9S SO 6 beac AL cur A il grep version head nI gzip version head n1 Cat o ee so head nl SS make version head n patch version head n1 sec vers on meacd mi Lar versioa head m EOF bash version check sh xii Linux From Scratch Version 6 2 5 Konventionen in diesem Buch Das Buch hilt sich an einige typografische Konventionen die zum allgemein besseren Verst ndnis beitragen sollen Es folgen einige Be
14. Gesch tzte Kompilierzeit 13 5 SBU inkl Testsuite Ungefahr ben tigter Festplattenplatz 510 MB inkl Testsuite 6 9 1 Installation von Glibc Anmerkung Einige Pakete auBerhalb von LFS empfehlen die GNU Software libiconv zu installieren um Daten von einer Kodierung in eine andere umzuwandeln Auf der Webseite des Projektes unter http www gnu org software libiconv wird gesagt This library provides an iconv implementation for use on systems which don t have one or whose implementation cannot convert from to Unicode Glibc enth lt eine iconv Funktion und kann auch von nach Unicode konvertieren deshalb wird libiconv auf einem LFS System nicht ben tigt Das Installationssystem der Glibc ist sehr eigenst ndig und l sst sich perfekt installieren selbst wenn die specs Datei unseres Compilers und der Linker immer noch auf tools verweisen Sie k nnen die specs Datei und den Linker nicht vor der Installation von Glibe modifizieren weil die Autoconf Tests von Glibc dann falsche Resultate ergeben w rden Das Tar Archiv glibc libidn f gt der Glibc Unterst tzung f r l nderspezifische Dom nennamen hinzu IDN Viele Programme die IDN unterst tzen ben tigen allerdings die vollst ndige Bibliothek 1ibidn siehe http www linuxfromscratch org blfs view svn general libidn html und nicht diese Erweiterung Entpacken Sie das Tar Archiv innerhalb des Glibc Quellordners tar xf glibc libidn 2 3 6 tar bz2 Dieser Patch
15. Installation von GCC Wenden Sie nun einen Sed Befehl an um die Installation von libiberty a zu verhindern Wir m chten die von Binutils bereitgestellte Version von libiberty a verwenden sed i s install_to_ INSTALL_DEST libiberty Makefile in Im Bootstrap Durchlauf aus Abschnitt 5 4 GCC 4 0 3 Durchlauf 1 wurde zum Kompilieren von GCC der Compiler Parameter fomit frame pointer verwendet Der Nicht Bootstrap Durchlauf verwendet diesen Parameter jedoch standardm ig nicht Um die Kompilier Durchl ufe von GCC konsistent zu halten sollten Sie den Parameter f r diesen Durchlauf mit dem folgenden sed Kommando einschalten sed i s XCFLAGS amp fomit frame pointer gcc Makefile in Das Skript fixincludes versucht manchmal die bereits installieren Header Dateien des Systems zu reparieren Es ist uns allerdings bekannt dass weder die Header von GCC 4 0 3 noch die von Glibc 2 3 6 eine Reparatur ben tigen Daher verhindern Sie den Start des fixincludes Skriptes mit diesem Kommando sed i s fixinc sh c true gcc Makefile in GCC enth lt ein Skript namens gecbug welches zum Kompilierzeitpunkt feststellt ob mktemp vorhanden ist Das Ergebnis wird fest in einen bestimmten Test eingebunden Das wiederum w rde den Test dazu veranlassen weniger sichere Zufallsnamen f r tempor re Dateien zu erzeugen Da wir mktemp sp ter noch installieren werden simulieren wir an dieser Stelle das Vorhandensein sed i s have_m
16. Keine 250 Linux From Scratch Version 6 2 Gzip Installation ist abhangig von Bash Binutils Coreutils Diffutils GCC Glibc Grep Make Patch Sed und Texinfo Testsuite ist abh ngig von Enth lt keine Testsuite Muss installiert werden vor Man DB lana Etc Installation ist abh ngig von Coreutils Gawk und Make Testsuite ist abh ngig von Enth lt keine Testsuite Muss installiert werden vor Perl Inetutils Installation ist abh ngig von Bash Binutils Coreutils GCC Glibc Grep Make Ncurses Patch Sed und Texinfo Testsuite ist abh ngig von Enth lt keine Testsuite Muss installiert werden vor Tar IProute2 Installation ist abh ngig von Bash Berkeley DB Bison Coreutils Flex GCC Glibc Make und Linux Libc Headers Testsuite ist abh ngig von Enth lt keine Testsuite Muss installiert werden vor Keine Kbd Installation ist abh ngig von Bash Binutils Bison Coreutils Flex GCC Gettext Glibc Gzip Make Patch und Sed Testsuite ist abh ngig von Enth lt keine Testsuite Muss installiert werden vor Keine Less Installation ist abh ngig von Bash Binutils Coreutils Diffutils GCC Glibc Grep Make Ncurses und Sed Testsuite ist abh ngig von Enth lt keine Testsuite Muss installiert werden vor Keine 251 Linux From Scratch Version 6 2 Libtool Installation ist abhangig von Bash Binutils Coreutils Diffutils Gawk GCC Glibc Grep Make Sed und Texin
17. Mit der Udev Methode werden nur die Ger tedateien erzeugt zu denen der Kernel auch ein Ger t gefunden hat Weil diese Ger tedateien bei jedem Systemstart neu erzeugt werden speichert man sie auf einem sog tmpfs Dateisystem Dieses Dateisystem existiert nur im Arbeitsspeicher und verbraucht daher keinen Festplattenplatz Ger tedateien ben tigen kaum Platz auf diese Weise wird also nur sehr wenig Arbeitsspeicher verbaucht 7 4 1 Die Entwicklungsgeschichte von Udev Im Februar 2000 wurde ein neues Dateisystem mit dem Namen devfs in den Kernel 2 3 46 integriert und dann in der 2 4er Serie der stabilen Kernel verf gbar gemacht Obwohl es in den Kernelquellen selbst verf gbar war hat diese Methode nie wirkliche Unterst tzung von den Kernel Entwicklern bekommen Das Haupt Problem bei diesem von devfs adaptierten Ansatz war die Art und Weise auf die Ger te erkannt erzeugt und benannt wurden Letzteres Namensvergabe war wohl das kritischste Problem Das Dateisystem devfs litt au erdem unter sog Race conditions die mit dem Konzept zusammenhingen und nicht ohne nennenswerte nderungen am Kernel ge ndert werden konnten Au erdem wurde es als missbilligt markiert weil es nicht mehr gepflegt wurde Mit der Enticklung der 2 5er Entwickler Kernelserie die sp ter als stabile 2 6er Serie ver ffentlicht wurde wurde ein neues Dateisystem mit dem Namen sysfs eingef hrt Die Aufgabe von sysfs ist es die Betriebssystemstruktur an Anwe
18. Referenz die alle Plattformen abdeckt finden Sie in der Datei shlib versions im Basisordner des Glibc Quellordners Hier ein paar technische Anmerkungen zum Kompiliervorgang in Kapitel 5 e Der Kompiliervorgang 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 Sie dass Programme nur gegen die gew nschten Bibliotheken gelinkt werden e Durch vorsichtiges Anpassen von gce s specs Datei teilen Sie dem Compiler mit 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 eingerichteter 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 34 Linux From Scratch Version 6 2 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 E
19. Version 6 2 6 27 Bash 3 1 Das Paket Bash enth lt die Bourne Again SHell Gesch tzte Kompilierzeit 0 4 SBU Ungefahr ben tigter Festplattenplatz 25 8 MB 6 27 1 Installation von Bash Wenn Sie die Bash Dokumentation heruntergeladen haben und die HTML Dokumentation installieren m chten dann f hren Sie bitte die folgenden Kommandos aus tar xvf bash doc 3 1 tar gz amp amp sed i s htmldir htmldir htmldir usr share doc bash 3 1 Makefile in Die Upstream Entwickler haben seit der ersten Ver ffentlichung von Bash 3 1 viele Fehler behoben Wenden Sie diese Fehlerkorrekturen nun an patch Npl i bash 3 1 fixes 8 patch Bereiten Sie Bash zum Kompilieren vor configure prefix usr bindir bin A without bash malloc with installed readline Die Bedeutung der configure Parameter with installed readline Dieser Parameter l sst Bash die von uns installierte readline Bibliothek anstelle der Bash eigenen Version benutzen Kompilieren Sie das Paket make Zum Testen der Ergebnisse f hren Sie dieses Kommando aus make tests Installieren Sie das Paket make install Starten Sie die frisch installierte bash ersetzt die gerade laufende Version exec bin bash login h Anmerkung Die verwendeten Parameter machen bash zu einer interaktiven Login Shell Hashing bleibt weiterhin abgeschaltet so dass frisch installierte Programme sofort verf gbar sind 6 27 2 Inhalt von Bash 132 L
20. Wenden Sie zur Korrektur diesen Patch an patch Npl i bzip2 1 0 3 bzgrep_security 1 patch bzdiff verwendet leider immer noch das missbilligte Programm tempfile Wenden Sie diesen Patch an damit anstelle dessn mktemp verwendet wird sed i s tempfile d tmp p bz mktemp p tmp bzdiff Bereiten Sie Bzip2 zum Kompilieren vor make f Makefile libbz2_so make clean Die Bedeutung des make Parameters f Makefile libbz2_so Dieser Parameter veranlasst Bzip2 dazu ein alternatives Makefile in diesem Fall Makefile libbz2_so zu verwenden Dieses erzeugt eine dynamische Bibliothek 1ibbz2 so und verlinkt die Bzip2 Werkzeuge damit Kompilieren und testen Sie das Paket make Falls Sie Bzip2 neu installieren m ssen m ssen Sie zuerst rm vf usr bin bz ausf hren ansonsten schl gt make install fehl Installieren Sie die Programme make install 134 Linux From Scratch Version 6 2 Installieren Sie die ausfiihrbare Datei bzip2 nach bin Dann erzeuen Sie ein paar n tige symbolische Links und r umen auf cp v bzip2 shared bin bzip2 cp av libbz2 so lib In sv lib libbz2 so 1 0 usr lib libbz2 so rm v usr bin bunzip2 bzcat bzip2 In sv bzip2 bin bunzip2 In sv bzip2 bin bzcat 6 28 2 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 s
21. etc fstab eintragen 10 Linux From Scratch Version 6 2 2 3 Erstellen eines Dateisystems auf der neuen Partition Nun haben Sie eine leere Partition und k nnen darauf ein Dateisystem anlegen Das meistverbreitete Dateisystem unter Linux ist das Second Extended Filesystem ext 2 aber im Zuge der heute blichen groBen Festplatten gewinnen Journal Dateisysteme immer mehr an Beliebtheit Das ext 3 Dateisystem ist eine weit verbreitete Erweiterung von ext 2 und kompatibel mit den E2fsprogs An dieser Stelle erzeugen wir ein ext3 Dateisystem Unter http www linuxfromscratch org blfs view svn postlfs filesystems html finden Sie Anleitungen zum Einrichten anderer Dateisysteme Zum Erzeugen eines ext 3 Dateisystems auf der LFS Partition fiihren Sie bitte das folgende Kommando aus mke2fs jv dev lt xxx gt Ersetzen Sie lt xxx gt durch den Namen der LFS Partition wie zum Beispiel hda5 Anmerkung Einige Distributionen haben Zusatzfunktionen in ihre Werkzeuge zum Erzeugen von Dateisystemen E2fsprogs eingebaut Dies kann sp ter beim Booten Ihres neuen LFS zu Probleme f hren weil diese Erweiterungen in den von LFS installierten E2fsprogs nicht installiert sind Sie k nnten z B eine Fehlermeldung wie unsupported filesystem features upgrade your e fsprogs erhalten Mit dem folgenden Kommando k nnen Sie herausfinden ob Ihr Host System solche zus tzlichen Funktionen verwendet debugfs R feature dev lt xxx gt Wenn
22. hrt werden Berichtet ber den verf gbaren und verwendeten Festplattenspeicher auf allen eingeh ngten Dateisystemen oder den Dateisystemen die die angegebenen Dateien enthalten Listet den Inhalt eines Ordners auf das Gleiche wie Is Gibt Kommandos zum Setzen der Umgebungsvariable LS_COLOR aus um damit das Farbschema von Is zu ndern Entfernt den nicht ordnerspezifischen Teil eines Dateinamens Gibt aus wieviel Festplattenspeicher der aktuelle Ordner die Unterordner und Dateien oder eine einzelne Datei verbraucht Gibt eine angegebene Zeichenkette aus F hrt ein Kommando in einer modifizierten Arbeitsumgebung aus Konvertiert Tabulatoren zu Leerzeichen Wertet einen Ausdruck aus Gibt den Primfaktor aller angegebenen Ganzzahlen aus Tut gar nichts ist immer erfolglos Es beendet sich immer mit einem Abschlusscode der auf einen Fehler hinweist Formatiert die Abs tze in der bergebenen Datei neu F gt Zeilenumbr che in den angegebenen Dateien ein Gibt die Gruppenzugeh rigkeit eines Benutzers aus Gibt die ersten zehn oder die angegebene Anzahl von Zeilen einer Datei aus Gibt die numerische ID hexadezimal des Systems aus Setzt den Hostnamen bzw zeigt ihn an Gibt die effektive Benutzer ID Gruppen ID und Gruppenzugeh rigkeit des aktuellen 108 install join link In logname Is md5sum mkdir mkfifo mknod nice nl nohup od paste pathchk pinky pr printenv printf
23. letter in die Datei schreiben Bereiten Sie Groff zum Kompilieren vor PAGE lt papier_gr e gt configure prefix usr enable multibyte Kompilieren Sie das Paket make Dieses Paket enth lt keine Testsuite Installieren Sie das Paket make install Einige Dokumentationsprogramme wie zum Beispiel xman funktionieren ohne diese symbolischen Links nicht In sv eqn usr bin geqn In sv tbl usr bin gtbl 152 Linux From Scratch Version 6 2 6 38 2 Inhalt von Groff Installierte Programme addftinfo afmtodit eqn eqn2graph geqn Link auf eqn grn grodvi groff groffer grog grolbp grolj4 grops grotty gtbl Link auf tbl hpftodit indxbib Ikbib lookbib mmroff neqn nroff pfbtops pic pic2graph post grohtml pre grohtml refer soelim tbl tfmtodit und troff Kurze Beschreibungen addftinfo afmtodit eqn eqn2graph geqn grn grodvi groff groffer grog grolbp grolj4 grops grotty gtbl hpftodit indxbib Ikbib lookbib Liest eine troff Schriftdatei und fiigt einige schriftmetrische Informationen hinzu die vom groff System benutzt werden Erzeugt eine Schrift Datei zur Verwendung mit groff und grops Kompiliert in troff Eingabedateien enthaltene Beschreibungen von Gleichungen zu Kommandos die troff versteht Konvertiert eine EQN Gleichung zu einem beschnittenen Bild Ein Link auf gawk Ein groff Praprozessor fiir gremlin Dateien Ein Treiber fiir groff
24. make PREFIX tools install Details zu diesem Paket finden Sie in Abschnitt 6 28 2 Inhalt von Bzip2 58 Linux From Scratch Version 6 2 5 16 Coreutils 5 96 Das Paket Coreutils enthalt viele Shell Werkzeuge zum Einstellen der grundlegenden Systemeigenschaften Gesch tzte Kompilierzeit 0 6 SBU Ungefahr ben tigter Festplattenplatz 56 1 MB 5 16 1 Installation von Coreutils Bereiten Sie Coreutils zum Kompilieren vor configure prefix tools 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 Installieren Sie das Paket make install Details zu diesem Paket finden Sie in Abschnitt 6 14 2 Inhalt von Coreutils 59 Linux From Scratch Version 6 2 5 17 Diffutils 2 8 1 Die Programme dieses Pakets k nnen Unterschiede zwischen Dateien oder Ordnern anzeigen Gesch tzte Kompilierzeit 0 1 SBU Ungefahr ben tigter Festplattenplatz 6 2 MB 5 17 1 Installation von Diffutils Bereiten Sie Diffutils zum Kompilieren vor configure prefix tools Kompilieren Sie das Paket make Dieses Paket enth lt keine Testsuite Installieren Sie das Paket make install Details zu
25. mitteilen e Die Version dieses Buches in diesem Fall Version 6 2 e Host Distribution und Versionsnummer die Sie zur Installation von LFS verwenden e die Software 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 und wenn ja wie Anmerkung Beachten Sie Wir werden Ihnen auch helfen wenn Sie von den Anleitungen im Buch abgewichen sind Schlie lich ist die freie Wahl ein wichtiger Grundsatz von LFS Ihr Hinweis hilft uns lediglich die m glichen Ursachen f r Ihr Problem besser zu erkennen 1 3 2 Probleme mit configure Skripten Wenn beim Durchlaufen der configure Skripte ein Problem auftritt schauen Sie bitte zuerst in die Datei config log Sie enth lt Fehlermeldungen die auf dem Bildschirm normalerweise nicht angezeigt werden Geben Sie die relevanten Fehlermeldungen mit an wenn Sie um Hilfe bitten Linux From Scratch Version 6 2 1 3 3 Kompilierprobleme Sowohl Bildschirmausgaben als auch der Inhalt einiger Dateien sind fiir uns niitzlich um Ihnen bei der Fehlersuche zu helfen Die Ausgaben des configure Skriptes und die des Befehls make k nnen sehr hilfreich sein Bitte kopieren Sie aber nicht einfach blindlings die gesamte Ausgabe andererseits sollte es aber auch nicht zu wenig sein Als Beispiel f r sinnvolle Informationen soll Ihnen folgende Ausgabe von make helfen gcc DALIASPATH mnt
26. 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 disable logger Das verhindert die Installation des Programmes logger welches Nachrichten an den System Log Daemon bergibt Logger wird hier ausgelassen weil etwas sp ter durch Util Linux eine bessere Version installiert wird disable syslogd Dieser Parameter verhindert die Installation des System Log Daemon weil Sie sp ter einen anderen mit dem Paket Sysklogd installieren werden disable whois Dies verhindert die Installation des whois Clients welcher leider elendig veraltet ist Im BLFS Buch finden Sie eine Installations Anleitung f r einen besseren whois Client disable servers Das verhindert die Installation verschiedener Server Dienste die zu Inetutils geh ren Diese Dienste sind in einem Basis System wie LFS nicht angebracht Einige sind von Natur aus unsicher und nur in vertrauensw rdigen Netzen ohne Risiko einsetzbar Mehr Informationen finden Sie unter http www linuxfromscratch org blfs view svn basicnet inetutils html Bitte beachten Sie auch dass es fiir fast alle dieser Dienste einen besseren Ersatz gibt Kompilieren Sie das Paket make Dieses Paket enth lt keine Testsuite Installieren Sie das
27. ptx pwd readlink rm rmdir seq Linux From Scratch Version 6 2 Benutzers oder eines angegebenen Benutzers aus Kopiert Dateien und setzt deren Zugriffsrechte und falls m glich Besitzer und Gruppe F gt aus zwei Dateien die Zeilen mit identischen join Feldern zusammen Erzeugt einen harten Link von der angegebenen Datei zu einer Datei Erzeugt einen harten oder symbolischen Link zwischen Dateien Gibt den Login Namen des aktuellen Benutzers aus Listet den Inhalt des angegebenen Ordners auf Erzeugt eine MD5 Priifsumme Message Digest 5 bzw zeigt sie an Erzeugt Ordner mit den angegebenen Namen Erzeugt FIFO s First In First Out eine sogenannte named Pipe im UNIX Sprachgebrauch mit dem angegebenen Namen Erzeugt eine Ger tedatei mit dem angegebenen Namen Eine Ger tedatei ist eine spezielle zeichen oder blockorientierte Datei oder ein FIFO Verschiebt Dateien und Ordner oder benennt sie um F hrt ein Programm mit ge nderter Priorit t aus Nummeriert die Zeilen der angegebenen Dateien F hrt ein Programm aus so dass es immun gegen hangup s ist Die Ausgaben des Programms werden in eine Protokolldatei umgeleitet Gibt eine Datei oktal oder in anderen Formaten aus F gt angegebene Dateien zusammen Sequenziell zusammengeh rende Zeilen werden Seite an Seite durch Tabulatoren getrennt zusammengef gt Pr ft ob Dateinamen g ltig und portierbar sind Eine abgespeckte Version von finger Es gib
28. re in usr installiert obwohl die Dateien tats chlich in usr pkg gespeichert werden Das vort uschen einer solchen Installation ist manchmal nicht ganz leicht Nehmen wir an Sie m chten das Paket libfoo 1 1 installieren Die folgenden Kommandos w rden das Paket nicht korrekt installieren configure prefix usr pkg libfoo l 1 make make install Die Installation ansich wird funktionieren aber die abh ngigen Pakete werden nicht korrekt auf libfoo verweisen Wenn Sie ein Paket kompilieren welches libfoo ben tigt so wird es gegen usr pkg libfoo 1 1 1ib libfoo so 1 linken anstatt den korrekten Pfad usr lib libfoo so 1 zu verwenden Der korrekte Ansatz ist der Einsatz der Variable DESTDIR mit der die Installation in einen anderen Ordner vorget uscht werden kann Dies funktioniert wie folgt configure prefix usr make make DESTDIR usr pkg libfoo 1 1 install Diese Methode funktioniert mit den meisten Softwarepaketen aber leider nicht mit allen Die inkompatiblen Pakete miissen Sie entweder von Hand installieren oder Sie installieren sie unterhalb von opt 80 Linux From Scratch Version 6 2 6 3 2 4 Paketverwaltung mittels Zeitstempel Bei dieser Technik wird jede Datei vor der Installation mit einem Zeitstempel versehen Nach der Installation k nnen alle installierten Dateien mit einem einfachen find Kommando gefunden und protokolliert werden Die Paketverwaltung install log setzt diese Methode ein
29. selbst dann verf gbar sein wenn usr noch nicht eingeh ngt ist Diese Programme geh ren in Ordner wie 1ib und sbin Ohne diese Option w rden die Programme entgegen unserem Willen in usr installiert werden enable elf shlibs Das erzeugt die gemeinsamen Bibliotheken die einige Programme in diesem Paket verwenden disable evms Dies deaktiviert die Installation des Enterprise Volume Management System EVMS Plugin Das Plugin ist nicht auf dem Stand der aktuellen internen EVMS Schnittstellen und au erdem wird EVMS nicht als Teil des LFS Basis Systems installiert daher brauchen wir dieses Plugin nicht Weitere Informationen erhalten Sie auf der Webseite von EMVS unter http evms sourceforge net Kompilieren Sie das Paket make Um das Ergebnis zu pr fen f hren Siemake check aus Einer der Test von E2fsprogs wird 256MB Arbeitsspeicher beanspruchen Wenn Sie nicht wesentlich mehr als 256MB Arbeitsspeicher habe sollten Sie zumindest gen gend Auslagerungsspeicher f r diesen Test zur Verf gung haben Lesen Sie unter Abschnitt 2 3 Erstellen eines Dateisystems auf der neuen Partition und Abschnitt 2 4 Einh ngen mounten der neuen Partition nach wie man Auslagerungsspeicher anlegt und aktiviert Installieren Sie die Bin rdateien und die Dokumentation make install Installieren Sie die gemeinsamen Bibliotheken make install libs 137 Linux From Scratch Version 6 2 6 30 2 Inhalt von E2fsprogs In
30. tools include without selinux Die Bedeutung der configure Parameter disable profile Dadurch werden die Bibliotheken ohne Profiling Informationen kompiliert Lassen Sie diesen Parameter weg wenn Sie mit den tempor ren Werkzeugen Profiling betreiben m chten enable add ons Dadurch verwendet Glibc NPTL als die Threading Bibliothek enable kernel 2 6 0 Dadurch wird die Glibc mit Unterst tzung f r Kernel der Serie 2 6 x gebaut with binutils tools bin Dieser Parameter wird nicht wirklich ben tigt stellt aber sicher dass in Hinsicht auf die Binutils Programme beim Kompilieren von Glibc nichts schiefgehen kann without gd Das verhindert das kompilieren des Programmes memusagestat welches immer mit Bibliotheken auf dem Host System verlinkt libgd libpng libz usw with headers tools include Dadurch wird Glibc mit den gerade in den tools Ordner installierten Kenerl Headern kompiliert Auf diese Weise werden alle Funktionen des Kernels erkannt und die Glibc kann entsprechend darauf optimiert werden 42 Linux From Scratch Version 6 2 without selinux Wenn das Host System SELinux Funktionen hat so z B Fedora Core 3 so w rden die SELinux Funktionen auch in Glibc einkompiliert Die LFS Werkzeuge unterst tzen diese Erweiterungen aber nicht daher wird eine so erzeugte Glibc nicht korrekt funktionieren W hrend dieser Phase sehen Sie m glicherweise eine Warnung configure WARNING These aux
31. umen Sie auf rm v dummy c a out Details zu diesem Paket finden Sie in Abschnitt 6 12 2 Inhalt von GCC 54 Linux From Scratch Version 6 2 5 12 Binutils 2 16 1 Durchlauf 2 Binutils ist eine Sammlung von Software Entwicklungswerkzeugen Dazu geh ren zum Beispiel Linker Assembler und weitere Programme fiir die Arbeit mit Objektdateien Geschatzte Kompilierzeit 1 1 SBU Ungefahr ben tigter Festplattenplatz 154 MB 5 12 1 Neuinstallation von Binutils Erstellen Sie erneut einen eigenen Ordner zum Kompilieren mkdir v binutils build cd binutils build Bereiten Sie Binutils zam Kompilieren vor binutils 2 16 1 configure prefix tools disable nls with lib path tools lib Die Bedeutung der neuen Parameter zu configure with lib path tools lib Dies teilt dem configure Skript mit den Standard Bibliotheksuchpfad des Linkers als tools lib vorzugeben Wir m chten im Standard Bibliotheksuchpfad keine Ordner unseres Host Systems haben daher geben Sie den gew nschten Pfad vor Kompilieren Sie das Paket make Der Kompiliervorgang ist nun abgeschlossen Wie bereits erw hnt wird empfohlen 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 Installieren Sie das Paket make install Nun bereiten Sie Binutils auf das erneute Anpassen der Toolchain im n
32. 1 2 6 Kontakt Bitte senden Sie alle Fragen und Kommentare direkt an eine der LFS Mailinglisten siehe oben Linux From Scratch Version 6 2 1 3 Hilfe Wenn Sie beim Lesen des Buches auf ein Problem sto en sollten Sie als erstes in der FAQ unter http www linuxfromscratch org fag generalfag 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 Falls Sie Ihr Problem nicht in der FAQ finden dann durchsuchen Sie am besten die Mailinglisten unter http www linuxfromscratch org search html Wenn das nicht hilft ist man im Internet Relay Chat IRC und auf den Mailinglisten Abschnitt 1 2 Ressourcen gern bereit Ihnen zu helfen Allerdings erhalten wir jeden Tag viele Anfragen die durch einfaches Lesen der FAQ oder Durchlesen der Mailinglisten beantwortet werden k nnten Wir k nnen Ihnen am besten helfen wenn Sie zuerst selbst ein wenig auf Fehlersuche gehen Dadurch k nnen wir uns besser auf die wirklich schwierigen Fragen konzentrieren Wenn Ihre eigenen Recherchen keine Ergebnisse zutage bringen dann unterst tzen Sie uns bitte indem Sie alle relevanten Informationen direkt mitsenden 1 3 1 Dinge die Sie angeben sollten Neben einer kurzen Zusammenfassung des Problems ist es wichtig dass Sie uns noch folgende Dinge
33. 106 109 nm 97 98 nohup 106 109 nologin 176 179 nroff 152 154 nscd 88 93 nscd_nischeck 88 93 nstat 159 160 objcopy 97 98 objdump 97 98 od 106 109 oldfuser 174 174 openvt 161 162 passwd 176 179 paste 106 109 patch 173 173 pathchk 106 109 path_id 188 189 peprofiledump 88 93 perl 121 122 perl5 8 8 121 122 perlbug 121 122 perlcc 121 122 perldoc 121 122 perlivp 121 122 pfbtops 152 154 pg 191 193 pgawk 147 147 pgawk 3 1 5 147 148 pgrep 117 117 Linux From Scratch Version 6 2 pic 152 154 pic2graph 152 154 piconv 121 122 pidof 182 183 ping 157 158 pinky 106 109 pivot_root 191 193 pkill 117 117 pl2pm 121 122 pltags pl 195 197 pmap 117 117 pod2html 121 122 pod2latex 121 122 pod2man 121 122 pod2text 121 122 pod2usage 121 122 podchecker 121 122 podselect 121 123 post grohtml 152 154 poweroff 182 183 pr 106 109 pre grohtml 152 154 printenv 106 109 printf 106 109 ps 117 117 psed 121 123 psfaddtable 161 162 psfgettable 161 162 psfstriptable 161 162 psfxtable 161 162 pstree 174 175 pstree x11 174 175 pstruct 121 123 ptx 106 109 pt_chown 88 93 pweat 147 148 pwck 176 179 pwconv 176 179 pwd 106 109 pwunconv 176 179 py compile 130 131 ramsize 191 193 ranlib 97 98 raw 191 193 rep 157 158 rdev 191 193 re
34. 162 e2fsck 137 138 e2image 137 138 e2label 137 138 echo 106 108 edd_id 188 189 efm_filter pl 195 197 efm_perl pl 195 197 egrep 151 151 elisp comp 130 131 elvtune 191 192 enc2xs 121 122 env 106 108 envsubst 149 149 eqn 152 153 eqn2graph 152 153 ex 195 197 expand 106 108 expect 49 50 expiry 176 178 expr 106 108 factor 106 108 faillog 176 178 false 106 108 fdformat 191 192 flock 191 192 191 192 fgconsole 161 162 fgrep 151 151 file 140 140 filefrag 137 138 find 141 141 find2perl 121 122 findfs 137 138 firmware_helper 188 189 flex 143 143 fmt 106 108 fold 106 108 frcode 141 141 free 117 117 fsck 137 138 fsck cramfs 191 192 fsck ext2 137 138 fsck ext3 137 138 fsck minix 191 192 ftp 157 158 fuser 174 174 g 100 103 gawk 147 147 Linux From Scratch Version 6 2 gawk 3 1 5 147 147 gcc 100 103 gccbug 100 103 gcov 100 103 gencat 88 92 generate modprobe conf 171 171 geqn 152 153 getconf 88 92 getent 88 92 getkeycodes 161 162 getopt 191 192 gettext 149 149 gettext sh 149 149 gettextize 149 149 gpasswd 176 178 gprof 97 98 great 147 147 grep 151 151 grn 152 153 grodvi 152 153 groff 152 153 groffer 152 153 grog 152 153 grolbp 152 153 grolj4 152 153 grops 152 153 grotty 152 153 groupadd
35. 6 41 IPRoute2 2 6 16 000323 eiii di 159 642 Kod De OS 161 OAS CSS SIE a lie uiak cacti anti Jc pad O ms td a 164 6 44 Maker 80 ee ee 165 6 45 M n DB 2 43 mias it 166 AO MO LS O AOS 170 6 47 Module Intl 0055322 aaa ae ein 171 6 48 Palch 20 er rein 173 6 49 Psmisc222 neh A A Eia naiai 174 630 Shadow A O 176 6 31 LS A er Reden 180 SS A EIN DSEHRNRERPESTSEEEFERTERNETEVELEFERTERRESSERERE new eres 182 6 33 Talla ia 185 6 54 EOS AAA A A Ba ee ee A 186 6 39 1087 096 eins mtaa a e a ben ae i esd ae onan 188 A A E E ESE oa ac E ERR S ewes tase ae 191 6 37 ViN 70 E E EEE 195 6 58 Informationen zu Debugging Symbolen aiii ti dl 199 6 39 CES Stripping a il 200 6 00 Aulrdumen szene osado 201 7 Aufsetzen der System Bootskripte 0us0ses0nennu euere bunden naeh 202 Fc BAT NRA TRY ee ee ee 202 1 2 DRS Boolskiipte 6 2 ar ea ae ierinisiehkisin ben nein 203 7 3 Wie funktionieren diese Bootskripte sn GE neues ona da 205 7 4 Umgang mit Ger ten und Modulen an einem LFS System 0 eee eee ser snnennneennnennnen non 207 7 9 Einrichten desselcscek Sk ps nike Nee 211 7 6 Einrichten der Linux Konsole si sa are 212 7 1 Einrichten des SOLIS ED N 215 7 8 Erstellen der Datei etc inputre uud as u ann 216 2 0 Die Startdatelen von Bash aa an an ai ae 218 7 10 Einrichten des localmet SKI pts sinne es 221 7 11 Anpassen der DAMOS A io Ros 222 7 12 Erzeugen von benutzerdefinierten symbolischen Links zu Ger ten oooonoconnncnoncnnacncnnnc
36. 6 55 1 Installation von Udev Das Archiv udev config enth lt LFS spezifische Konfigurationsdateien fiir Udev Entpacken Sie das Archiv in den Quellordner von Udev tar xf udev config 6 2 tar bz2 Erzeugen Sie einige Ger te und Ordner die Udev nicht bereitstellen kann weil sie sehr fr h w hrend dem Bootvorgang ben tigt werden install dv lib firmware udev devices pts shm mknod m0666 lib udev devices null c 1 3 In sv proc self fd lib udev devices fd In sv proc self fd 0 lib udev devices stdin In sv proc self fd 1 lib udev devices stdout In sv proc self fd 2 lib udev devices stderr In sv proc kcore lib udev devices core Kompilieren Sie das Paket make EXTRAS extras ata_id extras cdrom id extras edd id extras firmware extras floppy extras path_id extras scsi_id extras usb_id extras volume id Die Bedeutung der make Option EXTRAS Dadurch werden einige Hilfsprogramme erzeugt die beim Erstellen von eigenen Udev Regeln behilflich sind Zum Testen der Ergebnisse f hren Sie dieses Kommando aus make test Hinweis Die Udev Testsuite wird zahlreiche Eintr ge im Systemlog verursachen Diese Meldungen sind alle harmlos und k nnen einfach ignoriert werden Installieren Sie das Paket make DESTDIR EXTRAS extras ata_id extras cdrom id extras edd_ id extras firmware extras floppy extras path_id extras scsi_id extras usb_id extras volume_id install 188 Linux From Scratch Vers
37. Anfang der Liste steht Wenn die PATH Variable falsch gesetzt ist sind Sie m glicherweise nicht als 1fs eingeloggt oder in Abschnitt 4 4 Vorbereiten der Arbeitsumgebung ist etwas schiefgelaufen Vielleicht hat auch beim Anpassen der specs Datei etwas nicht richtig funktioniert In diesem Fall wiederholen Sie die Anpassung Wenn Sie mit dem Ergebnis zufrieden sind r umen Sie auf rm v dummy c a out Anmerkung Das Kompilieren von TCL im n chsten Abschnitt ist gleichzeitig auch ein zus tzlicher Test ob die Toolchain korrekt erstellt wurde Falls TCL nicht kompilierbar ist weist das auf einen Fehler mit Binutils GCC oder Glibc hin nicht aber auf einen Fehler in TCL 46 Linux From Scratch Version 6 2 5 8 Tcl 8 4 13 Das Tcl Paket enth lt die Tool Command Language Gesch tzte Kompilierzeit 0 3 SBU Ungef hr ben tigter Festplattenplatz 24 MB 5 8 1 Installation von Tcl Dieses und die n chsten beiden Pakete werden nur installiert damit Sie 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 grundlegensten Programme und Werkzeuge richtig funktionieren Selbst wenn wir die Testsuites in diesem Kapitel nicht ausf hren wie empfohlen werden diese Pakete doch zumindest f r die Tests im n chsten Kapitel 6 ben tigt Bereiten Sie Tcl zum Kompilieren vor cd unix
38. Es ist prinzipiell immer eine gute Idee eine solche Testsuite fiir 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 ist das natiirlich kein Garant f r absolute Fehlerfreiheit Manche Tests sind wichtiger als andere So 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 brauchen sehr viel Zeit vor allem auf langsamer Hardware Dennoch wird dringend empfohlen sie durchlaufen zu lassen Anmerkung Die Erfahrung hat gezeigt dass man in Kapitel 5 vom Durchlaufen lassen der Testsuites im Grunde nicht viel gewinnt 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 Kapitel 5 erzeugten Werkzeuge sind ohnehin nur tempor r und werden sp ter wieder gel scht Daher empfehlen wir Ihnen die Testsuites in Kapitel 5 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
39. Festplattenplatz 1 6 MB 5 25 1 Installation von Patch Bereiten Sie Patch zum Kompilieren vor configure prefix tools Kompilieren Sie das Paket make Dieses Paket enth lt keine Testsuite Installieren Sie das Paket make install Details zu diesem Paket finden Sie in Abschnitt 6 48 2 Inhalt von Patch 68 Linux From Scratch Version 6 2 5 26 Perl 5 8 8 Das Paket Perl enth lt die Skriptsprache Perl Practical Extraction and Report Language Gesch tzte Kompilierzeit 0 7 SBU Ungefahr ben tigter Festplattenplatz 84 MB 5 26 1 Installation von Perl Zuerst m ssen Sie mit dem folgenden Patch ein paar festeingestellte Pfade zur C Bibliothek anpassen patch Npl i perl 5 8 8 libc 2 patch Bereiten Sie Perl nun zum Kompilieren vor passen Sie auf dass Sie Data Dumper Fentl IO POSIX richtig schreiben das sind alles Buchstaben configure gnu prefix tools Dstatic_ext Data Dumper Fcntl IO POSIX Die Bedeutung der configure Parameter Dstatic_ext Data Dumper Fentl IO POSIX Damit wird Perl angewiesen die notwendigsten statischen Erweiterungen zu installieren die im n chsten Kapitel fiir die Coreutils und die Glibc ben tigt werden Aus diesem Paket m ssen nur wenige Programme kompiliert werden make perl utilities Auch wenn Perl eine Testsuite enth lt sollte sie zum jetzigen Zeitpunkt noch nicht ausgef hrt werden Es wurden nur Teile von Perl installiert und das Ausf hren von make test
40. Informationen ber die Speichernutzung eines Programms Dies ist die Bibliothek f r Netzwerkdienste Die Name Service Switch Bibliotheken Sie enthalten Funktionen zum Aufl sen von Hostnamen Benutzernamen Gruppennamen Aliasen Diensten Protokollen und so weiter Enth lt Profiling Funktionen die zum Verfolgen der CPU Benutzung einzelner Quelltextzeilen verwendet werden k nnen Die POSIX Threads Bibliothek Enth lt Funktionen zum Erzeugen Senden und Auswerten von Paketen an Internet Domain Name Server DNS Enth lt Funktionen die verschiedene RPC Dienste zur Verf gung stellen Diese Bibliothek enth lt Funktionen mit Schnittstellen f r die meisten POSIX 1b Echtzeiterweiterungen Enth lt Funktionen die zum Erzeugen von Debuggern f r Multi Thread Programme n tzlich sind Enth lt Code f r Standard Funktionen die in vielen verschiedenen Unix Werkzeugen genutzt werden 94 Linux From Scratch Version 6 2 6 10 Erneutes Anpassen der Toolchain Nachdem die neue C Bibliothek nun installiert ist muss die Toolchain erneut angepasst werden Modifizieren Sie sie so dass alle weiteren kompilierten Programme gegen die neue C Bibliothek gelinkt werden Im Grunde ist das fast das gleiche was Sie im vorigen Kapitel beim Anpassen der Glibc schonmal gemacht haben auch wenn es aussieht als w re es genau umgekehrt Im vorigen Kapitel haben Sie die Toolchain von usr 1ib auf dem Host in den neuen Ordner tools
41. Jete a e imlt e re 3 s eto e ey init eye 4 s eta e e limit d ze 5 s ete re d imit eye 6 Sus 5019 once sbin sulag n 1 2345 respawn sbin agetty ttyl 9600 2 2345 respawn sbin agetty tty2 9600 3 2345 respawn sbin agetty tty3 9600 Linux From Scratch Version 6 2 4 2345 respawn sbin agetty tty4 9600 5 2345 respawn sbin agetty tty5 9600 6 2345 respawn sbin agetty tty6 9600 End ete inittab EOF 6 52 3 Inhalt von Sysvinit Installierte Programme bootlogd halt init killall5 last lastb Link auf last mesg mountpoint pidof Link auf killall5 poweroff Link auf halt reboot Link auf halt runlevel shutdown sulogin telinit Link auf init utmpdump und wall Kurze Beschreibungen bootlogd halt init killall5 last lastb mesg mountpoint pidof poweroff reboot runlevel shutdown sulogin telinit utmpdump Protokolliert Bootmeldungen in eine Datei Ruft blicherweise shutdown mit dem Parameter h auf au er wenn der aktuelle Runlevel 0 ist dann teilt es dem Kernel mit das System anzuhalten Vorher vermerkt es in var log wtmp dass das System nun heruntergefahren wird Der erste gestartete Prozess nachdem der Kernel die Hardware initialisiert hat Init bernimmt den Bootvorgang und startet alle anstehenden Programme Sendet ein Signal an alle Prozesse au er denen in der eigenen Sitzung so beendet es nicht die Programme die das Skript ausf hren welc
42. Konvertiert sed Skripte zu perl Erzwingt die ausf hrliche Analyse von Warnungen in Perl Konvertiert Perl XS Code zu C Code 123 Linux From Scratch Version 6 2 6 23 Readline 5 1 Das Paket Readline enth lt Bibliotheken die Unterst tzung f r einen Verlauf und das Bearbeiten von Kommandozeilen bereitstellen Gesch tzte Kompilierzeit 0 1 SBU Ungef hr ben tigter Festplattenplatz 10 2 MB 6 23 1 Installation von Readline Die Upstream Entickler haben seit der letzten Ver ffentlichung von Readline 5 1 viele Fehler behoben Wenden Sie diese Korrekturen an patch Npl i readline 5 1 fixes 3 patch Durch die Neuinstallation von Readline werden die alten Bibliotheken nach lt bibliothek gt old umbenannt Normalerweise ist das kein Problem kann aber in einigen wenigen F llen zu Linkerproblemen in ldconfig f hren Das Problem l sst sich mit den folgenden beiden seds umgehen sed i MV old d Makefile in sed i OLDSUFF c support shlib install Bereiten Sie Readline zum Kompilieren vor configure prefix usr libdir lib Kompilieren Sie das Paket make SHLIB_LIBS Incurses Die Bedeutung der make Option SHLIB_LIBS Incurses Dieser Parameter zwingt Readline gegen die Bilbiothek libncurses zu linken in Wirklichkeit nat rlich libncursesw Dieses Paket enth lt keine Testsuite Installieren Sie das Paket make install Vergeben Sie Readline s dynamischen Bibliotheken passendere Zugriffsrechte
43. Priifsumme bf1594e82940e25d089 feca74c6f1879 e Gzip Security Patch 2 KB Download http www linuxfromscratch org patches lfs 6 2 gzip 1 3 5 security_fixes 1 patch MD5S Priifsumme 107844f01fc49446654ae4a8f8a0728 e Inetutils GCC 4 x Fix Patch 1 3 KB Download http www linuxfromscratch org patches lfs 6 2 inetutils 1 4 2 2cc4_fixes 3 patch MDS Priifsumme 5204 fbc503c9fb6a8e353583818db6b9 e Inetutils No Server Man Pages Patch 4 1 KB Download http www linuxfromscratch org patches lfs 6 2 inetutils 1 4 2 no_server_man_pages 1 patch MDS Priifsumme eb477f 532bc6d26e7025fcfc4452511d e Kbd Backspace Delete Fix Patch 11 KB Download http www linuxfromscratch org patches lfs 6 2 kbd 1 12 backspace 1 patch MD5S Priifsumme 692c88bb76906499cc20446fadfb6499 e Kbd GCC 4 x Fix Patch 1 4 KB Download http www linuxfromscratch org patches lfs 6 2 kbd 1 12 gcc4_fixes 1 patch MDS5 Pr fsumme 615bc1e381ab646f04d8045751led1f69 e Linux Kernel UTF 8 Composing Patch 11 KB Download http www linuxfromscratch org patches lfs 6 2 linux 2 6 16 27 utf8_input 1 patch MDS5 Pr fsumme d67b53e1e99c782bd28d4879ellee16c3 e Linux Libc Headers Inotify Patch 4 7 KB Download http www linuxfromscratch org patches lfs 6 2 linux libc headers 2 6 12 0 inotify 3 patch MD5S Priifsumme 8fd71a4bd3344380bd16caf2c430fa9b e Mktemp Tempfile Patch 3 5 KB Download http www linuxfromscratch org patches lfs 6 2 mktemp 1 5 add_tempfile
44. Sie alles N tige immer auf der LFS Partition und in allen Arbeitsschritten des Buches verf gbar Sie sollten folgendes Kommando als Benutzer root auszuf hren bevor Sie mit dem Herunterladen der Pakete beginnen mkdir v LFS sources Machen Sie den Ordner f r jeden beschreibbar und sticky Der Sticky Modus bewirkt dass jeweils nur der Besitzer einer Datei diese auch l schen kann selbst wenn mehrere Benutzer Schreibrechte in dem Ordner haben Das folgende Kommando schaltet Schreib und Sticky Berechtigungen ein chmod v atwt SLFS sources 13 3 2 Alle Pakete Bitte laden Sie die folgenden Pakete herunter e Autoconf 2 59 904 KB Webseite http www gnu org software autoconf Download http ftp gnu org gnu autoconf autoconf 2 59 tar bz2 MD5S Priifsumme lee40f7a676b3cfdc0e3f7cd81551b5f e Automake 1 9 6 748 KB Webseite http www gnu org software automake Download http ftp gnu org gnu automake automake 1 9 6 tar bz2 MD5S Priifsumme c11b8100bb311492d8220378fd8bf9eO0 e Bash 3 1 2 475 KB Webseite http www gnu org software bash Download http ftp gnu org gnu bash bash 3 1 tar gz MDS5 Pr fsumme e f5304c4b22aaa5088972c792ed45d72 e Bash Dokumentation 3 1 2 013 KB Download http ftp gnu org gnu bash bash doc 3 1 tar gz MDS5 Priifsumme a8c517c6a7b21b8b855190399c5935ae e Berkeley DB 4 4 20 7 767 KB Webseite http dev sleepycat com Download http downloads sleepycat c
45. Startup Files and Interactive Shells Die Dateien etc profile und bash_profile werden gelesen wenn die Shell als interaktive Login Shell aufgerufen wurde Die untenstehende Basisversion der Datei etc profile stellt ein paar notwendige Umgebungsvariablen f r NLS Unterst tzung ein Eine korrekte Einstellung dieser Variablen bewirkt e Die Ausgaben von Programmen werden in die Sprache des Anwenders bersetzt e Korrekte Einordnung von Zeichen als Buchstaben Zahlen und weiterer Klassen Die bash ben tigt diese Einstellungen um Sonderzeichen in Befehlszeilen in nicht englischen Locales verarbeiten zu k nnen e Korrekte landesspezifische alphabetische Sortierung e Passende Papiergr e e Korrekte Formatierung von W hrungs Zeit und Datumswerten Diese Datei setzt auch die Variable INPUTRC Wenn diese Variable gesetzt ist benutzen Bash und Readline die vorhin erzeugte Datei etc inputrc Ersetzen Sie lt 11 gt mit dem zweistelligen L ndercode f r die gew nschte Sprache z B de und lt CC gt mit dem zweistelligen Code f r das gew nschte Land z B DE oder AT lt charmap gt sollte durch den korrekten Zeichensatz ersetzt werden z B iso8859 15 Auch optionale Parameter wie euro k nnen angeh ngt werden Mit dem folgenden Kommando erhalten Sie eine Liste aller von Glibc unterst tzten Locales locale a Locales haben h ufig mehrere Synonyme Beispielsweise wird ISO 8859 1 h
46. Textform wird verwendet um sich auf eine Man page zu beziehen Die Zahl in Klammern bezeichnet eine bestimmte Sektion in man passwd z B hat zwei Man pages Nach der LFS Anleitung werden diese nach usr share man manl passwd 1 und usr share man man5 passwd 5 installiert Beide Man pages enthalten unterschiedliche Informationen und Themenbereiche Wenn Sie also passwd 5 lesen bezieht sich das Buch explizit auf usr share man man5 passwd 5 Das Kommando man passwd zeigt die erste gefundene Man page zu passwd an Das w re in diesem Fall usr share man manl passwd 1 Um in diesem Beispiel die richtige Man page aus Sektion 5 anzuzeigen miissen Sie das Kommando man 5 passwd verwenden Die meisten Man pages haben keine doppelten Seiten Namen in unterschiedlichen Sektionen daher ist man lt Programmname gt meistens ausreichend xiii Linux From Scratch Version 6 2 6 Aufbau Das Buch ist in die folgenden Abschnitte unterteilt 6 1 Teil Einf hrung Teil I erl utert einige wichtige Hinweise zur Installation und schafft Grundlagen zur allgemeinen Verwendung des Buches 6 2 Teil Il Vorbereitungen zur Installation Teil II bereitet den eigentlichen Installationsvorgang vor Anlegen einer Partition Herunterladen der Pakete und Kompilieren der tempor ren Werkzeuge 6 3 Teil Ill Installation Teil IH f hrt Sie Schritt f r Schritt durch die eigentliche Installation von LFS Kompilieren und Installieren aller Pakete Aufsetzen
47. Wenn Sie ein Paket aktualisieren das gemeinsam verwendete Bibliotheken enth lt und sich mit der Aktualisierung der Name der Bibliothek ndert dann m ssen alle Programme die die Bibliothek verwenden neu kompiliert werden Beachten Sie zwischen dem Namen der Bibliothek und der Paketversion besteht grunds tzlich kein Zusammenhang Angenommen Sie haben das Paket foo 1 2 3 mit der gemeinsamen Bibliothek 1ibfoo so 1 Dieses Paket aktualisieren Sie nun auf Version 1 2 4 welche die Bibliothek namens 1ibfoo so 2 installiert In diesem Fall m ssen Sie alle Programme neu kompilieren die libfoo so 1 verwenden damit sie in Zukunft libfoo so 2 referenzieren Beachten Sie auch Sie d rfen die alte Bibliothek erst entfernen wenn alle davon abh ngigen Pakete aktualisiert wurden 6 3 2 Techniken zur Paketverwaltung Im Folgenden werden einige Techniken zur Paketverwaltung beschrieben Bevor Sie sich f r eine entscheiden informieren Sie sich bitte ber die jeweilige Technik insbesondere ber die m glichen Nachteile 79 Linux From Scratch Version 6 2 6 3 2 1 Ich behalte alles im Kopf Ja auch das ist eine Methode der Paketverwaltung Manche Leute ben tigen einfach keine Software zur Paketverwaltung weil sie alle Pakete gut kennen und wissen welche Dateien vom jeweiligen Paket installiert werden Andere Leute ben tigen m glicherweise keine Paketverwaltung weil sie LFS neu installieren sobald ein Paket ge ndert wird 6 3 2 2
48. ann hernd akkurate Zeiten anzugeben Das gr te Paket Glibc braucht auf schnellen Maschinen nicht einmal 20 Minuten aber auf langsamen Maschinen drei Tage oder mehr Anstatt Ihnen also Zeiteinheiten zu nennen haben wir uns f r die Standard Binutils Unit entschieden Abgek rzt SBU Das funktioniert so Das erste zu kompilierende Paket ist Binutils in Kapitel 5 Die Zeit die Ihr Computer zum Kompilieren dieses Pakets braucht entspricht einer Standard Binutils Unit bzw SBU Alle weiteren Kompilierzeiten werden relativ zu dieser Zeit angegeben Nehmen Sie als Beispiel ein Paket mit 4 5 SBU Wenn das Kompilieren der Binutils 10 Minuten gedauert hat dann dauert es ungef hr 45 Minuten um das Beispielpaket zu bauen Gl cklicherweise sind die meisten Kompilierzeiten k rzer als die der Binutils Grunds tzlich sind SBUs relativ ungenau weil sie auf vielen Faktoren basieren inklusive der GCC Version des Host Systems Auf Mehrprozessormaschinen k nnen SBUs sogar noch ungenauer sein SBUs sollen Ihnen eine ungef hre Vorstellung davon geben wieviel Zeit das Installieren eines Pakets ben tigt Die Angaben k nnen allerdings unter Umst nden stark abweichen Wenn Sie sich aktuelle Zeitangaben f r bestimmte Computerkonfigurationen ansehen m chten schauen Sie doch mal unter http www linuxfromscratch org sbu 31 Linux From Scratch Version 6 2 4 6 Uber die Testsuites Die meisten Pakete enthalten auch eine Testsuite
49. aufruft sondern die neuen ifnames Kann beim Schreiben einer configure in Datei f r ein Paket hilfreich sein Es gibt 128 Linux From Scratch Version 6 2 die Bezeichner aus die ein Paket in Pr prozessor Konditionen benutzt Wenn ein Paket bereits fiir Portabilit t eingerichtet ist kann dieses kleine Werkzeug zum Auffinden der n tigen configure Tests hilfreich sein Es kann einige L cken in aut oscan generierten configure in Dateien fiillen 129 Linux From Scratch Version 6 2 6 26 Automake 1 9 6 Automake enth lt Programme zur Erzeugung von Makefile Dateien zur weiteren Verwendung mit Autoconf Gesch tzte Kompilierzeit less than 0 1 SBU Ungef hr ben tigter Festplattenplatz 7 9 MB 6 26 1 Installation von Automake Bereiten Sie Automake zum Kompilieren vor configure prefix usr Kompilieren Sie das Paket make Zum Testen der Ergebnisse k nnen Sie make check benutzen Dies dauert recht lange etwa 10 SBUs Installieren Sie das Paket make install 6 26 2 Inhalt von Automake Installierte Programme acinstall aclocal aclocal 1 9 6 automake automake 1 9 6 compile config guess config sub depcomp elisp comp install sh mdate sh missing mkinstalldirs py compile symlink tree und ylwrap Kurze Beschreibungen acinstall Ein Skript das M4 Dateien im aclocal Stil installiert aclocal Erzeugt auf dem Inhalt von configure in Dateien basierend entsprechende aclocal m4 Dateien aclocal
50. behebt einige Compilerfehler f r Pakete die linux types hnach sys kd h einbinden patch Npl i glibc 2 3 6 linux_types 1 patch F gen Sie einen Header hinzu um syscall Funktionen f r die Funktion inotify in neueren Linux Kerneln hinzuzuf gen patch Npl i glibc 2 3 6 inotify 1 patch Unter Verwendung der locale vi_VN TCVN verleibt die bash beim Start in einer Endlosschleife Ob dies ein Fehler der bash oder von Glibc ist ist derzeit nicht bekannt Verhindern Sie das Problem indem Sie diese locale von der Installation ausschlie en sed i vi_VN TCVN d localedata SUPPORTED W hrend make install l uft wird ein Skript namens test installation pl ausgef hrt welches die neu installierte Glibc berpr ft Unsere Toolchain zeigt jedoch noch auf den Ordner tools woraufhin die falsche Glibc getestet werden w rde Sie k nnen das Skript zwingen die richtige Glibc zu testen Verwenden Sie dazu dieses Kommando 88 Linux From Scratch Version 6 2 sed i s libs o libs L usr lib W1 dynamic linker lib ld linux so 2 o scripts test installation pl Die Dokumentation von Glibc empfiehlt zum Kompilieren einen gesonderten Ordner zu verwenden mkdir v glibc build cd glibc build Bereiten Sie Glibc zum Kompilieren vor glibc 2 3 6 configure prefix usr disable profile enable add ons enable kernel 2 6 0 libexecdir usr lib glibc Die Bedeutung der neuen Parameter zu configure libe
51. captoinfo 114 115 cat 106 107 catchsegv 88 92 catman 166 169 cc 100 103 cdrom_id 188 189 cfdisk 191 192 chage 176 178 chattr 137 138 chfn 176 178 chgpasswd 176 178 chgrp 106 107 chkdupexe 191 192 chmod 106 107 chown 106 108 chpasswd 176 178 Linux From Scratch Version 6 2 chroot 106 108 chsh 176 178 chvt 161 162 cksum 106 108 clear 114 115 cmp 136 136 code 141 141 col 191 192 colert 191 192 colrm 191 192 column 191 192 comm 106 108 compile 130 130 compile_et 137 138 compress 155 155 config charset 149 149 config guess 130 130 config rpath 149 149 config sub 130 130 convert mans 166 169 cp 106 108 cpp 100 103 create_floppy_devices 188 189 csplit 106 108 ctrlaltdel 191 192 ctstat 159 159 cut 106 108 cytune 191 192 date 106 108 db_archive 104 105 db_checkpoint 104 105 db_deadlock 104 105 db_dump 104 105 db_hotbackup 104 105 db_load 104 105 db_printlog 104 105 db_recover 104 105 db_stat 104 105 db_upgrade 104 105 db_verify 104 105 dd 106 108 ddate 191 192 deallocvt 161 162 debugfs 137 138 depcomp 130 131 depmod 171 171 df 106 108 diff 136 136 diff3 136 136 dir 106 108 dircolors 106 108 dirname 106 108 257 dmesg 191 192 dprofpp 121 122 du 106 108 dumpe2fs 137 138 dumpkeys 161
52. configure prefix usr Kompilieren Sie das Paket make Dieses Paket enth lt keine Testsuite Installieren Sie das Paket make install 6 48 2 Inhalt von Patch Installiertes Programm patch Kurze Beschreibungen 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 173 Linux From Scratch Version 6 2 6 49 Psmisc 22 2 Das Paket Psmisc enth lt Programme zum Anzeigen von Prozessinformationen Gesch tzte Kompilierzeit weniger als 0 1 SBU Ungefahr ben tigter Festplattenplatz 2 2 MB 6 49 1 Installation von Psmisc Bereiten Sie Psmisc zum Kompilieren vor configure prefix usr exec prefix Die Bedeutung der configure Parameter exec prefix Dies stellt sicher dass die Bin rdateien von Psmisc nach bin anstelle von usr bin installiert werden Lt FHS ist dies der korrekte Ort weil einige der Programme in den LFS Bootskripten verwendet werden Kompilieren Sie das Paket make Dieses Paket enth lt keine Testsuite Installieren Sie das Paket make install pstree und pstree x11 m ssen nicht in bin liegen Daher verschieben Sie sie nach usr bin mv v bin pstree usr bin Normalerweise wird Psmisc s Programm pidof nicht installiert Das ist meistens kein Problem weil wir sp
53. cp Rv include asm i386 usr include asm cp Rv include linux usr include Stellen Sie sicher dass die Header im Besitz von root sind chown Rv root root usr include asm linux Stellen Sie sicher dass normale Benutzer Leserechte auf die Header haben find usr include asm linux type d exec chmod v 755 find usr include asm linux type f exec chmod v 644 6 7 2 Inhalt von Linux Libc Header Installierte Header usr include asm linux h Kurze Beschreibungen usr include asm linux h Diese Dateien bilden die Linux Header API 86 Linux From Scratch Version 6 2 6 8 Man pages 2 34 Das Paket Man pages enth lt ber 1 200 Hilfeseiten Gesch tzte Kompilierzeit weniger als 0 1 SBU Ungef hr ben tigter Festplattenplatz 18 4 MB 6 8 1 Installation der Man pages Installieren Sie die Man pages durch Ausf hren von make install 6 8 2 Inhalt von Man pages Installierte Dateien verschiedene Hilfeseiten Man pages Kurze Beschreibungen Hilfeseiten Sie beschreiben z B Funktionen der Programmiersprache C und wichtige Ger te und Konfigurationsdateien 87 Linux From Scratch Version 6 2 6 9 Glibc 2 3 6 Glibc enth lt die C Bibliothek Sie stellt Systemaufrufe und grundlegende Funktionen zur Verfiigung z B das Zuweisen von Speicher Durchsuchen von Ordnern Offnen und SchlieBen sowie Schreiben von Dateien Zeichenkettenverarbeitung Mustererkennung Arithmetik etc
54. 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 w hrend der Arbeit mit diesem Buch installiert wurden XIV Linux From Scratch Version 6 2 7 Errata Die f r LFS verwendete Software wird laufend aktualisiert und erweitert Nach Erscheinen des Buches k nnten Sicherheitshinweise und Fehlerbereinigungen hinzugekommen sein Bevor Sie mit dem Bau von LFS beginnen sollten Sie unter http www linuxfromscratch org lfs errata 6 2 nachsehen ob nderungen an den Installationsanleitungen oder an Softwareversionen n tig sind Bitte notieren Sie alle n tigen nderungen und wenden Sie diese in den entsprechenden Kapiteln an XV Linux From Scratch Version 6 2 Teil I Einf hrung Linux From Scratch Version 6 2 Kapitel 1 Einfuhrung 1 1 Vorgehensweise zur Installation von LFS Sie werden LFS mit Hilfe einer bereits laufenden Linux Distribution wie z B Debian Mandriva Red Hat oder SuSE installieren Das bestehende System der Host wird als Einstiegspunkt benutzt denn Sie brauchen Programme wie Compiler Linker und eine Shell um Ihr neues System zu erstellen Normalerweise sind alle notwendigen Programme bereits installiert wenn Sie bei der Installati
55. die Ausgabe mehr Funktionen als has_journal dir_index filetype large_file resize_inode sparse_super oder needs_recovery enth lt dann sind in Ihrem Host System zus tzliche Erweiterungen installiert Sie sollten sp tere Probleme vermeiden indem Sie das normale Paket E2fsprogs kompilieren und die daraus resultierenden Programme zum Erzeugen des Dateisystems auf Ihrer LFS Partition verwenden cd tmp tar xjvf Pfad zu den Quellen von e2fsprogs 1 39 tar bz2 cd e2fsprogs 1 39 mkdir v build cd build configure make ANMERKUNG F hren Sie bitte _nicht_ make install aus misc mke2fs jv dev lt xxx gt cd tmp rm rfv e2fsprogs 1 39 Wenn Sie eine Swap Partition erstellt haben m ssen Sie diese mit dem untenstehenden Befehl initialisieren dies bezeichnet man auch als formatieren Wenn Sie eine bereits existierende Swap Partition verwenden muss diese nicht initialisiert werden mkswap dev lt yyy gt Bitte ersetzen Sie lt yyy gt durch den Namen Ihrer Swap Partition 11 Linux From Scratch Version 6 2 2 4 Einhangen mounten der neuen Partition Nachdem Sie nun ein Dateisystem erzeugt haben sollten Sie natiirlich auch darauf zugreifen k nnen Dazu miissen Sie erst einen Mountpunkt w hlen und es dann dort einh ngen mounten Wir gehen davon aus dass das Dateisystem unter mnt 1fs eingeh ngt wird Sie k nnen sich aber auch jeden anderen Ordner aussuchen W hlen Sie nun einen Mountpunkt und trage
56. 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 113 Linux From Scratch Version 6 2 6 18 Ncurses 5 5 Das Paket Ncurses enthalt Bibliotheken fiir den Terminal unabh ngigen Zugriff auf Textbildschirme Gesch tzte Kompilierzeit 0 7 SBU Ungefahr ben tigter Festplattenplatz 31 MB 6 18 1 Installation von Ncurses Seit der Ver ffentlichung von Ncurses 5 5 wurde ein Speicherleck und einige Anzeigefehler entdeckt und behoben Wenden Sie diese Fehlerbereinigungen nun an patch Npl i ncurses 5 5 fixes 1 patch Bereiten Sie Ncurses zum Kompilieren vor configure prefix usr with shared without debug enable widec Die Bedeutung des configure Parameters enable widec Durch diesen Parameter werden anstelle der normalen Bibliotheken libncurses so 5 5 die Versionen f r Multibyte Zeichen installiert libncursesw so 5 5 Diese Wide Character Bibliotheken sind sowohl mit Multibyte als auch mit normalen 8 Bit Locales verwendbar Die beiden Bibliothek Typen sind Quell aber nicht Bin r Kompatibel Kompilieren Sie das Paket make Dieses Paket enth lt keine Testsuite Installieren Sie das Paket make install Vergeben Sie Ausf hrungsrechte f r die Ncurses Bibliothek chmod v 755 usr lib 5 5 Korrigieren Sie eine Bibliothek die nicht ausf hrbar sein sollte chmod v 644 usr l
57. die hier benutzte Methode nicht m gen schauen Sie in der Datei README im Kernel Quellordner nach Alternativen Der Standard Kernel erzeugt fehlerhafte Bytes wenn im UTF 8 Modus sog Tote Tasten gedr ckt werden Au erdem kann man im UTF 8 Modus nur ASCH Zeichen kopieren und einf gen Mit dem folgenden Patch k nnen Sie diese Probleme beheben patch Npl i linux 2 6 16 27 utf8_input 1 patch 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 Kernels auszuf hren Sie sollten sich nicht darauf verlassen dass die Quellen nach dem Entpacken sauber sind Richten Sie den Kernel nun mit der men gef hrten Oberfl che ein In BLFS finden Sie unter http www linuxfromscratch org blfs view svn longindex html kernel config index einige Informationen zu bestimmten Kernel Voraussetzungen von Software au erhalb von LFS make menuconfig make oldconfig k nnte in einigen F llen besser geeignet sein Schauen Sie in die Datei README um mehr Informationen zu erhalten Wenn Sie m chten k nnen Sie die Kernelkonfiguration berspringen und einfach die Kernel Konfigurationsdatei config von Ihrem Host System nach linux 2 6 16 27 kopieren falls sie verf gbar ist Das wird allerdings nicht empfohlen Sie sind besser dran wenn Sie alle Konfigurationsmen s durchsehen und
58. diesem Paket finden Sie in Abschnitt 6 29 2 Inhalt von Diffutils 60 Linux From Scratch Version 6 2 5 18 Findutils 4 2 27 Das Paket Findutils enth lt Programme zum Auffinden von Dateien durch rekursive Suche in einer Ordnerstruktur oder ber den Zugriff auf eine Datenbank Die Suche ber eine Datenbank ist normalerweise schneller aber es besteht nat rlich die Gefahr dass die Datenbank zum Zeitpunkt der Suche veraltet ist Gesch tzte Kompilierzeit 0 2 SBU Ungef hr ben tigter Festplattenplatz 12 MB 5 18 1 Installation von Findutils Bereiten Sie Findutils zum Kompilieren vor configure prefix tools Kompilieren Sie das Paket make Um das Ergebnis zu pr fen f hren Siemake check aus Installieren Sie das Paket make install Details zu diesem Paket finden Sie in Abschnitt 6 32 2 Inhalt von Findutils 61 Linux From Scratch Version 6 2 5 19 Gawk 3 1 5 Gawk ist eine Implementierung von awk und wird zur Textmanipulation verwendet Gesch tzte Kompilierzeit 0 2 SBU Ungefahr ben tigter Festplattenplatz 18 2 MB 5 19 1 Installation von Gawk Bereiten Sie Gawk zum Kompilieren vor configure prefix tools Aufgrund eines Fehlers im configure Skript erkennt Gawk einige Funktionen von Glibc s locale Unterst tzung nicht richtig Das f hrt z B zu Fehlern in der Testsuite von Gettext Sie K nnen das Problem umgehen indem Sie die fehlenden Makro Definitionen in der Datei config h
59. 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 Wenn Sie keinen zweiten Nameserver haben oder m chten entfernen Sie den zweiten nameserver Eintrag 227 Linux From Scratch Version 6 2 Kapitel 8 Das LFS System bootfahig machen 8 1 Einfuhrung Nun ist es an der Zeit Ihr LFS bootf hig zu machen In diesem Kapitel erstellen Sie die Datei fstab einen neuen Kernel fiir Ihr LFS System und Sie installieren den GRUB Bootloader damit Sie Ihr LFS System zum booten ausw hlen k nnen 228 Linux From Scratch Version 6 2 8 2 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 miissen Erstellen Sie nun eine neue Tabelle der Dateisysteme cat gt etc fstab lt lt EOF Begin etc fstab file system mount point type options dump fsck order dev lt xxx gt lt frr gt derauliee 1 1 dev lt yyy gt swap swap pri 1 0 0 PROG Nartos DEO defaults 0 0 sysfs sys sysfs defaults 0 0 devpts dev pts devpts gid 4 mode 620 0 0 shm dev shm tmpfs defaults 0 0 End etc fstab EOF Natiirlich miissen Sie lt xxx gt lt yyy gt und lt fff gt mit den korrekten Werten fiir Ihr System ersetzen zum Beispiel hda2 hda5 und
60. endg ltigen LFS Systems fort 36 Linux From Scratch Version 6 2 5 3 Binutils 2 16 1 Durchlauf 1 Binutils ist eine Sammlung von Software Entwicklungswerkzeugen Dazu geh ren zum Beispiel Linker Assembler und weitere Programme fiir die Arbeit mit Objektdateien Gesch tzte Kompilierzeit 1 SBU Ungefahr ben tigter Festplattenplatz 189 MB 5 3 1 Installation 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 erst daraufhin bestimmte Funktionen aktivieren Die Dokumentation zu Binutils empfiehlt Binutils au erhalb des Quellordners zu kompilieren mkdir v binutils build cd binutils build Anmerkung Wenn die im Buch angegebenen SBU Werte einen Nutzen haben sollen m ssen Sie nun die Zeit messen die Sie zum Kompilieren von Binutils ben tigen Dies ist mit dem folgenden Kommando relativ einfach time configure amp amp make amp amp make install Bereiten Sie Binutils zum Kompilieren vor binutils 2 16 1 configure prefix tools disable nls Die Bedeutung der configure Parameter prefix tools Dadurch wird das configure Skript die Binutils Programme f r die Installation nach tools vorbereiten disable nls Deaktiviert die Internationalisierung 118n wird f r die tempor ren Werkzeuge nicht ben tigt Fahren Sie mit dem Kompilieren des Pakets fort make Der Kompiliervorg
61. ext 3 Die Details zu den sechs Feldern in dieser Tabelle finden Sie mittels man 5 fstab Der Mountpunkt dev shm fir 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 wenige Programme POSIX shared memory verwenden 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 Dateisysteme die urspr nglich aus MS DOS oder Windows stammen das sind vfat ntfs smbfs cifs iso9660 udf m ssen mit dem mount Parameter iocharset eingebunden werden damit Nicht Ascii Zeichen in Dateinamen korrekt gehandhabt werden k nnen Der Wert des Parameters sollte Ihrer Locale entsprechen so angepasst dass der Kernel ihn verstehen kann Dies funktioniert nur wenn der n tige Zeichensatz zu finden unter File systems gt Native Language Support in den Kernel eingebaut oder als Modul kompiliert ist Der Parameter codepage ist desweiteren f r vfat und smbfs Dateisysteme erforderlich Der Wert sollte der in Ihrem Land unter MS DOS verwendeten Codepage entsprechen Um beispielsweise einen USB Stick in ru_RU KOIS R einzubinden muss der Benutzer diese Zeile in etc fstab eintragen dev sdal media flash vfat noauto user quiet
62. in den Konsoletreiber l dt Dies wird heutzutage durch setfont erledigt Startet ein Programm in einem neuen Virtuellen Terminal VT Ein Link auf psfxtable Ein Link auf psfxtable Ein Link auf psfxtable Ein Satz von Werkzeugen zum Umgang mit Unicode Zeichentabellen fiir Konsole Schriften Andert die Vorstellung des Kernels tiber die Ausmafe einer Konsole Andert EGA Enhanced Graphic Adapter und VGA Video Graphics Array Schriften in der Konsole L dt Scancode zu Keycode Zuweisungstabellen des Kernel N tzlich wenn Sie ein paar un bliche Tasten auf Ihrer Tastatur haben Stellt Tastaturoptionen und die LED s ein Definiert die Behandlung von Meta Tasten auf der Tastatur Zeigt die aktuelle EGA VGA Konsole Schrift an 162 showkey unicode_start unicode_stop Linux From Scratch Version 6 2 Zeigt Scancode Keycode und ASCII Code der auf der Tastatur gedriickten Taste an Versetzt Tastatur und die Konsole in den UNICODE Modus Verwenden Sie dieses Programm nur wenn Ihre Tastaturlayouttabelle eine ISO 8859 1 Kodierung verwendet Mit anderen Kodierungen produziert es unbrauchbare Ergebnisse Schaltet den Unicode Modus von Tastatur und Konsole wieder aus 163 Linux From Scratch Version 6 2 6 43 Less 394 Less ist ein Textanzeigeprogramm Gesch tzte Kompilierzeit 0 1 SBU Ungefahr ben tigter Festplattenplatz 2 6 MB 6 43 1 Installation von Less Bereiten Sie Less zum Kompilieren vor co
63. lfs usr share locale DLOCALEDIR mnt lfs usr share locale DLIBDIR mnt lfs usr lib NCAA iS Si Line luce DE CONTIG I amp 0 derojyr ll e gee e 0Z Stal iLe o make ar arocan o Commando Celerant expand o Elle o LUMCCLON GeL O imallcilo o JOO majn o misc o read o remake o rule o signame o variable o vpath o default o remote stub o version o optl o lme l Joo yos In function load too higas l s tmp make 3 79 1 jJ0b c 1565 undefined referenc to getloadavg collect le fteturned 1 le status make 2s sss make a 1 make 2 Leaving directory 1fs tmp make 3 79 1 MSS LL mat lall recuesive Error 1 make 1 Leaving directory lfs tmp make 3 79 1 make lall re urs ve am Hrror 2 In diesem Fallbeispiel Kopieren viele leider nur den unteren Teil make Ble wee make Error 1 Das reicht uns aber nicht um Ihnen bei der Fehlerdiagnose helfen zu k nnen denn es sagt uns nur dass etwas schiefgelaufen ist aber nicht was Sie m ssen den ganzen oben gezeigten Block angeben denn er enth lt das ausgef hrte Kommando und die dazugeh rige Fehlermeldung en 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 So erh hen Sie Ihre Chance dass Sie auf Ihr
64. matrix de e Stephan Brendel lt stevie O stevie20 de gt Ifs netservice neuss de e Antonin Sprinzl lt Antonin Sprinzl tuwien ac at gt at linuxfromscratch org e Fredrik Danerklint lt fredan lfs fredan org gt se linuxfromscratch org e Parisian sysadmins lt archive Odoc cs univ paris8 fr gt www2 fr linuxfromscratch org e Alexander Velin lt velin zadnik org gt bg linuxfromscratch org e Dirk Webster lt dirk securewebservices co uk gt lfs securewebservices co uk e Thomas Skyt lt thomas Osofagang dk gt dk linuxfromscratch org e Simon Nicoll lt sime dot sime com gt uk linuxfromscratch org Asiatische Spiegel e Pui Yong lt pyng spam averse net gt sg linuxfromscratch org e Stuart Harris lt stuartO althalus me uk gt Ifs mirror intermedia com sg 245 Linux From Scratch Version 6 2 Australische Spiegel e Jason Andrade lt jason dstc edu au gt au linuxfromscratch org Fruhere Projektmitglieder e Christine Barczak lt theladyskye linuxfromscratch org gt LFS Buchautorin e Timothy Bauscher e Robert Briggs e Jan Chilton e Jeroen Coumans lt jeroen linuxfromscratch org gt Website Entwickler Betreuer der FAQ e Alex Groenewoud LFS Technischer Autor e Marc Heerdink e Mark Hymers e Seth W Klein Betreuer der FAQ e Nicholas Leippe lt nicholasOlinuxfromscratch org gt Wiki Betreuer e Simon Perreault e Scot Mc Pherson lt scot linuxfromscratch o
65. maxdepth 0 xtype d exec rm rvf amp amp rm vf grep 1 DO NOT EDIT THIS FILE GCC_INCLUDEDIR amp amp unset GCC _INCLUDEDIR 45 Linux From Scratch Version 6 2 Achtung An diesem Punkt ist es unbedingt notwendig die korrekte Funktion der Toolchain Kompilieren und Linken zu berpr fen Darum f hren Sie nun einen kleinen Gesundheitscheck durch echo main gt dummy c cc dummy c readelf 1 a out grep tools Wenn alles korrekt funktioniert sollten keine Fehler auftreten und die Ausgabe des letzten Kommandos sieht so oder so hnlich aus Requesting program interpreter Musso le al nie Son Achten Sie besonders darauf dass tools lib als Prefix zu Ihrem dynamischen Linker angegeben ist Wenn Sie keine oder eine andere als die obige Ausgabe erhalten haben ist etwas schiefgelaufen Sie m ssen alle Ihre Schritte noch einmal berpr fen und den Fehler finden und korrigieren Fahren Sie nicht fort bevor Sie den Fehler nicht beseitigt haben Als erstes f hren Sie nochmals den Gesundheitscheck durch und benutzen gec anstelle von cc Wenn das funktioniert fehlt der Link von tools bin cc Gehen Sie zur ck zu Abschnitt 5 4 GCC 4 0 3 Durchlauf 1 und reparieren Sie den symbolischen Link Als zweites stellen Sie bitte sicher dass Ihre Umgebungsvariable PATH richtig gesetzt ist Sie k nnen die Variable mit dem Kommando echo PATH anzeigen lassen pr fen Sie dass tools bin am
66. meisten Programmen in diesem Paket benutzt werden 118 Linux From Scratch Version 6 2 6 20 Sed 4 1 5 Das Paket Sed enth lt einen Stream Editor Gesch tzte Kompilierzeit 0 1 SBU Ungefahr ben tigter Festplattenplatz 6 4 MB 6 20 1 Installation von Sed Bereiten Sie Sed zum Kompilieren vor configure prefix usr bindir bin enable html Die Bedeutung des neuen Parameters zu configure enable html Dadurch wird die HTML Dokumentation erzeugt Kompilieren Sie das Paket make Um das Ergebnis zu pr fen f hren Siemake check aus Installieren Sie das Paket make install 6 20 2 Inhalt von Sed Installiertes Programm sed Kurze Beschreibungen sed Wird zum Filtern und Transformieren von Dateien in einem einzigen Durchlauf verwendet 119 Linux From Scratch Version 6 2 6 21 Libtool 1 5 22 Das Libtool Skript enth lt die Unterstiitzung fiir Bibliotheken Libtool versteckt die Komplexit t von gemeinsam benutzten Bibliotheken hinter einer konsistenten und portablen Schnittstelle Gesch tzte Kompilierzeit 0 1 SBU Ungefahr ben tigter Festplattenplatz 16 6 MB 6 21 1 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 Siemake check aus Installieren Sie das Paket make install 6 21 2 Inhalt von Libtool Installierte Programme libtool und libtoolize Installierte Bi
67. net Freshmeat kann Sie vie E Mail tiber neue Programmversionen informieren e CERT Computer Emergency Response Team CERT f hrt eine Mailingliste die Sicherheitswarnungen zu verschiedenen Betriebssystemen und Anwendungen ver ffentlicht Sie k nnen die Liste unter http Avww us cert gov cas signup html abonnieren e Bugtraq Die Mailingliste Bugtraq ist eine sog full disclosure Mailingliste Auf ihr werden neu entdeckte Sicherheitsprobleme und zum Teil auch Patches zum Beheben der Fehler ver ffentlicht Sie k nnen die Liste unter http www securityfocus com archive abonnieren 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 LFS Hints Die LFS Hints sind eine Sammlung von n tzlichen 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 Mailinglisten Es gibt einige Mailinglisten die Sie abonnieren k nnen wenn Sie mal Hilfe ben tigen Weitere Informationen finden Sie in Kapitel 1 Mailinglisten Das Linux Documentation Project Das Ziel des Linux Documentation Project ist es in allen Fragen zu Linux zusammenzuarbeiten Das LDP verf gt tiber jede Menge an HOWTOs Anleitungen und Man pages Sie finden es u
68. oder einer Bibliothek ben tigt werden Iddlibc4 Unterstiitzt Idd bei der Arbeit mit Objektdateien locale Zeigt verschiedene Informationen tiber die aktuelle Locale an localedef Erzeugt Locale Spezifikationen mtrace Liest und interpretiert eine Speicher Riickverfolgungsdatei und gibt eine normal 92 nscd nscd_nischeck pcprofiledump pt_chown rpcgen rpcinfo sIn sprof tzselect xtrace zdump zic ld so libBrokenLocale libSegFault libanl libbsd compat libc libcidn libcrypt libdl libg libieee libm libmcheck Linux From Scratch Version 6 2 lesbare Zusammenfassung aus Der name service cache daemon er stellt einen Zwischenspeicher f r die meisten namensbasierten Anfragen zur Verf gung Pr ft ob f r NIS Anfragen der sichere Modus ben tigt wird Gibt Informationen aus die durch PC Profiling erzeugt wurden Ist ein Hilfsprogramm zu grantpt Es setzt Besitzer Gruppe und Zugriffsberechtigungen von Slave Pseudo Terminals Erzeugt C Code zum Implementieren des RPC Protokolls Generiert eine RPC Anfrage an einen RPC Server Dies ist die statisch gelinkte Variante von In Liest Profiling Daten zu Shared Objects und zeigt sie an Stellt dem Anwender einige Fragen zu seinem Standort und erzeugt aus den Antworten eine passende Zeitzonenbeschreibung Verfolgt den Durchlauf eines Programmes indem es die jeweils ausgef hrte Funktion ausgibt Gibt Zeitzonen aus Is
69. rigen Ordner in sys dies k nnte sys block hdd sein und f hren Sie ein solches Kommando aus udevtest block hdd Halten Sie Ausschau nach den Zeilen mit den verschiedenen _id Programmen Es gibt zwei Methoden zum Erzeugen symbolischer Links Die erste M glichkeit basiert auf dem Modell und der Seriennummer des Ger ts die zweite basiert auf dem Anschluss und dem Bus des Ger ts Wenn Sie die erste Variante einsetzen m chten erstellen Sie eine Datei wie folgt cat gt etc udev rules d 82 cdrom rules lt lt EOF Custom CD ROM symlinks SUBSYSTEM block ENV ID_MODEL SAMSUNG_CD ROM_SC 148F ENV ID_REVISION PS05 SYMLINK cdrom SUBSYSTEM block ENV ID_MODEL PHILIPS_CDD5301 ENV ID_SERIAL 5V01306DM00190 SYMLINK cdroml dvd EOF Anmerkung Die Beispiele in diesem Buch funktionieren korrekt Beachten Sie aber bitte dass udev den linksgerichteten Schr gstrich nicht als Zeilenfortsetzung interpretiert Wenn Sie udev Regeln anpassen dann muss jede Regel in einer einzigen physikalischen Zeile stehen Auf diese Weise bleib der symbolische Link stabil selbst wenn Sie das Ger t an einem anderen Stecker am IDE Kabel anschlieBen Der Link dev cdrom wird allerdings nicht mehr erzeugt wenn Sie das SAMSUNG Laufwerk durch ein anderes ersetzen Der Schl ssel SUBSYSTEM block ist n tig um das Erstellen unn tiger generischer SCSI Ger t
70. sysconfig console lt lt EOF Begin etc sysconfig console KEYMAP de latin1 KEYMAP CORRECTIONS euro2 HON SS SN End etc sysconfig console EOF e Und nun folgt ein Beispiel f r eine Unicode Umgebung in Bulgarien wof r es ein vorbereitetes UTF 8 Tastaturlayout gibt und keine Regeln fiir Tote bzw Compose Tasten cat gt etc sysconfig console lt lt EOF Begin etc sysconfig console UNICODE 1 KEYMAP bg_bds ut 8 FONT LatArCyrHeb 16 End etc sysconfig console EOF Im vorherigen Beispiel wird die Schrift LatArCyrHeb 16 mit 512 Symbolen eingesetzt Dies hat zur Folge das in der Linux Konsole keine hellen Farben mehr angezeigt werden k nnen es sei denn man verwendet einen Framebuffer Falls Sie helle Farben ohne Framebuffer ben tigen sollten und dafiir mit einigen fehlenden Zeichen leben k nnen die nicht zur eigenen Sprache geh ren dann k nnen Sie wie folgt auf eine Schrift mit 256 Zeichen zuriickgreifen cat gt etc sysconfig console lt lt EOF Begin etc sysconfig console UNICODE 1 KEYMAP bg_bds ut 8 FONT cyr sunl6 End etc sysconfig console EOF 215 Linux From Scratch Version 6 2 Das nun folgende Beispiel demonstriert die Verwendung der automatischen Umwandlung eines Tastaturlayouts von ISO 8859 15 nach UTF 8 und die Aktivierung von toten Tasten im Unicode Modus cat gt etc sysconfig console lt lt EOF Begin etc sysconfig console
71. ter das Paket Sysvinit 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 sv killall bin pidof 6 49 2 Inhalt von Psmisc Installierte Programme fuser killall pstree und pstree x11 Link auf pstree Kurze Beschreibungen fuser Zeigt die PIDs von Prozessen an die gerade eine bestimmte Datei oder ein Dateisystem verwenden killall Beendet Prozesse aufgrund ihres Namens Es sendet ein Signal an alle Prozesse die ein bestimmtes Kommando ausf hren oldfuser Zeigt die PIDs von Prozessen an die gerade eine bestimmte Datei oder ein Dateisystem 174 Linux From Scratch Version 6 2 verwenden pstree Zeigt laufende Prozesse als Baumstruktur an pstree x11 Das gleiche wie pstree wartet allerdings vor dem Beenden auf eine Best tigung 175 Linux From Scratch Version 6 2 6 50 Shadow 4 0 15 Das Paket Shadow enth lt Programme zur sicheren Verwaltung von Kennw rtern Gesch tzte Kompilierzeit 0 3 SBU Ungefahr ben tigter Festplattenplatz 18 6 MB 6 50 1 Installation von Shadow Anmerkung Wenn Sie sichere Passw rter erzwingen m chten sollten Sie vor der Installation von Shadow unter http www linuxfromscratch org blfs view svn postlfs cracklib html nachlesen und Cracklib installieren F gen Sie dann den Parameter with libcrack zu dem folgenden configure Komm
72. tzte Kompilierzeit weniger als 0 1 SBU Ungefahr ben tigter Festplattenplatz 2 1 MB 6 15 1 Installation von lana Etc Das folgende Kommando konvertiert die von IANA bereitgestellten RAW Daten in das korrekte Format fiir etc protocols und etc services make Dieses Paket enth lt keine Testsuite Installieren Sie das Paket make install 6 15 2 Inhalt von lana Etc Installierte Dateien etc protocols und etc services Kurze Beschreibungen etc protocols Beschreibt verschiedene im TCP IP Subsystem verf gbare DARPA Internet Protokolle etc services Erm glicht eine Zuordnung von leicht zu lesenden Namen f r Internetdienste und den zugeh rigen Port Nummern und Protokolltypen 111 Linux From Scratch Version 6 2 6 16 M4 1 4 4 M4 enthalt einen Makroprozessor Gesch tzte Kompilierzeit weniger als 0 1 SBU Ungef hr ben tigter Festplattenplatz 3 MB 6 16 1 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 Siemake check aus Installieren Sie das Paket make install 6 16 2 Inhalt von M4 Installiertes Programm m4 Kurze Beschreibungen 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 besitzt m4 eingebaute Funktionen zum Ei
73. w rde bewirken dass nun der Rest von Perl kompiliert werden w rden Das ist zu diesem Zeitpunkt v llig unn tig die Testsuite kann im n chsten Kapitel ausgef hrt werden Installieren Sie diese Werkzeuge und ihre Bibliotheken an die richtige Stelle cp v perl pod pod2man tools bin mkdir pv tools lib per15 5 8 8 cp Rv lib tools lib per15 5 8 8 Details zu diesem Paket finden Sie in Abschnitt 6 22 2 Inhalt von Perl 69 Linux From Scratch Version 6 2 5 27 Sed 4 1 5 Das Paket Sed enth lt einen Stream Editor Gesch tzte Kompilierzeit 0 1 SBU Ungefahr ben tigter Festplattenplatz 6 1 MB 5 27 1 Installation von Sed Bereiten Sie Sed zum Kompilieren vor configure prefix tools Kompilieren Sie das Paket make Um das Ergebnis zu pr fen f hren Sie make check aus Installieren Sie das Paket make install Details zu diesem Paket finden Sie in Abschnitt 6 20 2 Inhalt von Sed 70 Linux From Scratch Version 6 2 5 28 Tar 1 15 1 Das Paket Tar enth lt ein Archivprogramm Gesch tzte Kompilierzeit 0 2 SBU Ungefahr ben tigter Festplattenplatz 13 7 MB 5 28 1 Installation von Tar Wenn Sie die Testsuite ausf hren m chten wenden Sie zuvor bitte den folgenden Patch an Dadurch werden Fehler im Zusammenhang mit GCC 4 0 3 behoben patch Npl i tar 1 15 1 gcec4_fix_tests 1 patch Bereiten Sie Tar zum Kompilieren vor configure prefix tools Kompilieren Sie da
74. werden 2 Tests bersprungen die Automake verwenden Wenn Sie den vollst ndigen Test durchf hren lassen m chten m ssen Sie Autoconf nach der Installation von Automake erneut testen Installieren Sie das Paket make install 6 25 2 Inhalt von Autoconf Installierte Programme autoconf autoheader autom4te autoreconf autoscan autoupdate und ifnames Kurze Beschreibungen autoconf Ein Werkzeug zum Erzeugen von Shell Skripten die Quellcode Pakete automatisch einrichten und sie an unterschiedliche Unix System anpassen Die resultierenden configure Skripte sind eigenst ndig sie k nnen auch dann ausgef hrt werden wenn autoconf nicht installiert ist autoheader Ein Werkzeug zum Erzeugen von Vorlagedateien f r C define Anweisungen die configure benutzen soll autom4te Ein Wrapper zu dem Makroprozessor M4 autoreconf Fiihrt automatisch autoconf autoheader aclocal automake gettextize und libtoolize in der richtigen Reihenfolge aus Das spart Zeit wenn Anderungen an autoconf und automake Vorlagedateien gemacht wurden autoscan Kann beim Erzeugen einer configure in Datei fiir ein Softwarepaket behilflich sein Es untersucht die Quelldateien 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
75. wiederholt das so lange bis keine weitere Eingabe mehr 153 mmroff neqn nroff pfbtops pic pic2graph post grohtml pre grohtml refer soelim tbl tfmtodit troff Linux From Scratch Version 6 2 vorhanden ist Ein einfacher Pr prozessor f r groff Formatiert Gleichungen f r die ASCII Ausgabe American Standard Code for Information Interchange Ein Skript das nroff Kommandos mit groff emuliert bersetzt eine Postscript Schrift im pfb Format zu ASCII Kompiliert in groff oder TeX Eingabedateien enthaltene Beschreibungen von Bildern zu Kommandos die von TeX oder troff verwendet werden k nnen Konvertiert ein PIC Diagramm zu einem beschnittenen Bild bersetzt die Ausgabe von GNU troff zu HTML bersetzt die Ausgabe von GNU troff zu HTML Kopiert den Inhalt einer Datei zur Standardausgabe au er das Zeilen zwischen und als Zitat interpretiert werden und Zeilen zwischen R und R2 als Kommandos behandelt werden die angeben wie mit Zitaten umgegangen werden soll Liest Dateien und ersetzt Zeilen der Form so lt Datei gt gt mit dem tats chlichen Inhalt von lt Datei gt Kompiliert in troff Eingabedateien eingebettete Beschreibungen von Tabellen zu Kommandos die von troff unterst tzt werden Erzeugt Schriftdateien zur Verwendung mit groff Tdvi Ist hochkompatibel mit Unix troff blicherweise wird es mit dem Kommando groff aufgerufen welches auch Pr prozessoren und Postprozessore
76. 1 9 6 Ein harter Link auf aclocal automake 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 findt es automatisch jede n tige Makefile am Datei und erzeugt die entsprechende Makefile in Datei automake 1 9 6 Ein harter Link auf automake compile Ein Wrapper fiir verschiedene Compiler config guess Ein Skript Es versucht kanonische Tripplets fiir das Build den Host oder die Zielarchitektur zu erraten config sub Ein Unter Skript zum Validieren der Konfiguration 130 depcomp elisp comp install sh mdate sh missing mkinstalldirs py compile symlink tree ylwrap Linux From Scratch Version 6 2 Ein Skript zum Kompilieren eines Programmes so dass nicht nur das gewiinschte Ergebnis erzeugt wird sondern auch Abh ngigkeitsinformationen generiert werden Byte kompiliert Emacs Lisp Code Ein Skript welches ein Programm ein Skript oder eine Datendatei installiert Ein Skript welches den Anderungszeitstempel einer Datei oder eines Ordners ausgibt Ein Skript welches fehlende GNU Programme w hrend der Installation ersetzt Ein Skript zum Erzeugen einer Ordnerstruktur Kompiliert ein Python Programm Ein Skript zum Erzeugen einer Symlink Version einer Ordnerstruktur Ein Wrapper f r lex und yacc 131 Linux From Scratch
77. 110 tack 114 115 tail 106 110 tailf 191 194 talk 157 158 tar 185 185 tbl 152 154 tc 159 160 tclsh 47 48 tclsh8 4 47 48 teltags 195 198 tee 106 110 telinit 182 183 telnet 157 158 tempfile 170 170 test 106 110 texi2dvi 186 187 texi2pdf 186 187 texindex 186 187 tfmtodit 152 154 tftp 157 158 tic 114 115 tload 117 117 toe 114 116 top 117 117 touch 106 110 tput 114 116 tr 106 110 troff 152 154 true 106 110 tset 114 116 tsort 106 110 261 tty 106 110 tune2fs 137 139 tunelp 191 194 tzselect 88 93 udevcontrol 188 189 udevd 188 189 udevinfo 188 189 udevmonitor 188 190 udevsettle 188 190 udevtest 188 190 udevtrigger 188 190 ul 191 194 umount 191 194 uname 106 110 uncompress 155 156 unexpand 106 110 unicode_start 161 163 unicode_stop 161 163 uniq 106 110 unlink 106 110 updatedb 141 142 uptime 117 117 usb_id 188 190 useradd 176 179 userdel 176 179 usermod 176 179 users 106 110 utmpdump 182 183 uuidgen 137 139 vdir 106 110 vi 195 198 vidmode 191 194 view 195 198 vigr 176 179 vim 195 198 vim132 195 198 vim2html pl 195 198 vimdiff 195 198 vimm 195 198 vimspell sh 195 198 vimtutor 195 198 vipw 176 179 vmstat 117 117 vol_id 188 190 w 117 118 wall 182 184 watch 117 118 we 106 110 whatis
78. 1287308e140bd4834c3ba e Shadow 4 0 15 1 265 KB Download ftp ftp pld org pl software shadow shadow 4 0 15 tar bz2 MDS Priifsumme a0452fa989f8ba45023cc5a08136568e Anmerkung Wenn Sie diese Anmerkung lesen ist Shadow 4 0 15 m glicherweise nicht mehr in dieser Version verf gbar Der Hauptdownloadserver ist dafiir bekannt alte Versionen zu l schen sobald neuere verfiigbar sind Bitte nutzen Sie eine der alternativen Download Adressen wie z B http www linuxfromscratch org fs download html ftp e Sysklogd 1 4 1 80 KB Webseite http www infodrom org projects sysklogd Download http www infodrom org projects sysklogd download sysklogd 1 4 1 tar 2z MD5S Priifsumme d214aa40beabf 7bdb0c9b3c64432c774 e Sysvinit 2 86 97 KB Download ftp ftp cistron nl pub people miquels sysvinit sysvinit 2 86 tar gz MD5S Priifsumme 745d461c026122ab791ac04c8a84db967 e Tar 1 15 1 1 574 KB Webseite http www gnu org software tar Download http ftp gnu org gnu tar tar 1 15 1 tar bz2 MDS Priifsumme 57da3c38f8e06589699548a34d5a5d07 e Tcl 8 4 13 3 432 KB Webseite http tcl sourceforge net Download http prdownloads sourceforge net tcl tcl8 4 13 src tar gz download MDS Priifsumme c6b655ad5db095ee73227113220c0523 e Texinfo 4 8 1 487 KB Webseite http www gnu org software texinfo Download http ftp gnu org gnu texinfo texinfo 4 8 tar bz2 MD5S Priifsumme 6ba369bbfe4afaa56122e65b3ee3a68c Udev 0
79. 166 169 whereis 191 194 who 106 110 whoami 106 110 Linux From Scratch Version 6 2 write 191 194 xargs 141 142 xgettext 149 150 xsubpp 121 123 xtrace 88 93 xxd 195 198 yace 113 113 yes 106 110 ylwrap 130 131 zcat 155 156 zcmp 155 156 zdiff 155 156 zdump 88 93 zegrep 155 156 zfgrep 155 156 zforce 155 156 zgrep 155 156 zic 88 93 zless 155 156 zmore 155 156 znew 155 156 zsoelim 166 169 Bibliotheken ld so 88 93 libanl 88 93 libasprintf 149 150 libbfd 97 99 libblkid 137 139 libBrokenLocale 88 93 libbsd compat 88 93 libbz2 134 135 libc 88 93 libcom_err 137 139 libcrypt 88 93 88 93 libcurses 114 116 libdb 104 105 libdb_cxx 104 105 libdl 88 93 libe2p 137 139 libexpect 5 43 49 50 libext2fs 137 139 libfl a 143 144 libform 114 116 libg 88 93 libgec 100 103 libgettextlib 149 150 libgettextpo 149 150 libgettextsrc 149 150 libhistory 124 125 libiberty 97 99 libieee 88 93 262 libltdl 120 120 libm 88 93 libmagic 140 140 libmcheck 88 93 libmemusage 88 94 libmenu 114 116 libncurses 114 116 libnsl 88 94 libnss 88 94 libopcodes 97 99 libpanel 114 116 libpcprofile 88 94 libproc 117 118 libpthread 88 94 libreadline 124 125 libresolv 88 94 librpcsve 88 94 librt 88 94 libSegFault 88 93 libshadow 176
80. 18n 1 patch MDS5 Pr fsumme c84481223db274a33b121fb8c25a f9f7 e Expect Spawn Patch 6 8 KB Download http www linuxfromscratch org patches lfs 6 2 expect 5 43 0 spawn 1 patch MD5S Priifsumme ef 6d0d0221c571f b420afb7033b3bbba e Gawk Segfault Patch 1 3 KB Download http www linuxfromscratch org patches lfs 6 2 gawk 3 1 5 segfault_fix 1 patch MD5S Priifsumme 7679530d88bf3eb56c42eb6aba342ddb e GCC Specs Patch 15 KB Download http www linuxfromscratch org patches lfs 6 2 gcc 4 0 3 specs 1 patch MDS Priifsumme 0aa7d4c6be50c3855fe812f6faabc306 e Glibc Linux Types Patch 1 1 KB Download http www linuxfromscratch org patches lfs 6 2 glibc 2 3 6 linux_types 1 patch MD5S Priifsumme 30ea59ae747478aa9315455543b5bb43 21 Linux From Scratch Version 6 2 e Glibc Inotify Syscall Functions Patch 1 4 KB Download http www linuxfromscratch org patches lfs 6 2 glibc 2 3 6 inotify 1 patch MDS Priifsumme 94f6d26ae50a0fe6285530fdbae90bbf e Grep RedHat Fixes Patch 55 KB Download http www linuxfromscratch org patches lfs 6 2 grep 2 5 la redhat_fixes 2 patch MD5S Priifsumme 2c67910be2d0a54714f63ce350e6d8a6 e Groff Debian Patch 360 KB Download http www linuxfromscratch org patches lfs 6 2 groff 1 18 1 I debian_fixes 1 patch MD5S Priifsumme a47c281lafdda457ba4033498 973400d e GRUB Disk Geometry Patch 28 KB Download http www linuxfromscratch org patches lfs 6 2 grub 0 97 disk_geometry 1 patch MDS
81. 1ib umgelenkt Nun lenken Sie die Toolchain von diesem Ordner tools 1ib um auf unsere LFS Ordner usr lib Erstellen Sie zun chst eine Sicherungskopie des Linkers in tools und ersetzen Sie ihn dann mit dem angepassten Linker aus Kapitel 5 Zu seinem Gegenst ck in tools gcc dumpmachine bin werden wir ebenfalls eine symbolische Verkn pfung einrichten mv v tools bin ld 1d old mv v tools gcc dumpmachine bin 1d 1d old mv v tools bin ld new 1d In sv tools bin ld tools gcc dumpmachine bin ld Als n chstes m ssen Sie GCCs specs Datei so bearbeiten dass sie den neuen dynamischen Linker referenziert damit GCC seine Startdateien findet Diese Aufgabe wird von einem einfachen perl Kommando erledigt gcc dumpspecs perl p e s tools lib ld linux so 2 lib ld linux so 2 g e s startfile prefix_spec n _ usr lib g gt dirname gcc print libgec file name specs Danach sollten Sie die specs Datei berpr fen und sicherstellen dass alle gew nschten nderungen wirklich durchgef hrt wurden Wichtig Wenn Sie mit einer Plattform arbeiten bei der der Name des Linkers nicht 1d linux so 2 ist m ssen Sie in den obigen Kommandos ld linux so 2 durch dem Namen des Linkers f r Ihre Plattform ersetzen Wenn n tig schlagen Sie nochmal im Abschnitt Abschnitt 5 2 Technische Anmerkungen zur Toolchain nach An dieser Stelle ist es zwingend n tig die grundlegend
82. 3 patch MDS5 Pr fsumme 65d73faabe3f637ad79853b460d30a19 e Module init tools Patch 1 2 KB Download http www linuxfromscratch org patches lfs 6 2 module init tools 3 2 2 modprobe 1 patch MD5S Priifsumme f1e452fdf3b8d7ef60148125e390c3e8 e Ncurses Fixes Patch 8 2 KB Download http www linuxfromscratch org patches lfs 6 2 ncurses 5 5 fixes 1 patch 22 Linux From Scratch Version 6 2 MDS5 Pr fsumme 0e033185008 21578c6e4c7249f 92cbb e Perl Libc Patch 1 1 KB Download http www linuxfromscratch org patches lfs 6 2 perl 5 8 8 libc 2 patch MDS Priifsumme 3bf8aef1fb6eb6110405e699e4141f99 e Readline Upstream Fixes Patch 3 8 KB Download http www linuxfromscratch org patches lfs 6 2 readline 5 1 fixes 3 patch MDS Priifsumme e30963cd5c6f6alla23344af36cfa38c e Sysklogd 8 Bit Cleanness Patch 0 9 KB Download http www linuxfromscratch org patches lfs 6 2 sysklogd 1 4 1 S8bit 1 patch MDS5 Pr fsumme cc0d9c3bd67a6b6357e42807cf06073e e Sysklogd Fixes Patch 27 KB Download http www linuxfromscratch org patches lfs 6 2 sysklogd 1 4 I fixes 1 patch MDS5 Pr fsumme 508104f058dlaef26b3bc8059821935f e Tar GCC 4 x Fix Patch 1 2 KB Download http www linuxfromscratch org patches lfs 6 2 tar 1 15 1 gcc4_fix_tests 1 patch MDS5 Pr fsumme 8e286a1394e6bcf2907f13801770a72a e Tar Security Fixes Patch 3 9 KB Download http www linuxfromscratch org patches lfs 6 2 tar 1 15 1 security_fixes 1 patch MD5
83. 6 109 Linux From Scratch Version 6 2 Instat 159 160 loadkeys 161 162 loadunimap 161 162 locale 88 92 localedef 88 92 locate 141 142 logger 191 193 login 176 178 logname 106 109 logoutd 176 178 logsave 137 138 look 191 193 lookbib 152 153 losetup 191 193 ls 106 109 lsattr 137 138 lsmod 171 172 m4 112 112 make 165 165 makeinfo 186 187 man 166 169 mandb 166 169 manpath 166 169 mapscrn 161 162 mbchk 145 146 mcookie 191 193 md5sum 106 109 mdate sh 130 131 mesg 182 183 missing 130 131 mkdir 106 109 mke2fs 137 138 mkfifo 106 109 mkfs 191 193 mkfs bfs 191 193 mkfs cramfs 191 193 mkfs ext2 137 138 mkfs ext3 137 138 mkfs minix 191 193 mkinstalldirs 130 131 mklost found 137 138 mknod 106 109 mkswap 191 193 mktemp 170 170 mk_cmds 137 138 mmroff 152 154 modinfo 171 172 modprobe 171 172 more 191 193 mount 191 193 mountpoint 182 183 msgattrib 149 149 239 msgcat 149 150 msgemp 149 150 msgcomm 149 150 msgconv 149 150 msgen 149 150 msgexec 149 150 msgfilter 149 150 msgfmt 149 150 msggrep 149 150 msginit 149 150 msgmerge 149 150 msgunfmt 149 150 msguniq 149 150 mtrace 88 92 mv 106 109 mve awk 195 197 namei 191 193 neqn 152 154 newgrp 176 178 newusers 176 179 ngettext 149 150 nice 106 109 nl
84. 8129 ico 22 132 US DEERE coom lt 2 LSS EOF 84 Linux From Scratch Version 6 2 Die erzeugten Gruppen sind nicht Teil irgendeines Standards es sind die Gruppen die Udev in diesem Kapitel benutzt Neben der Gruppe root mit der GID O schl gt die LSB Linux Standard Base nur die Gruppe bin mit der GID 1 vor Alle anderen Gruppennamen und GIDs k nnen durch den Anwender frei gew hlt werden weil gut geschriebene Pakete sich nicht auf GID Nummern verlassen sollten sondern den Gruppennamen verwenden Um die Meldung I have no name loszuwerden starten Sie eine neue Shell Die Aufl sung von Benutzer und Gruppennamen funktioniert sofort nach dem Erstellen von etc passwd und etc group weil Sie in Kapitel 5 eine vollst ndige Glibc installiert haben exec tools bin bash login h Beachten Sie die Option h Durch sie wird das interne Pfad Hashing der Bash abgeschaltet Ohne diese Anweisung w rde sich bash die Pfade zu ausf hrbaren Dateien merken und wiederverwenden Weil die frisch installierten Programme aber sofort nach deren Installation an ihrem neuen Ort genutzt werden sollen schalten Sie die Funktion f r dieses Kapitel aus Die Programme login agetty und init und einige weitere verwenden Logdateien zum Protokollieren von Informationen Dazu geh rt z B wer sich zu welcher Zeit an das System angemeldet hat Diese Programme protokollieren aber nur wenn die entsprechenden Logdateien bereits existieren Daher m ss
85. 96 190 KB Webseite http www kernel org pub linux utils kernel hotplug udev html Download http www kernel org pub linux utils kernel hotplug udev 096 tar bz2 MD5S Priifsumme f4effef7807celdc9lab581686ef197b e Udev Einrichtung 4 KB Download http www linuxfromscratch org lfs downloads 6 2 udev config 6 2 tar bz2 MD5S Priifsumme 9ff2667ab0f7bfe8182966ef690078a0 19 Linux From Scratch Version 6 2 e Util linux 2 12r 1 339 KB Download http www kernel org pub linux utils util linux util linux 2 12r tar bz2 MDS5 Pr fsumme af 9d9e03038481fbf79ea3ac33f116f9 e Vim 7 0 6 152 KB Webseite http www vim org Download ftp ftp vim org pub vim unix vim 7 0 tar bz2 MD5S Priifsumme 4ca69757678272 718b1041c810d82d8 e Vim 7 0 Sprachdateien optional 1 228 KB Webseite http www vim org Download ftp ftp vim org pub vim extra vim 7 0 lang tar gz MD5S Priifsumme 6d43efaff570b5c86e76b833ea0c6a04 e Zlib 1 2 3 485 KB Webseite http www zlib net Download http www zlib net zlib 1 2 3 tar gz MD5S Priifsumme debc62758716a169dAf9f62e6ab2bc634 Gesamtgr e der Pakete ungef hr 180 MB 20 Linux From Scratch Version 6 2 3 3 Erforderliche Patches Zus tzlich brauchen Sie auch einige Patches Diese beheben z B kleine Fehler die vom jeweiligen Betreuer des Pakets noch nicht behoben wurden oder beinhalten Modifikationen und Anpassungen an unser LFS Die folgenden Patches werden
86. Drittherstellern au erhalb des Kernelbaums leider fter der Fall Erzeugen Sie eine statische Ger tedatei mit der korrekten Haupt und Unterkennung in lib udev devices Ziehen Sie dazu auch die Datei devices txt aus der Kernel Dokumentation zu Rate oder lesen Sie die Dokumentation des Drittherstellers Diese statische Ger tedatei wird dann beim Bootvorgang von S10udev nach dev kopiert 7 4 3 7 Die Reihenfolge der Ger tenamen ndert sich mit jedem Bootvorgang Dies liegt daran dass Udev gewollt und ganz bewusst alle uevents parallel und somit in unterschiedlicher Reihenfolge abarbeitet Dieses Ph nomen wird niemals repariert werden Verlassen Sie sich nicht auf die Ger tenamen des Kernels Schreiben Sie stattdessen Regeln die aussagekr ftige symbolische Links mit stabilen Namen erzeugen Dazu k nnen Sie Attribute zu Ger ten heranziehen wie z B Seriennummern oder die Ausgabe der verschiedenen _id Hilfsprogramme von Udev Schauen Sie f r einige Beispiele unter Abschnitt 7 12 Erzeugen von benutzerdefinierten symbolischen Links zu Ger ten Abschnitt 7 13 Einrichten des network Skripts nach 7 4 4 N tzliche Dokumentation Weitere hilfreiche Dokumentation finden Sie an den folgenden Stellen e A Userspace Implementation of dev fs http www kroah com linux talks ols_2003_udev_paper Reprint Kroc e udev FAQ http www kernel org pub linux utils kernel hotplug udev FAO e The sysfs Filesystem http www kernel org
87. Es gibt ein paar m gliche Probleme beim automatisierten Erzeugen von Ger tedateien 7 4 3 1 Das n tige Kernelmodul wird nicht automatisch geladen Udev l dt nur dann ein Modul wenn ein Bus Spezifischer Alias vorhanden ist und der Treiber die n tigen Aliase korrekt nach sysfs exportiert Wenn dies nicht der Fall ist muss man sich auf andere Weise um das Laden des Moduls k mmern Mit Linux 2 6 16 27 kann Udev korrekt programmierte Treiber f r INPUT IDE PCI USB SCSI SERIO und FireWire Ger te laden Mit dem Kommando modinfo und dem Modulnamen als Argument k nnen Sie herausfinden ob der von Ihnen ben tigte Treiber von Udev unterst tzt wird Versuchen Sie nun den Ger te Ordner unter sys bus zu finden und pr fen Sie die dortige Datei modalias Wenn die Datei modalias unter sysfs vorhanden ist und der Treiber das Ger t unterst tzt aber der Alias fehlt so ist dies ein Fehler im Treiber Dann m ssen Sie den Treiber ohne Hilfe von Udev laden und darauf hoffen dass dieser Fehler sp ter behoben wird Wenn die Datei modalias in dem zugeh rigen Ordner unter sys bus nicht vorhanden ist so haben die Kernel Entwickler f r diesen Bus Typ noch keine Modalias Unterst tzung programmiert Bei Linux 2 6 16 27 ist dies z B der Fall f r den ISA Bus Dies wird wahrscheinlich in einer zuk nftigen Kernelversion behoben Udev sorgt sich nicht um das Laden sogenannter wrapper Treibern wie beispielsweise snd pcm oss oder Nicht H
88. FR f ISO 8859 1 fr FR localedef i fr _FR euro f ISO 8859 15 fr FR euro localedef i fr FR f UTF 8 fr FR UTF 8 localedef i it_IT f ISO 8859 1 it IT localedef i ja_JP f EUC JP ja_JP Installieren Sie zudem auch noch die Locale fiir Ihr Land Ihre Sprache und Ihren Zeichensatz Alternativ k6nnen Sie auch alle Locales auf einmal installieren die in glibc 2 3 6 localedata SUPPORTED aufgelistet werden die Liste enth lt die obigen Locales und noch viele weitere Dieses Kommando ben tigt allerdings ein wenig Zeit make localedata install locales Im unwahrscheinlichen Fall dass Sie noch weitere Locales ben tigen verwenden Sie das Kommando localedef um die nicht inglibc 2 3 6 localedata SUPPORTED gelisteten Locales zu installieren 90 Linux From Scratch Version 6 2 6 9 2 Einrichten von Glibc Sie miissen die Datei etc nsswitch conf erstellen Glibc gibt zwar Standardwerte vor wenn die Datei fehlt oder besch digt ist aber diese funktionieren nicht besonders gut mit Netzwerken AuBerdem miissen Sie die Zeitzone korrekt einstellen Erstellen Sie nun die Datei etc nsswitch conf cat gt etc nsswitch conf lt lt EOF Begin cte nsswrechreonE passwd files group files shadow files hosts files dns networks files protocols files services illes ethers files rpc files End etc nsswitch conf EOF Mit diesem Skript finden Sie heraus in welcher Zeitzone Sie sich befinden tzselect N
89. Gettext 0 14 5 6 940 KB Webseite http www gnu org software gettext Download http ftp gnu org gnu gettext gettext 0 14 5 tar gz MD5S Priifsumme e2f6581626a22a0de66dceld81d00de3 e Glibc 2 3 6 13 687 KB Webseite http www gnu org software libc Download http ftp gnu org gnu glibc glibc 2 3 6 tar bz2 MDS5 Priifsumme bfdce99f82d6dbcb64b7f11c05d6bc96 e Glibc LibIDN add on 2 3 6 99 KB Download http ftp gnu org gnu glibc glibc libidn 2 3 6 tar bz2 MD5S Priifsumme 49dbe0 6ce830fc73874d6b38bdc5b4db e Grep 2 5 1a 516 KB Webseite http www gnu org software grep Download http ftp gnu org gnu grep grep 2 5 1a tar bz2 MD5S Priifsumme 52202fe462770fa6belbb667bd6cf30c e Groff 1 18 1 1 2 208 KB Webseite http www gnu org software groff Download http ftp gnu org gnu groff groff 1 18 1 1 tar gz MDS Priifsumme 511dbd64b67548c99805f1521f82cc5e e GRUB 0 97 950 KB Webseite http www gnu org software grub Download ftp alpha gnu org gnu grub grub 0 97 tar gz MDS5 Priifsumme cd3 3eb54446be6003156158d51f4884 e Gzip 1 3 5 324 KB Webseite http www gzip org Download ftp alpha gnu org gnu gzip gzip 1 3 5 tar gz MDS5 Priifsumme 3d6c191d d2b 307014b421c12dc8469 e lana Etc 2 10 184 KB Webseite http www sethwklein net projects iana etc Linux From Scratch Version 6 2 Download http www sethwklein net projects iana etc downloads iana etc 2 10 tar bz2 MD
90. Grep Make Ncurses Patch Readline Sed und Texinfo Testsuite ist abh ngig von Diffutils und Gawk Muss installiert werden vor Keine Berkeley DB Installation ist abh ngig von Bash Binutils Coreutils Diffutils Gawk GCC Glibc Grep Make und Sed Testsuite ist abh ngig von Wird nicht ausgef hrt Ben tigt ein im fertigen System installiertes TCL Muss installiert werden vor Keine 247 Linux From Scratch Version 6 2 Binutils Installation ist abh ngig von Bash Binutils Coreutils Diffutils GCC Gettext Glibc Grep Make Perl Sed und Texinfo Testsuite ist abh ngig von DejaGNU und Expect Muss installiert werden vor Keine Bison Installation ist abhangig von Bash Binutils Coreutils GCC Gettext Glibc Grep M4 Make und Sed Testsuite ist abhangig von Diffutils und Findutils Muss installiert werden vor Flex Kbd und Tar Bzip2 Installation ist abh ngig von Bash Binutils Coreutils Diffutils GCC Glibc Make und Patch Testsuite ist abhangig von Keine Muss installiert werden vor Keine Coreutils Installation ist abh ngig von Bash Binutils Coreutils GCC Gettext Glibc Grep Make Patch Perl Sed und Texinfo Testsuite ist abh ngig von Diffutils Muss installiert werden vor Bash Diffutils Findutils Man DB und Udev DejaGNU Installation ist abh ngig von Bash Coreutils Diffutils GCC Grep Make und Sed Testsuite ist abh ngig von Enth lt keine Testsuite Muss instal
91. Ihre eigene Kernelkonfiguration einrichten Kompilieren Sie das Kernel Abbild und die Module make Wenn Sie Kernel Module verwenden brauchen Sie wahrscheinlich die Datei etc modprobe conf Informationen zu Modulen und Kernelkonfiguration im Allgemeinen finden Sie unter Abschnitt 7 4 Umgang mit Ger ten und Modulen an einem LFS System und in der Dokumentation zum Kernel linux 2 6 16 27 Auchmodprobe conf 5 enth lt n tzliche Informationen Installieren Sie die Module falls Ihre Kernelkonfiguration solche verwendet make modules_install 231 Linux From Scratch Version 6 2 Das Kompilieren des Kernel ist nun abgeschlossen aber einige der erzeugten Dateien befinden sich noch im Quellordner Um die Installation abzuschlieBen miissen Sie noch ein paar Dateien in den Ordner boot kopieren Der Pfad zur Kerneldatei variiert abh ngig von der benutzten Plattform auf der Sie arbeiten Das folgende Kommando geht von einem x86 System aus cp v arch i386 boot bzImage boot lfskernel 2 6 16 27 System map ist eine Symboldatei f r 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 v System map boot System map 2 6 16 27 config ist die Kernel Konfigurationsdatei die durch das obige Kommando make menuconfig erzeugt wurde Sie enth lt alle Konfigurationsoptionen f r den soebe
92. Installation in separate Ordner Diese einfache Methode der Paketverwaltung ben tigt keine weitere Software Jedes Paket wird einfach in einen eigenen Ordner installiert Beispielsweise wird foo 1 1 in den Ordner usr pkg foo 1 1 installiert und dann einen symbolischen Link von usr pkg foo nach usr pkg foo 1 1 angelegt Wenn sp ter auf die neuere Version foo 1 2 aktualisiert wird so erfolgt die Installation in den Ordner usr pkg foo 1 2 und der symbolischen Link wird einfach durch einen neuen ersetzt Umgebungsvariablen wie PATH LD_LIBRARY_PATH MANPATH INFOPATH und CPPFLAGS m ssen so angepasst werden dass Sie usr pkg foo enthalten Diese Methode wird sehr unhandlich wenn auf diese Weise viele Softwarepakete verwaltet werden sollen 6 3 2 3 Paketverwaltung mit symbolischen Links Es handelt sich hierbei im Grunde nur um eine Variation der vorigen Paketverwaltungs Technik Jedes Paket wird genauso installiert wie zuvor beschrieben Anstatt jedoch den ganzen Ordner mit einem Symlink zu versehen wird f r jede einzelne Datei eine Verkn pfung in usr angelegt Auf diese Weise m ssen die Umgebungsvariablen nicht angepasst werden Die vielen symbolischen Verkn pfungen K nnen nat rlich vom Benutzer selbst angelegt werden jedoch gibt es auch einige Programme daf r die diese Technik verwenden Stow Epkg Graft und Depot sind einige Beispiele Die Installation muss allerdings so angepasst werden so dass das Paket denkt es w
93. Linux From Scratch Version 6 2 Gerard Beekmans Linux From Scratch Version 6 2 von Gerard Beekmans Copyright 1999 2006 Gerard Beekmans Copyright 1999 2006 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 Projekt Linux From Scratch 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 LOSS 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
94. Obwohl diese Methode nat rlich sehr einfach ist hat sie leider zwei Nachteile Wenn w hrend der Installation Dateien ohne oder mit einem anderen Zeitstempel als der aktuellen Zeit installiert werden so wird deren Installation nicht protokolliert Desweiteren kann diese Methode nur funktionieren wenn maximal ein Paket zur gleichen Zeit installiert wird Das Protokoll ist nicht mehr zuverl ssig wenn z B auf einer anderen Konsole ein weiteres Programm zeitgleich installiert wird 6 3 2 5 Paketverwaltung mittels LD_PRELOAD Bei diesem Ansatz wird vor der Installation eine Bibliothek vorgeladen W hrend der Installation protokolliert diese Bibliothek alle Installationsvorg nge mit indem sie sich an verschiedene ausf hrbare Programme wie cp install und mv ah ngt und die Systemaufrufe mitverfolgt Damit dies funktionieren kann m ssen alle ausf hrbaren Programme dynamisch verlinkt und weder mit dem suid noch dem sgid Bit versehen sein Das Vorladen der Bibliothek kann unter Umst nden auch Nebeneffekte bei der Installation hervorrufen Deshalb sollten Sie diese Methode ausf hrlich testen bevor Sie sie produktiv einsetzen 6 3 2 6 Paket Archive erstellen Bei dieser Methode wird die Installation in einem separaten Unterordner vorgenommen hnlich wie bei der Methode mit symbolischen Verkn pfungen Nach der Installation wird aus der Ordnerstruktur ein Archiv mit den installierten Dateien erzeugt Dieses Archiv kann dann zur Installation ben
95. Paket 157 Linux From Scratch Version 6 2 make install Und verschieben Sie das Programm ping an die richtige Stelle mv v usr bin ping bin 6 40 2 Inhalt von Inetutils Installierte Programme ftp ping rcp rlogin rsh talk telnet und tftp Kurze Beschreibungen ftp ping rep rlogin rsh talk telnet tftp Das Programm fiir FTP File Transfer Protocol Sendet echo request Pakete und berichtet wie lange die Antwort braucht Kopiert Dateien auf entfernten Systemen F hrt eine entfernte Anmeldung durch F hrt eine entfernte Shell aus Wird zum Unterhalten mit anderen Benutzern verwendet Dies ist ein Telnet Client Das Programm zu TFTP Trivial File Tranfer Protocol 158 Linux From Scratch Version 6 2 6 41 IPRoute2 2 6 16 060323 Das Paket IPRoute2 enth lt verschiedene Programme zur grundlegenden Unterst tzung von IPv4 basierten Netzwerken Gesch tzte Kompilierzeit 0 2 SBU Ungefahr ben tigter Festplattenplatz 4 8 MB 6 41 1 Installation von IPRoute2 Kompilieren Sie das Paket make SBINDIR sbin Die Bedeutung der make Option SBINDIR sbin Dies stellt sicher dass die Bin rdateien von IPRoute2 nach sbin installiert werden Lt FHS ist dies der korrekte Ort weil einige der Programme aus PRoute2 in Bootskripten verwendung finden Dieses Paket enth lt keine Testsuite Installieren Sie das Paket make SBINDIR sbin install Das Programm arpd verlinkt gegen die Berkely DB Bib
96. S f r den Kompiliervorgang zur ckgesetzt oder entsprechend abge ndert werden Beginnen Sie mit dem folgenden Patch zur besseren Erkennung von Laufwerken Behebung einiger Probleme mit GCC 4 x und zur besseren SATA Unterst tzung f r einige Festplattencontroller patch Npl i grub 0 97 disk_geometry 1 patch Bereiten Sie GRUB zum Kompilieren vor configure prefix usr Kompilieren Sie das Paket make Um das Ergebnis zu pr fen f hren Siemake check aus Installieren Sie das Paket make install mkdir v boot grub cp v usr lib grub i386 pc stage l1 2 boot grub Ersetzen Sie 1386 pc durch den f r Ihre Plattform korrekten Ordner Der Ordner 1386 pc enth lt auch einige st age1l_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 e2 fs_stagel_5 und oder reiserfs_stagel_5 kopieren 6 34 2 Inhalt von GRUB Installierte Programme grub grub install grub md5 crypt grub set default grub terminfo und mbchk Kurze Beschreibungen grub Die GRand Unified Bootloader Kommando Shell grub install Installiert GRUB auf dem angegebenen Ger t grub md5 crypt Verschliisselt Passw rter im MD5 Format grub set default Stellt den Voreingestellten Boot Eintrag fiir GRUB ein grub terminfo Erzeugt ein terminfo Kommando aus dem Namen eines Terminals Es kann 145 Linux From Scratch V
97. S Priifsumme 19876e726d9 cec9 ce1508e3af74dc22e e Tar Sparse Fix Patch 0 9 KB Download http www linuxfromscratch org patches lfs 6 2 tar 1 15 1 sparse_fix 1 patch MD5S Priifsumme 9e3623 7c88d48766878ecb27c980d86a e Texinfo Multibyte Fixes Patch 1 5 KB Download http www linuxfromscratch org patches lfs 6 2 texinfo 4 8 multibyte 1 patch MDS Priifsumme 6cb5b760cfdd2dd53a0430eb572a8aaa e Texinfo Tempfile Fix Patch 2 2 KB Download http www linuxfromscratch org patches lfs 6 2 texinfo 4 8 tempfile_fix 2 patch MDS Priifsumme 559bdal36a2ac7777ecb67511227a 85 e Util linux Cramfs Patch 2 8 KB Download http www linuxfromscratch org patches lfs 6 2 util linux 2 12r cramfs 1 patch MD5S Priifsumme 1 c3 40b30e12738eb7b66a35b7374572 e Vim Upstream Fixes Patch 42 KB Download http www linuxfromscratch org patches lfs 6 2 vim 7 0 fixes 7 patch MD5S Priifsumme d274219566702b0bafcb83ab4 68 5bbde e Vim Man Directories Patch 4 2 KB Download http www linuxfromscratch org patches lfs 6 2 vim 7 0 mandir 1 patch MDS5 Pr fsumme 5642 6eb4192fabale867ddd502323f5b e Vim Spellfile Patch 1 2 KB Download http www linuxfromscratch org patches lfs 6 2 vim 7 0 spellfile I patch MDS Priifsumme 98e59e34cb6e16a8d4671247cebd64ee Gesamtgr e der Pakete ungef hr 775 9 KB 23 Linux From Scratch Version 6 2 Die LFS Gemeinschaft hat noch zahlreiche weitere Patches erstellt Die meisten beheben kleine Probleme o
98. S Priifsumme 53dea53262b281322143c744ca60ffbb e Inetutils 1 4 2 1 019 KB Webseite http www gnu org software inetutils Download http ftp gnu org gnu inetutils inetutils 1 4 2 tar gz MDS5 Pr fsumme d 0909a58 6ddac2b7a0d62795eea4206 16 Linux From Scratch Version 6 2 e IPRoute2 2 6 16 060323 378 KB Webseite http linux net osdl org index php lproute2 Download http developer osdl org dev iproute2 download iproute2 2 6 16 060323 tar gz MD5S Priifsumme 31d4516b35bbfeaa72c762f5959e97c e Kbd 1 12 618 KB Download http www kernel org pub linux utils kbd kbd 1 12 tar bz2 MDS Priifsumme 06941175b4891343b107a8ac2b4a39f6 e Less 394 286 KB Webseite http www greenwoodsoftware com less Download http www greenwoodsoftware com less less 394 tar gz MD5S Priifsumme a9 f072ccefa0d315b325f3e9cdbd4b97 e LFS Bootskripte 6 2 24 KB Download http www linuxfromscratch org lfs downloads 6 2 Ifs bootscripts 6 2 tar bz2 MDS Priifsumme 45 f9e c6b75c26751ddb74d1ad0276c1 e Libtool 1 5 22 2 856 KB Webseite http www gnu org software libtool Download http ftp gnu org gnu libtool libtool 1 5 22 tar gz MD5S Priifsumme 8e0ac9797b62ba4dcc8a2fb7936412b0 e Linux 2 6 16 27 39 886 KB Webseite http www kernel org Download http www kernel org pub linux kernel v2 6 linux 2 6 16 27 tar bz2 MDS Priifsumme ebedfe5376efec483ce12c1629 c7a5b1 Anmerkung Der Linux Kernel wird relati
99. S Projektbetreuer e Matthew Burgess lt matthew linuxfromscratch org gt LFS Projektleiter Release Betreuer Buchautor e Archaic lt archaic linuxfromscratch org gt LFS Buchautor HLFS Projektleiter BLFS Buchautor Projektbetreuer von Hints and Patches e Nathan Coulson lt nathan linuxfromscratch org gt Betreuer der LFS Bootskripte e Bruce Dubbs lt bdubbs linuxfromscratch org gt BLFS Projektleiter e Manuel Canales Esparcia lt manuel linuxfromscratch org gt LFS BLFS HLFS XML und XSL Betreuer e Jim Gifford lt jim linuxfromscratch org gt LFS Buchautor Patches Projekt e Jeremy Huntwork lt jhuntwork linuxfromscratch org gt ALFS Betreuer LFS Live CD Betreuer LFS Buchautor e Anderson Lizardo lt lizardo linuxfromscratch org gt Betreuer der Website Skripte e Ryan Oliver lt ryan linuxfromscratch org gt LFS Toolchain Betreuer e James Robertson lt jwrober linuxfromscratch org gt Bugzilla Betreuer e Tushar Teredesai lt tushar linuxfromscratch org gt BLFS Buchautor Betreuer des Hints und Patches Projekts 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 macanaQ macana es com gt Spanisches LFS Ubersetzerprojekt e Johan Lenglet lt johan linuxfromscratch org gt Franz sisches LFS Ub
100. Sie erst einen Patch ein er behebt einen Fehler der ansonsten Fehlalarme beim Durchlaufen von GCCs Testsuite verursachen k nnte patch Npl i expect 5 43 0 spawn 1 patch Bereiten Sie Expect nun zum Kompilieren vor configure prefix tools with tcl tools lib with tclinclude tools include with x no Die Bedeutung der configure Parameter with tcel tools lib So stellen Sie sicher dass das configure Skript die Tcl Installation in Ihrem tempor ren Ordner findet Es sollte keine m glicherweise auf dem Host System installierte Version gefunden werden with tclinclude tools include Durch diesen Parameter wird Expect mitgeteilt wo die Header von Tel zu finden sind Dadurch wird ein Fehlschlagen von configure vermieden falls es die Tcl Header nicht automatisch auffinden kann with x no Dies teilt dem configure Skript mit dass es nicht nach Tk der grafischen Oberfl che zu Tel oder den X Window Bibliotheken suchen soll beide k nnten eventuell auf dem Host System existieren fehlen aber in der tempor ren Arbeitsumgebung Kompilieren Sie das Paket make Wenn Sie die Testsuite durchlaufen lassen m chten f hren Sie 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 Installieren Sie das Paket make SCRIPTS
101. Wert von UTC zu 0 Null wenn Ihre Hardware Uhr auf lokale 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 UTC 1 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 Hier wird erkl rt wie man unter LFS mit der Systemzeit Zeitzonen UTC und der Variable TZ umgeht 211 Linux From Scratch Version 6 2 7 6 Einrichten der Linux Konsole Dieser Abschnitt behandelt das Bootskript console mit dem die Tastaturbelegung und die Konsoleschriftart eingerichtet wird Falls Sie nur ASCII Zeichen verwenden das Copyright Symbol Britische Pfund oder das Euro Zeichen sind Beispiele fiir nicht ASCII Zeichen und Ihre Tastatur eine US Amerikanische ist dann berspringen Sie diesen Abschnitt Ohne die Konfigurationsdatei unternimmt dieses Bootskript einfach nichts Das Skript console benutzt etc sysconfig console als Konfigurationsdatei Entscheiden Sie welche Tastaturbelegung und Bildschirmschriftarten Sie benutzen m chten Die verschiedenen sprachbezogenen Hilfsdokumente unter ttp Avww tldp org HOWTO HOWTO INDEX other lang html k nnen Sie bei der Entscheidung unterst tzen Wenn Sie unsicher sind schauen Sie in usr share kbd nach g ltigen Tastaturbelegungen und Bildschirmschriften Lesen Sie die Hilfese
102. achdem Sie ein paar Fragen zu Ihrem Standort beantwortet haben wird das Skript den Namen Ihrer Zeitzone ausgeben Die Ausgabe k nnte z B Europe Berlin lauten Erstellen Sie dann mit dem folgenden Kommando die Datei etc localtime cp v remove destination usr share zoneinfo lt xxx gt etc localtime Anstelle von lt xxx gt m ssen Sie nat rlich den Namen der Zeitzone einsetzen der Ihnen von tzselect ausgegeben wurde z B Europe Berlin Die Bedeutung der Option zu cp remove destination Dadurch wird das Entfernen des bereits vorhandenen symbolischen Links erzwungen Sie ersetzen den Link durch eine Kopie der echten Datei weil wir den Fall abdecken wollen das usr auf einer separaten Partition liegen k nnte Das w rde z B dann problematisch werden wenn der Single User Modus gebootet wird 91 Linux From Scratch Version 6 2 6 9 3 Einrichten des dynamischen Laders Per Voreinstellung sucht der dynamische Lader 1ib 1d linux so 2 in lib und usr lib nach den dynamischen Bibliotheken die zur Laufzeit von ausf hrbaren Programmen ben tigt werden Wenn die ben tigten Bibliotheken allerdings au erhalb von 1ib und usr 1ib liegen m ssen Sie diese Ordner in etc ld so conf eintragen damit der dynamische Lader sie finden kann Zwei Ordner sind daf r bekannt weitere Bibliotheken zu enthalten usr local lib und opt lib Diese Ordner f gen Sie gleich mit in den Suchpfad ein Erstellen Sie die neue Datei etc 1d so
103. adelf 97 98 readlink 106 109 readprofile 191 193 reboot 182 183 ref 195 197 refer 152 154 260 rename 191 193 renice 191 193 reset 114 115 resize2fs 137 139 resizecons 161 162 rev 191 193 rlogin 157 158 rm 106 109 rmdir 106 109 rmmod 171 172 rmt 185 185 rootflags 191 193 routef 159 160 routel 159 160 rpcgen 88 93 rpcinfo 88 93 rsh 157 158 rtacct 159 160 rtmon 159 160 rtpr 159 160 rtstat 159 160 runlevel 182 183 runtest 51 51 rview 195 197 rvim 195 197 s2p 121 123 script 191 193 scsi_id 188 189 sdiff 136 136 sed 119 119 seq 106 109 setfdprm 191 193 setfont 161 162 setkeycodes 161 162 setleds 161 162 setmetamode 161 162 setsid 191 193 setterm 191 193 sfdisk 191 193 sg 176 179 sh 132 133 shalsum 106 110 showconsolefont 161 162 showkey 161 163 shred 106 110 shtags pl 195 198 shutdown 182 183 size 97 98 skill 117 117 slabtop 117 117 sleep 106 110 sin 88 93 Linux From Scratch Version 6 2 snice 117 117 soelim 152 154 sort 106 110 splain 121 123 split 106 110 sprof 88 93 ss 159 160 stat 106 110 strings 97 98 strip 97 99 stty 106 110 su 176 179 sulogin 182 183 sum 106 110 swapoff 191 193 swapon 191 193 symlink tree 130 131 sync 106 110 sysctl 117 117 syslogd 180 181 tac 106
104. ag verleiht und wie die Komponenten zusammenarbeiten und voneinander abh ngen Das Beste daran ist dass Sie durch den Lernprozess in die Lage versetzt werden Linux an Ihre eigenen Anforderungen und Vorlieben anzupassen Einer der gr ssten Vorteile von LFS ist dass Sie mehr Kontrolle ber Ihr System erhalten 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 Einrichtung der Bootskripte Auch bestimmen Sie wo warum und wie Programme installiert werden Ein weiterer Vorteil von LFS ist die M glichkeit Linux sehr kompakt zu halten Wenn Sie eine bliche Linux Distribution verwenden installieren Sie f r gew hnlich viele Programme die Sie nie benutzen werden Diese liegen dann unn tz auf der Festplatte und verbrauchen Speicherplatz oder CPU Ressourcen Es ist leicht ein LFS System unter 100 MB zu installieren Das ist immer noch zu gro Einige LFS Mitglieder haben an einem sehr kleinen Embedded Linux gearbeitet Sie haben einen Apache Webserver auf einem Linux From Scratch mit gerade mal 8 MB belegtem Festplattenspeicher installiert Durch weitere Einschr nkungen 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 aus einer Fast Food Kette verg
105. alerweise werden vgrind und grap zum Anzeigen von Handbuchseiten nicht ben tigt Sie sind weder Teil von LFS noch von BLFS jedoch sollten Sie in der Lage sein diese nach der Installation von LFS selbst zu installieren Bereiten Sie Man DB zum Kompilieren vor configure prefix usr enable mb groff disable setuid Die Bedeutung der configure Parameter enable mb groff Dadurch verwendet man die Groff Ger te ascii8 und nippon zur Darstellung bzw Formatierung von nicht ISO 8859 1 kodierten Hilfeseiten 166 Linux From Scratch Version 6 2 disable setuid Dadurch wird das Setuid Bit auf dem Programm man f r den Benutzer man deaktiviert Kompilieren Sie das Paket make Dieses Paket enth lt keine Testsuite Installieren Sie das Paket make install Einige Pakete enthalten Man Pages im UTF 8 Format die von dieser Version von man nicht angezeigt werden k nnen Das folgende Skript macht es m glich einige davon in die erwarteten Kodierungen der unteren Tabelle umzuwandeln Man DB erwartet die Hilfeseiten in einem Format wie unten gelistet und wandelt sie f r die Darstellung automatische in die derzeitige Locale um Auf diese Weise k nnen die Hilfeseiten sowohl im traditionellen als auch im UTF 8 Format angezeit werden Das Skript ist nur beschr nkt einsetzbar beim Erstellen eines LFS Systems und verzichtet daher auf Fehlerpr fung und unvorhersagbare Namen f r tempor re Dateien cat gt gt convert ma
106. allieren m chten Die Header in Ihrem Systemordner include sollten immer diejenigen sein mit denen die Glibc kompiliert wurde also die Linux Libc Header und d rfen daher bei einem Kernelupgrade keinesfalls durch die neuen Kernel Header ersetzt werden 232 8 3 2 Inhalt von Linux Linux From Scratch Version 6 2 Installierte Dateien config 2 6 16 27 Ifskernel 2 6 16 27 und System map 2 6 16 27 Kurze Beschreibungen config 2 6 16 27 lfskernel 2 6 16 27 System map 2 6 16 27 Enth lt alle ausgew hlten Konfigurationsoptionen f r den Kernel Dies ist der Kernel 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 Enth lt eine Liste von Adressen und Symbolen Sie ordnet Einstiegspunkte und Adressen aller Funktionen und Datenstrukturen dem entsprechenden Kernel zu 233 Linux From Scratch Version 6 2 8 4 Das LFS System bootfahig machen Ihr frisches LFS System ist nun beinahe fertig Sie miissen nun noch sicherstellen dass es booten kann Die untenstehende Anleitung gilt nur f r Computer mit IA 32 Architektur dazu geh ren alle handels blichen PCs Informatione
107. alten Findet die Nachrichten die die angegebenen po Dateien gemeinsam haben Konvertiert den bersetzungskatalog in einen anderen Zeichensatz Erzeugt einen englischen bersetzungskatalog F hrt ein Kommando auf allen bersetzungen in einem Katalog aus Wendet einen Filter auf alle bersetzungen in einem Katalog an Erzeugt aus einem bersetzungskatalog einen bin ren Katalog Extrahiert alle Nachrichten aus einem Katalog die auf ein bestimmtes Muster passen oder zu einer bestimmten Quelldatei geh ren Erzeugt eine neue po Datei und initialisiert die Meta Informationen mit Werten aus der Arbeitsumgebung des Benutzers Kombiniert zwei bersetzungen in eine einzige Datei Erzeugt aus einem bin ren Katalog einen Nachrichtenkatalog in Textform Vereinheitlicht doppelte bersetzungen in einem Nachrichtenkatalog Zeigt die bersetzung einer Textnachricht an deren Grammatik von einer Zahl abh ngt Extrahiert alle bersetzbaren Nachrichten aus den angegebenen Quelldateien um daraus eine erste Nachrichtenkatalogvorlage zu erstellen 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 Eine private Bibliothek die die allgemeinen Routinen der verschiedenen gettext Programme enth lt Sie sind nicht zur normalen Verwendung gedacht Wird zum Schreiben von spezialisierten Programmen verwendet di
108. ando hinzu Bereiten Sie Shadow zum Kompilieren vor configure libdir lib enable shared without selinux Die Bedeutung der configure Parameter without selinux Die Unterst tzung f r selinux ist in der Voreinstellung aktiviert jedoch ist selinx nicht Teil eines Standard LFS Systems Das configure Skript w rde ohne diesen Parameter mit einem Fehler abbrechen Verhindern Sie die Installation des Programmes groups und der zugeh rigen Hilfeseite da Coreutils eine bessere Version enth lt sed i s groups EXEEXT src Makefile find man name Makefile exec sed i groups d Verhindern Sie die Installation der chinesischen und koreanischen Hilfeseiten weil Man DB sie nicht korrekt anzeigen kann sed i e s ko e s zh CN zh TW man Makefile Shadow enth lt weitere Hilfeseiten im UTF 8 Format Man DB kann diese in der empfohlenen Kodierung anzeigen wenn Sie das Skript convert mans verwenden welches Sie erst k rzlich installiert haben for i in de es fi fr id it pt_BR do convert mans UTF 8 ISO 8859 1 man i done for i in cs hu pl do convert mans UTF 8 ISO 8859 2 man i done convert mans UTF 8 EUC JP man ja convert mans UTF 8 KOI8 R man ru convert mans UTF 8 ISO 8859 9 man tr 176 Linux From Scratch Version 6 2 Kompilieren Sie das Paket make Dieses Paket enth lt keine Testsuite Installieren Sie das Paket make install Shadow benutzt zwei Dateie
109. ang 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 Au erdem macht es wenig Sinn die Tests nun laufen zu lassen denn die Programme aus dem ersten Durchlauf werden sehr bald durch die aus dem zweiten Durchlauf ersetzt Installieren Sie das Paket make install 37 Linux From Scratch Version 6 2 Bereiten Sie nun den Linker auf die sp teren Anpassungen vor p Anp g make C ld clean make C ld LIB PATH tools lib cp v l1d ld new tools bin Die Bedeutung der make Parameter C ld clean Dies weist das Programm make an alle kompilierten Dateien im Unterordner 1d zu l schen C ld LIB_PATH tools lib Dieser Parameter 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 Ordner tools Der Wert dieser Variable gibt den Standard Bibliotheksuchpfad f r den Linker an Sie werden sp ter in diesem Kapitel sehen wie diese Vorbereitung zur Anwendung kommt Details zu diesem Paket finden Sie in Abschnitt 6 11 2 Inhalt von Binutils 38 Linux From Scratch Version 6 2 5 4 GCC 4 0 3 Durchlauf 1 Das Paket GCC enth lt die GNU Compiler Sammlung Darin sind die C und C Compiler enthalten Gesch tzte Kompilierzeit 8 2 SBU Ungefahr ben tigter Festplatten
110. ardware Treibern wie loop 7 4 3 2 Ein Kernelmodul l dt nicht automatisch und Udev ist nicht daf r zust ndig Wenn ein Wrapper Modul nur die Funktionen eines anderen Moduls erweitert so erweitert z B das Modul snd pcm oss die Funktionalit t von snd pcm indem es die Soundkarte auch OSS Anwendungen zur Verf gung stellt dann richten Sie modprobe so ein dass es das Wrapper Modul l dt nachdem Udev das Hauptmodul geladen hat Dies erreichen Sie mit einer install Anweisung in etc modprobe conf Beispiel install snd schH Sloiin mochoircolos i Snd sem p sbin modprobe snd pcm oss true Wenn es sich bei dem fraglichen Modul nicht um einen Wrapper handelt sondern alleinstehend geladen wird so richten Sie bitte das Bootskript SOS5modules ein sodass das Modul beim Booten geladen wird Dies erreichen Sie indem Sie den Modulnamen an die Datei etc sysconfig modules in einer eigenen Zeile anh ngen Dies funktioniert nat rlich auch mit Wrapper Modulen ist aber nicht optimal 7 4 3 3 Udev l dt unerw nschte Module Entweder Sie kompilieren das fragliche Modul gar nicht erst oder Sie schlie en es mit Hilfe der schwarzen Liste in etc modprobe conf aus so wie mit dem Modul forte im folgenden Beispiel blacklist forte Module auf der schwarzen Liste k nnen nat rlich weiterhin von Hand mit dem Programm modprobe geladen werden 209 Linux From Scratch Version 6 2 7 4 3 4 Udev erzeugt eine Geratedatei falsch oder s
111. atei etc sysconfig network festgelegt werden Erstellen Sie die Datei etc sysconfig network und geben Sie den Hostnamen ein echo HOSTNAME lt lfs gt gt etc sysconfig network lt 1fs gt muss hier durch den Namen fiir Ihren Computer ersetzt werden Geben Sie hier nicht den FQDN Fully Qualified Domain Name gt Vollst ndigen Dom nennamen ein Diesen werden Sie erst sp ter in der Datei etc hosts eintragen An dieser Stelle wird nur ein einfacher Rechnername ben tigt 221 Linux From Scratch Version 6 2 7 11 Anpassen der Datei etc hosts Wenn Sie eine Netzwerkkarte einrichten m chten m ssen Sie eine IP Adresse den voll qualifizierten Dom nennamen und m gliche Aliasnamen in etc hosts eintragen Die Syntax lautet IP Adresse meinhost meinedomain org aliasname Solange Ihr Computer nicht offiziell 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 Privater Adressbereich Normaler Prefix 10 0 0 1 10 255 255 254 8 172 0 1 192 255 254 16 192 168 v 1 192 168 y 254 24 x kann eine Zahl zwischen 16 31 sein y kann zwischen 0 255 liegen Eine g ltige private IP Adresse w re 192 168 1 1 Ein vollqualifizierter Dom nenname w re beispielsweise lfs beispiel de Selbst wenn Sie keine Netzwerkka
112. ation ist abh ngig von Bash Binutils Coreutils Diffutils Gawk GCC Glibc Grep Make Patch und Sed Testsuite ist abh ngig von Enth lt keine Testsuite Muss installiert werden vor Bash GRUB Inetutils Less Procps Psmisc Readline Texinfo Util Linux und Vim Patch Installation ist abh ngig von Bash Binutils Coreutils GCC Glibc Grep Make und Sed Testsuite ist abh ngig von Enth lt keine Testsuite Muss installiert werden vor Keine Perl Installation ist abh ngig von Bash Berkeley DB Binutils Coreutils Gawk GCC Glibc Grep Groff Make und Sed Testsuite ist abh ngig von lana Etc und Procps Muss installiert werden vor Autoconf Procps Installation ist abh ngig von Bash Binutils Coreutils GCC Glibc Make und Ncurses Testsuite ist abh ngig von Enth lt keine Testsuite Muss installiert werden vor Keine Psmisc Installation ist abh ngig von Bash Coreutils GCC Gettext Glibc Grep Make Ncurses und Sed Testsuite ist abh ngig von Enth lt keine Testsuite Muss installiert werden vor Keine 253 Linux From Scratch Version 6 2 Readline Installation ist abh ngig von Bash Binutils Coreutils GCC Glibc Grep Make Ncurses Patch Sed und Texinfo Testsuite ist abh ngig von Enth lt keine Testsuite Muss installiert werden vor Bash Sed Installation ist abh ngig von Bash Binutils Coreutils GCC Gettext Glibc Grep Make Sed und Texinfo Testsuite ist abh ng
113. attenplatz 16 6 MB 6 54 1 Installation von Texinfo Das Programm info geht davon aus dass ein Text dieselbe Anzahl Zeichen auf dem Bildschirm wie Bytes im Speicher verbraucht und das ein solcher Text an jeder beliebigen Stelle getrennt werden kann Dies schl gt in UTF 8 basierten Locales nat rlich fehl Der folgende Patch umgeht das Problem indem auf englischsprachige Meldungen zur ckgegriffen wird wenn eine Multibyte Locale verwendet wird patch Npl i texinfo 4 8 multibyte 1 patch Texinfo erm glicht es lokalen Benutzern durch eine sog Symlink Attacke bestimmte Dateien zu berschreiben Der folgende Patch behebt das Problem patch Npl i texinfo 4 8 tempfile fix 2 patch Bereiten Sie Texinfo zum Kompilieren vor configure prefix usr Kompilieren Sie das Paket make Um das Ergebnis zu pr fen f hren Siemake check aus Installieren Sie das Paket make install Optional k nnen Sie auch die zu einer typischen TeX Installation geh renden Pakete installieren make TEXMF usr share texmf install tex Die Bedeutung des make Parameters TEXMF usr share texmf Die Makefile Variable TEXMF enth lt den Pfad zu Ihrem TeX Basisordner falls sp ter TeX installiert wird Das Info Dokumentationssystem speichert die 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 Pak
114. au 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 hei t sie m ssen mit Shadow Passw rtern umgehen k nnen Um Shadow Passw rter zu aktivieren benutzen Sie dieses Kommando 177 pwconv Linux From Scratch Version 6 2 Und um Shadow Gruppenpassw rter zu aktivieren benutzen Sie dieses Kommando grpconv 6 50 3 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 6 50 4 Inhalt von Shadow Installierte Programme chage chfn chgpasswd chpasswd chsh expiry faillog gpasswd groupadd groupdel groupmod grpck grpconv grpunconv lastlog login logoutd newgrp newusers nologin passwd pwck pwconv pwunconv sg Link auf newgrp su useradd userdel usermod vigr Link auf vipw und vipw Installierte Bibliotheken libshadow a so Kurze Beschreibungen chage chfn chgpasswd chpasswd chsh expiry faillog gpasswd groupadd groupdel groupmod grpck grpconv grpunconv lastlog login logoutd newgrp ndert die maximale Anzahl von Tagen zwischen zwei n tigen Passwort nderungen Wird zum ndern des vollst ndigen Namens und weiterer Informationen eines Benutzers benutzt Wird benu
115. b Erstellen Sie daher einen entsprechenden symbolischen Link In sv libfl a usr lib libl a Einige wenige Programme kennen flex noch nicht und versuchen den Vorg nger lex aufzurufen Um diesen Programmen dennoch gerecht zu werden erzeugen Sie ein kleines Shell Skript mit dem Namen lex welches flex im lex Emulationsmodus aufruft cat gt usr bin lex lt lt EOF ASI Begin usr bin lex exec usr bin flex L Se gne usr boin lex EOF chmod v 755 usr bin lex 6 33 2 Inhalt von Flex Installierte Programme flex und lex Installierte Bibliothek libfl a Kurze Beschreibungen flex 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 Suchregeln ein Programm das nach diesen Mustern sucht lex Ein Skript welches flex im lex Emulationsmodus startet 143 Linux From Scratch Version 6 2 libfl a Die flex Bibliothek 144 Linux From Scratch Version 6 2 6 34 GRUB 0 97 Das Paket Grub enth lt den GRand Unified Bootloader Gesch tzte Kompilierzeit 0 2 SBU Ungefahr ben tigter Festplattenplatz 10 2 MB 6 34 1 Installation von GRUB Dieses Paket funktioniert unter Umst nden nicht fehlerfrei wenn die voreingestellten Optionen f r Compiler Optimierungen bergangen werden Dazu geh ren auch march und mcpu Daher sollten die entsprechenden Umgebungsvariablen wie z B CFLAGS und CXXFLAG
116. bcle Es 0 2 oe MEIN 3 kernel boot lfskernel 2 6 16 27 root dev hda4 EOF Vielleicht m chten Sie einen weiteren Eintrag fiir Ihr Host System vornehmen Dieser k nnte z B so aussehen cat gt gt boot grub menu lst lt lt EOF title Red Hat Coot aclO 2 kernel boot kernel 2 6 5 root dev hda3 inicze Zooot anLere 2 6 5 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 Ihnen info grub nicht alle ben tigten Informationen gibt finden Sie mehr dazu auf den GRUB Webseiten unter http www gnu org software grub FHS setzt voraus das GRUB s menu lst nach etc grub menu lst verlinkt sein sollte Um diese Voraussetzung zu erf llen f hren Sie das folgende Kommando aus mkdir v etc grub amp amp In sv boot grub menu lst etc grub 235 Linux From Scratch Version 6 2 Kapitel 9 Ende 9 1 Ende Herzlichen Gliickwunsch Sie sind fertig mit der Installation Ihres eigenen LFS Systems Wir wiinschen Ihnen viel Freude mit Ihrem brandneuen selbstgebauten Linux Sie sollten nun noch die Datei etc 1fs release erstellen Mit ihr 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 6 2 gt etc lfs release 236 Linux From Sc
117. bliotheken libltdl a so Kurze Beschreibungen libtool Stellt vereinheitlichte Dienste zum Erstellen von Bibliotheken zur Verf gung libtoolize Stellt einen einheitlichen Weg zur Verf gung um einem Paket libtool Unterst tzung hinzuzuf gen libltdl Versteckt die verschiedenen Schwierigkeiten mit Bibliotheken die dlopen verwenden 120 Linux From Scratch Version 6 2 6 22 Perl 5 8 8 Das Paket Perl enth lt die Skriptsprache Perl Practical Extraction and Report Language Gesch tzte Kompilierzeit 1 5 SBU Ungefahr ben tigter Festplattenplatz 143 MB 6 22 1 Installation von Perl Erstellen Sie nun eine grundlegende Version der Datei etc hosts Diese wird in einer von Perls Konfigurationsdateien und in der Testsuite verwendet falls Sie diese durchlaufen lassen echo 127 0 0 1 localhost hostname gt etc hosts Wenn Sie die vollst ndige Kontrolle dar ber haben m chten wie Perl sich selbst zum Installieren einrichtet dann k nnen Sie stattdessen das interaktive Configure Skript benutzen Wenn Sie mit den normalerweise sinnvollen von Perl automatisch erkannten Voreinstellungen zufrieden sind benutzen Sie einfach das folgende Kommando configure gnu prefix usr Dmanldir usr share man manl Dman3dir usr share man man3 Dpager usr bin less isR Die Bedeutung der configure Parameter Dpager usr bin less isR Dies korrigiert einen Fehler in der Art und Weise wie perldoc das Programm les
118. bt die Menge an freiem und benutzten Arbeitsspeicher aus sowohl physischem als auch Swap kill Sendet Signale an Prozesse pgrep Findet Prozesse aufgrund ihres Namens und anderer Attribute pkill Signalisiert Prozesse basierend auf ihrem Namen oder anderen Attributen pmap Gibt eine Speicheriibersicht des angegebenen Prozesses aus ps Listet zur Zeit laufende Prozesse auf skill Sendet Signale an Prozesse die den angegebenen Kriterien entsprechen slabtop Zeigt detaillierte Informationen zum Kernel Slap Cache in Echtzeit an snice Andert die Priorit t von Prozessen die auf die angegebenen Kriterien passen sysctl Andert Kernelparamter zur Laufzeit tload Gibt eine Grafik der aktuellen durchschnittlichen Systemlast aus top Zeigt eine Liste der Prozesse an die am meisten CPU Last erzeugen 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 117 Linux From Scratch Version 6 2 Speicher Paging Block IO traps 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 libproc Enth lt Funktionen die von den
119. ch die C ABI das Ergebnis sind gemeinsame C Bibliotheken und C Programme die interoperabel mit anderen Linux Distributionen sind enable languages c C Dieser Parameter stellt sicher dass sowohl der C als auch der C Compiler erzeugt werden disable libstdcxx pch Verhindert das Erzeugen der vorkompilierten Header Dateien PCH pre compiled header f r libstdc Diese Funktion verbraucht viel Platz und wir ben tigen sie nicht Kompilieren Sie das Paket make 53 Linux From Scratch Version 6 2 Diesmal m ssen Sie nicht das boot st rap Target verwenden weil Sie 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 fiir 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 k check Der Parameter k l sst die Testsuite bis zum Ende durchlaufen selbst wenn Fehler auftreten sollten Die Testsuite von GCC ist sehr umfangreich und es ist beinahe sicher dass Fehler auftreten Eine Information ber die kritischen Fehler finden Sie im Abschnitt 6 12 GCC 4 0 3 Installieren Sie das Paket make install Achtung An diesem Punkt ist es unbedingt notwendig die korrekte Funktion der Toolchain Kompilieren und Linken zu berpr fen Darum f hren Sie nun einen kleinen Gesundheit
120. chain Jetzt nachdem die tempor ren C Bibliotheken installiert sind wollen wir alle im Rest des Kapitels kompilierten Werkzeuge gegen diese Bibliotheken verlinken Um das zu erreichen miissen Sie den Linker und die specs Datei des Compilers anpassen Der am Ende des ersten Durchlaufes von Binutils angepasste Linker muss umbenannt werden da er sonst nicht korrekt gefunden und benutzt wird Sichern Sie zun chst den Urspriinglichen Linker dann ersetzen Sie ihn durch den angepassten Au erdem erzeugen Sie eine Verkn pfung auf das Gegenst ck in tools gcc dumpmachine bin mv v tools bin ld 1d old mv v tools gcc dumpmachine bin ld 1d old mv v tools bin ld new 1d In sv tools bin ld tools gcc dumpmachine bin ld Von diesem Punkt an wird alles ausschlie lich gegen die Bibliotheken in tools 1ib verlinkt Der n chste Schritt ist nun GCC auf den neuen dynamischen Linker zu verweisen Legen Sie dazu GCCs specs Datei an einem Ort ab den GCC standardm ig einliest Dann wird der von GCC verwendete dynamische Linker durch einen einfachen sed Aufruf angepasst SPECFILE dirname gcc print libgec file name specs amp amp gcc dumpspecs gt SPECFILE amp amp sed s lib ld linux so 2 tools amp g SPECFILE gt tempspecfile amp amp mv vf tempspecfile SPECFILE amp amp unset SPECFILE Sie k nnen die specs Datei auch von Hand ndern ersetzen Sie einfach jedes Vorkommen von
121. chsten Kapitel vor make C ld clean make C ld LIB PATH usr lib lib cp v ld ld new tools bin Details zu diesem Paket finden Sie in Abschnitt 6 11 2 Inhalt von Binutils 55 Linux From Scratch Version 6 2 5 13 Ncurses 5 5 Das Paket Ncurses enthalt Bibliotheken fiir den Terminal unabh ngigen Zugriff auf Textbildschirme Gesch tzte Kompilierzeit 0 7 SBU Ungefahr ben tigter Festplattenplatz 30 MB 5 13 1 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 without ada Dies stellt sicher dass Ncurses ohne Unterst tzung f r Ada Compiler erzeugt wird Auf dem Host System k nnte Unterst tzung f r Ada installiert sein Sie w re dann aber sp ter in der chroot Umgebung nicht mehr verf gbar enable overwrite Dadurch werden die Header Dateien von Ncurses in tools include anstelle von tools include ncurses installiert Das stellt sicher dass andere Pakete die Header Dateien problemlos finden K nnen Kompilieren Sie das Paket make Dieses Paket enth lt keine Testsuite Installieren Sie das Paket make install Details zu diesem Paket finden Sie in Abschnitt 6 18 2 Inhalt von Ncurses 56 Linux From Scratch Version 6 2 5 14 Bash 3 1 Das Paket Bash enth lt die Bourne Again SHell Gesch tzte Kompilierzeit 0 4 SBU Ungefahr ben ti
122. conf mit dem folgenden Kommando cat gt etc ld so conf lt lt EOF i Begin ete id S0 com fiasie loeai Liis ope 1ib mnd ete ld SO Comic EOF 6 9 4 Inhalt von Glibc Installierte Programme catchsegv gencat getconf getent iconv iconvconfig ldconfig Idd lddlibc4 locale localedef mtrace nscd nscd_nischeck pcprofiledump pt_chown rpcgen rpcinfo sln sprof tzselect xtrace zdump und zic Installierte Bibliotheken ld so libBrokenLocale a so libSegFault so libanl a so libbsd compat a libc a so libcidn so liberypt 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 librpesvc a librt a so libthread_db so and libutil a so Kurze Beschreibungen catchsegv Kann zum Erzeugen eines Stacktrace benutzt werden falls 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 iconv F hrt Zeichensatzkonvertierungen durch iconvconfig Erzeugt schnellladende iconv Konfigurationsdateien ldconfig Richtet die Laufzeitbindungen des dynamischen Linkers ein Idd Gibt aus welche gemeinsamen Bibliotheken von einem Programm
123. d 1fs Geben Sie 1fs Vollzugriff auf LFS tools Dazu machen Sie fs am besten zum Besitzer des Ordners chown v lfs LFS tools Wenn Sie wie vorgeschlagen einen extra Arbeitsordner eingerichtet haben dann geben Sie dem Benutzer 1fs auch dort die Besitzrechte chown v lfs LFS sources Als n chstes melden Sie sich bitte als 1fs an Dazu k nnen Sie eine virtuelle Konsole den Display Manager oder das folgende Kommando verwenden su lfs Das weist su an eine Login Shell anstelle einer Nicht Login Shell zu starten Der Unterschied zwischen den beiden Arten wird in bash 1 und info bash erkl rt 21 Linux From Scratch Version 6 2 4 4 Vorbereiten der Arbeitsumgebung Um Ihre Arbeitsumgebung fiir die weiteren Schritte vorzubereiten erstellen Sie zwei Dateien fiir die bash Geben Sie als Benutzer 1fs das folgende Kommando ein um die neue Datei bash_profile zu erzeugen cat gt bash_profile lt lt EOF exec envy L HOME HOME TERMS TERM Forsat NNS T lose pash EOF Wenn Sie sich als Benutzer 1 fs anmelden ist die erste Shell blicherweise eine Login Shell Diese liest erst die Datei etc profile Ihres Host Systems ein sie enth lt meistens 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 mit Ausnahme der Variablen HOME TERM und PS1 Daduch wird sichergestel
124. d Kompilierordner jedesmal nach dem Installieren eines Pakets l schen Dadurch verhindern Sie m gliche Fehlkonfigurationen falls ein Paket sp ter erneut installiert werden muss Bevor Sie fortfahren stellen Sie bitte mit folgendem Kommando sicher dass die LF S Umgebungsvariable korrekt gesetzt ist echo LFS Die Ausgabe muss den Pfad zum Mountpunkt Ihrer LFS Partition anzeigen Wenn Sie unserem Beispiel gefolgt sind sollte er mnt 1 s lauten 33 Linux From Scratch Version 6 2 5 2 Technische Anmerkungen zur Toolchain Dieser Abschnitt soll Ihnen einige technische Details zum gesamten Kompilier und Installationsprozess erl utern Sie miissen nicht alles in diesem Abschnitt sofort verstehen das Meiste ergibt sich von selbst sobald Sie die ersten Pakete installiert haben Scheuen Sie sich nicht zwischendurch noch einmal hierhin zur ckzubl ttern und nachzulesen wenn etwas unklar ist In Kapitel 5 soll eine gut funktionierende tempor re Arbeitsumgebung erschaffen werden in die Sie sich sp ter abkapseln und von wo aus Sie in Kapitel 6 ohne Schwierigkeiten ein sauberes endg ltiges LFS System erstellen k nnen Sie werden sich so weit wie m glich vom Host System abschotten und eine in sich geschlossene Toolchain erzeugen Bitte beachten Sie dass der gesamte Vorgang daf r ausgelegt ist die Risiken f r neue Leser zu minimieren und gleichzeitig den Lerneffekt zu maximieren Wichtig Bevor Sie fortfahren sollten Sie d
125. d uuid eines Dateisystems zur Verf gung Enth lt Udev Konfigurationsdateien Ger teberechtigungen und Regeln f r die Namensvergabe von udev 190 Linux From Scratch Version 6 2 6 56 Util linux 2 12r Das Paket Util linux enth lt verschiedene Werkzeuge Darunter befinden sich Programme zum Umgang mit Dateisystemen Konsolen Partitionen und System Meldungen Geschatzte Kompilierzeit 0 2 SBU Ungef hr ben tigter Festplattenplatz 17 2 MB 6 56 1 Anmerkung zur FHS Konformitat FHS empfiehlt var lib hwclock anstelle des eigentlich blichen Ordners etc als Speicherort f r die Datei adjtime zu benutzen F hren Sie das folgende Kommando aus um das Programm hwelock FHS Konform zu machen sed i s etc adjtime var lib hwclock adjtime g hwclock hwclock c mkdir p var lib hwclock 6 56 2 Installation von Util linux Util linux l sst sich mit neueren Versionen der Linux Libc Header nicht kompilieren Der folgende Patch behebt das Problem patch Npl i util linux 2 12r cramfs 1 patch 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_KILL yes Verhindert dass das Programm kill bereits durch Procps installiert erneut kompiliert und installiert wird HAVE_SLN yes Verhindert dass das Programm sln eine statisch gelinkte Version von In bereits durch Glibc installiert erneut kompiliert und installie
126. das Paket make install Einige Pakete erwarten dass der C Pr prozessor unter 1ib installiert ist Erstellen Sie daher diesen symbolischen Link In sv usr bin cpp lib Viele Pakete benutzen den Namen cc um den C Compiler aufzurufen Um auch diesen Paketen Rechnung zu tragen erzeugen Sie einen weiteren symbolischen Link In sv gcc usr bin cc Die endg ltige Toolchain ist nun fertiggestellt An dieser Stelle muss unbedingt erneut berpr ft werden ob Kompilieren und Linken mit ihr wie erwartet funktioniert Wir f hren den gleichen Gesundheitstest wie schon einmal in diesem Kapitel durch echo main gt dummy c cc dummy c Wl verbose amp gt dummy log readelf 1 a out grep lib Wenn alles korrekt funktioniert sollten keine Fehler auftreten und die Ausgabe des letzten Kommandos ist Requesting program interpreter lib ld linux so 2 berpr fen Sie nun dass die korrekten Startdateien verwendet werden grep o usr lib crt lin dummy log 101 Linux From Scratch Version 6 2 Wenn alles korrekt funktioniert sollten keine Fehler auftreten und die Ausgabe des letzten Kommandos sieht so oder so hnlich aus USE gee oo ee LR O ara pene rb Succeeded US Sesh oa Gala Sie Be mar Omi o Sara os plelo iia late israeli Gee aro oro do cae OS oclo Crta O succeeded Stellen Sie als n chstes sicher dass der neue Linker mit den korrekten Suchpfaden verwendet wird grep SEARCH us
127. de miissen Sie diese Arbeit erstmal selbst erledigen Sie werden nun den dev Ordner des Host Systems mit dern bind Methode einh ngen Es handelt sich dabei um eine besondere Methode zum Einh ngen eines Dateisystems bei der ein Ordner oder Mountpunkt gespiegelt bzw zus tzlich an einer weiteren Stelle des Dateisystems eingeh ngt wird Benutzen Sie dazu das folgende Kommando mount bind dev SLFS dev 6 2 3 Einhangen der virtuellen Kernel Dateisysteme H ngen Sie nun die verbleibenden virtuellen Kernel Dateisysteme ein mount vt devpts devpts LFS dev pts mount vt tmpfs shm LFS dev shm mount vt proc proc LFS proc mount vt sysfs sysfs LFS sys 78 Linux From Scratch Version 6 2 6 3 Paketverwaltung Paketverwaltung ist eine der am h ufigsten nachgefragten Erweiterungen fiir das LFS Buch Mit einer Paketverwaltung k nnen Sie die Installation von Dateien protokollieren und diese dann sp ter leicht wieder deinstallieren oder Pakete aktualisieren Vorab erstmal eine Klarstellung NEIN dieses Kapitel behandelt keine Paketverwaltung im Detail und wird Ihnen auch keine empfehlen Sie werden hier nur Informationen zu den am weitesten verbreiteten Methoden und Techniken erhalten Die f r Sie perfekte Paketverwaltung k nnte dabei sein vielleicht ist es auch eine Kombination aus zwei oder mehr Techniken Einige Gr nde warum weder in LFS noch in BLFS eine Paketverwaltung installiert wird sind e Der Umgang mit einer Paketver
128. der das TeX dvi Format erzeugt Eine Benutzerschnittstelle fir das groff Dokumentenformatierungssystem Normalerweise f hrt es das Programm troff und einen f r das Ausgabeger t passenden Postprozessor aus Zeigt groff Dateien und Man pages unter X und im tty an Liest Dateien ein und sch tzt welche der groff Optionen e man me mm ms p s und t zum Drucken ben tigt werden und gibt das n tige groff Kommando aus Ein groff Treiber fiir Canon CAPSL Drucker Laserdrucker der Serie LBP 4 und LBP 8 Ein Treiber f r groff der Ausgaben im PCL5 Format passend f r HP LaserJet 4 Drucker erzeugt Ubersetzt die Ausgabe von GNU troff zu PostScript bersetzt die Ausgabe von GNU troff in eine passende Form f r schreibmaschinen hnliche Ger te Ein Link auf tbl Erzeugt aus einer HP markierten Schriftmetrik Datei eine Schriftdatei zur Verwendung mit groff T1j4 Erzeugt mit einer angegebenen Datei einen invertierten Index f r die bibliographischen Datenbanken zur Verwendung mit refer lookbib und Ikbib Durchsucht bibliographische Datenbanken nach Referenzen die bestimmte Schl ssel enthalten und gibt die gefundenen Referenzen aus Gibt einen Prompt auf die standard Fehlerausgabe solange 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
129. der schalten Funktionen ein die in der Voreinstellung abgeschaltet sind Durchst bern Sie ruhig die Patch Datenbank unter http www linuxfromscratch org patches und laden Sie zus tzliche Patche herunter 24 Linux From Scratch Version 6 2 Kapitel 4 Abschluss der Vorbereitungen 4 1 Die Variable LFS Bei der Arbeit mit dem Buch werden Sie h ufig mit der Umgebungsvariable LFS zu tun haben Diese Variable sollte immer definiert sein und den Mountpunkt enthalten den Sie f r die LFS Partition ausgew hlt haben berpr fen Sie mit dem folgenden Kommando bitte nochmals ob LF S korrekt gesetzt ist echo LFS Die Ausgabe muss dem Pfad zu Ihrer LFS Partition entsprechen Wenn Sie unserem Beispiel gefolgt sind lautet der Pfad mnt 1 s Wenn hier etwas nicht stimmt k nnen Sie die Variable jederzeit neu setzen export LFS mnt lfs Durch diese Variable haben Sie den Vorteil dass Sie ein Kommando wie z B mkdir LFS tools genau so eingeben k nnen wie Sie es im Buch lesen W hrend die Shell den Befehl verarbeitet wird sie LFS durch den echten Wert mnt lfs ersetzen Wenn Sie Ihre Arbeitsumgebung verlassen haben m ssen Sie anschlie end den Inhalt von LFS nochmals pr fen Das gilt auch wenn Sie z B su zu root oder einem anderen Benutzer ausf hren 23 Linux From Scratch Version 6 2 4 2 Erstellen des Ordners LFS tools Alle kompilierten Programme aus Kapitel 5 werden unter LFS tools installiert Dadurch w
130. e Header 41 M4 112 Werkzeuge 66 Make 165 Werkzeuge 67 Man DB 166 Man pages 87 Mktemp 170 Module Init Tools 171 Ncurses 114 Werkzeuge 56 Patch 173 Werkzeuge 68 Perl 121 Werkzeuge 69 Procps 117 Psmisc 174 Readline 124 Sed 119 Werkzeuge 70 Shadow 176 Einrichten 177 Sysklogd 180 Einrichten 180 Sysvinit 182 Einrichten 182 Tar 185 Werkzeuge 71 Tcl 47 Texinfo 186 Werkzeuge 72 Udev 188 Anwendung 207 Util linux 191 Werkzeuge 73 Vim 195 Zlib 126 Programme a2p 121 122 accessdb 166 169 acinstall 130 130 aclocal 130 130 aclocal 1 9 6 130 130 addftinfo 152 153 addr2line 97 98 afmtodit 152 153 agetty 191 192 apropos 166 169 ar 97 98 arch 191 192 arpd 159 159 256 as 97 98 ata_id 188 189 autoconf 128 128 autoheader 128 128 autom4te 128 128 automake 130 130 automake 1 9 6 130 130 autopoint 149 149 autoreconf 128 128 autoscan 128 128 autoupdate 128 128 awk 147 147 badblocks 137 138 basename 106 107 bash 132 133 bashbug 132 133 bigram 141 141 bison 113 113 blkid 137 138 blockdev 191 192 bootlogd 182 183 bunzip2 134 135 bzcat 134 135 bzcmp 134 135 bzdiff 134 135 bzegrep 134 135 bzfgrep 134 135 bzgrep 134 135 bzip2 134 135 bzip2recover 134 135 bzless 134 135 bzmore 134 135 c 100 103 c filt 97 98 c2ph 121 122 cal 191 192
131. e po Dateien verarbeiten sollen Diese Bibliothek wird benutzt wenn die mitgelieferten Standardprogramme von gettext nicht ausreichen so wie msgattrib und msgen Eine private Bibliothek die die allgemeinen Routinen der verschiedenen gettext Programme enth lt Sie sind nicht zur normalen Verwendung gedacht 150 Linux From Scratch Version 6 2 6 37 Grep 2 5 1a Das Paket Grep enth lt Programme zum Durchsuchen von Dateien Gesch tzte Kompilierzeit 0 1 SBU Ungefahr ben tigter Festplattenplatz 4 8 MB 6 37 1 Installation von Grep Die aktuelle Version von Grep hat leider viele Fehler insbesondere in der Unterstiitzung von Multibyte Locales RedHat behebt mit dem folgenden Patch zumindest einige dieser Fehler patch Npl i grep 2 5 1a redhat_fixes 2 patch Damit die vom Patch hinzugefiigten Tests erfolgreich durchlaufen k nnen miissen die Zugriffsrechte fiir die Testdatei ge ndert werden chmod x tests fmbtest sh Bereiten Sie Grep zum Kompilieren vor configure prefix usr bindir bin Kompilieren Sie das Paket make Um das Ergebnis zu pr fen f hren Siemake check aus Installieren Sie das Paket make install 6 37 2 Inhalt von Grep Installierte Programme egrep Link auf grep fgrep Link auf grep und grep Kurze Beschreibungen 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
132. e set backspace 2 syntax on if amp term iterm amp term putty set background dark endif W End etc vimre EOF 196 Linux From Scratch Version 6 2 Der Parameter set nocompatible versetzt vim in einen niitzlicheren Betriebsmodus Voreinstellung als den vi kompatiblen Modus Entfernen Sie das no falls Sie das alte vi Verhalten nutzen m chten set backspace 2 erlaubt das sogenannte Backspacing tiber Zeilenumbriiche hinweg automatisches Einriicken und das Starten von Einr ckungen syntax on aktiviert vims Hervorheben von Syntax Schlie lich stellt die if Verzweigung sicher dass mittels set background dark die Hintergrundfarbe von bestimmten Terminals besser eingestellt ist Dadurch wird hervorgehobene Syntax in diesen Terminal Emulatoren besser lesbar Die Dokumentation zu weiteren m glichen Optionen erhalten Sie mit diesem Kommando vim c options Anmerkung Normalerweise installiert Vim die Dateien zur Rechtschreibpr fung nur in englischer Sprache Wenn Sie die Rechtschreibpr fung auch f r Ihre Sprache verf gbar haben m chten laden Sie bitte die spl und optional auch die sug Dateien f r Ihre Sprache und Kodierung von ftp ftp vim org pub vim runtime spell herunter und speichern Sie sie nach usr share vim vim70 spell Um diese Sprachdateien zu verwenden m ssen Sie in etc vimrc eingerichtet werden Beispiel set spelllang en ru set spell Weitere Informationen finden S
133. e und Bibliotheken inklusive einer kurzen Beschreibung die mit dem Paket installiert werden 77 Linux From Scratch Version 6 2 6 2 Vorbereiten der virtuellen Kernel Dateisysteme Verschiedene vom Kernel exportierte Dateisysteme werden fiir die Kommunikation zwischen dem Kernel selbst und dem sog Userspace verwendet Dies sind virtuelle Dateisysteme in Hinsicht darauf dass sie keinen Speicherplatz auf der Festplatte verbrauchen Der Inhalt der Dateisysteme liegt vollst ndig im Arbeitsspeicher Erstellen Sie die Ordner in die dann die virtuellen Dateisysteme eingeh ngt werden mkdir pv LFS dev proc sys 6 2 1 Erzeugen der wichtigsten Ger tedateien Zum Booten des Kernel m ssen nur wenige Ger tedateien vorhanden sein im einzelnen console und null Die Ger tedateien werden auf der Festplatte erzeugt damit sie vor dem Start von udevd verf gbar sind insbesondere wenn Linux mit dem Parameter init bin bash gestartet wird Erstellen Sie die Ger tedateien mit diesen Kommandos mknod m 600 SLFS dev console c 5 1 mknod m 666 SLFS dev null c 1 3 6 2 2 Einhangen und Fullen von dev Die empfohlene Vorgehensweise um dev mit Ger tedateien zu fiillen ist in dev ein virtuelles Dateisystem wie z B tmpfs einzuh ngen und die Ger te dynamisch zu erzeugen sobald sie erkannt oder verwendet werden Die meisten Ger te werden beim Booten erkannt und von Udev erzeugt Weil das neue System aber bislang noch nicht gebootet wur
134. e Frage eine Antwort erhalten mit der Sie auch etwas anfangen k nnen Linux From Scratch Version 6 2 Linux From Scratch Version 6 2 Teil Il Vorbereitungen zur Installation Linux From Scratch Version 6 2 Kapitel 2 Vorbereiten einer neuen Partition 2 1 Einfuhrung In diesem Kapitel bereiten Sie die Partition vor die sp ter Ihr neues LFS System enthalten wird Sie erstellen die Partition erzeugen darauf ein Dateisystem und h ngen sie anschlieBend ein mounten Linux From Scratch Version 6 2 2 2 Erstellen einer neuen Partition Wie die meisten Betriebssysteme wird auch LFS auf einer separaten Partition installiert Sie sollten fiir LFS bereits eine leere Partition haben oder eine neue Partition anlegen Ein LFS kann aber auch in einer bereits belegten Partition installiert werden sodass mehrere Betriebssyteme nebeneinander existieren Das Dokument http www linuxfromscratch org hints downloads files lfs_next_to_existing_systems txt erkl rt wie man dies einrichtet Im Buch gehen wir allerdings nur darauf ein wie man LFS auf eine leere dedizierte Partition installiert Fiir ein Minimal 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 Wenn Sie Ihr LFS sp ter als prim res Betriebssystem nutzen m chten brauchen Sie zum Nachinstallieren weiterer Pakete mehr Platz ca 2 bis 3 GB Das LFS System selbst ben tigt selbstverst
135. e contained inside the lst argument to the readline specific functions eOd backward word eOc forward word tor linux console WNelieYs beginning or Lline eflast Sincere Lili Me See beginning of nNistOry elb Sincl oir lnaLSicory Ne Brose ehren e 2 quoted insert for xterm eOH beginning of line W eOrUs emel 9 Jim 216 Linux From Scratch Version 6 2 217 Linux From Scratch Version 6 2 7 9 Die Startdateien von Bash Das Shell Programm bin bash im weiteren Verlauf nur shell oder bash genannt benutzt einige Startdateien zum Einrichten der Benutzerumgebung Jede Datei hat einen bestimmten Zweck und beeinflusst Login und Interaktiv Umgebungen unterschiedlich Die Bash Dateien in etc enthalten globale Einstellungen Wenn eine entsprechende Konfigurations Datei auch im Pers nlichen Ordner des Benutzers existiert berschreibt sie die globalen Einstellungen Nach einem erfolgreichen Login wird mit bin login eine interaktive Login Shell gestartet Dazu wird die Datei etc passwd eingelesen Eine interaktive nicht Login Shell wird von der Kommandozeile aus gestartet z B prompt bin bash Eine nicht interaktive Shell findet man blicherweise bei laufenden Shell Skripten Sie ist nicht interaktiv weil Sie ein Skript abarbeitet und zwischen den Kommandos nicht auf Eingaben vom Benutzer wartet Weitere Informationen finden Sie mit info bash im Abschnitt Bash
136. e der LFS Bootskripte sing abh ngig von den Kommandos kbd_mode openvt und setfont Da usr in den fr heren Phasen des Bootvorgangs noch nicht eingh ngt sein k nnte m ssen sich diese Programm auf der root Partition befinden mv v usr bin kbd_mode openvt setfont bin 6 42 2 Inhalt von Kbd Installierte Programme chvt deallocvt dumpkeys fgconsole getkeycodes kbd_mode kbdrate loadkeys loadunimap mapscrn openvt psfaddtable Link auf psfxtable psfgettable Link auf psfxtable psfstriptable Link auf psfxtable psfxtable resizecons setfont setkeycodes setleds setmetamode showconsolefont showkey unicode_start und unicode_stop Kurze Beschreibungen chvt deallocvt dumpkeys fgconsole getkeycodes kbd_mode kbdrate loadkeys loadunimap mapscrn openvt psfaddtable psfgettable psfstriptable psfxtable resizecons setfont setkeycodes setleds setmetamode showconsolefont Andert das aktive Virtuelle Terminal Gibt unbenutzte Virtuelle Terminals wieder frei Gibt Tastaturiibersetzungstabellen aus Gibt die Nummer des aktiven Virtuellen Terminals aus Gibt die Scancode zu Keycode Zuweisungstabelle des Kernels aus Setzt den Tastaturmodus bzw zeigt ihn an Setzt die Tastenwiederholrate und pausen oder zeigt sie an Ladt Tastaturiibersetzungstabellen L dt eine Unicode zu Schrift Zuweisungstabelle des Kernels Ein veraltetes Programm das benutzerdefinierte Zeichenausgabe Zuweisungstabellen
137. e unleserliche Man page fiir diff Wir k nnen das Problem vermeiden indem wir den Zeitstempel von man diff 1 aktualisieren touch man diff 1 Bereiten Sie Diffutils zum Kompilieren vor configure prefix usr Kompilieren Sie das Paket make Dieses Paket enth lt keine Testsuite Installieren Sie das Paket make install 6 29 2 Inhalt von Diffutils Installierte Programme cmp diff diff3 und sdiff Kurze Beschreibungen 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 sie sich unterscheiden diff3 Vergleicht drei Dateien Zeile fiir Zeile sdiff F hrt interaktiv zwei Dateien zusammen und gibt das Ergebnis aus 136 Linux From Scratch Version 6 2 6 30 E2fsprogs 1 39 E2fsprogs stellt die Werkzeuge zur Verwendung mit dem ext 2 Dateisystem zur Verf gung Auch ext 3 wird unterst tzt ein Journaling Dateisystem Gesch tzte Kompilierzeit 0 4 SBU Ungefahr ben tigter Festplattenplatz 31 2 MB 6 30 1 Installation von E2fsprogs Es wird empfohlen E2fsprogs au erhalb des Quellordners zu kompilieren mkdir v build cd build Bereiten Sie E2fsprogs zum Kompilieren vor configure prefix usr with root prefix enable elf shlibs disable evms Die Bedeutung der configure Parameter with root prefix Bestimmte Programme wie z B e2fsck sind absolut essentiell Sie m ssen z B
138. e zu vermeiden Ohne ihn w rden bei SCSI CD ROMs manchmal symbolische Links zu dem richtigen Ger t dev srX aber manchmal auch zu dev sgX erzeugt werden was falsch w re Die zweite Methode sieht so aus cat gt etc udev rules d 82 cdrom rules lt lt EOF Custom CD ROM symlinks SUBS MSI block ENVIO TYPE Tod N ENV ID_PATH pcei 0000 00 07 1 ide 0 1 SYMLINK cdrom SUBSYSTEM plock ENVIO TYPE cod ENV ID_PATH pci 0000 00 07 1 ide 1 1 SYMLINK cdroml dvd EOF 223 Linux From Scratch Version 6 2 Auf diese Weise bleibt der Link stabil wenn Sie das Laufwerk durch ein anderes ersetzen Dies funktioniert aber nicht wenn Sie das Laufwerk an einer anderen Stelle im Bus anschlieBen Der Schliissel ENV ID_TYPE cd stellt sicher dass der symbolische Link verschwindet wenn Sie etwas anderes als ein CD ROM an dieser Position im Bus anschlie en Nat rlich k nnen Sie diese beiden M glichkeiten auch kombinieren 7 12 2 Der Umgang mit doppelten Ger ten In Abschnitt 7 4 Umgang mit Ger ten und Modulen an einem LFS System wurde ja bereits erw hnt dass die Reihenfolge in der Ger te in dev angelegt werden vollkommen zuf llig sein Kann Nehmen wir an Sie haben eine USB Webcam und eine USB TV Tuner so zeigt dev video0 auf die Kamera und dev videol auf den Tuner Manchmal kann sich die Reihenfolge bei einem Neustart aber auch einfach umkehren Dieses Ph
139. ei etc 1d so conf beschweren Beheben Sie diese st rende Warnung mit touch etc ld so conf Installieren Sie das Paket make install Installieren Sie den inotify Header zu den anderen System Header Dateien cp v glibc 2 3 6 sysdeps unix sysv linux inotify h usr include sys Die Locales mit deren hilfe Systemmeldungen in Ihrer Sprache ausgegeben werden k nnen wurden durch das obige Kommando nicht mitinstalliert Diese Locales werden nicht unbedingt ben tigt jedoch w rden einige Testsuites der noch folgenden Pakete ohne sie ein paar wichtige Tests berspringen Mit dem Kommando localedef k nnen Sie auch einen individuellen Satz an Locales installieren Das erste untenstehenden Kommando kombiniert beispielsweise die Zeichensatz unabh ngige Localedefinition usr share il8n locales de_DE mit der Zeichensatzdefinition usr share il8n charmaps ISO 8859 1 gz und fiigt das Ergebnis an usr lib locale locale archive an Mit den folgenden Kommandos erstellen Sie einen Minimalen Satz Locales die fiir die kommenden Testsuites ben tigt werden mkdir pv 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_US localedef i en_US f UTF 8 en_US UTF 8 localedef i es MX f ISO 8859 1 es MX localedef i fa_IR f UTF 8 fa IR localedef i fr
140. eien gunzip Dekomprimiert gzip Dateien gzexe Erzeugt selbstextrahierende ausfiihrbare Dateien gzip Komprimiert Dateien mit dem Lempel Ziv LZ77 Algorithmus 155 uncompress zcat zcmp zdiff zegrep zfgrep zforce zgrep zless zmore znew Linux From Scratch Version 6 2 Entpackt komprimierte Dateien Dekomprimiert gzip Dateien zur Standardausgabe F hrt cmp auf gzip Dateien aus Fuhrt diff auf gzip Dateien aus F hrt egrep auf gzip Dateien aus Fuhrt fgrep auf gzip Dateien aus 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 F hrt grep auf gzip Dateien aus F hrt less auf gzip Dateien aus F hrt more auf gzip Dateien aus Konvertiert Dateien im compress Format in das gzip Format Z zu gz 156 Linux From Scratch Version 6 2 6 40 Inetutils 1 4 2 Inetutils enthalt verschiedene Programme zur grundlegenden Netzwerkunterstiitzung Gesch tzte Kompilierzeit 0 2 SBU Ungefahr ben tigter Festplattenplatz 8 9 MB 6 40 1 Installation von Inetutils Wenden Sie einen Patch fiir Inetutils zam Kompilieren mit GCC 4 0 3 an patch Npl i inetutils 1 4 2 gcc4_fixes 3 patch Sie werden nicht alle Programme aus diesem Paket installieren Dennoch w rde Inetutils die Man pages zu diesen Programmen installieren Der folgende Patch behebt das Problem
141. eien auf sichere Weise Es wird in Skripten verwendet tempfile Erzeugt tempor re Datein auf weniger sichere Weise als mktemp Es wird aus Gr nden der R ckw rtskompatibilit t installiert 170 Linux From Scratch Version 6 2 6 47 Module Init Tools 3 2 2 Das Paket Module Init Tools enth lt diverse Programme zur Verwaltung von Kernel Modulen f r Kernelversionen gt 2 5 47 Gesch tzte Kompilierzeit weniger als 0 1 SBU Ungef hr ben tigter Festplattenplatz 7 MB 6 47 1 Installation von Module Init Tools Beheben Sie zuerst ein potentielles Problem welches Auftritt wenn Module mittels regul rer Ausdriicke angegeben werden patch Npl i module init tools 3 2 2 modprobe 1 patch F hren Sie dieses Kommando aus um die Testsuite zu starten Anmerkung make distclean ist n tig um die Quelltexte aufzur umen denn Sie werden w hrend dem Testlauf neu kompiliert configure amp amp make check amp amp make distclean Bereiten Sie Module Init Tools zum Kompilieren vor configure prefix enable zlib Kompilieren Sie das Paket make Installieren Sie das Paket make INSTALL install install Die Bedeutung des make Parameters INSTALL install Normalerweise installiert make install die Bin rdateien nicht wenn sie bereits existieren Durch diesen Parameter wird dieses Verhalten ge ndert und install statt dem sonst blichen Skript aufgerufen 6 47 2 Inhalt von Module Init Tools Installierte Prog
142. einzigartig betrachtet werden auf dem lokalen oder auf anderen Systemen in der Vergangenheit und in der Zukunft Enth lt Routinen zum Identifizieren von Ger ten und zum Extrahieren von Token Die allgemeine Routine zum Anzeigen von Fehlern Wird von dumpe2fs chattr und Isattr benutzt Enth lt Routinen die Programme im Benutzerkontext zum Manipulieren eines ext 2 Dateisystems verwenden k nnen Wird von debugfs benutzt Enth lt Routinen zum Erzeugen von einmaligen Bezeichnern f r Objekte die hinter dem lokalen System verf gbar sein k nnten 139 Linux From Scratch Version 6 2 6 31 File 4 17 File ist ein kleines Werkzeug mit dem man den Dateityp einer oder mehrerer Dateien feststellen kann Gesch tzte Kompilierzeit 0 1 SBU Ungef hr ben tigter Festplattenplatz 7 5 MB 6 31 1 Installation von File Bereiten Sie File zum Kompilieren vor configure prefix usr Kompilieren Sie das Paket make Dieses Paket enth lt keine Testsuite Installieren Sie das Paket make install 6 31 2 Inhalt von File Installierte Programme file Installierte Bibliothek libmagic a so Kurze Beschreibungen 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 Programm file verwend
143. eite Festplatte auf hdc dann ist die zweite Festplatte immernoch hd1 Bestimmen Sie mit den obigen Informationen den Namen Ihrer root Partition Im folgenden Beispiel wird angenommen dass Ihre root Partition hda4 ist Sagen Sie GRUB zuerst wo die stage 1 2 Dateien zu finden sind Sie k nnen die Tabulator Taste verwenden damit Grub Alternativen anzeigt root hd0 3 Warnung Das n chste Kommando berschreibt Ihren bisherigen 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 Master Boot Record zu verwalten In dem Fall w rde es Sinn machen Grub in den Bootsektor Ihrer LFS Partition zu installieren das folgende Kommando w rde dann lauten setup hd0 3 Weisen Sie GRUB nun an sich in den MBR von hda zu installieren setup hd0 Wenn alles in Ordnung ist wird GRUB nun berichten dass die n tigen Dateien in boot grub gefunden wurden Das ist alles soweit beenden Sie die grub Shell quit Nun m ssen Sie eine Men Liste erstellen Sie definiert das Bootmen von Grub 234 Linux From Scratch Version 6 2 cat gt boot grub menu lst lt lt EOF Begin boot grub menu lst By default boot the first menu entry default 0 Allow 30 seconds before booting the default timeout 30 Use prettier colors color green black light green black Mas first entry le or ES E
144. en 87 MB e Glibe und GCC Dateien ohne Debugging Symbole 16 MB Die Gr en variieren ein wenig abh ngig vom Compiler und der eingesetzten C Bibliothek Aber wenn man Programme mit und ohne Debugging Symbole vergleicht liegt der Faktor normalerweise zwischen 2 und 5 Vermutlich werden Sie niemals einen Debugger mit Ihrer Systemsoftware einsetzen daher k nnen Sie durch das Entfernen der Symbole eine Menge Platz sparen 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 der Anleitung unter http www linuxfromscratch org hints downloads files optimization txt 199 Linux From Scratch Version 6 2 6 59 Erneutes Stripping Da Sie Ihre Systemsoftware vermutlich nicht debuggen m chten k nnen Sie hier ca 9OMB Platz sparen Dazu entfernen Sie die Debugging Symbole Das zieht keine Probleme nach sich aber Sie k nnen die verkleinerten Programme danach nicht mehr vollst ndig debuggen Normalerweise gibt es mit dem folgenden Kommando keine Schwierigkeiten Aber Sie k nnten z B einen Tippfehler machen und dadurch das System unbrauchbar machen Bevor Sie strip ausf hren sollten Sie ein Backup machen Wenn Sie strip ausf hren m chten ist besondere Vorsicht geboten damit Sie strip nicht auf Programme anwenden die gerade ausgef hrt werden inklusi
145. en die zum jetzigen Zeitpunkt aber noch nicht existieren Deshalb erstellen Sie eine Reihe symbolischer Links die im weiteren Verlauf des Kapitels beim Installieren der restlichen Software durch echte Dateien ersetzt werden In sv tools bin bash cat grep pwd stty bin ln sv tools bin perl usr bin In sv tools lib libgcc_s sof 1 usr lib ln sv bash bin sh Ein korrekt eingerichtetes Linux halt in etc mtab eine Liste der derzeit eingebundenen Dateisysteme vor Ist die Datei nicht vorhanden so wird sie beim ersten Einbinden eines Dateisystems automatisch erzeugt Da wir aber innerhalb der chroot Umgebung keine Dateisysteme einbinden werden miissen wir die Datei selbst erstellen weil einige Programme deren Vorhandensein voraussetzen touch etc mtab Damit root sich am System anmelden kann und damit der Name root der richtigen Benutzer ID zugeordnet werden kann miissen die entsprechenden 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 TOOt 23058081008 2 00 3 lolim loagia EOF Das tats chliche Passwort f r root 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 HOOK EX Os limas le SUIS MEMES E BOE Pap Sido daemon x 6 ELOJ 2 7 e OLLE 23888 IPEER IE Cli allow sxs 102 am llo 9x8 11 3 videos
146. en Funktionen Kompilieren und Linken der angepassten Toolchain zu berpr fen Aus diesem Grund f hren Sie bitte die folgenden Tests durch echo main gt dummy c cc dummy c Wl verbose amp gt dummy log readelf 1 a out grep lib Wenn alles korrekt funktioniert sollten keine Fehler auftreten und die Ausgabe des letzten Kommandos ist Requesting program interpreter lib ld linux so 2 Beachten Sie dass nun lib der Prefix zum dynamischen Linker ist berpr fen Sie nun dass die korrekten Startdateien verwendet werden grep o usr lib crt lin dummy log 95 Linux From Scratch Version 6 2 Wenn alles korrekt funktioniert sollten keine Fehler auftreten und die Ausgabe des letzten Kommandos sieht so oder so hnlich aus usiz lio ertl o sueceadad fuss lils erti o suecsadad usr lib certnm o succeeded Stellen Sie als n chstes sicher dass der neue Linker mit den korrekten Suchpfaden verwendet wird grep SEARCH usr lib dummy log sed s nlg Wenn alles korrekt funktioniert sollten keine Fehler auftreten und die Ausgabe des letzten Kommandos sieht so oder so hnlich aus SEARCH_DIR cools L686 joe 1 iawe 9 401 Lalo SHARC IDI AS Lalo SEINEI ENTER lia Danach priifen Sie ob die korrekte libc eingesetzt wird grep lib libc so 6 dummy log Wenn alles korrekt funktioniert sollten keine Fehler auftreten und die Ausgabe des letzten Kommandos sieht s
147. en Namen der Plattform kennen auf der Sie LFS installieren diesen bezeichnet man oft auch als das Ziel Tripplet F r die meisten Leser wird das Ziel Tripplet zum Beispiel i686 pc linux gnu sein Sie k nnen Ihr Ziel Tripplet herauszufinden indem Sie das Skript config guess auszuf hren es wird mit den Quellen vieler Pakete mitgeliefert Entpacken Sie die Binutils Quellen und f hren Sie das Skript aus config guess Notieren Sie die Ausgabe Auch den Namen des dynamischen Linkers f r Ihre Plattform sollten Sie kennen manchmal wird der Linker auch als dynamischer Lader bezeichnet Bitte verwechseln Sie den dynamischen Linker nicht mit dem Standard Linker Id aus dem Paket Binutils Der dynamische Linker kommt mit Glibc und seine Aufgabe ist es die von einem Programm ben tigten gemeinsamen Bibliotheken zu finden und zu laden das Programm zur Ausf hrung vorzubereiten und schlie lich das Programm selbst auszuf hren Im Regelfall wird der Name des dynamischen Linkers 1d linux so 2 sein F r weniger g ngige Systeme k nnte der Name auch ld so 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 1ib schauen Um wirklich sicher zu gehen k nnen Sie eine beliebige Bin rdatei auf Ihrem Host System berpr fen readelf 1 lt Name einer Bin rdatei gt grep interpreter Notieren Sie die Ausgabe Eine
148. en Sie die Logdateien nun anlegen und die richtigen Recht vergeben touch var run utmp var log btmp lastlog wtmp chgrp v utmp var run utmp var log lastlog chmod v 664 var run utmp var log lastlog Die Logdateien haben folgenden Zweck var run utmp protokolliert zur Zeit angemeldete Benutzer var log wtmp protokolliert alle An und Abmeldungen var log last log protokolliert die letzte Anmeldung f r jeden Benutzer var log btmp protokolliert fehlgeschlagene Anmeldeversuche 85 Linux From Scratch Version 6 2 6 7 Linux Libc Header 2 6 12 0 Das Paket Linux Libc Header enth lt die bereinigten Header Dateien des Linux Kernels Gesch tzte Kompilierzeit weniger als 0 1 SBU Ungefahr ben tigter Festplattenplatz 27 MB 6 7 1 Installation von Linux Libc Header ber Jahre hinweg war es g ngige Praxis die rohen Kernel Header direkt aus dem Kernel Archiv in usr include zu benutzen Aber in den letzten Jahren haben die Kernel Entwickler die Haltung eingenommen dass man dies nicht tun sollte Daraus entstand das Projekt Linux Libc Header Es wurde entworfen um eine konsistente Version der Kernel Header Programmierschnittstelle API zu bewahren Fiigen Sie einen Userspace Header und syscall hinzu um die in neueren Linux Versionen verfiigbare Funktion inotify zu unterst tzen patch Npl i linux libc headers 2 6 12 0 inotify 3 patch Installieren Sie die Header Dateien install dv usr include asm
149. en Sie die gewiinschte Locale installieren oder eine andere Locale verwenden Zur Installation der fehlenden Locale benutzen Sie das Programm localedef Alle weiteren Schritte im Buch gehen davon aus dass Sie keine solche Fehlermeldung wie oben erhalten haben bzw dass der Fehler beseitigt wurde Es gibt einige Pakete au erhalb von LFS die Ihre Locale m glicherweise nicht richtig unterst tzen Ein Beispiel dafiir ist die X Bibliothek Teil des X Window System die die folgende Meldung ausgibt wenn der Name fiir das Locale nicht exakt auf eine der internen Zeichensatztabellen passt Warning locale nor supported by Xlib locale seur to In vielen Fallen erwartet Xlib dass der Name fiir den Zeichensatz in GroBbuchstaben und mit Bindestrichen geschrieben wird Also ISO 8859 1 statt iso88591 Manchmal hilft es auch den Zeichensatz aus dem Namen der Locale wegzulassen Dies k nnen Sie mit dem Kommando locale charmap in beiden Locales pr fen Sie w rden also de_DE ISO 8859 15 euro durch de_DE euro ersetzen damit Xlib Ihre Locale versteht M glicherweise haben noch weitere Programme Schwierigkeiten mir Ihrer Locale und geben vielleicht noch nicht einmal eine Fehlermeldung aus falls der Name der Locale nicht den Annahmen des Programmierers entspricht In solchen F llen kann man versuchen herauszufinden wie andere Linux Distributionen mit dem Problem umgehen Wenn Sie die korrekten Locale Einstellungen herausgefunden haben e
150. en Sie die neue kleine Welt die zur Zeit nur mit tempor ren Werkzeugen ausgestattet ist chroot SLFS tools bin env i HOME root TERM STERM 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 STERM setzt die Variable TERM in der chroot Umgebung auf den gleichen Wert wie auBerhalb von chroot diese Variable wird fiir 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 Sie die Variable LFS nicht mehr denn alle weiteren Befehle sind auf Ihr LFS beschr nkt Das was die laufende Shell f r den Ordner h lt ist in Wirklichkeit der Wert von SLFS den Sie chroot oben als Parameter bergeben haben 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 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 Die Eingabeaufforderung der Bash wird I have no name ausgeben Das ist normal und liegt daran dass die Datei etc passwd derzeit noch fehlt Mit Hilfe diese
151. en und Einh ngen der LFS Partition als root Dateisystem Das Erstellen eines bootf higen Systems w rde allerdings zus tzliche Arbeit erfordern und ist an dieser Stelle absolut unn tig Au erdem hat chroot en den Vorteil dass Sie das Host Betriebssystem weiter nebenher verwenden k nnen w hrend Sie in der Shell das LFS installieren W hrend Sie also warten bis alle Pakete kompiliert sind 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 Kapitel 7 die Bootskripte eingerichtet der Kernel sowie der Bootloader werden in Kapitel 8 behandelt Wenn Sie das Buch zuende gelesen haben finden Sie in Kapitel 9 Links auf weiterf hrende Hilfeseiten Abschlie end ist der Computer bereit f r einen Neustart mit dem 2 Linux From Scratch Version 6 2 neuen LFS System Nun kennen Sie die allgemeine Vorgehensweise in stark zusammengefasster Form Die jeweiligen Kapitel beinhalten natiirlich detailliertere Informationen Machen Sie sich keine Gedanken falls hier noch etwas unklar sein sollte alle offene Fragen werden sich im weiteren Verlauf klaren Linux From Scratch Version 6 2 1 2 Ressourcen 1 2 1 FAQ Wenn Sie beim Erstellen von LFS Schwierigkeiten oder Fragen haben oder wenn Sie einen Rechtschreib Fehler im Buch finden dann lesen Sie bitte die FAQ Frequently Asked Questions haufig gestellte Fragen unter http w
152. entierung von awk gawk 3 1 5 Ein harter Link auf gawk grcat Zeigt die Gruppendatenbank etc group an igawk Erm glicht gawk das Einbinden von Dateien pgawk Die Profiling Version von gawk 147 Linux From Scratch Version 6 2 pgawk 3 1 5 Ein harter Link auf pgawk pwcat Zeigt die Passwortdatenbank etc passwd an 148 Linux From Scratch Version 6 2 6 36 Gettext 0 14 5 Gettext wird zur Ubersetzung und Lokalisierung verwendet Programme k nnen mit Unterstiitzung fiir NLS Native Language Support Unterstiitzung fiir die lokale Sprache kompiliert werden Dadurch k nnen Texte und Meldungen in der Sprache des Anwenders ausgegeben werden Gesch tzte Kompilierzeit 1 SBU Ungefahr ben tigter Festplattenplatz 65 MB 6 36 1 Installation 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 Leider ben tigt diese Testsuite viel Zeit etwa 5 SBU Installieren Sie das Paket make install 6 36 2 Inhalt von Gettext Installierte Programme autopoint config charset config rpath envsubst gettext gettext sh gettextize hostname msgattrib msgcat msgcmp msgcomm msgconv msgen msgexec msgfilter msgfmt msggrep msginit msgmerge msgunfmt msguniq ngettext und xgettext Installierte Bibliotheken libasprintf a so libgettextlib so libgettextpo a so und libgettex
153. enu libpanel Linux From Scratch Version 6 2 Listet alle verf gbaren Terminaltypen auf und gibt zu jedem den Namen und die Beschreibung aus Macht der Shell die Werte von Terminal abh ngigen F higkeiten zug nglich Es kann auch zum Zur cksetzen oder Initialisieren eines Terminals oder zum Anzeigen seines vollst ndigen Namens verwendet werden Kann zum Initialisieren eines Terminals verwendet werden Ein Link auf Libncurses Enthalt Funktionen zum Anzeigen von Text auf einem Terminal in vielen komplizierten Variationen Ein gutes Beispiel ist das angezeigte Menii von make menuconfig des Kernels Enthalt Funktionen zum Implementieren von Formularen Enthalt Funktionen zum Implementieren von Meniis Enthalt Funktionen zum Implementieren von Schaltflachen 116 Linux From Scratch Version 6 2 6 19 Procps 3 2 6 Procps enth lt Programme zur Uberwachung und Steuerung von Systemprozessen Die Informationen zu den Prozessen erh lt Procps aus dem Ordner proc Gesch tzte Kompilierzeit 0 1 SBU Ungefahr ben tigter Festplattenplatz 2 3 MB 6 19 1 Installation von Procps Kompilieren Sie das Paket make Dieses Paket enth lt keine Testsuite Installieren Sie das Paket make install 6 19 2 Inhalt von Procps Installierte Programme free kill pgrep pkill pmap ps skill slabtop snice sysctl tload top uptime vmstat w und watch Installierte Bibliothek libproc so Kurze Beschreibungen free Gi
154. ep Make Patch Sed und Texinfo Testsuite ist abh ngig von Diffutils Muss installiert werden vor Keine 249 Linux From Scratch Version 6 2 Gcc Installation ist abh ngig von Bash Binutils Coreutils Diffutils Findutils Gawk GCC Gettext Glibc Grep Make Patch Perl Sed Tar und Texinfo Testsuite ist abh ngig von DejaGNU und Expect Muss installiert werden vor Keine Gettext Installation ist abh ngig von Bash Binutils Coreutils Gawk GCC Glibc Grep Make Sed und Texinfo Testsuite ist abh ngig von Diffutils Perl und Tcl Muss installiert werden vor Automake Glibc Installation ist abh ngig von Bash Binutils Coreutils Diffutils Gawk GCC Gettext Grep Gzip Make Perl Sed und Texinfo Testsuite ist abh ngig von Keine Muss installiert werden vor Keine Grep Installation ist abh ngig von Bash Binutils Coreutils Diffutils GCC Gettext Glibc Make Patch Sed und Texinfo Testsuite ist abh ngig von Diffutils und Gawk Muss installiert werden vor Man DB Groff Installation ist abh ngig von Bash Binutils Bison Coreutils Gawk GCC Glibc Grep Make Patch Sed und Texinfo Testsuite ist abh ngig von Enth lt keine Testsuite Muss installiert werden vor Man DB und Perl GRUB Installation ist abh ngig von Bash Binutils Coreutils Diffutils GCC Glibc Grep Make Ncurses Sed und Texinfo Testsuite ist abh ngig von Keine Muss installiert werden vor
155. er rcsysinit d er enth lt einige symbolische Links 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 und k nnen zwischen 00 und 99 liegen 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 Bisher war nur von Links die Rede Die echten Skripte befinden sich in etc rc d init d Sie erledigen die eigentliche Arbeit denn die ganzen symbolischen Links zeigen nur auf sie Stopp und Startskripte zeigen jeweils auf dieselbe Datei in etc rc d init d Das funktioniert weil die Bootskripte mit unterschiedlichen Parametern aufgerufen werden k nnen 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 Parameter stop aufgerufen um etwas zu beenden Die Grund daf r ist dass Sie wohl kaum einen Dienst starten m chten wenn Sie rebooten oder das System herunterfahren Hier die Beschreibungen welche Parameter zu einem Skript
156. erden sie von den Programmen getrennt die sp ter in Kapitel 6 installiert werden Die hier kompilierten Programme sind nur tibergangsweise Hilfsmittel und sollen nicht Teil des endgiiltigen LFS Systems werden Durch die Installation in einen gesonderten Ordner lassen sie sich sp ter leichter wieder entfernen Au erdem wird so sichergestellt dass die Programme nicht versehentlich in Ihrem produktiven Host System enden in Kapitel 5 k nnte das sehr leicht passieren Erstellen Sie den Ordner indem Sie als root dieses Kommando ausf hren mkdir v SLFS tools Im n chsten Schritt erstellen Sie auf Ihrem Host System einen symbolischen Link nach tools Er zeigt auf den Ordner den Sie gerade auf der LFS Partition erstellt haben F hren Sie dieses Kommando als root aus In sv LFS tools Anmerkung Das obige Kommando ist in dieser Form korrekt der Befehl In hat verschiedene Syntax Varianten bitte lesen Sie erst info coreutils In und In 1 bevor Sie einen vermeintlichen Fehler berichten Dieser symbolische Link erm glicht uns die Toolchain so zu kompilieren dass sie immer tools referenziert Das hat f r uns den Vorteil dass Compiler Assembler und Linker sowohl in diesem Kapitel in dem Sie noch einige Programme vom Host System benutzen als auch im n chsten Kapitel wenn Sie in die LFS Partition chroot ed haben funktionieren werden Das liegt daran dass die Programme immer den gleichen Pfad benutzen k nnen 26 Lin
157. erks nun also die beschreibenden Namen aus den Udev Regeln anstelle von eth0O Beachten Sie dass die obigen Regeln nicht in jeder Systemkonfiguration funktionieren MAC basierte Regeln funktionieren z B nicht mit Bridges oder VLANs weil diese die gleiche MAC Adresse wie die zugeh rige physikalische Netzwerkkarte verwenden Wenn Sie virtuelle Netzwerkschnittstellen einsetzen haben Sie zwei M glichkeiten Die eine ist der Schl ssel DRIVER nach SUBSYSTEM net in MAC basierten Regeln Dies funktioniert nicht mit einigen lteren Netzwerkkarten weil die Treiber keine DRIVER Variable im uevent exportieren Eine weitere M glichkeit ist es Bus basierte Regeln zu verwenden Der zweite nicht funktionierende Fall sind Drahtlos Karten die den MadWifi oder HostAP Treiber verwenden weil diese zumindest zwei Schnittstellen mit der gleichen MAC Adresse an der gleichen Bus Position erzeugen Der Madwifi Treiber legt z B die Schnittstellen athX und wifiX an wobei X f r eine Zahl steht Um in diesem Fall eine Unterscheidung machen zu k nnen verwenden Sie am besten den Schl ssel KERNEL ath nach SUBSYSTEM net Es k nnte noch weitere F lle geben in denen die obigen Regeln nicht richtig funktionieren Derartige Fehler werden zur Zeit an die Linux Distributionen weitergeleitet aber derzeit gibt es noch keine L sung die wirklich alle F lle abdeckt 7 13 2 Erstellen der Konfigurationsdateien f r Netzwerkger te Welche Netzwer
158. erladen der Pakete beginnen 12 Linux From Scratch Version 6 2 Kapitel 3 Pakete und Patches 3 1 Einfuhrung Die folgende Liste enth lt alle Pakete die Sie fiir ein minimales Linux System ben tigen Die Versionsnummern sind Versionen von denen wir wissen dass Sie funktionieren Wenn Sie noch wenig Erfahrung mit LFS haben sollten Sie lieber keine anderen Versionen probieren Die Anleitungen und Kommandos k nnten evtl mit neueren Versionen nicht mehr funktionieren Oft gibt es auch gute Griinde dafiir nicht die allerneueste Version einzusetzen zum Beispiel bei bekannten Problemen fiir die es noch keine L sung gibt Wir k nnen nicht fiir die st ndige Verfiigbarkeit der Download Ressourcen garantieren Falls sich eine Download Adresse nach Erscheinen des Buches ge ndert haben sollte nutzen Sie bitte Google oder eine andere Suchmaschine und suchen nach dem entsprechenden Paket http www google com Sollten Sie auch hier erfolglos sein dann nutzen Sie bitte eine der alternativen Download M glichkeiten wie unter http www linuxfromscratch org fs packages html beschrieben Sie m ssen alle heruntergeladenen Pakete und Patches an einem Ort speichern auf den Sie w hrend der ganzen Zeit bequemen zugreifen k nnen Au erdem ben tigen Sie einen Arbeitsordner zum Entpacken und Kompilieren der Quellen Am besten benutzen Sie den Ordner LFS sources sowohl zum Speichern der Quellen und Patches als auch als Arbeitsordner Damit haben
159. ersetzerprojekt e Anderson Lizardo lt lizardo Olinuxfromscratch org gt Portugiesisches LFS bersetzerprojekt e Thomas Reitelbach lt tr erdfunkstelle de gt Deutsches LFS Ubersetzerprojekt Betreuer der Softwarespiegel Nordamerikanische Spiegel e Scott Kveton lt scott osuosl org gt lfs oregonstate edu e Mikhail Pastukhov lt miha xuy biz gt Ifs 130th net e William Astle lt lost 1 w net gt ca linuxfromscratch org 244 Linux From Scratch Version 6 2 e Jeremy Polen lt jpolen Orackspace com gt us2 linuxfromscratch org e Tim Jackson lt tim idge net gt linuxfromscratch idge net e Jeremy Utley lt jeremy Olinux phreak net gt Ifs linux phreak net Sudamerikanische Spiegel e Andres Meggiotto lt sysop mesi com ar gt lfs mesi com ar e Manuel Canales Esparcia lt manuel linuxfromscratch org gt lfsmirror lfs es info e Eduardo B Fonseca lt ebf aedsolucoes com br gt br linuxfromscratch org Europaische Spiegel e Barna Koczka lt barna siker hu gt hu linuxfromscratch org e UK Mirror Service linuxfromscratch mirror ac uk e Martin Voss lt Martin Voss O ada de gt Ifs linux matrix net e Guido Passet lt guido O primerelay net gt nl linuxfromscratch org e Bastiaan Jacques lt baafie Oplanet nl gt Ifs pagefault net e Roel Neefs lt lfs mirror linuxfromscratch rave org gt linuxfromscratch rave org e Justin Knierim lt justin jrknierim de gt www lfs
160. ersion 6 2 verwendet werden wenn Sie ein unbekanntes Terminal haben mbchk Priift das Format eines Multiboot Kernel 146 Linux From Scratch Version 6 2 6 35 Gawk 3 1 5 Gawk ist eine Implementierung von awk und wird zur Textmanipulation verwendet Gesch tzte Kompilierzeit 0 2 SBU Ungefahr ben tigter Festplattenplatz 18 2 MB 6 35 1 Installation von Gawk Unter bestimmten Umst nden gibt Gawk 3 1 5 einen Speicherblock frei der gar nicht zugewiesen war Mit dem folgenden Patch wird das Problem behoben patch Npl i gawk 3 1 5 segfault_fix 1 patch Bereiten Sie Gawk zum Kompilieren vor configure prefix usr libexecdir usr lib Aufgrund eines Fehlers im configure Skript erkennt Gawk einige Funktionen von Glibc s locale Unterst tzung nicht richtig Das f hrt z B zu Fehlern in der Testsuite von Gettext Sie K nnen das Problem umgehen indem Sie die fehlenden Makro Definitionen in der Datei config h hinzuf gen cat gt gt config h lt lt EOF define HAVE_LANGINFO_CODESET 1 define HAVE_LC_MESSAGES 1 EOF Kompilieren Sie das Paket make Um das Ergebnis zu pr fen f hren Sie make check aus Installieren Sie das Paket make install 6 35 2 Inhalt von Gawk Installierte Programme awk Link auf gawk gawk gawk 3 1 5 grcat igawk pgawk pgawk 3 1 5 und pwcat Kurze Beschreibungen awk Ein Link auf gawk gawk Ein Programm zur Manipulation von Textdateien Es ist die GNU Implem
161. erwenden Dieser Parameter ist auch hilfreich wenn Sie Dateien bearbeiten m chten die mit Distributionen wie z B Fedora Core erzeugt wurden diese Distribution benutzt UTF 8 als voreingestellen Zeichensatz Kompilieren Sie das Paket make Wenn Sie das Ergebnis testen m chten k nnen Sie dazumake test verwenden Die Testsuite gibt jedoch 195 Linux From Scratch Version 6 2 eine Menge sinnlose Zeichen auf dem Bildschirm aus und k nnte die Einstellungen Ihres Terminals durcheinander bringen Sie k nnen die Ausgabe in eine Datei umleiten um dieses Problem zu umgehen Installieren Sie das Paket make install In UTF 8 Locales versucht vimtutor die Anleitungen von ISO 8859 1 nach UTF 8 umzuwandeln Einige liegen aber gar nicht in ISO 8859 1 vor und werden durch diese Umwandlung unleserlich Falls Sie vim 7 0 lang tar gz installiert haben und ein UTF 8 Locale einsetzen werden so entfernen Sie bitte die nicht ISO 8859 1 Anleitungen Stattdessen wird dann eine englische Version benutzt rm f usr share vim vim70 tutor tutor gr pl ru sk rm f usr share vim vim70 tutor tutor 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 sowohl f r die Bin rdatei als auch f r die Hilfeseite in den verf gbaren Sprachen In sv vim usr bin vi for L in fr it pl ru do In sv vim 1 usr share man L manl vi l done In der V
162. eser Pakete werden zum Aufl sen rekursiver Abh ngigkeiten ben tigt zum Beispiel brauchen Sie einen Compiler um einen Compiler zu kompilieren Kapitel 5 erkl rt auch wie die erste Version der Basiswerkzeuge inklusive Binutils und GCC erzeugt wird Erste Version bedeutet in diesem Zusammenhang dass diese zwei Pakete installiert werden Als zweiten Schritt kompilieren Sie Glibc die C Bibliothek Glibc wird mit den Programmen der im ersten Schritt erstellten Basiswerkzeuge kompiliert Im dritten Schritt erstellen Sie dann die zweite Version der Basiswerkzeuge Sie linken die Programme dynamisch gegen die gerade frisch installierte Glibc Die verbleibenden Pakete aus Kapitel 5 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 Dies scheint erstmal eine Menge Arbeit zu sein um sich von der Host Distribution zu l sen Eine vollst ndige Erkl rung finden Sie in Abschnitt 5 2 Technische Anmerkungen zur Toolchain In Kapitel 6 wird das endg ltige LFS System erstellt Wir benutzen das Programm chroot chroot change root wechseln der Basis um eine Shell in einer virtuellen Umgebung zu starten In der neuen Shell ist der Basisordner auf die LFS Partition eingestellt Chroot en ist so hnlich wie Neustart
163. et 140 Linux From Scratch Version 6 2 6 32 Findutils 4 2 27 Das Paket Findutils enth lt Programme zum Auffinden von Dateien durch rekursive Suche in einer Ordnerstruktur oder ber den Zugriff auf eine Datenbank Die Suche ber eine Datenbank ist normalerweise schneller aber es besteht nat rlich die Gefahr dass die Datenbank zum Zeitpunkt der Suche veraltet ist Gesch tzte Kompilierzeit 0 2 SBU Ungef hr ben tigter Festplattenplatz 12 MB 6 32 1 Installation von Findutils Bereiten Sie Findutils zum Kompilieren vor configure prefix usr libexecdir usr lib findutils localstatedir var lib locate Die Bedeutung der configure Parameter localstatedir Der obige Parameter ndert den Standort der locate Datenbank wie vom FHS Standard verlangt nach var lib locate Kompilieren Sie das Paket make Um das Ergebnis zu pr fen f hren Siemake check aus Installieren Sie das Paket make install Einige der LFS Bootskripte sing abh ngig von dem Kommando find Da usr in den fr heren Phasen des Bootvorgangs noch nicht eingh ngt sein K nnte muss sich dieses Programm auf der root Partition befinden Des Weiteren muss updatedb auf den neuen Pfad eingestellt werden mv v usr bin find bin sed L e e find 1BINDIR find s bin usr bin updacedi 6 32 2 Inhalt von Findutils Installierte Programme bigram code find frcode locate updatedb und xargs Kurze Beschreibungen big
164. ete durcheinander geraten Falls Sie diese Datei jemals neu erzeugen m ssen ist Ihnen das folgende Kommando dabei behilflich 186 Linux From Scratch Version 6 2 cd usr share info rm dir for f in do install info f dir 2 gt dev null done 6 54 2 Inhalt von Texinfo Installierte Programme info infokey install info makeinfo texi2dvi texi2pdf und texindex Kurze Beschreibungen info infokey install info makeinfo texi2dvi texi2pdf texindex Wird zum Lesen von Info Dokumenten benutzt Info Dokumente sind Man pages sehr hnlich gehen aber oft tiefer in die Materie als einfach nur die m glichen Parameter zu beschreiben Vergleichen Sie beispielsweise man bison und info bison Kompiliert eine Quelldatei mit Info Anpassungen in ein bin res Format Wird zum Installieren von Info Dateien benutzt Es aktualisiert die Eintr ge in der info Indexdatei bersetzt Texinfo Quelldokumente in verschiedene andere Formate Info Dateien reiner Text oder HTML Wird zum Formatieren von Texinfo Dokumenten in ein Ger teunabh ngiges Format zum Drucken benutzt Wird zum Konvertieren von Texinfo Dokumenten in das portable Document Format PDF verwendet Sortiert Texinfo Indexdateien 187 Linux From Scratch Version 6 2 6 55 Udev 096 Das Paket Udev enth lt Programme zum dynamischen Erzeugen von Ger tedateien Gesch tzte Kompilierzeit 0 1 SBU Ungefahr ben tigter Festplattenplatz 6 8 MB
165. etzt einen falschen symbolischen Link Dies geschieht fiir gew hnlich wenn eine Regel versehentlich auf ein anderes Ger t passt als vorgesehen Eine schlecht geschriebene Regel k nnte z B sowohl auf eine SCSI Festplatte wie gewiinscht als auch auf das zugeh rige generische SCSI Ger t unerwiinscht nach dem Hersteller passen Sie miissen die Regel auffinden und genauer ausformulieren 7 4 3 5 Udev funktioniert nur unzuverl ssig Dies ist zumeist nur ein weiteres Symptom des zuvor beschriebenen Problems Falls nicht und die betreffende Regel sysfs Attribute verwendet so k nnte es sich um Kernel Zeitprobleme handeln die erst in zukiinftigen Kernelversionen behoben werden Sie k nnen das Problem umgehen indem Sie eine Regel schreiben die erst auf das verwendete sysfs Attribut wartet und f gen Sie an etc udev rules d 10 wait_for_sysfs rules an Wenn Sie dies tun informieren Sie bitte das LFS Entwicklerteam dar ber und teilen Sie uns auch mit ob dies funktioniert 7 4 3 6 Udev erzeugt eine Ger tedatei nicht Im folgenden Text wird davon ausgegangen dass der Treiber entweder statisch in den Kernel eingebaut ist oder das Modul bereits geladen ist Au erdem sollten Sie berpr ft haben ob nicht m glicherweise nur eine Ger tedatei mit falschen Namen erzeugt wurde Udev hat nicht gen gen Informationen zum Erzeugen einer Ger tedatei wenn der Kerneltreiber seine Daten nicht ins sysfs exportiert Dies ist bei Treibern von
166. fiir die Dokumentation an Korrigieren Sie den Besitzer der installierten Dateien chown v root root usr bin db usr lib libdb usr include db amp amp chown Rv root root usr share doc db 4 4 20 6 13 2 Inhalt von Berkeley DB Installierte Programme db_archive db_checkpoint db_deadlock db_dump db_hotbackup db_load db_printlog db_recover db_stat db_upgrade und db_verify Installierte Bibliotheken libdb so ar und libdb_cxx r o ar Kurze Beschreibungen db_archive db_checkpoint db_deadlock db_dump db_hotbackup db_load db_printlog db_recover db_stat db_upgrade db_verify libdb so a libdb_cxx so a Gibt die Pfade zu Protokolldateien aus die nicht mehr benutzt werden Ein Daemon zum Uberwachen von Protokolldateien und Kontrollpunkten darin Ein Daemon zum Unterbrechen von Sperrungen falls eine ununterbrechbare Sperrung deadlock gefunden wird Wandelt eine Datenbankdatei in eine reines Textdatei um so dass sie von db_load gelesen werden kann Erzeugt Schnappschiisse einer Berkeley DB Datenbank zum Zweck eines Online Backup oder Online Failover Wird zum Erzeugen einer Datenbank Datei aus einer reinen Text Datei verwendet Wandelt eine Protokolldatei einer Datenbank in ein von Menschen lesbares Format um Stellt eine Datenbank nach einem Fehler wieder in einem konsistenten Zustand her Zeigt Statistiken zu Berkeley Datenbanken an Wird zum Aktualisieren vo
167. fix usr shared libdir lib Kompilieren Sie das Paket make Um das Ergebnis zu pr fen f hren Siemake check aus Installieren Sie die gemeinsamen Bibliotheken make install Das vorige Kommando hat eine so Datei im Ordner 1ib installiert Entfernen Sie sie wieder und erstellen Sie stattdessen einen Link in usr lib rm v lib libz so In sfv lib libz so 1 2 3 usr lib libz so Kompilieren Sie nun die statische Bibliothek make clean configure prefix usr make Um das Ergebnis zu pr fen f hren Siemake check aus Installieren Sie die statische Bibliothek make install Und korrigieren Sie die Zugriffsrechte auf die statische Bibliothek chmod v 644 usr lib libz a 126 Linux From Scratch Version 6 2 6 24 2 Inhalt von Zlib Installierte Bibliotheken libz a so Kurze Beschreibungen libz Enth lt Funktionen zum Komprimieren und Dekomprimieren die von vielen Programmen genutzt werden 127 Linux From Scratch Version 6 2 6 25 Autoconf 2 59 Autoconf erstellt Shell Skripte mit denen man Software Pakete automatisch zum Kompilieren einrichten kann Gesch tzte Kompilierzeit less than 0 1 SBU Ungefahr ben tigter Festplattenplatz 7 2 MB 6 25 1 Installation von Autoconf Bereiten Sie Autoconf zum Kompilieren vor configure prefix usr Kompilieren Sie das Paket make Um die Ergebnisse zu pr fen geben Sie make check ein Dies dauert allerdings ungef hr 3 SBUs Au erdem
168. fm801 PCI Ger te mit der Hersteller I D 0x1319 und Ger te ID 0x0801 Der zugeh rige Alias lautet pc1 v00001319d00000801sv sd bc04scO11 F r die meisten Ger te exportiert der Bus Treiber den Alias des notwendigen Treibers nach sysfs So w rde beispielsweise die Datei sys bus pci devices 0000 00 0d 0 modalias den Wert pci v00001319d00000801sv00001319sd00001319bc04sc01100 enthalten Die mit LFS installierten Udev Regeln sorgen daf r dass udevd sbin modprobe mit dem Inhalt der uevent Umgebungsvariable MODALIAS aufruft sie sollte das Gleiche enthalten wie die Datei modalias in sysfs Dadurch werden alle Module aufgerufen deren Alias dem Wert entsprechen In diesem Beispiel bedeutet das aber auch dass zus tzlich zu snd fm801 noch er veraltete und unerw nschte Treiber forte geladen wird sofern er verf gbar ist Weiter unten ist eine M glichkeit beschrieben wie man das Laden unerw nschter Treiber verhindern kann Der Kernel selbst ist ebenfalls in der Lage Module f r Netzwerkprotokolle Dateisystem und NLS nach Bedarf zu laden 7 4 2 5 Der Umgang mit dynamischen bzw Hotplug Ger ten Wenn Sie ein Ger t wie beispielsweise einen USB MP3 Player so erkennt der Kernel ein neu angeschlossenes Ger t und erzeugt einen uevent Um dieses neue uevent k mmert sich dann udevd so wie oben beschrieben 208 Linux From Scratch Version 6 2 7 4 3 Probleme mit dem Laden von Kernelmodulen und dem Erzeugen von Geratedateien
169. fmt cp v src msgfmt tools bin Details zu diesem Paket finden Sie in Abschnitt 6 36 2 Inhalt von Gettext 63 Linux From Scratch Version 6 2 5 21 Grep 2 5 1a Das Paket Grep enth lt Programme zum Durchsuchen von Dateien Gesch tzte Kompilierzeit 0 1 SBU Ungefahr ben tigter Festplattenplatz 4 8 MB 5 21 1 Installation von Grep Bereiten Sie Grep zum Kompilieren vor configure prefix tools disable perl regexp Die Bedeutung des configure Parameters disable perl regexp Dies stellt sicher dass grep nicht gegen die PCRE Bibliothek verlinkt wird Diese Bibliothek K nnte auf dem Host System installiert sein ist aber sp ter in der chroot Umgebung nicht mehr verf gbar Kompilieren Sie das Paket make Um das Ergebnis zu pr fen f hren Siemake check aus Installieren Sie das Paket make install Details zu diesem Paket finden Sie in Abschnitt 6 37 2 Inhalt von Grep 64 Linux From Scratch Version 6 2 5 22 Gzip 1 3 5 Das Paket Gzip enth lt Programme zum Komprimieren und Dekomprimieren von Dateien Gesch tzte Kompilierzeit weniger als 0 1 SBU Ungefahr ben tigter Festplattenplatz 2 2 MB 5 22 1 Installation von Gzip Bereiten Sie Gzip zum Kompilieren vor configure prefix tools Kompilieren Sie das Paket make Dieses Paket enth lt keine Testsuite Installieren Sie das Paket make install Details zu diesem Paket finden Sie in Abschnitt 6 39 2 Inhal
170. fo Testsuite ist abhangig von Findutils Muss installiert werden vor Keine Linux Kernel Installation ist abh ngig von Bash Binutils Coreutils Diffutils Findutils GCC Glibc Grep Gzip Make Module Init Tools Ncurses und Sed Testsuite ist abh ngig von Enth lt keine Testsuite Muss installiert werden vor Keine M4 Installation ist abh ngig von Bash Binutils Coreutils GCC Glibc Grep Make und Sed Testsuite ist abhangig von Diffutils Muss installiert werden vor Autoconf und Bison Man DB Installation ist abh ngig von Bash Berkeley DB Binutils Bzip2 Coreutils Flex GCC Gettext Glibc Grep Groff Gzip Less Make und Sed Testsuite ist abh ngig von Wird nicht ausgef hrt Ben tigt das Testsuite Paket von Man DB Muss installiert werden vor Keine Make Installation ist abh ngig von Bash Binutils Coreutils Diffutils GCC Gettext Glibc Grep Make Sed und Texinfo Testsuite ist abh ngig von Perl Muss installiert werden vor Keine Mktemp Installation ist abh ngig von Bash Binutils Coreutils GCC Glibc Grep Patch und Sed Testsuite ist abh ngig von Enth lt keine Testsuite Muss installiert werden vor Keine 232 Linux From Scratch Version 6 2 Module Init Tools Installation ist abh ngig von Bash Binutils Coreutils GCC Glibc Grep Make Sed und Zlib Testsuite ist abh ngig von File Findutils und Gawk Muss installiert werden vor Keine Ncurses Install
171. gout H ngen Sie die virtuellen Dateisysteme aus umount v LFS dev pts umount v LFS dev shm umount v LFS dev umount v LFS proc umount v LFS sys Und h ngen Sie das LFS Dateisystem aus umount v LFS Falls Sie sich zu Beginn f r mehrere Partitionen entschieden haben m ssen Sie die anderen Partitionen aush ngen bevor Sie die Hauptpartition aush ngen umount v LFS usr umount v LFS home umount v LFS 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 automatisch LFS 6 2 booten Nach dem Neustart ist Ihr LFS System bereit Sie k nnen es nun benutzen und mit der Installation weiterer Software beginnen 238 Linux From Scratch Version 6 2 9 4 Was nun Vielen Dank dass Sie dieses Buch gelesen haben Wir hoffen dass Sie es niitzlich fanden und viel tiber die Installation von Linux gelernt haben Nachdem Sie nun mit der Installation von LFS fertig sind fragen Sie sich vielleicht Was kommt nun Um diese Frage zu beantworten haben wir eine Reihe von Links fiir Sie zusammengestellt Pflege und Wartung F r jede Software werden regelm ig Sicherheitsl cken und Fehler gemeldet Da ein LFS aus den Quellen kompiliert ist liegt es an Ihnen diese Berichte zu verfolgen Es gibt dazu verschiedene Online Ressourcen die Sie sich ansehen k nnen e Freshmeat net http freshmeat
172. gter Festplattenplatz 22 MB 5 14 1 Installation von Bash Die Upstream Entwickler haben seit der ersten Ver ffentlichung von Bash 3 1 viele Fehler behoben Wenden Sie diese Fehlerkorrekturen nun an patch Npl i bash 3 1 fixes 8 patch Bereiten Sie Bash zum Kompilieren vor configure prefix tools without bash malloc Die Bedeutung des configure Parameters without bash malloc Dieser Parameter schaltet Bash s memory allocation malloc Funktion ab sie ist daf r bekannt Speicherzugriffsfehler zu verursachen Durch das Abschalten der Funktion wird Bash die stabilere ma1lloc Funktion von Glibc benutzen Kompilieren Sie das Paket make Zum Testen der Ergebnisse f hren Sie dieses Kommando aus make tests Installieren Sie das Paket make install Und erstellen Sie einen Link f r die Programme die sh als Shell benutzen In vs bash tools bin sh Details zu diesem Paket finden Sie in Abschnitt 6 27 2 Inhalt von Bash 57 Linux From Scratch Version 6 2 5 15 Bzip2 1 0 3 Das Paket Bzip2 enth lt Programme zum Komprimieren und Dekomprimieren von Dateien Bzip2 erreicht vor allem bei Textdateien eine wesentlich bessere Kompressionsrate als das traditionelle gzip Gesch tzte Kompilierzeit weniger als 0 1 SBU Ungefahr ben tigter Festplattenplatz 4 2 MB 5 15 1 Installation von Bzip2 Das Paket Bzip2 enth lt kein configure Skript Kompilieren Sie es einfach make Installieren Sie das Paket
173. hes es aufgerufen hat 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 Zeigt die letzten fehlgeschlagenen Login Versuche die in var log btmp protokolliert wurden Kontrolliert welche anderen Benutzer Nachrichten auf das aktuelle Terminal senden k nnen Pr ft ob der Ordner ein Mountpunkt ist Gibt die PIDs eines Programms aus Weist den Kernel an das System anzuhalten und den Computer auszuschalten Siehe auch die Beschreibung zu halt Weist den Kernel an das System neu zu starten Siehe auch die Beschreibung zu halt Zeigt den vorigen und den aktuellen Runlevel an Die n tigen Informationen werden aus var run utmp gelesen F hrt das System sicher herunter sendet entsprechende Signale an alle Prozesse und benachrichtig alle angemeldeten Benutzer Erm glicht root sich einzuloggen Dies wird normalerweise von init gestartet wenn das System im Einbenutzermodus gestartet wurde Weist init an in den angegebenen Runlevel zu wechseln Zeigt den Inhalt der angegebenen Logindatei in einem benutzerfreundlicheren Format an 183 Linux From Scratch Version 6 2 wall Schreibt eine Nachricht an alle angemeldeten Benutzer 184 Linux From Scratch Version 6 2 6 53 Tar 1 15 1 Das Paket Tar enth lt ein Archivprogramm Gesch tzte Kompilierzeit 0 2 SBU Ungefahr ben tigter Fes
174. hier kompilierten Programme sind schlie lich nur tempor r und sollen nicht mit in unser endg ltiges LFS System einflie en Wichtig Alle Kompilier Anweisungen setzen voraus dass Sie die Bash Shell einsetzen Bevor Sie ein Paket installieren m ssen Sie das jeweilige Tar Archiv bereits als Benutzer 1fs entpackt und mit cd in den entpackten Ordner gewechselt haben Danach k nnen Sie die jeweilige Installationsanleitung durcharbeiten 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 von beiden Machen Sie sich keine Gedanken wenn die Installationsanweisungen f r einen Patch zu fehlen scheinen Au erdem werden Sie manchmal beim Installieren eines Patches Warnungen ber offset 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 auf dem Bildschirm bemerken Das ist normal und kann einfach ignoriert werden Es handelt sich eben nur um Warnungen meistens aufgrund der Verwendung veralteter aber dennoch korrekter 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 Wichtig Solange nichts anderes angegeben wird sollten Sie die Quell un
175. hinzuf gen cat gt gt config h lt lt EOF define HAVE_LANGINFO_CODESET 1 define HAVE_LC_MESSAGES 1 EOF Kompilieren Sie das Paket make Um das Ergebnis zu pr fen f hren Sie make check aus Installieren Sie das Paket make install Details zu diesem Paket finden Sie in Abschnitt 6 35 2 Inhalt von Gawk 62 Linux From Scratch Version 6 2 5 20 Gettext 0 14 5 Gettext wird zur Ubersetzung und Lokalisierung verwendet Programme k nnen mit Unterstiitzung fiir NLS Native Language Support Unterstiitzung fiir die lokale Sprache kompiliert werden Dadurch k nnen Texte und Meldungen in der Sprache des Anwenders ausgegeben werden Gesch tzte Kompilierzeit 0 4 SBU Ungefahr ben tigter Festplattenplatz 43 MB 5 20 1 Installation von Gettext F r die tempor ren Werkzeuge muss nur ein einziges Programm von Gettext erzeugt und installiert werden Bereiten Sie Gettext zum Kompilieren vor cd gettext tools configure prefix tools disable shared Die Bedeutung des configure Parameters disable shared Zu diesem Zeitpunkt m ssen keine gemeinsamen Bibliotheken von Gettext installiert werden daher m ssen sie auch nicht kompiliert werden Kompilieren Sie das Paket make C lib make C src msgfmt Weil nur ein einziges Programm kompiliert wurde kann die Testsuite nicht ausgef hrt werden Daher wird davon abgeraten die Testsuite an diesem Punkt auszuf hren Installieren Sie das Programm msg
176. ht festgelegt ist einen passenden Suchpfad basierend auf den Einstellungen in man conf und der Umgebung des Benutzers an whatis Durchsucht die whatis Datenbank und zeigt eine kurze Beschreibung zu den Systemkommandos an die das bergebene Stichwort als separates Wort enthalten zsoelim Liest Dateien und ersetzt Zeilen der Form so lt Datei gt gt mit dem tats chlichen Inhalt von lt Datei gt 169 Linux From Scratch Version 6 2 6 46 Mktemp 1 5 Das Paket Mktemp enth lt Programme zum sicheren Anlegen tempor rer Dateien aus Shell Skripten heraus Gesch tzte Kompilierzeit weniger als 0 1 SBU Ungef hr ben tigter Festplattenplatz 0 4 MB 6 46 1 Installation von Mktemp Viele Skripte verwenden leider immer noch das missbilligte Programm tempfile das die gleich Funktionalit t hat wie mktemp Patchen Sie mktemp damit es auch einen Wrapper f r tempfile installiert patch Npl i mktemp 1 5 add_tempfile 3 patch Bereiten Sie Mktemp zum Kompilieren vor configure prefix usr with libc Die Bedeutung der configure Parameter with libe Dadurch benutzt mktemp die Funktionen mkstemp und mkdtemp aus der C Bibliothek statt seiner eigenen Version Kompilieren Sie das Paket make Dieses Paket enth lt keine Testsuite Installieren Sie das Paket make install make install tempfile 6 46 2 Inhalt von Mktemp Installierte Programme mktemp und tempfile Kurze Beschreibungen mktemp Erzeugt tempor re Dat
177. ib libncurses w a Verschieben Sie die Bibliotheken in den Ordner lib denn es wird erwartet dass sie sich dort befinden mv v usr lib libncursesw so 5 lib Da die Bibliotheken gerade verschoben wurden zeigt ein symbolischer Links nun ins Leere Erstellen Sie diesen neu In sfv lib libncursesw so 5 usr lib libncursesw so Viele Programme erwarten immer noch vom Linker die nicht Wide Character Bibliotheken von Ncurses aufzufinden Mit symbolischen Links und Linker Skripts k nnen Sie diese Programme austricksen 114 Linux From Scratch Version 6 2 for lib in curses ncurses form panel menu do rm vf usr lib lib lib so echo INPUT 1 lib w gt usr lib lib lib so ln sfv 1ib lib w a usr lib lib lib a done amp amp ln sfv libncurses w a usr lib libncurses a Stellen Sie des Weiteren sicher dass alte Programme die mit lcurses verlinken immer noch kompilierbar sind echo INPUT Incursesw gt usr lib libcursesw so amp amp In sfv libncurses so usr lib libcurses so amp amp In sfv libncursesw a usr lib libcursesw a amp amp In sfv libncurses a usr lib libcurses a Anmerkung Die obigen Kommandos installieren keine nicht Wide Bibliotheken von Ncurses weil kein aus dem Quellcode installierte Paket diese verwenden w rde Wenn Sie allerdings Bin r Programme haben die diese Bibliotheken ben tigen so k nnen die passenden Bibliotheken mit diesen Kommandos insta
178. ie in der Datei README unter der gleichen Adresse 6 57 3 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 Beschreibungen efm_filter pl 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 ex less sh mve awk pltags pl ref rview rvim benutzen zu k nnen Startet vim im ex Modus Ein Skript welches vim mit less vim startet Verarbeitet vim Fehler Erzeugt eine Markup Datei fiir Perl Code die mit vim benutzt werden kann Priift die Schreibweise von Argumenten Eine eingeschr nkte Version von view es gibt keine Shell Kommandos und view kann nicht angehalten werden Eine eingeschr nkte Version von vim es gibt keine Shell Kommandos und vim kann nicht angehalten werden 197 shtags pl tcltags view vi vim vim132 vim2html pl vimdiff vimm vimspell sh vimtutor xxd Linux From Scratch Version 6 2 Erzeugt eine Markup Datei fiir Perl Skripte Erzeugt eine Markup Datei fiir TCL Code Startet vim im Nur lesen Modus Link auf vim Dies ist der Editor Startet vim in einem Terminal mit 132 Spalten Modus Konvertiert V
179. ie meisten anderen Shells zur Verf gung stellt Normalerweise braucht man keine benutzerspezifischen Tastaturmappings daher erzeugt das folgende Kommando nur die globale Konfigurationsdatei etc inputrc Sie wird von jedem Benutzer bzw der Shell bei der Anmeldung eingelesen und verwendet Falls Sie sp ter doch eine benutzerspezifische Konfiguration ben tigen k nnen Sie einfach eine Datei mit dem Namen inputrc im Pers nlichen Ordner des Benutzers erstellen und dort die angepassten Einstellungen eintragen Weitere Informationen zum Anpassen von inputrc erhalten Sie mit info bash im Abschnitt Readline Init File Eine weitere gute Informationsquelle ist info readline Sie sehen hier eine generische globale Version der Datei inputrc Darin finden Sie auch erkl rende Kommentare zu den verschiedenen Optionen Beachten Sie bitte dass sich Kommentare nicht in der gleichen Zeile wie Kommandos befinden d rfen Erstellen Sie die Datei nun mit dem folgenden Befehl cat gt etc inputre lt lt EOF Begin etc inputrc Modified by Chris Lynn lt roryo roryo dynup net gt Allow the command prompt to wrap to the next line set horizontal scroll mode Off Enable 8bit input seu meca itlac on set input meta On a Purns Ofr Sth Olt Srila line set convert meta Off Keep che Sua bie fror Casjollay ser Our oie mewa On none visible or audible ser bell style mom All of the following map th scape sequence of the valu
180. ieren der grundlegenden System Software ucrsusessssesssnsenssnnensnnnennnnnnnnnnnnnnnsnnnansnsnannnn 71 AR n Bu ki 11 6 2 Vorbereiten der virtuellen Kernel Dateisysteme na seien he 78 6 3 Pakelverwallung sedal int 79 6 4 Betreten der chroot Umgebung iS ae 82 6 5 Erstellen der Ordnerstruktur iii iia 83 6 6 Erstellen notwendiger Dateien und symbolischer Verkn pfungen oococnnonccnnonccinnccnonnncn n 84 67 Enux Eibe Heade 2 6 DI a A R E S 86 Go Man pases 2 34 os 87 A aan enable 88 6 10 Erneutes Anpassen der Toolchain rn a een 95 6 11 Bmutis 2 16 1 rue ae a as 97 62 GCC O Re ete ERBEN PR ge a n a e O Pare mnt ee EEE A ee re a A A E 100 6 13 Berkeley DB 44 20 vii taken 104 BAe Orel 5 DI een 106 613 2lana Er 7 TO Dar O 111 SKA E E 112 6 17 BISON 2 nes da 113 6 18 NCURSES a ee EEE 114 9 19 Procps 3 2 6 seele ae ee 117 A 119 6 21 Libt60 1 5 22 it 120 6 22 OR 121 0 23 Readline e en 124 GDA ZN le A O 126 6 25 AUtoconi 2 39 iniii sissi Asu i EEE ESAE iA ESES aaO ER ETNE RAEE 128 6 20 A tomake Iko Oa aac O mols aap E TRER E 130 SI A O 132 0 28 BAD RO A A cc 134 6 29 Diffutils 28 1 anoncan anasinin dina 136 A O 137 SL A ee RR Rede 140 6 32 Findus O N iat 141 6 33 FICK 2 S dd 143 SA GRUB NOT eTe eee A e Ba te eich Be 145 iv Linux From Scratch Version 6 2 Sy GA Ke 3 RR 147 6 36 Gettext O LA A O 149 G31 GPL IA eenen ek RR Bi 151 6 38 GTO A ae ieee ee 152 6 39 GAP tintadas aa 155 CAOS A a io 157
181. ierungen 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 aufgrund der komplexen Zusammenh nge zwischen Code und den Compilerwerkzeugen Beachten Sie auch dass die Optionen march und mtune Schwierigkeiten mit den Paketen der Toolchain verursachen werden Binutils GCC und Glibc Kurz gesagt der potientelle Geschwindigkeitsvorteil wird durch das hohe Risiko aufgehoben Wenn Sie das erste mal ein LFS installieren sollten Sie keine Compiler Optimierungen einsetzen Ihr neues System wird dennoch sehr schnell und gleichzeitig auch noch stabil sein 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 enthalten und nicht mehr funktionieren sobald dieser Ordner entfernt wird Auf jeder Informationsseite finden Sie zu Beginn ein paar allgemeine Informationen zum jeweiligen Paket Eine kurze Beschreibung des Inhalts eine Absch tzung der ben tigten Kompilierzeit und des ben tigten Festplattenspeichers beim Kompilieren Nach den Installationsanweisungen folgt eine Liste der Programm
182. ig von Diffutils und Gawk Muss installiert werden vor E2fsprogs File Libtool und Shadow Shadow Installation ist abh ngig von Bash Binutils Coreutils Diffutils Findutils Gawk GCC Gettext Glibc Grep Make und Sed Testsuite ist abh ngig von Enth lt keine Testsuite Muss installiert werden vor Keine Sysklogd Installation ist abh ngig von Binutils Coreutils GCC Glibc Make und Patch Testsuite ist abh ngig von Enth lt keine Testsuite Muss installiert werden vor Keine Sysvinit Installation ist abh ngig von Binutils Coreutils GCC Glibc Make und Sed Testsuite ist abh ngig von Enth lt keine Testsuite Muss installiert werden vor Keine Tar Installation ist abh ngig von Bash Binutils Bison Coreutils GCC Gettext Glibc Grep Inetutils Make Patch Sed und Texinfo Testsuite ist abh ngig von Diffutils Findutils und Gawk Muss installiert werden vor Keine 254 Linux From Scratch Version 6 2 Tcl Installation ist abhangig von Bash Binutils Coreutils Diffutils GCC Glibc Grep Make und Sed Testsuite ist abh ngig von Keine Muss installiert werden vor Keine Texinfo Installation ist abhangig von Bash Binutils Coreutils GCC Gettext Glibc Grep Make Ncurses Patch und Sed Testsuite ist abh ngig von Keine Muss installiert werden vor Keine Udev Installation ist abh ngig von Binutils Coreutils GCC Glibc und Make Testsuite ist abh ngig von Findutils Pe
183. ige unterst tzende Routinen make C lib Aus diesem Paket m ssen nur wenige Programme kompiliert werden make C mount mount umount make C text utils more Dieses Paket enth lt keine Testsuite Nun kopieren Sie diese Programme in unseren tempor ren Ordner tools cp mount u mount text utils more tools bin Details zu diesem Paket finden Sie in Abschnitt 6 56 3 Inhalt von Util linux 73 Linux From Scratch Version 6 2 5 31 Stripping Die Schritte in diesem Abschnitt sind optional Wenn Ihre LFS Partition sehr klein ist werden Sie froh sein ein paar unn tige Dinge loswerden zu k nnen Die bisher erstellten ausf hrbaren Dateien und Bibliotheken enthalten ungef hr 70 MB nicht ben tigter 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 20 MB Platz zu sparen k nnen Sie die Dokumentation entfernen rm rf tools info man Zum Kompilieren von Glibc ben tigen Sie nun mindestens 850 MB freien Platz in LFS Wenn Sie Glibc kompilieren und installieren k nnen werden Sie mit den restlichen Pa
184. igt einen Hinweis an dass ein Benutzerkonto nicht verfiigbar ist Dies ist als Standard Shell fiir deaktivierte Benutzerkonten gedacht Andert das Passwort fiir einen Benutzer oder eine Gruppe Priift die Integrit t der Passwort Dateien etc passwd und etc shadow Erzeugt oder aktualisiert die Shadow Passwort Datei aus der normalen Passwort Datei Aktualisiert etc passwd aus etc shadow und l scht letztere danach F hrt ein Kommando mit der angegebenen GID aus F hrt eine Shell mit ge nderter Benutzer und Gruppen ID aus Erzeugt einen neuen Benutzer mit dem angegebenen Namen oder aktualisiert die Vorgaben f r neue Benutzer L scht das angegebene Benutzerkonto ndert Loginname UID Shell Gruppe Pers nlichen Ordner und hnliches f r einen Benutzer Kann zum Bearbeiten von etc group oder etc gshadow Dateien benutzt werden Kann zum Bearbeiten von etc passwd oder etc shadow Dateien benutzt werden Enth lt Funktionen die von den meisten der Programme in diesem Paket verwendet werden 179 6 51 Sysklogd 1 4 1 Linux From Scratch Version 6 2 Die in Sysklogd enthaltenen Programme dienen zum Aufzeichnen von Systemmeldungen zum Beispiel denen des Kernels wenn ungewohnliche Ereignisse auftreten Geschatzte Kompilierzeit weniger als 0 1 SBU Ungefahr ben tigter Festplattenplatz 0 6 MB 6 51 1 Installation von Sysklogd Der folgende Patch behebt mehrere Probleme unter anderem auch einen Kompilierfeh
185. iliary programs are missing or incompatible versions msgfmt some features will be disabled xxx 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 msgfmt ist Teil von Gettext welches auf dem Host System installiert sein sollte Wenn msgfmt zwar vorhanden aber vollkommen inkompatibel ist dann sollten Sie das Paket auf dem Host System aktualisieren Oder Sie fahren ohne das Paket fort und schauen ob die Testsuite auch ohne problemlos durchl uft Kompilieren Sie das Paket make Der Kompiliervorgang ist nun abgeschlossen Wie bereits erw hnt wird empfohlen die Testsuite f r das tempor re System in diesem Kapitel nicht durchlaufen zu lassen Falls Sie die Testsuite dennoch ausf hren m chten verwenden Sie daf r dieses Kommando make check Eine Information ber die kritischen Fehler finden Sie im Abschnitt 6 9 Glibc 2 3 6 Die Testsuite von Glibc ist stark von einigen Funktionen Ihres Host Systems abh ngig Glibc Fehler in diesem Kapitel sind normalerweise nicht kritisch Erst in Kapitel 6 wird die endg ltige Glibc installiert dort sollten dann die meisten Tests erfolgreich durchlaufen Allerdings k nnen selbst in Kapitel 6 noch Fehler auftreten zum Beispiel beim math Test Wenn ein Fehler auftritt notieren Sie ihn dann rufen Sie make check erneut auf Die Testsu
186. im Dokumentation zu HyperText Markup Language HTML Editiert zwei oder drei Versionen einer Datei mit vim und zeigt die Unterschiede an Aktiviert das DEC Locator Eingabemodell auf einem entfernten Terminal Untersucht eine Datei und erzeugt die n tigen Syntax Regeln um das Hervorheben der Syntax in vim zu erm glichen Dieses Skript ben tigt das alte Unix Kommando spell welches allerdings weder von LFS noch von BLFS bereitgestellt wird Bringt Ihnen die wichtigsten Tastenbelegungen und Kommandos von vim bei Erzeugt eine Hex Ausgabe einer Datei Das geht auch umgekehrt und kann zum Patchen von Bin rdateien benutzt werden 198 Linux From Scratch Version 6 2 6 58 Informationen zu Debugging Symbolen Die meisten Programme und Bibliotheken werden in der Voreinstellung mit Debugging Symbolen kompiliert mit der Option gee g Wenn Sie ein Programm oder eine Bibliothek debuggen die mit debugging Symbolen kompiliert wurde 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 ert das Programm bzw die Bibliothek deutlich Das folgende Beispiel soll Ihnen einen Eindruck tiber den von Debugging Symbolen ben tigten Speicher geben Eine bash Bin rdatei mit Debugging Symbolen 1200 KB Eine bash Bin rdatei ohne Debugging Symbole 480 KB e Glibe und GCC Dateien 1ib und usr 1ib mit Debugging Symbol
187. in wichtiger Aspekt des Linkers ist seine Suchreihenfolge f r Bibliotheken Genaue Informationen erhalten Sie mit Id und dem Parameter verbose Zum Beispiel ld verbose grep SEARCH gibt die aktuellen Suchpfade und ihre Reihenfolge aus Sie k nnen sehen welche Dateien tats chlich von Id 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 Das n chste zu installierende Paket ist GCC W hrend des Durchlaufs von configure sehen Sie zum Beispiel checking what assembler to use tools 1686 pc linux gnu bin as Checking waat linker CO MS o e O OS Op Os lennx ony bare Das ist aus den oben genannten Griinden wichtig Hier wird auch deutlich dass GCC s configure Skript nicht die PATH Ordner durchsucht um herauszufinden welche Werkzeuge verwendet werden sollen Dennoch werden beim tats chlichen Ausf hren von gee nicht unbedingt die gleichen Suchpfade verwendet Welchen Standard Linker gec wirklich verwendet kann man mittels gcc print prog name 1d herausfinden Detaillierte Informationen erh lt man von gec indem man den Parameter v beim Kompilieren eines Dummy Programmes bergibt gcc v dummy c zum Beispiel gibt Informationen ber den Pr prozessor Komilierungs und Assemblierungsphasen inklusive gec s Suchpfaden und der Reihenfolge aus
188. install Die Bedeutung des make Parameters SCRIPTS Dies verhindert die Installation der mitgelieferten Expect Skripte sie werden hier nicht gebraucht 5 9 2 Inhalt von Expect 49 Linux From Scratch Version 6 2 Installiertes Programm expect Installierte Bibliothek libexpect 5 43 a Kurze Beschreibungen expect Expect Spricht mit anderen interaktiven Programmen Es verwendet daf r ein anpassbares Skript libexpect 5 43 a Enth lt Funktionen mit denen man Expect als TCL Erweiterung oder direkt aus C C ohne TCL nutzen kann 50 Linux From Scratch Version 6 2 5 10 DejaGNU 1 4 4 Das Paket DejaGNU enth lt ein Grundgeriist zum Testen anderer Programme Gesch tzte Kompilierzeit weniger als 0 1 SBU Ungefahr ben tigter Festplattenplatz 6 2 MB 5 10 1 Installation von DejaGNU Bereiten Sie DejaGNU zum Kompilieren vor configure prefix tools Kompilieren und installieren Sie das Paket make install Um das Ergebnis zu pr fen f hren Sie make check aus 5 10 2 Inhalt von DejaGNU Installiertes Programm runtest Kurze Beschreibungen runtest Das Wrapper Skript das die korrekte expect Shell findet und DejaGNU ausf hrt 51 Linux From Scratch Version 6 2 5 11 GCC 4 0 3 Durchlauf 2 Das Paket GCC enth lt die GNU Compiler Sammlung Darin sind die C und C Compiler enthalten Gesch tzte Kompilierzeit 4 2 SBU Ungefahr ben tigter Festplattenplatz 443 MB 5 11 1 Neuin
189. inux From Scratch Version 6 2 Installierte Programme bash bashbug und sh Link auf bash Kurze Beschreibungen bash bashbug sh 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 Ein Shell Skript welches dem Benutzer helfen soll einen Fehlerbericht zur bash in einem standardisierten Format zu erstellen und per E Mail zu versenden 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 nachzuahmen und bleibt dabei trotzdem POSIX Konform 133 Linux From Scratch Version 6 2 6 28 Bzip2 1 0 3 Das Paket Bzip2 enth lt Programme zum Komprimieren und Dekomprimieren von Dateien Bzip2 erreicht vor allem bei Textdateien eine wesentlich bessere Kompressionsrate als das traditionelle gzip Gesch tzte Kompilierzeit weniger als 0 1 SBU Ungefahr ben tigter Festplattenplatz 5 3 MB 6 28 1 Installation von Bzip2 Wenden Sie einen Patch an um auch die Dokumentation zu diesem Paket zu installieren patch Npl i bzip2 1 0 3 install_docs 1 patch Das Programm bzgrep filtert die Buchstaben l und amp in bergebenen Dateinamen nicht aus Dadurch ist es m glich Kommandos mit den Benutzerrechten des Benutzers von bzgrep auszuf hren
190. inux System als Grundlage benutzen um darauf mein angepasstes Linux zu entwickeln Dieses perfekte Linux System sollte die St rken der verschiedenen Distributionen ohne deren Schw chen vereinen Zu Beginn war die Umsetzung der Idee ziemlich entmutigend Aber ich blieb engagiert bei der Sache Ich wollte schlie lich ein Linux System das meinen Anspr chen gerecht wurde anstatt einer Standard Distribution die nicht meinen W nschen entsprach Um das meinen W nschen entsprechende Linux zu erstellen musste ich erstmal viele Probleme mit gegenseitigen Abh ngigkeiten und jede Menge Kompilierfehler beheben Als ich damit fertig war hatte ich jedoch ein voll funktionsf higes und anpassbares Betriebssystem Meine Vorgehensweise erm glicht das Erstellen sehr kompakter Linux Systeme die schneller sind und weniger Speicher verbrauchen als viele herk mmliche Betriebssysteme Ich nannte dieses System Linux From Scratch oder einfach kurz LFS Ich teilte meine Erfahrungen mit anderen Mitgliedern der Linux Gemeinschaft und es stellte sich schnell ein wachsendes Interesse an der Fortsetzung meiner Arbeit mit Linux heraus Selbstgebaute LFS Systeme entsprechen nicht einfach nur Spezifikationen und Anforderungen von Anwendern sondern sind auch eine ideale Lernbasis f r Programmierer und Systemadministratoren mit der man seine Linux Kenntnisse erweitern kann Aus diesem breiten Interesse heraus entstand dann das Projekt Linux From Scratch Das Buch Linu
191. ion 6 2 Die Bedeutung des make Parameters DESTDIR Dies verhindert dass die Installationsroutine von Udev jegliche Instanzen von udevd beendet die m glicherweise auf dem Host System laufen Udev muss vor der ersten Verwendung eingerichtet werden weil die Installationsroutine keinerleit Konfigurationsdateien installiert Installieren Sie also nun die LFS spezifischen Konfigurationsdateien cp v udev config 6 2 0 9 etc udev rules d Installieren Sie die Dokumentation Sie erkl rt unter anderem wie man eigene Udev Regeln schreibt install m644 D v docs writing_udev_rules index html usr share doc udev 096 index html 6 55 2 Inhalt von Udev Installierte Programme ata_id cdrom_id create_floppy_devices edd_id firmware_helper path_id scsi_id udevcontrol udevd udevinfo udevmonitor udevsettle udevtest udevtrigger usb_id vol_id und write_cd_aliases Installierter Ordner etc udev Kurze Beschreibungen ata_id cdrom_id create_floppy_devices edd_id firmware_helper path_id scsi_id udevcontrol udevd udevinfo Stellt Udev eine einmalige Beschreibung und weitere Informationen uuid label f r ein ATA Laufwerk zur Verf gung Stellt Udev die Ger teeigenschaften von CD ROM und DVD ROM Laufwerken zur Verf gung Erstellt alle m glichen Diskettenlaufwerks Ger tedateien basierend auf dem CMOS Typ Stellt Udev die EDD ID f r ein BIOS Laufwerk zur Verf gung L dt Firmware in angesch
192. ipt console wird eine verf gbare Tastaturlayouttabelle automatisch in UTF 8 umwandeln wenn die Variable den Namen der verf gbaren Nicht UTF 8 Tabelle enth lt Beachten Sie aber bitte das weder Tote Tasten z B Accent Buchstabe noch Zusammengesetzte Tasten Strg A E im UTF 8 Modus funktionieren werden wenn nicht der spezielle Kernel Patch eingespielt wird Diese Variable ist nur im UTF 8 Modus n tzlich BROKEN_COMPOSE Setzen Sie diese Variable auf 0 wenn Sie den Kernel Patch aus Kapitel 8 installieren m chten Au erdem m ssen Sie den Zeichensatz angeben den die Compose Regeln Ihrer Tastaturlayouttabelle erwarten Diesen Geben Sie in der FONT Variable hinter dem Parameter m an Diese Variable ist nur im UTF 8 Modus n tzlich Die Unterst tzung f r direkt in den Kernel eingebaute Tastaturlayouttabellen wurde entfernt weil es 212 Linux From Scratch Version 6 2 Berichte ber fehlerhafte Ergebnisse gibt Einige Beispiele e F r eine Nicht Unicode Umgebung werden blicherweise nur die Variablen KEYMAP und FONT ben tigt In Polen w rde man dies verwenden cat gt etc sysconfig console lt lt EOF Begin etc sysconfig console KEYMAP p12 FONT lat2a 16 m 8859 2 End etc sysconfig console EOF e Wie bereits erw hnt muss das vorbereitete Tastaturlayout manchmal ein wenig angepasst werden Im folgenden Beispiel wird das Euro Zeichen zum deutschen Tastaturlayout hinzugefiigt cat gt etc
193. ispiele configure prefix usr Solange nicht anders angegeben muss Text in dieser Textform exakt so eingegeben werden wie er zu sehen ist Diese Darstellung wird auch in den Erkl rungstexten verwendet um sich eindeutig auf bestimmte Kommandos zu beziehen imsvtell imitos unknown option el ii le miae its msie mito clit ie Diese Textform Text mit fester Zeichenbreite stellt Bildschirmausgaben dar Text in dieser Form ist oft die Ausgabe von vorher eingegebenen Kommandos Au erdem wird diese Textform f r Dateinamen wie z B etc ld so conf verwendet Hervorhebung Diese Textform wird fiir verschiedene Zwecke benutzt und soll wichtige Details hervorheben http www linuxfromscratch org Auf diese Weise werden Links dargestellt sowohl innerhalb des Buches als auch zu externen Seiten wie z B HOWTOs Download Adressen und Webseiten cat gt LFS etc group lt lt EOF TOOIE 2530 gt lodare e Le Solche Textabschnitte werden haupts chlich beim Erstellen von Konfigurationsdateien verwendet Der obige Block erzeugt die Datei LFS etc group mit dem nachfolgenden Inhalt bis die Zeichenfolge EOF erkannt wird Normalerweise m ssen Sie Text in dieser Form exakt so eingeben wie er zu sehen ist lt ZU ERSETZENDER TEXT gt Dies ist Text den Sie nicht einfach blindlings abschreiben oder kopieren und einf gen k nnen OPTIONALER TEXT Mit diesen Klammern wird Text markiert der option ist passwd 5 Diese
194. ite 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 protokollieren damit Sie sp ter die Logdatei nach den aufgetretenen Fehlern durchsuchen k nnen Auch wenn es nur eine harmlose Meldung ist die Installationsroutine von Glibc wird sich ber die fehlende Datei tools etc 1d so conf beschweren Beheben Sie diese st rende Warnung mit mkdir v 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 komplexe Konventionen wie zum Beispiel die dort gesprochene Sprache Die Internationalisierung von GNU Programmen funktioniert mit Hilfe der sogenannten Locales Installieren Sie nun die Glibc Locales 43 Linux From Scratch Version 6 2 Anmerkung Wenn Sie wie empfohlen die Testsuite in diesem Kapitel nicht laufen lassen brauchen Sie auch die Locales nicht zu installieren Sie werden sie dann im n chsten Kapitel installieren Um sie dennoch zu installieren benutzen Sie die Anweisungen aus Abschnitt 6 9 Glibc 2 3 6 Details zu diesem Paket finden Sie in Abschnitt 6 9 4 Inhalt von Glibc 44 Linux From Scratch Version 6 2 5 7 Anpassen der Tool
195. iten Loadkeys 1 und setfont 8 und bestimmen Sie die korrekten Parameter zu diesen Programmen Die Datei etc sysconfig console sollte Zeilen in der Form VARIABLE Wert enthalten Die folgenden Variablen sind m glich KEYMAP 2 KEYMAP_CORRECTIONS Diese wenig eingesetzte Variable gibt die Argumente f r den zweiten Aufruf von loadkeys an Sie ist n tzlich wenn die ausgelieferte Tastaturlayouttabelle nicht zufriedenstellend ist und kleinere nderungen daran vorgenommen werden sollen Um z B das Euro Zeichen zu unterst tzen obwohl es normalerweise im Tastaturlayout nicht vorgesehen ist benutzen Sie den Wert euro2 FONT Diese Variable bernimmt die Argumente f r das Programm setfont Dies sind blicherweise der Name der Schrift m und der Name der zu ladenden Kodierung Um beispielsweise die Schrift lat1 16 zusammen mit der Kodierung 8859 1 zu laden setzen Sie diese Variable auf latl 16 m 8859 1 Wenn die Variable nicht gesetzt ist wird das Bootskript setfont nicht ausf hren und die voreingestellte VGA Schrift mit der voreingestellten Kodierung wird geladen UNICODE Setzen Sie diese Variable auf 1 yes oder true um f r die Konsole den UTF 8 Modus zu aktivieren Dies ist nur f r auf UTF 8 basierende Locales sinnvoll und in allen anderen Locales sch dlich LEGACY_CHARSET F r viele Tastaturlayouts gibt es in Kbd keine vorgefertigten Layouttabellen im Unicode Format Das Bootskr
196. k nnte es sogar den negativen Nebeneffekt haben Header Dateien vom Host System in das LFS System einzuschleusen Mit dem folgenden Kommando k nnen Sie das Ausf hren des fixincludes Skriptes verhindern cp v gcc Makefile in orig amp amp sed s fixinc sh c true gcc Makefile in orig gt gcc Makefile in Im Bootstrap Durchlauf aus Abschnitt 5 4 GCC 4 0 3 Durchlauf 1 wurde zum Kompilieren von GCC der Compiler Parameter fomit frame pointer verwendet Der Nicht Bootstrap Durchlauf verwendet diesen Parameter jedoch standardm ig nicht Um die Kompilier Durchl ufe von GCC konsistent zu halten sollten Sie den Parameter f r diesen Durchlauf mit dem folgenden sed Kommando einschalten cp v gcc Makefile in tmp amp amp sed s XCFLAGS amp fomit frame pointer gcc Makefile in tmp gt gcc Makefile in Wenden Sie nun den folgenden Patch an Dadurch wird der Pfad zu GCCs voreingestelltem dynamischen Linker festgelegt blicherweise 1d 1inux so 2 patch Npl i gcc 4 0 3 specs 1 patch 52 Linux From Scratch Version 6 2 Desweiteren entfernt der obige Patch usr include aus dem Include Suchpfad von GCC Das Patchen an dieser Stelle statt des nachtr glichen Anpassens der specs Datei stellt sicher dass beim Kompilieren von GCC der neue dynamische Linker verwendet wird Dies bedeutet dass alle Bin rdateien beim Kompiliervorgang gegen die neue Glibc gelinkt werden Wichtig Diese Patches sind zwinge
197. k auf gcc cpp g gcc gccbug und gcov Installierte Bibliotheken libgcc a libgcc_eh a libgcc_s so libstdc a so und libsupc a Kurze Beschreibungen cc cpp CH g gcc gccbug gcov libgec libstdc libsupc Dies ist der C Compiler Ein C Pr prozessor Er wird vom Compiler benutzt um include define und hnliche Anweisungen im Quellcode durch ihren endg ltigen Code zu ersetzen Dies ist der C Compiler Dies ist der C Compiler Dies ist der C Compiler Ein Shellskript mit dem man niitzliche Fehlerberichte erzeugen kann Ein Werkzeug zum Testen des Deckungsgrades Es wird zum Analysieren von Programmen benutzt um herauszufinden wo Optimierungen den gr ten Effekt zeigen Enth lt Laufzeitunterst tzung f r gcc Die Standard C Bibliothek Stellt Unterst tzungsroutinen f r die Programmiersprache C zur Verf gung 103 Linux From Scratch Version 6 2 6 13 Berkeley DB 4 4 20 Das Paket Berkeley DB enth lt Programme und Werkzeuge die von vielen Anwendungen f r Datenbankbezogene Funktionen verwendet werden Gesch tzte Kompilierzeit 1 2 SBU Ungefahr ben tigter Festplattenplatz 77 MB Weitere Installationsm glichkeiten Das BLFS Buch enth lt eine Anleitung zur Installation dieses Pakets falls Sie einen RPC Server oder andere Sprachbindungen ben tigen Die zus tzlichen Sprachbindungen setzen weitere Pakete voraus Weitere Informationen dazu finden Sie unte
198. keiten fehlen wie zum beispiel durchstreichen oder halbe Zeilen Filtert eine bestimmte Spalte aus Formatiert eine Datei in mehrere Spalten Setzt die Funktion der Tastenkombination Strg Alt Entf auf einen Hart oder Softreset Wurde benutzt um die Parameter der seriellen Schnittstellen auf Cyclade Karten zu ver ndern Gibt das Diskordianische Datum aus oder konvertiert ein Gregorianisches Datum in ein Diskordianisches Zeigt die Bootmeldungen des Kernel an Kann zum Manipulieren der Performance und Interaktivit t von Blockger ten benutzt werden Formatiert eine Diskette low level Beansprucht eine Dateisperrung und f hrt w hrend der Sperrung ein Kommando aus Wird zum Bearbeiten der Partitionstabelle eines Ger tes benutzt F hrt eine Konsistenzpr fung auf einem Cramfs Dateisystem durch F hrt eine Konsistenzpr fung auf einem Minix Dateisystem durch Analysiert die Optionen in der Kommandozeile Zeigt eine Datei hexadezimal oder in einem anderen Format an Wird zum Setzen oder Lesen der Hardware Uhr auch RTC oder BIOS Uhr gennant benutzt 192 ipcrm ipcs isosize line logger look losetup mcookie mkfs mkfs bfs mkfs cramfs mkfs minix mkswap more mount namei pg pivot_root ramsize raw rdev readprofile rename renice rev rootflags script setfdprm setsid setterm sfdisk swapoff swapon Linux From Scratch Version 6 2 Entfernt die angegebene IPC Ressource Inter Process Communicati
199. keten keine Platzprobleme bekommen 74 Linux From Scratch Version 6 2 5 32 Andern des Besitzers Anmerkung F r den Rest des Buches sollten Sie als Benutzer root arbeiten und nicht als 1 s An dieser Stelle sollten Sie au erdem nochmals berpr fen ob LF S korrekt eingestellt ist Im Augenblick geh rt der Ordner LFS tools dem Benutzer 1fs Dieser existiert aber nur auf dem Host System Wenn Sie den Ordner LFS tools in seinem jetzigen Zustand behalten geh ren die Dateien einer Benutzer ID zu der es kein Benutzerkonto gibt Das ist gef hrlich denn ein sp ter erstelltes Konto k nnte genau diese ID erhalten und w re damit der Besitzer von SLFS tools und aller darin enthaltenen Dateien Dieser Benutzer k nnte alle Dateien unbemerkt manipulieren Um dieses Problem zu vermeiden k nnen Sie Ihrem LFS System den Benutzer 1fs sp ter beim Erzeugen der etc passwd hinzuf gen und ihm die gleiche Benutzer ID und Gruppen ID wie auf Ihrem Host System geben Besser ist es jedoch jetzt den Benutzer root zum Besitzer des Ordners machen Benutzen Sie dazu dieses Kommando chown R root root SLFS tools Auch wenn Sie SLFS tools nach Fertigstellung dieses LFS l chen k nnen entscheiden Sie sich vielleicht den Ordner dennoch aufzuheben Dies kann z B sinnvoll sein um weitere LFS Systeme der selben Buchversion zu installieren Wie Sie am besten eine Sicherungskopie von LFS tools erstellen ist Ihnen als lehrreiches Experiment selber
200. kger te von den Skripten gestartet und gestoppt werden h ngt von den Dateien und Ordnern in etc sysconfig network devices ab Dieser Ordner sollte pro Netzwerkger t einen Unterordner in der Form ifconfig xyz enthalten wobei xyz der Name des Netzwerkger tes ist zum Beispiel ethO oder eth0 1 Das folgende Kommando erzeugt die Beispieldate ipv4 f r eth0 cd etc sysconfig network devices amp amp mkdir v ifconfig eth0 amp amp cat gt ifconfig eth0 ipv4 lt lt EOF ONBOOT yes SERVICE ipv4 static IP 1L92 10 1 1 GATEWAY 192 168 1 2 PREFIX 24 BROADCAST 192 168 1 255 EOF Nat rlich m ssen die Werte der Variablen in jeder Datei angepasst werden um mit Ihrer 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 legt fest wie die IP Adresse vergeben wird Die LFS Bootskripte sind in Bezug auf IP Adressen Zuordnung 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 eine IP Adresse ber DHCP zu beziehen dies wird im BLFS Buch beschrieben 226 Linux From Scratch Version 6 2 Die Variable GATEWAY sol
201. ktemp_command yes gcc gccbug in Die Dokumentation zu GCC empfiehlt GCC au erhalb des Quellordners zu kompilieren mkdir v gcc build cd gec build Bereiten Sie GCC zum Kompilieren vor gec 4 0 3 configure prefix usr libexecdir usr lib enable shared enable threads posix enable _cxa_atexit enable clocale gnu enable languages c c Kompilieren Sie das Paket make 100 Linux From Scratch Version 6 2 Wichtig In diesem Abschnitt wird die Testsuite als absolut kritisch betrachtet Sie sollten diesen Schritt unter keinen Umst nden berspringen Testen Sie die Ergebnisse aber halten Sie bei Fehlern nicht an make k check Um eine Zusammenfassung der Testergebnisse zu sehen verwenden Sie dieses Kommando gec 4 0 3 contrib test_summary Wenn Sie nur die Zusammenfassungen sehen m chten pipen Sie die Ausgabe durch grep A7 Summ Sie k nnen die Ergebnisse mit denen unter http www linuxfromscratch org lfs build logs 6 2 vergleichen Ein paar unerwartete Fehler lassen sich oftmals nicht vermeiden Die Entwickler von GCC kennen diese blicherweise bereits hatten aber noch keine Zeit diese Fehler zu beheben Insbesondere die libmudflap Tests sind aufgrund eines Fehlers ins GCC anfallig http gcc gnu org bugzilla show_bug cgi id 20003 Kurz gesagt solange Ihre Testergebnisse nicht grob von denen unter der obigen URL abweichen k nnen Sie beruhigt fortfahren Installieren Sie
202. leichen man wei nie genau was man isst LFS auf der anderen Seite w re nicht der Burger sondern vielmehr das Rezept Man kann das Rezept berpr fen ungewollte Zutaten weglassen und eigene Zutaten nach Geschmack und Belieben hinzuf gen Wenn man zufrieden ist bereitet man es zu Und auch hier kann man variieren braten backen tiefgefrieren grillen oder roh essen ganz wie man will Es gibt noch weitere Analogien Vergleichen Sie LFS z B mit einem Fertighaus LFS w re in dem Fall der Plan f r den Grundriss aber bauen m ssen Sie das Haus selber Jeder kann den Plan ganz nach Belieben ndern Nicht zuletzt ist auch Sicherheit ein Vorteil eines selbstgebauten Linux Systems Wer ein Linux System selber aus den Quellen kompiliert kann s mtliche Quelltexte sichten und alle f r wichtig erachteten Sicherheitspatches installieren Man muss nicht warten bis jemand anders Bin rpakete zur Behebung von Sicherheitsl chern bereitstellt Solange Sie die Patches nicht selber pr fen und installieren ist auch nicht sichergestellt dass das Bin rpaket korrekt kompiliert wurde und dass es das Problem auch wirklich behebt Das erkl rte Ziel von Linux From Scratch ist 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 HOWTO From Power Up To Bash Prompt Sie bekommen es unter http axiom anu edu au okeefe p2b oder auf de
203. ler von Sysklogd mit Kerneln der 2 6er Serie patch Npl i sysklogd 1 4 1 fixes 1 patch Der folgende Patch sorgt daf r dass sysklogd die Bytes im Bereich 0x80 bis Ox9f in einem Protokolleintrag literal gespeichert werden anstatt sie durch ihre Oktalcodes zu ersetzen Ohne diesen Patch wiirde sysklogd Protokolleintr ge unleserlich machen patch Npl i sysklogd 1 4 1 8bit 1 patch Kompilieren Sie das Paket make Dieses Paket enth lt keine Testsuite Installieren Sie das Paket make install 6 51 2 Einrichtung von Sysklogd Erstellen Sie nun die Konfigurationsdatei etc syslog conf cat gt etc syslog conf lt lt EOF Begia fete syslog conr auth authpriv var log auth log 5 auch auulehoieiw none weie log sys log daemon var log daemon log kern var log kern log meal var log maLl log user var log user Log emerg End etc syslog conf EOF 180 Linux From Scratch Version 6 2 6 51 3 Inhalt von Sysklogd Installierte Programme klogd und syslogd Kurze Beschreibungen klogd Ein System Daemon zum Abfangen und Protokollieren von Kernel Meldungen syslogd Protokolliert Meldungen die von Systemprogrammen zum Protokollieren angeboten werden Jede Meldung enth lt zumindest einen Datumsstempel und den Hostnamen und blicherweise auch den Namen des Programms Dies ist aber davon abh ngig wie vertrauensselig der Daemon eingestellt wurde 181
204. lfs view svn postlfs editors html dort finden Sie einige Installationshinweise 6 57 1 Installation von Vim Entpacken Sie zuerst beide Archivdateien vim 7 0 tar bz2 und optional vim 7 0 lang tar gz in den gleichen Ordner Dann behebn Sie mit dem folgenden Patch einige Fehler die von den Entwicklern seit der letzten ver ffentlichten Version von Vim 7 0 gefunden haben patch Npl i vim 7 0 fixes 7 patch Diese Version von Vim installiert einige bersetzte Hilfeseiten und kopiert sie in einen Ordner der nicht von Man DB durchsucht wird Patchen Sie Vim deshalb so dass die Hilfeseiten in durchsuchte Ordner installiert werden und in das gew nschte Format umgewandelt werden k nnen patch Npl i vim 7 0 mandir 1 patch Durch einen der Upstream Patches gibt es ein Problem mit dem Herunterladen der Sprachdateien mittels HTTP Solange die Entwickler dieses Problem nicht behoben haben hilft dieser Patch weiter patch Npl i vim 7 0 spellfile 1 patch ndern Sie schlussendlich noch den Speicherort f r die Konfigurationsdatei vimrc nach etc echo define SYS VIMRC FILE etc vimrc gt gt src feature h Bereiten Sie Vim zum Kompilieren vor configure prefix usr enable multibyte Die Bedeutung der configure Parameter enable multibyte Dieser Parameter schaltet die Unterst tzung zum Editieren von Dateien mit Multibyte Zeichenkodierung ein Das wird ben tigt wenn Sie ein Locale mit Multibyte Zeichensatz v
205. lib ld linux so 2 durch tools lib Id linux so 2 Danach sollten Sie die specs Datei iiberpriifen und sicherstellen dass alle gewollten Anderungen durchgefiihrt wurden Wichtig Wenn Sie auf einer Plattform arbeiten bei der der Name des dynamischen Linkers nicht 1d linux so 2 lautet m ssen Sie nat rlich statt ld linux so 2 den korrekten Namen des Linkers f r Ihre Plattform einsetzen Falls n tig schauen Sie nochmal im Abschnitt Abschnitt 5 2 Technische Anmerkungen zur Toolchain nach W hrend dem Installationsvorgang durchsucht GCCs fixincludes Skript Ihr System nach m glicherweise zu reparierenden Header Dateien sie k nnten z B Syntaxfehler enthalten und kopiert die reparierten Dateien dann in einen privaten Include Ordner Dabei kann es vorkommen dass das Skript einige Header Dateien von Ihrem Host System repariert und diese dann in den privaten GCC Include Ordner kopiert Weil Sie im Rest dieses Kapitels wirklich nur auf die Header Dateien von GCC und Glibc angewiesen sind und diese bereits installiert sind k nnen alle reparierten Header Dateien problemlos gel scht werden Dadurch verhindern Sie dass Header Dateien von Ihrem Host System Einfluss auf das neue LFS System nehmen k nnen F hren Sie bitte das folgende Kommando aus um die Header Dateien in GCCs privatem Include Ordner zu l schen GCC_INCLUDEDIR dirname gcc print libgcc file name include amp amp find GCC_INCLUDEDIR
206. lich 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 Durch das Voranstellen von tools bin an die Umgebungsvariable PATH werden alle in Kapitel 5 installierten Programme beim Durchsuchen der Pfade als erstes gefunden und von der Shell sofort benutzt Zusammen mit dem Abschalten der Hash Funktion der Bash wird so das Risiko minimiert dass eventuell alte Programme vom Host System benutzt werden obwohl schon eine neuere Version aus Kapitel 5 auf dem 28 Linux From Scratch Version 6 2 System existiert 29 Linux From Scratch Version 6 2 Um die Arbeitsumgebung endgiiltig fertig zu stellen muss das soeben erzeugte Profil eingelesen werden source bash_profile 30 Linux From Scratch Version 6 2 4 5 Informationen zu SBUs Die meisten Leser m chten gerne vorher wissen wie lange das Kompilieren und Installieren der Pakete dauert Linux From Scratch wird aber auf so unterschiedlichen Systemen gebaut dass es unm glich ist echte auch nur
207. liert Weil das LFS Buch dieses Vorwissen als absolutes Minimum voraussetzt werden Sie in den verschiedenen LFS Support Foren h chstwahrscheinlich keine Hilfe bekommen wenn Sie Fragen ohne das notwendige Basiswissen stellen M glicherweise bleiben Ihre Fragen einfach nur unbeantwortet oder man verweist Sie auf diesen Text Bevor Sie ein LFS System erstellen lesen Sie bitte die folgenden HOWTOs e Software Building HOWTO http www tldp org HOWTO Software Building HOWTO html Das Software Building HOWTO ist ein umfangreiches Handbuch zum Erstellen und Installieren allgemeiner UNIX Software unter Linux e The Linux Users Guide http www linuxhq com guides LUG guide html Dieses Handbuch erkl rt die Verwendung ausgew hlter Linux Software e The Essential Pre Reading Hint http www linuxfromscratch org hints downloads files essential_prereading t Dies ist eine LFS Anleitung die speziell fiir neue Linux Anwender geschrieben wurde Sie enth lt 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 Linux From Scratch Version 6 2 4 Mindestanforderungen an das Host System Ihr Host System sollte ber die folgende Software mit den angegebenen Minimalversionen verf gen F r die meisten modernen Linux Distributionen sollte dies kein Problem darstellen Bitte beachten Sie allerdings dass die meisten Di
208. liert werden vor Keine Diffutils Installation ist abh ngig von Bash Binutils Coreutils Diffutils GCC Gettext Glibc Grep Make Patch Sed und Texinfo Testsuite ist abh ngig von Enth lt keine Testsuite Muss installiert werden vor Keine 248 Linux From Scratch Version 6 2 Expect Installation ist abhangig von Bash Binutils Coreutils Diffutils GCC Glibc Grep Make Patch Sed und Tcl Testsuite ist abhangig von Keine Muss installiert werden vor Keine E2fsprogs Installation ist abh ngig von Bash Binutils Coreutils Gawk GCC Gettext Glibc Grep Gzip Make Sed und Texinfo Testsuite ist abhangig von Diffutils Muss installiert werden vor Util Linux File Installation ist abh ngig von Bash Binutils Coreutils Diffutils Gawk GCC Glibc Grep Make Sed und Zlib Testsuite ist abh ngig von Enth lt keine Testsuite Muss installiert werden vor Keine Findutils Installation ist abh ngig von Bash Binutils Coreutils GCC Gettext Glibc Grep Make Sed und Texinfo Testsuite ist abh ngig von DejaGNU Diffutils und Expect Muss installiert werden vor Keine Flex Installation ist abh ngig von Bash Binutils Coreutils GCC Gettext Glibc Grep M4 Make Patch Sed und Texinfo Testsuite ist abh ngig von Bison und Gawk Muss installiert werden vor IPRoute2 Kbd und Man DB Gawk Installation ist abh ngig von Bash Binutils Coreutils GCC Gettext Glibc Gr
209. liotheken die in usr liegen und verwendet eine Datenbank in var lib arpd arpd db Nach FHS muss es aber in usr sbin liegen also verschieben Sie es mv v sbin arpd usr sbin 6 41 2 Inhalt von IPRoute2 Installierte Programme arpd ctstat Link auf Instat ifcfg ifstat ip Instat nstat routef routel rtacct rtmon rtpr rtstat Link auf Instat ss und tc Kurze Beschreibungen arpd Ein Userspace ARP Daemon Er ist in sehr gro en Netzwerken n tzlich wenn der Kernel ARP Daemon nicht ausreicht oder wenn man einen Honeypot f r Sicherheitszwecke einrichten m chte ctstat Ein Werkzeug fiir den Verbindungsstatus ifefg Ein Shell Skript Wrapper f r ip ifstat Zeigt Schnittstellenstatistiken an inklusive der Menge der gesendeten und empfangenen Pakete pro Schnittstelle ip Dies ist die eigentliche ausf hrbare Datei Sie hat viele Funktionen ip link lt Ger t gt zeigt den Ger testatus an und erm glicht nderungen an den Einstellungen 159 Instat nstat routef routel rtacct rtmon rtpr rtstat ss te Linux From Scratch Version 6 2 ip addr zeigt Adressen und ihre Eigenschaften an fiigt neue Adressen hinzu und l scht alte ip neighbor zeigt Bindungen und Eigenschaften von benachbarten Ger ten an fiigt neue Nachbarger tebindungen hinzu und l scht alte ip rule zeigt Routingregeln an und bearbeitet sie ip route erm glicht das Anzeigen und ndern von Routingtabellen ip tunnel zeigt IP T
210. lliert werden installi make distclean amp amp configure prefix usr with shared without normal without debug without cxx binding amp amp make sources libs amp amp cp av lib lib so 5 usr lib 6 18 2 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 libcursesw a so symlink und das Linker Skript zu libncursesw a so libformw a so libmenuw a so libncurses w a libncursesw a so libpanelw a so und ihre Nicht Wide Character Gegenst cke ohne w im Namen der Bibliothek Kurze Beschreibungen 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 tic 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 115 toe tput tset libcurses libncurses libform libm
211. lossene Ger te Stellt den k rzesten einmaligen Pfad zu einer Hardware zur Verf gung Stellt Udev einen einmaligen SCSI Bezeichner zur Verf gung Dieser basiert auf dem R ckgabewert einer SCSI INQUIRY Anfrage an das angegebene Ger t Stellt einige Parameter zum Ausf hren des udevd Daemon ein Dazu geh rt z B die Protokollierstufe Dieser Daemon wacht ber uevents an einem netlink Socket erzeugt Ger te Dateien und f hrt bestimmte externe Programme als Reaktion auf diese uevents aus Erm glicht Anwendern die Udev Datenbank nach Informationen ber die zur Zeit verf gbare Ger te im System abzufragen Es stellt au erdem eine M glichkeit dar jedes Ger t im sysfs Dateisystem abzufragen um beim Erzeugen von udev Regeln behilflich zu sein 189 udevmonitor udevsettle udevtest udevtrigger usb_id vol_id etc udev Linux From Scratch Version 6 2 Zeigt die vom Kernel erhaltenen Ereignisse und die von Udev erzeugte Reaktion darauf an nachdem eine Regel abgearbeitet wurde Uberwacht die Warteschlange der Udev Ereignisse und beendet sich wenn alle wartenden Ereignisse abgearbeitet wurden Simuliert ein Udev Ereignis fir das angegebene Ger t und gibt den Namen der Ger tedatei oder der Netzwerkschnittstelle aus die ein echter udev Aufruf f r dieses Ger t erzeugt h tte Sorgt f r eine Wiederholung der Kernel Ger te Ereignisse Stellt Udev Informationen zu USB Ger ten zur Verf gung Stellt Udev label un
212. lt 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 wirken f hrt aber zu unserem Ziel einer absolut reinen Arbeitsumgebung Die neue Instanz der Shell ist eine Nicht Login Shell diese liest weder etc profile noch bash_profile ein Stattdessen liest sie die Datei bashrc erstellen Sie sie nun cat gt bashrc lt lt EOF set h umask 022 MES AS LC_ALL POSIX ERE os ns o SOSE US LO ALL PAPE EOF Das Kommando set h schaltet die Hash Funktion der bash ab Normalerweise ist das sogenannte Hashing der Bash eine n tzliche Funktion Bash benutzt eine Hash Tabelle um sich die Pfade zu ausf hrbaren Dateien zu merken und vermeidet auf diese Weise ein st ndiges Durchsuchen aller Ordner Beim Bau von LFS m ssen Sie jedoch 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 umask auf 022 bewirkt dass neu erzeugte Dateien nur durch ihren Besitzer beschreibbar sind aber f r alle anderen les und ausf hrbar wenn der Systemaufruf open 2 die blichen Datei Modi benutzt werden alle neu erzeugten Dateien die Rechte 644 und Ordner die Rechte 755 erhalten Die Variable LFS sollte nat r
213. lte die IP Adresse Ihres Standard Gateways enthalten Wenn Sie kein Standard Gateway haben setzen Sie ein Kommentarzeichen vor die Zeile PREFIX muss die Anzahl der verwendeten Bits in der Netzwerkmaske enthalten Jedes Oktett hat acht Bit Wenn die Netzwerkmaske 255 255 255 0 lautet dann werden die ersten drei Oktette benutzt 3x8 24 Bit um das Netzwerk zu bezeichnen 255 255 255 240 benutzt die ersten 28 Bit Prefixe mit mehr als 24 Bit werden h ufig von DSL und Kabelbasierten Internet Dienstleistern ISP verwendet In diesem Beispiel PREFIX 24 ist die Netzwerkmaske 255 255 255 0 Passen Sie sie Ihrem Subnetz entsprechend an 7 13 3 Erstellen der Datei etc resolv conf Wenn Sie mit dem Internet verbunden sind brauchen Sie h chstwahrscheinlich DNS Namensaufl sung um Internet 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 domain lt Ihr Dom nenname gt nameserver lt IP Adresse des prim ren Nameservers gt nameserver lt IP Adresse des sekund ren Nameservers gt End ete resolv cont EOF Nat rlich m ssen Sie lt IP Adresse des prim ren Nameservers gt durch die echte IP Adresse Ihres prim ren DNS Servers ersetzen Oftmals gibt es mehr als
214. mmierer sinnvoll die an den Kompilierwerkzeugen arbeiten 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 Zeigt Informationen ber Bin rdateien vom Typ ELF an Listet die Abschnitts und Gesamtgr e f r eine Objektdatei auf Gibt f r jede angegebene Datei die druckbaren Zeichenketten aus die eine festgelegte 98 strip libiberty libbfd libopcodes Linux From Scratch Version 6 2 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 Entfernt bestimmte Symbole aus Objektdateien z B Debugging Symbole Enth lt Routinen die von verschiedenen GNU Programmen genutzt werden inklusive getopt obstack strerror strtol und strtoul Die Bibliothek f r Bin rdateibezeichner Eine Bibliothek zur Behandlung von Obcodes Sie wird zum Erzeugen von Werkzeugen wie z B objdump benutzt Obcodes sind die lesbaren Versionen der Prozessorinstruktionen 99 Linux From Scratch Version 6 2 6 12 GCC 4 0 3 Das Paket GCC enth lt die GNU Compiler Sammlung Darin sind die C und C Compiler enthalten Gesch tzte Kompilierzeit 22 SBU inkl Testsuite Ungefahr ben tigter Festplattenplatz 566 MB inkl Testsuite 6 12 1
215. n grep H sys class net address Geben Sie jeder Netzwerkkarte au er dem Loopback Ger t einen beschreibenden Namen Beispiel realtek und erzeugen Udev Regeln wie folgt cat gt etc udev rules d 26 network rules lt lt EOF ACTION acle SUBSYSTEM net SYvSirSilackdicess O00ce0s4ecd2e34c56 NAME realtek ACTION add SUBSYSTEHME nec SYSTS aderess 00 203090 782300 N NAME intel EOF Anmerkung Die Beispiele in diesem Buch funktionieren korrekt Beachten Sie aber bitte dass udev den linksgerichteten Schr gstrich nicht als Zeilenfortsetzung interpretiert Wenn Sie udev Regeln anpassen dann muss jede Regel in einer einzigen physikalischen Zeile stehen Wenn Sie die Bus Position als Schliissel verwenden m chten erstellen Sie eine Udev Regel wie folgt cat gt etc udev rules d 26 network rules lt lt EOF ACTION add SUBSYSTEM net BUS pci ID 0000 00 0c 0 NAME realtek ACTION add SUBSYSTEM net BUS pci ID 0000 00 0d 0 NAME intel EOF 225 Linux From Scratch Version 6 2 Diese Regeln werden die Netzwerkkarten immer zu realtek und intel umbenennen unabh ngig von der urspr nglichen Nummerierung des Kernels Die urspr nglichen Ger tenamen ethO und ethl existieren also nicht mehr es sei denn Sie vergeben einen solchen beschreibenden Namen im Schl sselwort NAME ein Benutzen Sie zur Einrichtung des Netzw
216. n Konvertiert h C Header Dateien zu Perl Erweiterungen Ein Shell Skript f r den Umgang mit den installierten Perl Module es kann sogar ein Tar Archiv aus einem installierten Modul erzeugen Kann zum Einrichten von 1ibnet benutzt werden Kombiniert viele der besten Eigenschaften von C sed awk und sh in einer einzigen universell einsetzbaren Sprache Perl wird auch als das Schweitzer Taschenmesser f r Programmier bezeichnet Ein harter Link auf perl Wird zum Erzeugen und Emailen von Fehlerberichten zu Perl oder seinen Modulen verwendet Erzeugt ausf hrbare Dateien aus Perl Programmen Zeigt Teile einer Dokumentation im pod Format an Die Perl Installations Pr fprozedur Damit wird gepr ft ob Perl und seine Bibliotheken korrekt installiert wurden Die Perl Version des Zeichensatz Konverters iconv Ein Werkzeug zum groben Umwandeln von Perl4 p1 Dateien in Perl5 pm Module Konvertiert pod Dateien in das HTML Format Konvertiert pod Dateien zu LaTeX Konvertiert pod Daten zu formatierter roff Eingabe Konvertiert pod Daten in formatierten ASCII Text Gibt Benutzungshinweise aus eingebetteten pod Dokumenten in Dateien aus Pr ft die Syntax von pod Dokumentationsdateien 122 podselect psed pstruct s2p splain xsubpp Linux From Scratch Version 6 2 Zeigt ausgew hlte Abschnitte einer pod Dokumentation an Die Perl Version des Stream Editors sed Gibt C Strukturen aus die von cc g S erzeugt wurden
217. n um sicherzustellen dass GCC sich selbst problemlos kompilieren konnte Das bedeutet normalerweise dass alles korrekt verlaufen ist 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 Au erdem 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 39 Linux From Scratch Version 6 2 Installieren Sie das Paket make install Zum Abschluss erstellen Sie noch einen symbolischen Link Viele Programme rufen das Programm cc anstelle von gec auf Dadurch werden Programme generisch gehalten und sind auf verschiedenen Unix Systemen lauff hig Denn 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 vs gcc tools bin cc Details zu diesem Paket finden Sie in Abschnitt 6 12 2 Inhalt von GCC 40 Linux From Scratch Version 6 2 5 5 Linux Libc Header 2 6 12 0 Das Paket Linux Libc Header enth lt die bereinigten Header Dateien des Linux Kernels Gesch tzte Kompilierzeit weniger als 0 1 SBU Ungefahr ben tigter Festplattenplatz 27 MB 5 5 1 Installation von Linux Libc Header Uber Jahre hinweg wa
218. n Datenbank Dateien auf eine neuere Berkeley DB Version verwendet Wird zum Durchf hren von Konsistenzpr fungen von Datenbank Dateien verwendet Enth lt Funktionen zum Manipulieren von Datenbank Dateien aus C Programmen heraus Enth lt Funktionen zum Manipulieren von Datenbank Dateien aus C Programmen heraus 105 Linux From Scratch Version 6 2 6 14 Coreutils 5 96 Das Paket Coreutils enthalt viele Shell Werkzeuge zum Einstellen der grundlegenden Systemeigenschaften Gesch tzte Kompilierzeit 1 1 SBU Ungefahr ben tigter Festplattenplatz 58 3 MB 6 14 1 Installation von Coreutils Die Funktion von uname ist bekannterweise ein wenig fehlerhaft weil der Parameter p immer unknown ausgibt Der folgende Patch behebt das Problem auf Intel Architekturen patch Npl i coreutils 5 96 uname 1 patch Normalerweise w rde Coreutils einige Programme installieren die sp ter von anderen Paketen bereitgestellt werden sollen Verhinden Sie die Installation dieser Programme mit diesem Patch patch Npl i coreutils 5 96 suppress_uptime_kill_su 1 patch Von POSIX wird verlangt dass die Programme von Coreutils Zeichengrenzen auch in Multibyte Locales erkennen Der folgende Patch behebt einige diesbez gliche Fehler patch Npl i coreutils 5 96 i18n 1 patch Damit die vom Patch hinzugef gten Tests erfolgreich durchlaufen k nnen m ssen die Zugriffsrechte f r die Testdatei ge ndert werden chmod x tests sort sort mb
219. n Sie ihn in die Umgebungsvariable LFS ein Dazu k nnen Sie diesen Befehl verwenden export LFS mnt lfs Als n chstes erzeugen Sie den Ordner den Sie als Mountpunkt gew hlt haben und h ngen das LFS Dateisystem ein mkdir pv LFS mount v t ext3 dev lt xxx gt LFS Bitte setzen Sie statt lt xxx gt die Bezeichnung der LFS Partition ein Falls Sie sich f r mehrere LFS Partitionen entschieden haben z B eine f r und eine andere f r usr dann gehen Sie f r die restlichen Partitionen gleicherma en vor mkdir pv LFS mount v t ext3 dev lt xxx gt LFS mkdir v LFS usr mount v t ext3 dev lt yyy gt LFS usr Nat rlich m ssen Sie auch hier wieder f r lt xxx gt und lt yyy gt die korrekten Bezeichnungen einsetzen Die Zugriffsrechte f r die neue Partition sollten nicht zu restriktiv sein wie zum Beispiel mit den Optionen nosuid nodev oder noatime Rufen Sie mount ohne Parameter auf damit Sie sehen mit welchen Optionen Ihre LFS Dateisysteme eingeh ngt wurden Wenn Optionen wie nosuid nodev oder noatime aktiviert sind m ssen Sie die Partition erneut einh ngen und diese Optionen weglassen Wenn Sie eine swap Partition verwenden stellen Sie bitte sicher dass diese mittels swapon aktiviert ist sbin swapon v dev lt zzz gt Bitte setzen Sie statt lt xxx gt die Bezeichnung der Swap Partition ein Jetzt haben Sie gen gend Platz zum Arbeiten geschaffen und k nnen mit dem Herunt
220. n fiir das Tastaturlayout und entsprechende Werkzeuge dazu Gesch tzte Kompilierzeit weniger als 0 1 SBU Ungefahr ben tigter Festplattenplatz 12 3 MB 6 42 1 Installation von Kbd Das Verhalten der Tasten Backspace und Entfernen ist in den Tastaturlayouttabellen von Kbd nicht einheitlich geregelt Der folgende Patch behebt das Problem fiir die 1386 Tabellen patch Npl i kbd 1 12 backspace 1 patch Nach diesem Patch erzeugt die Backspace Taste das Zeichen mit dem Code 127 und die Entfernen Taste eine bekannte Escape Sequenz Patchen Sie Kbd um einen Fehler in setfont zu beheben Dieser Fehler tritt nur beim Kompilieren mit GCC 4 0 3 auf patch Npl i kbd 1 12 gcc4_fixes 1 patch Bereiten Sie Kbd zum Kompilieren vor configure datadir lib kbd Die Bedeutung der configure Parameter datadir lib kbd Durch diesen Parameter werden die Daten zu Tastaturlayouts in einem Ordner abgelegt der sich immer auf der root Partition befindet anstelle der Voreinstellung usr share kbd Kompilieren Sie das Paket make Dieses Paket enth lt keine Testsuite Installieren Sie das Paket make install Anmerkung F r einige Sprachen z B Belarussisch h lt Kbd keine n tzliche Tastaturlayouttabelle vor in der die Tabelle by ISO 8859 5 annimmt aber CP1251 verwendet wird Benutzer solcher Sprachen sollten sich eine funktionierende Tastaturlayouttabelle herunterladen 161 Linux From Scratch Version 6 2 Einig
221. n in der richtigen Reihenfolge und mit den richtigen Optionen aufruft 154 Linux From Scratch Version 6 2 6 39 Gzip 1 3 5 Das Paket Gzip enthalt Programme zum Komprimieren und Dekomprimieren von Dateien Gesch tzte Kompilierzeit weniger als 0 1 SBU Ungefahr ben tigter Festplattenplatz 2 2 MB 6 39 1 Installation von Gzip Gzip hat zwei bekannte Sicherheitsm ngel Der folgende Patch behebt beide Probleme patch Npl i gzip 1 3 5 security fixes 1 patch Bereiten Sie Gzip zum Kompilieren vor configure prefix usr Das Skript gzexe hat den Pfad zu gzip fest eingebaut Da diese Datei im nachhinein verschoben wird miissen Sie mit dem folgenden Kommando sicherstellen dass der korrekte Pfad in das Skript geschrieben wird sed i s BINDIR bin g gzexe in Kompilieren Sie das Paket make Dieses Paket enth lt keine Testsuite Installieren Sie das Paket make install Verschieben Sie die Datei gzip nach bin und erzeugen Sie ein paar tibliche Links dorthin mv v usr bin gzip bin rm v usr bin gunzip zcat In sv gzip bin gunzip In sv gzip bin zcat In sv gzip bin compress In sv gunzip bin uncompress 6 39 2 Inhalt von Gzip Installierte Programme compress Link auf gzip 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 Beschreibungen compress Komprimiert und Dekomprimiert Dat
222. n kompilierten Kernel Es ist sinnvoll diese Datei aufzubewahren cp v config boot config 2 6 16 27 Installieren Sie die Dokumentation zum Linux Kernel install d usr share doc linux 2 6 16 27 amp amp cp r Documentation usr share doc linux 2 6 16 27 Beachten Sie bitte dass die Dateien im Kernel Quellordner nicht root geh ren Immer wenn Sie ein Paket als root Benutzer entpacken so wie Sie 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 Quellordner nach der Installation l schen Aber die Linux Quellen 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 h tte dann auch Schreibrechte darauf Wenn Sie die Kernelquellen aufbewahren m chten sollten Sie chown R 0 0 auf den Ordner linux 2 6 16 27 anwenden So stellen Sie sicher dass alle Dateien dem Benutzer root geh ren Warnung Einige Kerneldokumentationen empfehlen das Erzeugen eines Links von usr src linux auf den Ordner mit den Kernelquellen Dies bezieht sich aber nur auf Kernel vor der 2 6er Serie zu und darf nicht in einem LFS System angewendet werden Es verursacht Probleme beim Kompilieren von Paketen die Sie vielleicht im Nachhinein noch inst
223. n zum boot loading auf anderen Architekturen finden Sie in den blichen Dokumentationsquellen zu diesen Architekturen Booten kann ein sehr 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 Den Grub Bootloader haben Sie bereits installiert Jetzt m ssen ein paar Grub Dateien an spezielle Orte auf der Festplatte kopiert werden Bevor Sie das tun sollten Sie eine Boot Diskette mit Grub 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 Starten Sie nun die grub Shell grub Grub verwendet zur Benennung von Festplatten und Partitionen ein eigenes Schema der Form hdn m wobei n die Nummer der Festplatte und m die Nummer der Partition ist Beide Werte beginnen bei Null Das bedeutet dass zum Beispiel die Partition hdal fiir 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 hab haben und eine zw
224. n zur Einrichtung der systemweiten Authentifizierungseinstellungen Installieren Sie diese beiden Konfigurationsdateien cp v etc limits login access etc Sie sollten die voreingestellte crypt Methode auf MDS ndern welche sicherer ist Au erdem erm glicht sie Passw rter mit mehr als 8 Zeichen Desweiteren m ssen Sie den alten Standort der Benutzermailboxen von var spool mail nach var mail ndern Das erledigen Sie einfach indem Sie die Konfigurationsdatei gleich beim Kopieren an die richtige Stelle ndern benutzen Sie am besten Kopieren und Einf gen um diesen Befehl auszuf hren sed e s MD5_CRYPT_ENAB no MD5_CRYPT_ENAB yes e s var spool mail var mail etc login defs gt etc login defs Anmerkung Wenn Sie Shadow mit Unterst tzung f r Cracklib installieren dann geben Sie das folgende sed Kommando ein sed i s DICTPATH DICTPATH t lib cracklib pw_dict etc login defs Verschieben Sie ein Programm an die korrekte Stelle mv v usr bin passwd bin Verschieben Sie Shadow s Bibliotheken an eine bessere Stelle mv v lib libshadow a usr lib rm v lib libshadow so In sfv lib libshadow so 0 usr lib libshadow so Die Option D zu useradd ben tigt zur korrekten Funktion diesen Ordner mkdir v etc default 6 50 2 Einrichten von Shadow Dieses Paket enth lt Werkzeuge zum Bearbeiten Hinzuf gen und L schen von Benutzerpassw rtern Wir werden hier nicht erl utern was gen
225. national Organization for Standardization ISP Internet Service Provider KB Kilobytes LED Light Emitting Diode LFS Linux From Scratch LSB Linux Standard Base MB Megabytes MBR Master Boot Record MDS5 Message Digest 5 NIC Network Interface Card NLS Native Language Support NNTP Network News Transport Protocol NPTL Native POSIX Threading Library OSS Open Sound System PCH Pre Compiled Headers PCRE Perl Compatible Regular Expression PID Process Identifier PLFS Pure Linux From Scratch PTY pseudo terminal QA Quality Assurance QOS Quality Of Service RAM Random Access Memory RPC Remote Procedure Call RTC Real Time Clock SBU Standard Build Unit 242 SCO SGR SHA1 SMP TLDP TFTP TLS UID umask USB UTC UUID vc VGA VT The Santa Cruz Operation Select Graphic Rendition Secure Hash Algorithm 1 Symmetric Multi Processor Das Linux Documentation Project Trivial File Transfer Protocol Thread Local Storage User Identifier user file creation mask Universal Serial Bus Coordinated Universal Time Universally Unique Identifier Virtual Console Video Graphics Array Virtual Terminal 243 Linux From Scratch Version 6 2 Linux From Scratch Version 6 2 Anhang B Danksagungen Wir m chten uns bei allen nachfolgenden Personen und Organisationen f r ihr Mitwirken und die Beitr ge zu Linux From Scratch bedanken e Gerard Beekmans lt gerard linuxfromscratch org gt Gr nder von Linux From Scratch LF
226. nde Voraussetzung f r einen erfolgreichen Gesamtdurchlauf Vergessen Sie nicht sie zu installieren Erstellen Sie erneut einen eigenen Ordner zum Kompilieren mkdir v gcc build cd gec build Denken Sie daran vor dem Kompilieren von GCC alle Umgebungsvariablen zur ckzusetzen die die Standard Optimierungen berschreiben w rden Bereiten Sie GCC zum Kompilieren vor gec 4 0 3 configure prefix tools with local prefix tools enable clocale gnu enable shared enable threads posix enable _cxa_atexit enable languages c c disable libstdcxx pch Die Bedeutung der neuen Parameter zu configure enable clocale gnu Dieser Parameter 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 enable threads posix Das schaltet die Behandlung von C Exceptions f r Code mit Threads ein enable __cxa_atexit Dieser Parameter erm glicht die Verwendung von __cxa_atexit anstelle von atexit um C Destruktoren f r lokale Statics und globale Objekte zu registrieren Au erdem ist die Option f r eine vollst ndig standardkonforme Behandlung von Destruktoren erforderlich Das beeinflusst au
227. nderprozesse zu exportieren Mit dieser aus der Anwenderschicht sichtbaren Repr sentation des Betriebssystems kam ein Ersatz f r devfs in Sichtweite 7 4 2 Udev Implementierung 7 4 2 1 Sysfs Das Dateisystem sysfs wurde oben schon kurz erw hnt Man fragt sich vielleicht woher sysfs von den Ger ten und den zu verwendenden Ger tenummern wei Treiber die direkt in den Kernel integriert wurden registrieren sich bei sysfs sobald sie vom Kernel erkannt werden Bei Kernel Modulen geschieht dieser Vorgang beim Laden des Moduls Sobald sysfs in das System eingeh ngt ist unter sys sind die Daten von den mit sys s registrierten Treibern f r Prozesse aus der Anwenderschicht und damit auch f r udev verf gbar 207 Linux From Scratch Version 6 2 7 4 2 2 Das Udev Bootskript Das Bootskript S10udev k mmert sich um das Erstellen von Ger tedateien beim Systemstart Das Skript entfernt sbin hotplug als Verantwortliches Skript fiir uevents weil der Kernel kein externes Programm mehr ben tigt Stattdessen wartet udevd an einem Netlink Socket auf uevents des Kernels Als n chstes kopiert das Bootskript statische Ger tedateien von 1ib udev devices nach dev Dies ist wichtig weil einige Ger tedateien Ordner und symbolische Links beim Bootvorgang ben tigt werden bevor die dynamische Ger teerstellung von Udev betriebsbereit ist Durch Einrichten von statischen Ger tedateien in lib udev devices kann man auch Ger tedateien unterst
228. ndes ERS Bemilzens au ee ee 27 4 4 Vorbereiten der Arbeitsumgebung ococccnonccnonoconononcnonnnononanonnnnnconnnncnnnnncnnnnnconnnn none cnn nc cnnnnncnns 28 43 Inlormalionen Zu A ae en coloso 31 4 6 ber die Es 32 de Erstellen emes tempor ren Systems ea ea ee a ae ee ea 33 ATA asentada cdas 33 5 2 Technische Anmerkungen zur Toolchain 0 ccscecseessectseecesscecorsecerseccensencentescesteccenseree 34 5 3 Binutils 2 16 1 D rchlauf 1 unitat rrinin osiin i ei isi es 37 54 GCC4 0 3 Durchlauf T yes a kl 39 30 Einux Libe Header 26 7 Osn ad stated RI 41 DONIC ON 42 5 7 Anpassen der Toolehain viviana siccci vicves ance sesedusnsine essen 45 A A A oe 47 DD Expect rr inte A o EE o ASS 49 310 D CIN DE e a A 51 JA BECAS Durchlauf 2 u Ai a S A S A EAE ES 52 5 12 Binulils 2 16 12 Durcal io S 55 A A IS N nee 56 SAd RL N 57 515 BAP2L LD 58 3 10 rl A ne Ten oe A ee eee 59 iii Linux From Scratch Version 6 2 Del FWP SB asics yt A A ashes ous gO iS 60 3 18 AS A nenne RETTEN 61 519 GAWKHS ALS ans ke le 62 320 Gettext o is 63 AN OO 64 De o nenn nee 65 5 23 MAR LAA nennen use ica 66 A 380 ai 67 3 23 Patch A n e A E ON 68 D26 dadas 69 AS 70 Fal st La Rm ae On NS me aE ee BORN EER E ee 71 5 29 TEXNO A S 2 en en gins e ead A east ait egal eignen 12 A 2 Pre i a aKa a de nen 73 3 31 SUMP PUI u a lb 74 5 32 Andern des Besilzersensnts ses ie ee esse 75 UT Installation des ERS System na en 76 6 Install
229. ndlich nicht so viel Speicher Der gr te Teil wird als tempor rer Speicher ben tigt Das Kompilieren von Paketen kann eine Menge Festplattenplatz in Anspruch nehmen der aber nach dem Kompiliervorgang wieder freigegeben wird Manchmal ist zu wenig Random Access Memory RAM Arbeitsspeicher verfiigbar daher sollte man eine kleine Partition als Swap Partition einrichten das ist Speicherplatz den der Kernel zum Auslagern selten genutzter Daten verwendet 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 schon eine funktionsfahige Swap Partition haben miissen Sie keine zus tzliche 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 Integrated Drive Electronics IDE Festplatte Erstellen Sie eine native Linux Partition und eine Swap Partition falls n tig Bitte lesen Sie die Man Page zu cfdisk oder fdisk wenn Ihnen die Bedienung dieser Programme unklar ist 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 Sie werden sie sp ter in die Datei
230. nf 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 112 Linux From Scratch Version 6 2 6 17 Bison 2 2 Mit Bison lassen sich Programme generieren die die Struktur einer Textdatei analysieren Gesch tzte Kompilierzeit 0 6 SBU Ungefahr ben tigter Festplattenplatz 11 9 MB 6 17 1 Installation von Bison Bereiten Sie Bison zum Kompilieren vor configure prefix usr Das configure System bereitet Bison ohne Unterst tzung f r internationalisierte Fehlermeldungen vor wenn das Programm bison nicht bereits in PATH gefunden wird Durch den folgenden Zusatz wird dies korrigiert echo define YYENABLE_NLS 1 gt gt config h Kompilieren Sie das Paket make Um das Ergebnis zu pr fen f hren Siemake check aus Installieren Sie das Paket make install 6 17 2 Inhalt von Bison Installierte Programme bison und yacc Installierte Bibliothek liby a Kurze Beschreibungen bison Erzeugt aus einer Reihe von Regeln ein Programm zum Analysieren der Struktur von Textdateien Bison ist ein Ersatz f r yacc Yet Another Compiler Compiler yacc Ein Wrapper zu bison Er wird benutzt weil immer noch viele Programm yacc anstelle von bison aufrufen Bison wird dann mit der Option y aufgerufen liby a Die Yacc Bibliothek die
231. nfigure prefix usr sysconfdir etc Die Bedeutung der configure Parameter sysconfdir etc Dieser Parameter bewirkt dass die in diesem Paket installierten Programme ihre Konfigurationsdateien in etc suchen Kompilieren Sie das Paket make Dieses Paket enth lt keine Testsuite Installieren Sie das Paket make install 6 43 2 Inhalt von Less Installierte Programme less lessecho und lesskey Kurze Beschreibungen less Ein Dateibetrachter Er zeigt den Inhalt einer Datei an und erm glicht darin zu bl ttern nach Zeichenketten zu suchen und zu Markierungen springen lessecho Wird zum Expandieren von Metazeichen in Unix Dateinamen ben tigt z B und lesskey Wird zum Festlegen der Tastenbelegung f r less verwendet 164 Linux From Scratch Version 6 2 6 44 Make 3 80 Das Paket Make enth lt Werkzeuge zum Kompilieren von Software Gesch tzte Kompilierzeit 0 1 SBU Ungefahr ben tigter Festplattenplatz 7 8 MB 6 44 1 Installation von Make Bereiten Sie Make zum Kompilieren vor configure prefix usr Kompilieren Sie das Paket make Um das Ergebnis zu pr fen f hren Siemake check aus Installieren Sie das Paket make install 6 44 2 Inhalt von Make Installiertes Programm make Kurze Beschreibungen make Erkennt automatisch welche Teile eines gro en Programms neu kompiliert werden m ssen und f hrt automatisch die notwendigen Kommandos aus 165 Linux From Scratch Ver
232. nnss 223 713 Einrichten des network Skripts ei 225 8 Das LFS System bootf hig machen su 228 8 1 Pink hnung toscas 228 8 2 Erstellen der Datei eteilstab u 2 44 s2s2uAs bli si 229 Br LinuX A Re 231 8 4 Das LES System bootf hig machen unsunteaesunenst sn seadbeaesona saint 234 o I 2 T E A A E E E 236 9 1 Erde anne E E E A 236 9 2 Lassen Siesich Zahlen ia ia 237 9 3 N starten d s Systems a nt Rense eisen 238 9 4 WaS MU dt does 239 IV Anh nge aii ii 240 Au sAktonymeund Beste a NN eum ee 241 Linux From Scratch Version 6 2 Ng Danksarungen Sos Rn Des auras one 244 U ADAM A O 247 Stichwortyerzeichnis ii ii 256 vi Linux From Scratch Version 6 2 Einleitung 1 Vorwort Meine Abenteuer mit Linux begannen 1998 mit dem Herunterladen und Installieren meiner ersten Distribution Nach einer Weile fielen mir einige Dinge auf die ich gerne verbessern wollte Zum Beispiel gefielen mir weder die Zusammenstellung der Bootskripte noch die Voreinstellungen vieler Programme Ich probierte ein paar alternative Distributionen aus aber alle hatten neben den Vorteilen auch Nachteile Schlussendlich wurde mir klar das ich mein eigenes Linux von Grund auf selbst erstellen musste um wirklich zufrieden zu sein Im einzelnen bedeutete dies nun dass ich keinerlei vorkompilierte Pakete CD Roms oder Bootdisketten jeglicher Art fiir die Installation der grundlegenden Werkzeuge verwenden wiirde Ich wollte mein bereits laufendes L
233. nomen kann man f r alle Ger te au er Sound und Netzwerkkarten mittels Udev Regeln und symbolischen Links l sen Wie man dies mit Netzwerkkarten l st steht in Abschnitt 7 13 Einrichten des network Skripts beschrieben und die Anleitung f r Soundkarten finden Sie in BLFS Sie sollten f r jedes der m glicherweise problematischen Ger te selbst wenn das Problem mit Ihrer bisherigen Linux Distribution nicht auftritt den passenden Ordner unter sys class oder sys block suchen Videoger te finden Sie unter sys class video4linux videoX Finden Sie die Attribute die das Ger t unverwechselbar erkennbar machen blicherweise Hersteller und Produkt IDs und oder Seriennummern udevinfo a p sys class video4linux video0 Schreiben Sie nun die passenden Regel zum Erzeugen der symbolischen Links cat gt etc udev rules d 83 duplicate_devs rules lt lt EOF Persistent symlinks for webcam and tuner KERNEL yide SST Sel roma 19LOW SYS ESI dendo r Tode IT Y SYMLINK webcam KERNEL yido t SyvrSirS cewicel Ox03s6r SvSirS yemclor OxilOVe N SYMLINK tvtuner EOF Als Ergebnis erhalten Sie immer noch die Ger tedateien dev video0 und dev videol die jeweils unterschiedliche Ger te meinen k nnen und deshalb nicht direkt angesprochen werden sollten Zus tzlich erhalten Sie aber auch die symbolischen Links dev tvtuner und dev webcam und diese zeigen immer auf das richtige Ger t Weitere Info
234. ns lt lt EOF bin sh e FROM S1 TO S2 Si 2 SALIE while S gt 0 do BAAR SSR shift igoay E VSFROMU e STO VSPTILEV gt cm Lean My otos Leon VETLEN done EOF install m755 convert mans usr bin Weitere Informationen zur Kompression von Man und Info pages erhalten Sie im BLFS Buch unter http www linuxfromscratch org blfs view cvs postlfs compressdoc html 6 45 2 Nicht Englische Hilfeseiten in LFS Die Linux Distributionen speichern die Hilfeseiten in unterschiedlichen Formaten ab RedHat beispielsweise verwendet UTF 8 Debian setzt sprachspezifische 8 Bit Kodierungen ein Das f r leider zu Inkompatibilit ten von Hilfeseiten die f r unterschiedliche Distributionen gedacht sind LFS setzt auf die gleichen Konventionen wie Debian Das liegt daran dass Man DB nichts mit Hilfeseiten in UTF 8 anfangen kann Des Weiteren ist Man DB f r unsere Zwecke dem herk mmlichen Man vorzuziehen weil es ohne weitere Einrichtung f r jede Locale funktioniert und nicht zuletzt weil es derzeit keine voll funktionsf hige Implementierung der RedHat Konvention gibt RedHats groff formatiert bekannterma en Text falsch Weiter unten wird der Zusammenhang zwischen Sprachcodes und der erwarteten Kodierung einer Hilfeseite aufgelistet Man DB wandelt sie automatisch f r die Darstellung in die richtige Locale um Tabelle 6 1 Erwartete Zeichenkodierung f r Hilfeseiten 167
235. nscht Nehmen Sie bitte zwei Anderungen vor eine f r den Pers nlichen Ordner von root und eine weitere an den Ordnern f r tempor re Dateien Die erste Rechte nderung bewirkt dass nicht jeder den Ordner root betreten darf das gleiche w rde ein normaler Benutzer mit seinem Pers nlichen Ordner auch tun 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 1 in der Bit Maske 1777 6 5 1 Anmerkung zur FHS Konformit t Unsere Ordnerstruktur basiert auf dem FHS Standard siehe http www pathname com fhs Desweiteren erzeugen wir aus Kompatibilit tsgr nden symbolische Verkn pfungen f r die Ordner man doc und info Viele Programm versuchen leider immer noch ihre Dokumentation nach usr lt ordner gt oder usr local lt ordner gt anstelle von usr share lt ordner gt bzw usr local share lt ordner gt zu installieren Zus tzlich zu den oben erstellten Ordnern sieht der FHS Standard auch das Vorhandensein von usr local games und usr share games vor Zur Struktur in usr local share macht FHS keine pr zisen Angaben daher haben wir nur die Ordner erstellt die wir f r n tig halten 83 Linux From Scratch Version 6 2 6 6 Erstellen notwendiger Dateien und symbolischer Verknupfungen Einige Programme haben fest eingestellte Pfade zu Programm
236. nter http www tldp org 239 Linux From Scratch Version 6 2 Teil IV Anhange Linux From Scratch Version 6 2 Anhang A Akronyme und Begriffe ABI Application Binary Interface ALFS Automated Linux From Scratch ALSA Advanced Linux Sound Architecture API Application Programming Interface ASCII American Standard Code for Information Interchange BIOS Basic Input Output System BLFS Beyond Linux From Scratch BSD Berkeley Software Distribution chroot change root CMOS Complementary Metal Oxide Semiconductor COS Class Of Service CPU Central Processing Unit CRC Cyclic Redundancy Check CVS Concurrent Versions System DHCP Dynamic Host Configuration Protocol DNS Domain Name Service EGA Enhanced Graphics Adapter ELF Executable and Linkable Format EOF End of File EQN equation EVMS Enterprise Volume Management System ext2 second extended file system ext3 third extended file system FAQ Frequently Asked Questions FHS Filesystem Hierarchy Standard FIFO First In First Out FQDN Fully Qualified Domain Name FTP File Transfer Protocol GB Gibabytes GCC GNU Compiler Collection GID Group Identifier 241 Linux From Scratch Version 6 2 GMT Greenwich Mean Time GPG GNU Privacy Guard HTML Hypertext Markup Language IDE Integrated Drive Electronics IEEE Institute of Electrical and Electronic Engineers IO Input Output IP Internet Protocol IPC Inter Process Communication IRC Internet Relay Chat ISO Inter
237. o Kurze Beschreibungen bunzip2 bzcat bzcmp bzdiff bzgrep bzegrep bzfgrep bzip2 bzip2recover bzless bzmore libbz2 Dekomprimiert bzip2 Dateien Dekomprimiert zur Standardausgabe F hrt cmp auf bzip2 Dateien aus Fuhrt diff auf bzip2 Dateien aus F hrt grep auf bzip2 Dateien aus Fiihrt egrep auf bzip2 Dateien aus Fiihrt fgrep auf bzip2 Dateien aus Komprimiert Dateien mit dem blocksortierenden Burrows Wheeler Textkompressionsalgorythmus und Huffman Kodierung Die Kompressionsrate ist merkbar besser als die von herk mmlichen Kompressoren mit LZ77 LZ78 wie zum Beispiel gzip Versucht Daten aus besch digten bzip2 Dateien zu reparieren F hrt less auf bzip2 Dateien aus F hrt more auf bzip2 Dateien aus Die Bibliothek die verlustlose blocksortierende Datenkompression mit Hilfe des Burrows Wheeler Algorythmus implementiert 135 Linux From Scratch Version 6 2 6 29 Diffutils 2 8 1 Die Programme dieses Pakets k nnen Unterschiede zwischen Dateien oder Ordnern anzeigen Gesch tzte Kompilierzeit 0 1 SBU Ungefahr ben tigter Festplattenplatz 6 3 MB 6 29 1 Installation von Diffutils Nach POSIX muss diff mit wei en Leerzeichen Locale spezifisch umgehen Der folgende Patch behebt die Inkompatibilit t zu dieser Regel patch Npl i diffutils 2 8 1 i18n 1 patch Der obige Patch hat den Nebeneffekt dass die Man page diff 1 mit dem fehlenden Programm help2man neu erzeugt werden wiirde Dies ergibt ein
238. o oder so hnlich aus acceamoc Lo open Lilo Lillos so 6 succeeded Und zum Schluss kontrollieren Sie noch ob GCC den richtigen dynamischen Linker benutzt grep found dummy log Wenn alles korrekt funktioniert sollten keine Fehler auftreten und die Ausgabe des letzten Kommandos ist toune longer Li le Llinuz 30 2 Wenn Sie eine andere oder berhaupt keine Ausgabe erhalten ist etwas ernsthaft schiefgelaufen Sie m ssen das berpr fen und alle bisherigen 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 v dummy c a out dummy log 96 Linux From Scratch Version 6 2 6 11 Binutils 2 16 1 Binutils ist eine Sammlung von Software Entwicklungswerkzeugen Dazu geh ren zum Beispiel Linker Assembler und weitere Programme fiir die Arbeit mit Objektdateien Gesch tzte Kompilierzeit 1 5 SBU inkl Testsuite Ungef hr ben tigter Festplattenplatz 172 MB inkl Testsuite 6 11 1 Installation von Binutils Jetzt ist ein guter Zeitpunkt um sicherzustellen dass die Pseudo Terminals PTYs in Ihrer chroot Umgebung funktionieren Mit dem folgenden schnellen Test sehen Sie ob alles korrekt eingerichtet ist expect c spawn 1s Falls die folgende Meldung erschein
239. om db 4 4 20 tar gz MDS5 Priifsumme d844ff288a19186b136b0daf7067ade3 e Binutils 2 16 1 12 256 KB Webseite http sources redhat com binutils Download http ftp gnu org gnu binutils binutils 2 16 1 tar bz2 MDS5 Pr fsumme 6a9d4529 efb285071dad10e1f3d2b2967 e Bison 2 2 1 052 KB Webseite http www gnu org software bison Download http ftp gnu org gnu bison bison 2 2 tar bz2 MDS5 Pr fsumme e345a5d021db850f06ce49eba78af027 e Bzip2 1 0 3 654 KB Webseite http www bzip org Download http www bzip org 1 0 3 bzip2 1 0 3 tar gz MD5S Priifsumme 8a716bebecb6e647d2e8a2 ea5d8447f e Coreutils 5 96 4 948 KB Webseite http www gnu org software coreutils Download http ftp gnu org gnu coreutils coreutils 5 96 tar bz2 MDS5 Pr fsumme b 55d069d82128fd754a090ce8b5acff 14 Linux From Scratch Version 6 2 Linux From Scratch Version 6 2 DejaGNU 1 4 4 1 056 KB Webseite http www gnu org software dejagnu Download http ftp gnu org gnu dejagnu dejagnu 1 4 4 tar gz MD5S Priifsumme 053 18f fd5d00873de365413cab17a666 e Diffutils 2 8 1 762 KB Webseite http www gnu org software diffutils Download http ftp gnu org gnu diffutils diffutils 2 8 1 tar gz MD5S Priifsumme 71f9c5ae19b60608f6c7f162da86a428 e E2fsprogs 1 39 3 616 KB Webseite http e2fsprogs sourceforge net Download http prdownloads sourceforge net e2fsprogs e2fsprogs 1 39 tar gz download MD5S Priif
240. on Gibt IPC Status Informationen aus Gibt die Gr e eines iso9660 Dateisystems aus Kopiert eine einzelne Zeile Gibt eine Nachricht in das Logsystem ein Sucht nach Zeilen die mit einer bestimmten Zeichenkette beginnen und zeigt sie an Konfiguriert und kontrolliert Loopback Ger te Erzeugt magische Cookies hexadezimale 128 bit Zufallszahlen f r xauth Erzeugt ein Dateisystem auf einem Ger t blicherweise einer Festplattenpartition Erzeugt ein SCO bfs Dateisystem Santa Cruz Operations Erzeugt ein cramfs Dateisystem Erzeugt ein Minix Dateisystem Initialisiert ein Ger t oder eine Datei als Auslagerungsbereich Ein Filter zum seitenweisen Anzeigen von Text Less ist jedoch besser H ngt das auf dem Ger t vorhandene Dateisystem in einem Ordner ein Zeigt die symbolischen Links in Pfadnamen an Zeigt eine Textdatei seitenweise an Macht ein Dateisystem zu dem neuen root Dateisystem f r den aktuellen Prozess Kann zum Setzen der Gr e einer RAM Disk in einem bootbaren Abbild benutzt werden Bindet ein zeichenorientiertes Linux raw Ger t an ein Blockger t Kann in einem bootf higen Abbild das root Ger t abfragen und festlegen Liest Profiling Informationen aus dem Kernel Benennt eine Datei um und ersetzt ein Zeichenkette durch eine andere Ver ndert die Priorit t eines Prozesses Dreht die Zeilen einer Datei um Kann die root Parameter eines bootf higen Abbildes festlegen Erstellt eine Abschrift eine
241. on Ihrer Distribution die Kategorie Entwicklung ausgew hlt haben Falls Sie nur wegen LFS kein neues Host System installieren m chten dann sollten Sie die Linux From Scratch Live CD verwenden Die CD enth lt ein voll funktionsfahiges Host System mit allen notwendigen Werkzeugen fiir eine erfolgreiche Installation Zudem enth lt sie auch alle Quellpakete Patches und eine Online Version dieses Buches Wenn Sie die CD verwenden brauchen Sie auch keine Netzwerkverbindung weil nichts mehr heruntergeladen werden muss Weitere Informationen zu der CD finden Sie unter http www linuxfromscratch org livecd Dort k nnen Sie auch eine Kopie der CD herunterladen Kapitel 2 beschreibt das Anlegen einer neuen Linux Partition und eines Dateisystems auf dem Ihr neues LFS System kompiliert und installiert wird In Kapitel 3 erfahren Sie welche Pakete und Patches Sie herunterladen miissen Kapitel 4 erkl rt das Einrichten einer funktionsfahigen Arbeitsumgebung fiir die kommenden Arbeitsschritte Bitte lesen Sie Kapitel 4 aufmerksam durch Es behandelt ein paar m gliche Schwierigkeiten die Ihnen vor der Arbeit mit Kapitel 5 und den folgenden bekannt sein sollten Kapitel 5 beschreibt dann die Installation der Pakete f r die grundlegende Entwicklungsumgebung im weiteren Verlauf des Buches Toolchain genannt Die Toolchain ist eine Sammlung der n tigsten Werkzeuge und wird sp ter in Kapitel 6 verwendet um das endg ltige System zu erstellen Einige di
242. oreinstellung wird die Dokumentation zu Vim in usr share vim installiert Durch den folgenden symbolischen Link wird sie unter usr share doc vim 7 0 verf gbar und ist damit konsistent mit der Dokumentation anderer Pakete In sv vim vim70 doc usr share doc vim 7 0 Falls Sie sp ter ein X Window System auf Ihrem LFS installieren m chten sollten Sie nach der Installation von X Ihren Vim erneut installieren Vim bringt eine grafische Oberfl che mit die allerdings X und ein paar weitere Bibliotheken voraussetzt Weitere Informationen finden Sie in der Dokumentation zu Vim und im BLFS Buch unter http www linuxfromscratch org blfs view svn postlfs editors html postlfs editors vim 6 57 2 Einrichten von Vim In der Voreinstellung l uft vim im vi inkompatiblen Modus Das ist wahrscheinlich neu f r Leute die in der Vergangenheit andere Editoren verwendet haben Die Einstellung nocompatible ist dennoch unten aufgef hrt um daran zu erinnern dass das neue Verhalten benutzt wird Wenn Sie zum vi kompatiblen Modus wechseln m chten sollte compatible im Kopfbereich der Datei stehen Das ist n tig weil diese Option viele Voreinstellungen f r Parameter vornimmt Ihre eigenen nderungen an diesen Parametern m ssen danach erfolgen weil sie sonst von compatible zur ckgesetzt w rden Erzeugen Sie eine Standard vim Konfigurationsdatei mit diesem Kommando cat gt etc vimre lt lt EOF Begin etc vimrc set nocompatibl
243. platz 514 MB 5 4 1 Installation von GCC Die Dokumentation zu GCC empfiehlt GCC au erhalb des Quellordners zu kompilieren mkdir v gcc build cd gcc build Bereiten Sie GCC zum Kompilieren vor gec 4 0 3 configure prefix tools with local prefix tools disable nls enable shared enable languages c Die Bedeutung der configure Parameter with local prefix tools Der Sinn dieses Parameters ist es usr local include aus dem Suchpfad von gee zu entfernen Dies ist nicht absolut zwingend erforderlich jedoch sollen m gliche Einfl sse aus dem Host System vermieden werden daher ist dieser Parameter hier durchaus empfehlenswert enable shared Dieser Parameter erm glicht das Kompilieren von libgec_s so 1 und libgcc_eh a Die alleinige Existenz von 1ibgcc_eh a stellt sicher dass das configure Skript f r Glibc das n chste zu kompilierende Paket korrekte Ergebnisse erzielt enable languages c Dieser Parameter stellt sicher dass nur der C Compiler erzeugt wird Fahren Sie mit dem Kompilieren des Pakets fort make bootstrap Die Bedeutung des make Parameters bootstrap Dieses make Target kompiliert GCC nicht einfach nur sondern kompiliert gleich mehrmals GCC benutzt die im ersten Durchlauf erzeugten Programme um sich damit im zweiten Durchlauf selbst zu kompilieren Darauf folgt der dritte Kompiliervorgang Abschlie end werden die Ergebnisse des zweiten und dritten Kompiliervorgangs vergliche
244. pub linux kernel people mochel doc papers ols 2005 mochel pd 210 Linux From Scratch Version 6 2 7 5 Einrichten des setclock Skripts Das Skript setclock liest die Zeit aus der Hardware Uhr des Computers auch bekannt als BIOS oder CMOS Uhr und konvertiert sie mit Hilfe von etc localtime falls die Hardware Uhr auf GMT gestellt ist in lokale Zeit Die Datei etc localtime enth lt die Information in welcher Zeitzone sich der Anwender befindet Wenn die Hardware Uhr auf lokale Zeit eingestellt ist wird die Zeit nicht konvertiert Es gibt leider keinen Weg um automatisch herauszufinden ob die Hardware Uhr auf GMT gestellt ist oder nicht deshalb m ssen Sie diese Einstellung selber vornehmen Falls Sie sich nicht erinnern k nnen ob die Hardware Uhr auf GMT eingestellt ist rufen Sie hwclock localtime show auf Dieses Kommando zeigt die Zeit der Hardware Uhr an Wenn sie mit der Zeit auf Ihrer Armbanduhr bereinstimmt dann ist die Hardware Uhr auf lokale Zeit eingestellt Wenn die Zeit der Hardware Uhr abweicht ist sie wahrscheinlich auf GMT eingestellt Sie k nnen das berpr fen indem Sie die entsprechende anzahl Stunden von der Ausgabe von hwelock abziehen bzw addieren Wenn Sie zum Beispiel in der Zeitzone MST leben auch bekannt als GMT 0700 dann addieren Sie sieben Stunden zu der Uhrzeit auf Ihrer Armbanduhr hinzu Falls es bei Ihnen Sommerzeit gibt ziehen Sie in den Sommermonaten wieder eine Stunde ab ndern Sie den
245. r http www linuxfromscratch org blfs view svn server databases html db Au erdem kann man anstelle von Berkeley DB auch GDBM installieren und somit die Voraussetzung fiir Man DB schaffen Allerdings sind viele Stunden in den LFS Test von Berkeley geflossen nicht jedoch in GDBM Wenn Sie sich dem Risiko voll bewusst sind und dennoch GDBM einsetzen m chten dann schauen Sie sich die Anleitungen unter http www linuxfromscratch org blfs view svn general gdbm html an 6 13 1 Installation von Berkeley DB Patchen Sie das Paket um ein paar m gliche Fallstricke zu umgehen patch Npl i db 4 4 20 fixes 1 patch Bereiten Sie Berkeley DB zum Kompilieren vor cd build unix amp amp dist configure prefix usr enable compat185 enable cxx Die Bedeutung der configure Parameter enable compat185 Dieser Parameter schaltet die Berkeley DB 1 85 Kompatibilit ts API ein enable cxx Dieser Parameter schaltet den Bau der C API Bibliotheken ein Kompilieren Sie das Paket make Es ist nicht m glich dieses Paket sinnvoll zu testen weil daf r die TCL Bindungen voraussetzt Die TCL Bindungen K nnen allerdings nicht korrekt kompiliert werden weil TCL gegen die Glibc in tools gelinkt ist und nicht die in usr Installieren Sie das Paket make docdir usr share doc db 4 4 20 install Die Bedeutung des make Parameters 104 docdir Linux From Scratch Version 6 2 Diese Variable gibt den korrekten Speicherort
246. r Datei findet n mlich auch die Zuordnung von Benutzer IDs zu Benutzernamen statt Anmerkung Sie m ssen alle Kommandos in den folgenden Kapiteln in der chroot Umgebung ausf hren Wenn Sie die chroot Umgebung aus irgendeinem Grund verlassen m ssen zum Beispiel wegen einem Neustart dann denken Sie daran die virtuellen Kernel Dateisysteme wie in Kapitel Abschnitt 6 2 2 Einh ngen und F llen von dev und Abschnitt 6 2 3 Einh ngen der virtuellen Kernel Dateisysteme erneut einzubinden und die chroot Umgebung wieder zu betreten bevor Sie mit der Installation fortfahren 82 Linux From Scratch Version 6 2 6 5 Erstellen der Ordnerstruktur Nun bringen Sie ein wenig Struktur in das LFS Dateisystem Erzeugen Sie mit dem folgenden Kommando eine standardkonforme Ordnerstruktur mkdir pv bin boot etc opt home lib mnt opt mkdir pv media floppy cdrom sbin srv var install dv m 0750 root install dv m 1777 tmp var tmp mkdir pv usr local bin include lib sbin src mkdir pv usr local share doc info locale man mkdir v usr local share misc terminfo zoneinfo mkdir pv usr local share man man l 8 for dir in usr usr local do In sv share man doc info dir done mkdir v var lock log mail run spool mkdir pv var opt cache lib misc locate local Normalerweise werden Ordner in der Voreinstellung mit den Rechten 755 erzeugt aber das ist nicht bei allen Ordnern erw
247. r Terminalsitzung Setzt benutzerdefinierte Floppy Disk Parameter F hrt ein Kommando in einer neuen Sitzung aus Stellt Terminal Attribute ein Kann Festplattenpartitionen bearbeiten Deaktiviert Auslagerungsdateien und ger te Aktiviert Auslagerungsdateien und ger te und zeigt bereits verwendete Ger te und Dateien an 193 tailf tunelp ul umount vidmode whereis write Linux From Scratch Version 6 2 Verfolgt das Wachstum einer Protokolldatei Zeigt zuerst die letzten zehn Zeilen einer Protokolldatei an und h ngt dann der Reihe nach neu hinzugekommene Zeilen an die Ausgabe an Justiert Parameter eines Zeilendruckers Ein Filter zum bersetzen von Unterstrichen in entsprechende Escape Sequenzen die das verwendete Terminal versteht L st ein Dateisystem aus der Ordnerstruktur Kann zum Setzen des Videomodus in einem bootf higen Abbild benutzt werden Gibt den Ort der Bin rdatei der Quellen und der Man pages f r ein Kommando aus Sendet eine Nachricht an einen Benutzer sofern der Benutzer den Empfang solcher Nachrichten nicht deaktiviert hat 194 Linux From Scratch Version 6 2 6 57 Vim 7 0 Das Paket Vim enth lt einen sehr m chtigen Texteditor Gesch tzte Kompilierzeit 0 4 SBU Ungefahr ben tigter Festplattenplatz 47 4 MB Alternativen zu Vim Wenn Sie einen anderen Editor bevorzugen zum Beispiel Emacs Joe oder Nano dann schauen Sie unter http www linuxfromscratch org b
248. r Webseite des Linux Documentation Project unter http www tldp org HOWTO From PowerUp To Bash Prompt HOWTO html Mit Hilfe dieses HOWTOs wird ein blankes System installiert das dem in diesem Buch sehr hnlich ist sich aber ausschlie lich auf das Erstellen eines Systems konzentriert das eine Bash Shell booten kann Halten Sie sich am besten Ihr Ziel vor Augen wenn Sie Linux installieren und nebenbei dazulernen m chten dann ist Linux From Scratch f r Sie geeignet Es gibt einfach zu viele gute Gr nde f r das Erstellen eines eigenen LFS Systems um sie hier alle aufzuz hlen die hier genannten Gr nde sind nur die Spitze des Eisberges W hrend Sie mit LFS arbeiten und Erfahrungen sammeln werden Sie selbst schnell feststellen wie wertvoll Informationen und Wissen viii Linux From Scratch Version 6 2 ber Linux sind 1X Linux From Scratch Version 6 2 3 Voraussetzungen Der Selbstbau eines LFS ist keine leichte Aufgabe Man ben tigt ein entsprechendes Vorwissen zur Administration von Unix Systemen sonst fallt es schwer bestimmte Kommandos zu verstehen oder auf Fehlersuche zu gehen Sie als Leser sollten als absolutes Minimum zumindest mit der Kommandozeile Shell umgehen k nnen dazu geh rt das Kopieren und Verschieben von Dateien und Ordnern Auflisten von Ordner und Dateiinhalte und das Wechseln des aktuellen Ordners AuBerdem setzen wir voraus dass Sie grunds tzlich wissen wie man Linux Software benutzt und instal
249. r es g ngige Praxis in usr include die Kernel Header direkt aus dem Kernel Archiv zu benutzen Aber in den letzten Jahren sind die Kernel Entwickler zu dem Schluss gekommen dass dies keine gute Praxis ist Als Konsequenz entstand das Projekt Linux Libc Header Es wurde entworfen um eine konsistente Programmierschnittstelle API zu den Kernel Headern zu gew hrleisten Installieren Sie die Header Dateien cp Rv include asm i386 tools include asm cp Rv include linux tools include Wenn Sie keine i386 Architektur verwenden passen Sie den Befehl entsprechend an Details zu diesem Paket finden Sie in Abschnitt 6 7 2 Inhalt von Linux Libc Header 41 Linux From Scratch Version 6 2 5 6 Glibc 2 3 6 Glibc enth lt die C Bibliothek Sie stellt Systemaufrufe und grundlegende Funktionen zur Verfiigung z B das Zuweisen von Speicher Durchsuchen von Ordnern Offnen und SchlieBen sowie Schreiben von Dateien Zeichenkettenverarbeitung Mustererkennung Arithmetik etc Gesch tzte Kompilierzeit 6 SBU Ungefahr ben tigter Festplattenplatz 325 MB 5 6 1 Installation von Glibc Die Dokumentation von Glibc empfiehlt zum Kompilieren einen gesonderten Ordner zu verwenden mkdir v glibc build cd glibc build Als n chstes bereiten Sie Glibc zum Kompilieren vor glibc 2 3 6 configure prefix tools disable profile enable add ons enable kernel 2 6 0 with binutils tools bin without gd with headers
250. r lib dummy log sed s nlg Wenn alles korrekt funktioniert sollten keine Fehler auftreten und die Ausgabe des letzten Kommandos sieht so oder so hnlich aus SEARCH DIR us LES 6 joc 1 sLinwo lt Gia Lilo SHARCH DIR assie o a ll Lalo SHVAIRICISL DR 4 AED SHVNRCIEL DIOR S pSr lia 2 Danach priifen Sie ob die korrekte libc eingesetzt wird grep lib libc so 6 dummy log Wenn alles korrekt funktioniert sollten keine Fehler auftreten und die Ausgabe des letzten Kommandos sieht so oder so hnlich aus attempt to open lib libc so 6 succeeded Und zum Schluss kontrollieren Sie noch ob GCC den richtigen dynamischen Linker benutzt grep found dummy log Wenn alles korrekt funktioniert sollten keine Fehler auftreten und die Ausgabe des letzten Kommandos ist tound lo Liaus 60 2 at Lii le linur 80 2 Wenn Sie eine andere oder berhaupt keine Ausgabe erhalten ist etwas ernsthaft schiefgelaufen Sie m ssen das berpr fen und alle bisherigen 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 v dummy c a out dummy log 102 Linux From Scratch Version 6 2 6 12 2 Inhalt von GCC Installierte Programme c cc Lin
251. ram Wurde friiher zum Anlegen von locate Datenbanken benutzt code Wurde fr her 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 Durch die sog front Komprimierung wird die Datenbankgr e um den Faktor 4 bis 5 verkleinert 141 locate updatedb xargs Linux From Scratch Version 6 2 Durchsucht die locate Datenbank mit Dateinamen und gibt die Dateien aus die eine bestimmte Zeichenkette enthalten oder auf ein bestimmtes Suchmuster passen 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 Kann benutzt werden um ein bestimmtes Kommando auf eine Liste von Dateien anzuwenden 142 Linux From Scratch Version 6 2 6 33 Flex 2 5 33 Mit Flex kann man Programme zum Erkennen von Textmustern erzeugen Gesch tzte Kompilierzeit 0 1 SBU Ungefahr ben tigter Festplattenplatz 8 4 MB 6 33 1 Installation von Flex Bereiten Sie Flex zum Kompilieren vor configure prefix usr Kompilieren Sie das Paket make Um das Ergebnis zu pr fen f hren Siemake check aus Installieren Sie das Paket make install Einige Programme erwarten die 1ex Bibliothek in usr li
252. ramme depmod generate modprobe conf insmod insmod static Ismod modinfo modprobe und rmmod Kurze Beschreibungen depmod Erzeugt basierend auf den Symbolen in existierenden Modulen eine Abh ngigkeitsdatei Diese Datei wird von modprobe benutzt um ben tigte Module automatisch nachzuladen generate modprobe conf Erzeugt die Datei modprobe cond aus einer bestehenden Installation von 2 2er oder 2 4er Modulen 171 insmod insmod static Ismod modinfo modprobe rmmod Linux From Scratch Version 6 2 Installiert ein ladbares Modul in den laufenden Kernel Eine statisch kompilierte Version von insmod Listet die zur Zeit laufenden Kernelmodule auf Untersucht eine mit einem Kernelmodul assoziierte Objektdatei und zeigt die darin verf gbaren Informationen an Benutzt eine von depmod erzeugte Abh ngigkeitsdatei um ben tigte Module automatisch nachzuladen Entl d ein Modul aus dem laufenden Kernel 172 Linux From Scratch Version 6 2 6 48 Patch 2 5 4 Das Paket Patch enth lt ein Programm zum Erzeugen oder Modifizieren von Dateien indem eine sogenannte Patch Datei angewendet wird Einen Patch erzeugt man blicherweise mit diff und er beschreibt in maschinenlesbarer Form die Unterschiede zwischen zwei Versionen einer Datei Gesch tzte Kompilierzeit weniger als 0 1 SBU Ungef hr ben tigter Festplattenplatz 1 6 MB 6 48 1 Installation von Patch Bereiten Sie Patch zum Kompilieren vor
253. ratch Version 6 2 9 2 Lassen Sie sich zahlen Sie haben nun das ganze Buch durchgearbeitet Vielleicht m chten Sie sich jetzt als LFS Benutzer z hlen lassen 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 Ihr LFS booten 237 Linux From Scratch Version 6 2 9 3 Neustarten des Systems Nachdem nun s mtliche Software installiert ist wird es Zeit den Computer neu zu starten Sie sollten allerdings ein paar Dinge beachten Das bisher erstellte System ist absolut minimal und hat h chstwahrscheinlich nicht gen gend Funktionen um ernsthaft damit arbeiten zu k nnen W hrend Sie weiterhin in der chroot Umgebung sind k nnen Sie Pakete aus dem BLFS Buch installieren Das versetzt Sie in eine weitaus bessere Lage nach dem Neustart Ihres Systems Wenn Sie einen textbasierten Webbrowser wie z B Lynx installieren k nnen Sie das BLFS Buch in einer virtuellen Konsole lesen und in einer anderen Pakete kompilieren Mit GPM k nnen Sie auch Kopieren und Einf gen zwischen den Konsolen nutzen Zus tzlich k nnen Sie auch Pakete wie Dhcpd oder PPP installieren Dies ist z B dann n tzlich wenn Sie keine statische IP Adresse nutzen K nnen Nachdem dies gesagt ist k nnen Sie nun in Ihr frisch installiertes System booten Als erstes verlassen Sie die chroot Umgebung lo
254. rg gt LFS NNTP Gateway Betreuer e Alexander Patrakov lt semzx newmail ru gt LFS Buchautor e Greg Schafer lt gschafer zip com au gt LFS Technischer Autor e Jesse Tie Ten Quee LFS Technischer Autor e Jeremy Utley lt jeremy Olinuxfromscratch org gt LFS Buchautor Bugzilla Betreuer Betreuer der LFS Bootskripte e Zack Winkles lt zwinkles gmail com gt LFS Buchautor Ein besonderer Dank gilt all unseren Spendern e Dean Benson lt dean vipersoft co uk gt f r etliche Geldspenden e Hagen Herrschaft lt hrx hrxnet de gt fiir die Spende eines 2 2 GHz P4 Systems welches nun unter dem Namen Lorien l uft e SEO Company Canada unterst tzt Open Source Projekte und verschiedene Linux Distributionen e VA Software die im Namen von Linux com eine VA Linux 420 ehem StartX SP2 Workstation gespendet haben e Mark Stone f r die Spende von Belgarath dem linuxfromscratch org Server 246 Linux From Scratch Version 6 2 Anhang C Abhangigkeiten Jedes in LFS installierte Paket verlasst sich zum Kompilieren und Installieren auf ein oder mehrere weitere Pakete Manche Pakete haben sogar rekursive Abh ngigkeiten Das hei t ein Paket A ben tigt Paket B welches wiederum Paket A voraussetzt Diese z T recht komplizierten Abh ngigkeiten begr nden auch die besondere Installationsreihenfolge der Pakete in LFS Der Zweck dieser Seite ist es die Abh ngigkeiten aller Pakete in LFS zu dokumentieren F r jede
255. rl und Sed Muss installiert werden vor Keine Util Linux Installation ist abh ngig von Bash Binutils Coreutils E2fprogs GCC Gettext Glibc Grep Make Ncurses Patch Sed und Zlib Testsuite ist abh ngig von Enth lt keine Testsuite Muss installiert werden vor Keine Vim Installation ist abh ngig von Bash Binutils Coreutils Diffutils GCC Glibc Grep Make Ncurses und Sed Testsuite ist abh ngig von Keine Muss installiert werden vor Keine Zlib Installation ist abh ngig von Bash Binutils Coreutils GCC Glibc Grep Make und Sed Testsuite ist abh ngig von Keine Muss installiert werden vor File Module Init Tools und Util Linux 255 Stichwortverzeichnis Pakete Autoconf 128 Automake 130 Bash 132 Werkzeuge 57 Berkeley DB 104 Binutils 97 Werkzeuge Durchlauf 1 37 Werkzeuge Durchlauf 2 55 Bison 113 Bootskripte 203 Anwendung 205 Bzip2 134 Werkzeuge 58 Coreutils 106 Werkzeuge 59 DejaGNU 51 Diffutils 136 Werkzeuge 60 E2fsprogs 137 Expect 49 File 140 Findutils 141 Werkzeuge 61 Flex 143 Gawk 147 Werkzeuge 62 GCC 100 Werkzeuge Durchlauf 1 39 Werkzeuge Durchlauf 2 52 Gettext 149 Werkzeuge 63 Glibc 88 Werkzeuge 42 Grep 151 Werkzeuge 64 Groff 152 GRUB 145 Einrichten 234 Gzip 155 Werkzeuge 65 lana Etc 111 Inetutils 157 IPRoute2 159 Kbd 161 Less 164 Libtool 120 Linux 231 Linux Libc Header 86 Linux From Scratch Version 6 2 Werkzeug
256. rmationen zum Schreiben von Udev Regeln finden Sie in usr share doc udev 096 index html 224 Linux From Scratch Version 6 2 7 13 Einrichten des network Skripts Diesen Abschnitt m ssen Sie nur lesen wenn Sie eine Netzwerkkarte einrichten m chen Wenn Sie keine Netzwerkkarte haben brauchen Sie h chstwahrscheinlich keine Konfigurationsdateien bez glich Netzwerkkarten einrichten In diesem Fall sollten Sie alle symbolischen Links mit Namen network aus den Runlevel Ordnern entfernen etc rc d rc d 7 13 1 Einrichten von stabilen Namen f r Netzwerkkarten Die hier aufgef hrten Anweisungen sind nat rlich optional wenn Sie nur eine Netzwerkkarte haben Mit Udev und modularen Netzwerktreibern ist keine stabile Durchnummerierung von Netzwerkkarten ber Neustarts hinweg gew hrleistet Dies liegt daran dass die Treiber parallel geladen werden und die Reihenfolge daher unvorhersagbar ist Wenn ein Rechner z B eine Netzwerkkarte von Intel und eine von Realtek hat so k nne die Intel Karte eth0 und die Realtek Karte eth1 hei en In manchen F llen k nnten die Karten nach einem Neustart aber genau umgekehrt zugewiesen worden sein Um dieses Problem zu umgehen sollten Sie Udev Regeln erstellen und stabile Namen zu den Netzwerkkarten basierend auf deren MAC Adresse oder Bus Position zuweisen Wenn Sie die MAC Adresse zur Identifikation der Netzwerkkarten benutzen m chten dann k nnen Sie diese mit dem folgenden Kommando herausfinde
257. rstellen Sie die Datei etc profile cat gt etc profile lt lt EOF Begin etc profile export LANG lt 1l11 gt _ lt CC gt lt charmap gt lt modifiers gt export INPUTRC etc inputre Freno Yero proatile EOF Die Locale C Standard und en_US empfohlene Locale f r englische Benutzer in den USA unterscheiden sich C verwendet den Zeichensatz US ASCII mit 7 Bit und behandelt Zeichen mit gesetztem hohen Bit als ung ltig Das ist auch der Grund daf r dass z B Is diese Zeichen mit einem Fragezeichen darstellt Auch der Versuch eine E Mail mit solchen Zeichen mit Mutt oder Pine zu versenden ergibt eine nicht RFC konforme Mail der Zeichensatz in einer solchen Mail ist dann unknown 8 bit Sie k nnen die Locale C also nur einsetzen wenn Sie sicher sind dass Sie niemals 8 Bit Zeichen ben tigen 219 Linux From Scratch Version 6 2 UTF 8 basierte Locales werden leider von vielen Programmen nicht richtig unterstiitzt Das Programm watch zeigt in UTF 8 Locales nur ASCII Zeichen an diese Beschr nkung besteht nicht in normalen 8 Bit Locales wie en_US Es wird allerdings daran gearbeitet solche Probleme zu dokumentieren und zu beheben Siehe auch http www linuxfromscratch org blfs view svn introduction locale issues html 220 Linux From Scratch Version 6 2 7 10 Einrichten des localnet Skripts Eine Teilaufgabe des localnet Skripts ist das Einstellen des Hostnamens Dieser muss in der D
258. rt wird Dieses Paket enth lt keine Testsuite Installieren Sie das Paket make HAVE_KILL yes HAVE_SLN yes install 191 Linux From Scratch Version 6 2 6 56 3 Inhalt von Util linux Installierte Programme agetty arch blockdev cal cfdisk chkdupexe col colcrt colrm column ctrlaltdel cytune ddate dmesg elvtune fdformat fdisk flock 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 tailf tunelp ul umount vidmode Link auf rdev whereis und write Kurze Beschreibungen agetty arch blockdev cal cfdisk chkdupexe col colcrt colrm column ctrlaltdel cytune ddate dmesg elvtune fdformat flock fdisk fsck cramfs fsck minix getopt hexdump hwclock Offnet einen tty Port fragt nach dem Login Namen und startet das Programm login Gibt die Systemarchitektur aus Erm glicht den Aufruf von Blockger te ioctls an der Kommandozeile Zeigt einen einfachen Kalender an Wird zum Bearbeiten der Partitionstabelle eines Ger tes benutzt Findet Duplikate von ausf hrbaren Dateien Filtert R ckw rts Zeilenvorsch be aus Filtert nroff Ausgaben f r Terminals denen bestimmte F hig
259. rte einrichten m ssen Sie einen voll qualifizierten Dom nennamen eintragen Er wird zur korrekten Funktion vieler Programme ben tigt Erzeugen Sie etc hosts mit dem folgenden Kommando cat gt etc hosts lt lt EOF Begin etc hosts network card version 127 0 0 1 TOC aL ROSE lt 192 168 11 gt SHOSTNAME beispiel de gt Tallas allas vra End etc hosts network card version EOF Nat rlich m ssen Sie lt 192 168 1 1 gt und lt HOSTNAME beispiel de gt 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 Die optionalen Aliasnamen k nnen weggelassen werden Wenn Sie keine Netzwerkkarte einrichten 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 HOSTNAME beispiel de gt lt HOSTNAME gt localhost End etc hosts no network card version EOF 222 Linux From Scratch Version 6 2 7 12 Erzeugen von benutzerdefinierten symbolischen Links zu Geraten 7 12 1 Symbolische Links fur CD ROMs Einige von den Programmen die Sie vielleicht sp ter installieren m chten erwarten die Existenz von dev cdrom und dev dvd z B einige Media Player Au erdem k nnte es praktischer sein diese symbolischen Links in etc fstab zu verwenden Suchen Sie f r jedes CD ROM Laufwerk den zugeh
260. rten und nicht netzwerkbasierten Dateisysteme ein mountkernfs H ngt virtuelle Kernel basierte Dateisysteme ein z B proc network Macht Netzwerkschnittstellen wie z B Netzwerkkarten verf gbar und richtet wenn n tig das Standard Gatway ein rc Das Haupt Runlevel Kontrollskript Es ist daf r verantwortlich alle anderen Skripte eins nach dem anderen in der richtigen Reihenfolge auszuf hren reboot Startet das System neu sendsignals Stellt sicher dass jeder Prozess beendet wird bevor das System herunterf hrt oder neu startet 203 setclock static swap sysklogd template udev Linux From Scratch Version 6 2 Setzt die Kernelzeit auf lokale Zeit falls die Hardware Uhr nicht auf UTC Zeit eingestellt ist Stellt Funktionen zum Zuweisen einer statischen IP Adresse an ein Netzwerkger t zur Verfiigung Aktiviert und deaktiviert Swap Dateien und Partitionen Startet und stoppt die System und Kernel Log Daemons Eine Vorlage die Sie verwenden k nnen um Ihre eigenen Bootskripte fiir eigene Daemons zu schreiben Bereitet dev vor und startet Udev 204 Linux From Scratch Version 6 2 7 3 Wie funktionieren diese Bootskripte Linux benutzt eine spezielle Bootmethode mit dem Namen SysVinit Sie basiert auf dem Konzept der Runlevel Dieses Konzept kann in verschiedenen Distributionen sehr unterschiedlich umgesetzt sein Nehmen Sie also nicht an nur weil etwas in Distribution XY funktioniert geh
261. rung dann miissen sie vor der Installation von UTF 8 in die aufgelistete Kodierung umgewandelt werden Dazu k nnen Sie convert mans verwenden Die spanischen Hilfeseiten beispielsweise http ditec um es piernas manpages es man pages es 1 55 tar bz2 installieren Sie mit diesen Kommandos 168 Linux From Scratch Version 6 2 mv man7 iso_8859 7 7 X convert mans UTF 8 ISO 8859 1 man mv man7 iso_8859 7 7 X make install Anmerkung man7 iso_8859 7 7 muss von der Umwandlung ausgeschlossen werden weil diese Datei bereits im Format ISO 8859 1 vorliegt das ist ein Fehler bei der Paketierung in man pages es 1 55 Zukiinftige Versionen ben tigen diese Auslassung nicht 6 45 3 Inhalt von Man DB Installierte Programme accessdb apropos catman convert mans lexgrog man mandb manpath whatis und zsoelim Kurze Beschreibungen accessdb Gibt den Inhalt der whatis Datenbank in einer normal lesbaren Form aus apropos Durchsucht die whatis Datenbank und gibt kurze Beschreibungen zu den Kommandos aus die die angegebene Zeichenkette enthalten catman Erzeugt oder aktualisiert die vorformatierten Hilfeseiten convert mans Formatiert Hilfeseite so um dass Man DB sie darstellen kann lexgrog Zeigt eine einzeilige Zusammenfassung ber eine Hilfeseite an man Formatiert die angeforderte Hilfeseite und zeigt sie an mandb Erzeugt und aktualisiert whatis Datenbanken manpath Zeigt den Inhalt von MANPATH oder falls MANPATH nic
262. s Paket make Um das Ergebnis zu pr fen f hren Sie make check aus Installieren Sie das Paket make install Details zu diesem Paket finden Sie in Abschnitt 6 53 2 Inhalt von Tar 71 Linux From Scratch Version 6 2 5 29 Texinfo 4 8 Das Paket Texinfo enth lt Programme zum Lesen Schreiben und Konvertieren von Info Seiten Systemdokumentation Gesch tzte Kompilierzeit 0 2 SBU Ungef hr ben tigter Festplattenplatz 16 3 MB 5 29 1 Installation von Texinfo Bereiten Sie Texinfo zum Kompilieren vor configure prefix tools Kompilieren Sie das Paket make Um das Ergebnis zu pr fen f hren Siemake check aus Installieren Sie das Paket make install Details zu diesem Paket finden Sie in Abschnitt 6 54 2 Inhalt von Texinfo 12 Linux From Scratch Version 6 2 5 30 Util linux 2 12r Das Paket Util linux enth lt verschiedene Werkzeuge Darunter befinden sich Programme zum Umgang mit Dateisystemen Konsolen Partitionen und System Meldungen Geschatzte Kompilierzeit less than 0 1 SBU Ungefahr ben tigter Festplattenplatz 8 9 MB 5 30 1 Installation von Util linux Util linux verwendet die gerade frisch installierten Header und Bibliotheken im Ordner tools nicht automatisch Korrigieren Sie dieses Problem indem Sie das configure Skript anpassen sed i s usr include tools include g configure Bereiten Sie Util linux zum Kompilieren vor configure Kompilieren Sie ein
263. s 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 gcc stellen wir sicher dass jedes von nun an kompilierte Programm bis zum Ende des Kapitels unseren neuen Dynamischen Linker in tools lib benutzt Weil unbedingt der neue Linker verwendet werden muss wird der Specs Patch auch im zweiten Durchlauf von GCC angewendet Hierbei darf kein Fehler passieren denn sonst w rden die GCC Programme selbst den Linker aus 1ib im Host System verwenden Eine saubere Trennung vom Host System w re dann nicht mehr gegeben und unser Ziel w re verfehlt 35 Linux From Scratch Version 6 2 Im zweiten Durchlauf der Binutils k nnen Sie den configure Parameter with 1ib path benutzen um den Bibliotheksuchpfad von Id zu kontrollieren Von diesem Punkt an ist die Toolchain unabh ngig Die verbleibenden Pakete aus Kapitel 5 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 Sie nach dem Eintreten in die chroot Umgebung in Kapitel 6 installieren Wenn die Glibc erstmal nach usr installiert ist werden Sie schnell ein paar Voreinstellungen in der Toolchain ndern und dann schreiten Sie mit dem Erstellen des
264. s aufruft Dmanldir usr share man manl Dman3dir usr share man man3 Da zur Zeit noch kein Groff installiert ist geht configure davon aus dass die Man pages nicht erstellt werden sollen Geben Sie diese Parameter ein um die falsche Entscheidung zu bergehen Kompilieren Sie das Paket make Zum Testen der Ergebnisse f hren Sie dieses Kommando aus make test Installieren Sie das Paket make install 121 Linux From Scratch Version 6 2 6 22 2 Inhalt von Perl Installierte Programme a2p c2ph dprofpp enc2xs find2perl h2ph h2xs instmodsh libnetcfg perl perl5 8 8 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 Mehrere hundert die hier nicht alle aufgelistet werden k nnen Kurze Beschreibungen a2p c2ph dprofpp enc2xs find2perl h2ph h2xs instmodsh libnetcfg perl perl5 8 8 perlbug perlcc perldoc perlivp piconv pl2pm pod2html pod2latex pod2man pod2text pod2usage podchecker bersetzt awk zu Perl Gibt C Strukturen aus die von cc g S erzeugt wurden Zeigt Perl Profiling Daten an Erzeugt aus Unicode Zeichenzuordnungen oder Perl Erweiterung f r das Encode Modul Tel Encoding Dateien eine bersetzt find Kommandos zu Perl Konvertiert h C Header Dateien zu ph Perl Header Dateie
265. s installierte Paket listen wir hier drei Arten von Abh ngigkeiten auf Die erste Liste enth lt Pakete die zur Installation der fraglichen Software ben tigt werden Die zweite Liste enth lt die Pakete die zum korrekten Durchlaufen der Testsuite der fraglichen Software ben tigt werden Die dritte Liste enth lt die LFS Programme die dieses fragliche Paket zur korrekten Installation voraussetzen und zwar am endg ltigen Installationsort fertig installiert In den meisten F llen ist der Grund daf r das diese Programme die Pfade zum fraglichen Paket fest in Skripten einbinden Wenn Sie sich nicht an die in LFS vorgegebene Installationsreihenfolge halten k nnten diese Programm Pfade wie tools bin bin rdatei in ihren Skripten einbinden dies w re absolut nicht w nschenswert Autoconf Installation ist abh ngig von Bash Coreutils Grep M4 Make Perl Sed und Texinfo Testsuite ist abh ngig von Automake Diffutils Findutils GCC und Libtool Muss installiert werden vor Automake Automake Installation ist abh ngig von Autoconf Bash Coreutils Gettext Grep M4 Make Perl Sed und Texinfo Testsuite ist abh ngig von Binutils Bison Bzip2 DejaGNU Diffutils Expect Findutils Flex GCC Gettext Gzip Libtool und Tar Kann auch noch einige weitere Pakete verwenden die nicht mit LFS installiert werden Muss installiert werden vor Keine Bash Installation ist abh ngig von Bash Bison Coreutils Diffutils GCC Glibc
266. sammen Gibt die letzten zehn oder die angegebene Anzahl von Zeilen einer Datei aus Liest von der Standardeingabe w hrend gleichzeitig auf die Standardausgabe und in eine Datei geschrieben wird Vergleicht Werte und pr ft Dateitypen 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 angelegt bersetzt quetscht oder entfernt Zeichen von der Standardeingabe Macht nichts ist immer erfolgreich Beendet immer mit einem Statuscode der Erfolg bedeutet Sortiert topologisch Schreibt eine vollst ndig sortierte Liste entsprechend der teilweisen Sortierung in einer Datei Gibt den Dateinamen des Terminals aus das mit der Standardeingabe verbunden ist Gibt Systeminformationen aus Konvertiert Leerzeichen zu Tabulatoren Entfernt alle identischen Zeilen bis auf eine Entfernt eine Datei Gibt die Namen der eingeloggten Benutzer aus Macht das Gleiche wie Is l Gibt die Anzahl Zeilen W rter und Bytes einer Datei aus Und eine Summe falls mehrere Dateien angegeben wurden Zeigt an wer gerade eingeloggt ist Gibt den Benutzernamen aus der mit der aktuell effektiven Benutzer ID verkn pft ist Gibt y oder eine andere Zeichenkette solange aus bis es beendet wird 110 Linux From Scratch Version 6 2 6 15 lana Etc 2 10 Das Paket lana Etc enth lt Daten zu Netzwerkdiensten und Protokollen Gesch
267. scheck durch echo main gt dummy c cc dummy c readelf 1 a out grep tools Wenn alles korrekt funktioniert sollten keine Fehler auftreten und die Ausgabe des letzten Kommandos sieht so oder so hnlich aus Requesting program interpreter tools Lu le em or Achten Sie besonders darauf dass tools lib als Prefix zu Ihrem dynamischen Linker angegeben ist Wenn Sie keine oder eine andere als die obige Ausgabe erhalten haben ist etwas schiefgelaufen Sie m ssen alle Ihre Schritte noch einmal berpr fen und den Fehler finden und korrigieren Fahren Sie nicht fort bevor Sie den Fehler nicht beseitigt haben Als erstes f hren Sie nochmals den Gesundheitscheck durch und benutzen gec anstelle von cc Wenn das funktioniert fehlt der Link von tools bin cc Gehen Sie zur ck zu Abschnitt 5 4 GCC 4 0 3 Durchlauf 1 und reparieren Sie den symbolischen Link Als zweites stellen Sie bitte sicher dass Ihre Umgebungsvariable PATH richtig gesetzt ist Sie k nnen die Variable mit dem Kommando echo PATH anzeigen lassen pr fen Sie dass tools bin am Anfang der Liste steht Wenn die PATH Variable falsch gesetzt ist sind Sie m glicherweise nicht als 1fs eingeloggt oder in Abschnitt 4 4 Vorbereiten der Arbeitsumgebung ist etwas schiefgelaufen Vielleicht hat auch beim Anpassen der specs Datei etwas nicht richtig funktioniert In diesem Fall wiederholen Sie die Anpassung Wenn Sie mit dem Ergebnis zufrieden sind r
268. showexec iocharset koi8r codepage 866 0 0 Die entsprechende Zeile f r ru_RU UTF 8 lautet dev sdal media flash vfat noauto user quiet showexec iocharset utf8 codepage 866 0 0 229 Linux From Scratch Version 6 2 Anmerkung Im letzteren Fall wird der Kernel die folgende Meldung ausgeben FAI utfg is not a recommended IO charset for FAIT filesystems filesystem will be case sensitive Diese Meldung sollte einfach ignoriert werden da alle anderen Werte f r iocharset zu einer fehlerhaften Darstellung der Dateinamen in UTF 8 f hren w rden Es ist ebenso m glich die Werte f r codepage und iocharset f r bestimmte Dateisysteme bereits bei der Kernelkonfiguration festzulegen Die n tigen Parameter finden Sie unter Default NLS Option CONFIG_NLS_DEFAULT Default Remote NLS Option CONFIG_SMB_NLS_DEFAULT Default codepage for FAT CONFIG_FAT_DEFAULT_CODEPAGE und Default iocharset for FAT CONFIG_FAT_DEFAULT_IOCHARSET F r das NTFS Dateisystem gibt es derzeit keine M glichkeit die Werte in der Kernelkonfiguration vorzugeben 230 Linux From Scratch Version 6 2 8 3 Linux 2 6 16 27 Das Paket Linux enth lt den Linux Kernel Gesch tzte Kompilierzeit 1 5 3 SBU Ungefahr ben tigter Festplattenplatz 310 350 MB 8 3 1 Installation des Kernel Kompilieren und Installieren des Kernels sind im Grunde nur ein paar Schritte Konfigurieren kompilieren und installieren Falls Sie
269. sion 6 2 6 45 Man DB 2 4 3 Man DB enth lt Programme zum Finden und Anzeigen von Hilfeseiten Man pages Gesch tzte Kompilierzeit 0 2 SBU Ungefahr ben tigter Festplattenplatz 9 MB 6 45 1 Installation von Man DB Zuerst nehmen Sie drei Anpassungen an den Quellen von Man DB vor Die erste ndert den Standort der mitgelieferten bersetzten Hilfeseiten damit diese sowohl im traditionellen als auch im UTF 8 Format verf gbar sind mv man de _DE 88591 amp amp mv man es _ES 88591 amp amp mv man it _IT 88591 amp amp mv man ja _JP eucJP amp amp sed i s _ man Makefile in Die zweite Anpassung ist eine sed Ersetzung mit deren Hilfe die Zeile usr man in mandb conf auskommentiert wird Dadurch werden redundante Ergebnisse vermieden wenn Programme wie z B whatis verwendet werden sed i t usr man d src man db conf in Die dritte Anpassung k mmert sich um Programme die Man DB zur Laufzeit finden sollte aber derzeit noch nicht installiert sind cat gt gt include manconfig h in lt lt EOF define WEB_BROWSER exec usr bin lynx Cerine COL Y usie ioslia coil define VGRIND usr bin vgrind define GRAP usr bin grap EOF Das Programm col ist ein Teil von Util Linux lynx ist ein textbasierter Web Browser siehe BLFS Installationsanleitung vgrind wandelt Programmquellen in Groff Eingaben um und grap ist n tzlich fiir Typographiezeichen in Groff Dokumenten Norm
270. stallation von GCC Die Hilfsmittel zum Testen von GCC und Binutils sind nun installiert Tcl Expect und DejaGNU Sie k nnen GCC und Binutils nun erneut installieren gegen die neue Glibc verlinken und testen Eines muss noch beachtet werden Die Testsuites sind stark von funktionierenden Pseudo Terminals PTYs abh ngig Diese werden vom Host System bereitgestellt Heutzutage werden PTYs meist tiber das Dateisystem devpts implementiert Ob Ihr Host System korrekt eingerichtet ist k nnen Sie mit einem einfachen Test feststellen expect c spawn 1s Das Ergebnis k nnte so aussehen The system has no more ptys Ask your system administrator to create more Wenn Sie die obige Meldung sehen 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 lassen Wenn Sie mehr Informationen zum Einrichten von PTYs brauchen schauen Sie am besten in die LFS FAQ unter http www linuxfromscratch org lfs fag html no ptys In Abschnitt 5 7 Anpassen der Toolchain wurde bereits erkl rt dass GCC unter normalen Umst nden sein fixincludes Skript laufen l sst um defekte Header Dateien aufzufinden und zu reparieren Da an diesem Punkt GCC 4 0 3 und Glibc 2 3 6 bereits installiert sind und deren Header Dateien definitiv nicht repariert werden m ssen wird das fixincludes Skript eigentlich nicht ben tigt Wie bereits erw hnt
271. stallierte Programme badblocks blkid chattr compile_et debugfs dumpe2fs e2fsck e2image e2label filefrag 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 Beschreibungen badblocks blkid chattr compile_et debugfs dumpe2fs e2fsck e2image e2label filefrag findfs fsck fsck ext2 fsck ext3 logsave Isattr mk_cmds mke2fs mkfs ext2 mkfs ext3 mklost found Durchsucht ein Ger t blicherweise eine Festplatte nach defekten Bl cken Ein Kommandozeilenprogramm zum Auffinden und Anzeigen der Eigenschaften eines Blockger tes ndert Attribute eines ext2 Dateisystems Auch ext3 wird unterst tzt die Journaling Version von ext2 Ein Fehlertabellen Compiler Er konvertiert eine Tabelle mit Fehlercode Namen und Meldungen zu einer C Quelldatei die dann mit der com_err Bibliothek verwendet werden kann Ein Dateisystemdebugger Er kann benutzt werden um den Status eines ext 2 Dateisystems zu untersuchen und zu ver ndern Gibt Informationen zum Superblock und zu Blockgruppen des Dateisystems auf einem bestimmten Ger t aus Wird zum Pr fen und optional zum Reparieren von ext2 und ext 3 Dateisystemen verwendet Wird zum Speichern kritischer ext 2 Dateisystemdaten in eine Datei
272. stributionen die Header Dateien zu Programmen in extra Pakete packen meist mit Namen wie lt Paketname gt devel oder lt Paketname gt dev Bitte stellen Sie sicher dass Sie auch diese Pakete mit den Headern installiert haben e Bash 2 05a e Binutils 2 12 Versionen gr er 2 16 1 werden nicht empfohlen weil sie nicht getestet wurden e Bzip2 1 0 2 e Coreutils 5 0 oder Sh Utils 2 0 Textutils 2 0 und Fileutils 4 1 e Diffutils 2 8 e Findutils 4 1 20 e Gawk 3 0 e Gcc 2 95 3 Versionen gr er 4 0 3 werden nicht empfohlen weil sie nicht getestet wurden e Glibc 2 2 5 Versionen gr er 2 3 6 werden nicht empfohlen weil sie nicht getestet wurden e Grep 2 5 e Gzip 1 2 4 Linux Kernel 2 6 x wurde mit GCC 3 0 oder neuer kompiliert Der Grund fiir diese Kernelanforderung liegt darin dass die Unterstiitzung fiir thread local storage in Binutils nicht einkompiliert wird und die Native POSIX Threading Bibliothek NPTL abst rzt wenn der Host Kernel nicht mindestens Version 2 6 x ist und mit GCC 3 0 oder neuer kompiliert wurde Kern Wenn der Host Kernel jiinger als 2 6 x ist oder dass er nicht mit mindestens GCC 3 0 oder neuer kompiliert wurde dann muss auf dem Host erstmal ein solcher Kernel installiert und gebootet werden Es gibt zwei M glichkeiten das Problem zu beheben Uberpriifen Sie ob der Hersteller Ihrer Host Distribution einen entsprechenden Kernel zur Verfiigung stellt Wenn ja installieren Sie diesen
273. summe 06 7806782e357797fad1d34b7ced0c 6 e Expect 5 43 0 514 KB Webseite http expect nist gov Download http expect nist gov src expect 5 43 0 tar gz MD5S Priifsumme 43e1dc0e0bc9492cf2ela6f59f276bc3 e File 4 17 544 KB Download ftp ftp gw com mirrors pub unix file file 4 17 tar gz MD5S Priifsumme 50919c65e0181423d66bb25d7fe7b0fd Anmerkung Wenn Sie diese Anmerkung lesen ist File 4 17 m glicherweise nicht mehr in dieser Version verf gbar Der Hauptdownloadserver ist dafiir bekannt alte Versionen zu l schen sobald neuere verfiigbar sind Bitte nutzen Sie eine der alternativen Download Adressen wie z B http www linuxfromscratch org fs download html ftp e Findutils 4 2 27 1 097 KB Webseite http www gnu org software findutils Download http ftp gnu org gnu findutils findutils 4 2 27 tar gz MD5S Priifsumme f1e0ddaf09f28f8102ff3b90f3b5bc920 e Flex 2 5 33 680 KB Webseite http flex sourceforge net Download http prdownloads sourceforge net flex flex 2 5 33 tar bz2 download MDS5 Pr fsumme 343374a00b38d9e39d1158b71af37150 e Gawk 3 1 5 1 716 KB Webseite http www gnu org software gawk Download http ftp gnu org gnu gawk gawk 3 1 5 tar bz2 MD5S Priifsumme 5703f 72d0eea1d463f735aad8222655f 15 e GCC 4 0 3 32 208 KB Webseite http gcc gnu org Download http ftp gnu org gnu gcc gcc 4 0 3 gcc 4 0 3 tar bz2 MD5S Priifsumme 6fflafl2c53cbb3f79b27 2d6a9a3d50 e
274. t ist Ihre chroot Umgebung nicht f r PTYs vorbereitet The system has no more ptys Ask your system administrator to create more Das Problem muss behoben werden bevor Sie die Testsuites von Binutils und GCC laufen lassen Die Dokumentation zu Binutils empfiehlt Binutils au erhalb des Quellordners zu kompilieren mkdir v binutils build cd binutils build Bereiten Sie Binutils zum Kompilieren vor binutils 2 16 1 configure prefix usr enable shared Kompilieren Sie das Paket make tooldir usr Die Bedeutung des make Parameters tooldir usr Normalerweise ist tooldir der Ordner in den die ausf hrbaren Dateien endg ltig installiert werden auf exec_prefix target_alias eingestellt Ein i686 Computer l st dies zum Beispiel zu usr i686 pc linux gnu auf Da wir aber nur f r unser eigenes System installieren brauchen wir diesen speziellen Ordner in usr nicht Diese Konfiguration f nde z B dann Verwendung 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 97 Linux From Scratch Version 6 2 Wichtig In diesem Abschnitt wird die Testsuite von Binutils als kritisch eingestuft Wir raten Ihnen die Tests unter keinen Umst nden zu tiberspringen Testen Sie das Ergebnis make check Installieren Sie das Paket make tooldir usr install Installieren Sie die Header Datei 1ibibert y sie
275. t die Skripte zum Starten und Stoppen des Systems beim Booten und Herunterfahren Ihres Computers Gesch tzte Kompilierzeit weniger als 0 1 SBU Ungefahr ben tigter Festplattenplatz 0 4 MB 7 2 1 Installation von LFS Bootskripte Installieren Sie das Paket make install 7 2 2 Inhalt von LFS Bootskripte Installierte Skripte checkfs cleanfs console functions halt ifdown ifup localnet mountfs mountkernfs network rc reboot sendsignals setclock static swap sysklogd template und udev Kurze Beschreibungen checkfs Pr ft die Integrit t von Dateisystemen bevor sie eingeh ngt werden mit der Ausnahme von journal und netzwerkbasierten Dateisystemen cleanfs Entfernt Dateien die nicht ber einen Neustart hinaus existieren sollten Dazu geh ren zum Beispiel die Dateien in var run und var lock Es erzeugt var run utmp und entfernt die eventuell vorhandenen Dateien etc nologin fastboot und forcefsck console L d das f r Ihre Tastatur korrekte Tastaturlayout und stellt die Bildschirmschriftart ein functions Enth lt allgemeine Funktionen die von verschiedenen Skripten genutzt werden Dazu geh ren z B Fehler oder Statuspr fung halt H lt das System an ifdown Unterst tzt das Netzwerkskript beim Stoppen von Netzwerkger ten ifup Unterst tzt das Netzwerkskript beim Starten von Netzwerkger ten localnet Setzt den Hostnamen und das lokale Loopback Ger t auf mountfs H ngt alle nicht als noauto markie
276. t ein Compiler f r Zeitzonen Ist ein Hilfsprogramm f r ausf hrbare gemeinsame Bibliotheken Wird intern von der GLibc verwendet um kaputte Programme z B einige Motif Programme zum Laufen zu bekommen Schauen Sie sich dazu die Kommentare inglibc 2 3 6 locale broken_cur_max can K mmert sich um die Verarbeitung von Speicherzugriffsfehlern wird von catchsegv eingesetzt Eine Bibliothek zum asynchronen Nachschlagen von Namen Mit Hilfe dieser Bibliothek k nnen einige BSD Programme unter Linux lauff hig gemacht werden Dies ist die C Bibliothek Wird intern von der Glibe zur Unterst tzung von internationlisierten Dom nennamen mit der Funktion getaddrinfo verwendet Dies ist die Kryptographie Bibliothek Eine Schnittstellenbibliothek zum dynamischen Linker Eine Dummy Bibliothek ohne jegliche Funktionen Dies war fr her eine Laufzeitbibliothek f r g Das Einbinden verlinken dieses Moduls erzwingt die Regeln der IEEE Institute of Electrical and Electronic Engineers zur Fehlerbehandlung mathematischer Funktionen Standard sind die POSIX 1 Regeln zur Fehlerbehandlung Die mathematische Bibliothek Das Einbinden verlinken dieses Moduls schaltet Pr fungen der 93 libmemusage libnsl libnss libpcprofile libpthread libresolv librpcsvc librt libthread_db libutil Linux From Scratch Version 6 2 Speicherzuordnungen ein Wird von memusage verwendet und hilft beim Sammeln von
277. t ein paar Informationen ber den angegebenen Benutzer aus Bereitet Dateien seiten oder spaltenweise f r den Ausdruck vor Gibt die Umgebungsvariablen aus Gibt die angegebenen Argumente in einem bestimmten Format aus dies ist der C Funktion printf sehr hnlich Erzeugt aus dem Inhalt von Dateien einen vertauschten Index mit jedem Stichwort im Kontext Gibt den Namen des aktuellen Arbeits Ordners aus Gibt das Ziel eines symbolischen Links aus L scht Dateien oder Ordner L scht leere Ordner Gibt eine Zahlenreihe in einem bestimmten Wertebereich und mit einem bestimmten Inkrement aus 109 shalsum shred sleep sort split stat stty sum sync tac tail tee test touch tr true tsort tty uname unexpand uniq unlink users vdir we who whoami yes Linux From Scratch Version 6 2 Pr ft 160 Bit SHA 1 Prifsummen oder gibt sie aus Uberschreibt eine Datei mehrfach mit zuf lligen Mustern um das Wiederherstellen der Daten zu erschweren Pausiert f r die angegebene Zeit Sortiert die Zeilen einer Datei Teilt eine Datei in St cke nach Gr e oder nach Zeilennummern Zeigt den Datei oder Dateisystemstatus an Setzt Terminal Einstellungen oder zeigt sie an Gibt Pr fsumme und Anzahl der Bl cke einer Datei aus Schreibt den Dateisystempuffer Ge nderte Bl cke werden auf die Festplatte geschrieben und der Superblock wird aktualisiert F gt Dateien r ckw rts zu
278. t es in LFS auf die gleiche Weise LFS respektiert zwar allgemein tibliche Standards geht aber dennoch wie alle anderen seinen eigenen Weg SysVinit wir nennen es nun einfach nur init funktioniert nach dem Konzept der Runlevel Es gibt 7 Runlevel von 0 bis 6 genaugenommen gibt es sogar noch mehr aber diese sind fiir Spezialfalle reserviert und werden blicherweise nicht benutzt init 8 beschreibt diese Details genauer Jeder Runlevel korrespondiert mit Skripten oder Diensten die der Computer beim Hochfahren ausf hren bzw starten oder stoppen soll Der Standard Runlevel ist 3 Hier sehen Sie eine bersicht wie die Runlevel blicherweise eingesetzt werden F hrt den Computer herunter Ein Benutzer Modus Mehr Benutzer Modus ohne Netzwerk Mehr Benutzer 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 DUPRLNO Das Kommando zum Wechseln des Runlevel ist init lt Runlevel gt wobei lt Runlevel gt den Runlevel angibt 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 befinden sich eine Menge Ordner mit dem Namen rc d wobei das die Nummer eines Runlevels ist Dort liegt auch der Ordn
279. t von Dateien und Ordnern chmod ndert die Zugriffsrechte der angegebenen Dateien Der Modus kann entweder symbolisch in Form der durchzuf hrenden nderungen oder als Oktalzahl angegeben werden repr sentiert die absoluten neuen Rechte 107 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 Linux From Scratch Version 6 2 Andert Besitzer und oder Gruppenzugeh rigkeit der angegebenen Dateien und Ordner Macht den angegebenen Ordner tempor r zum neuen Basisordner f r den tibergebenen Befehl z B bash Der Befehl wird dann in diesem Gef ngnis ausgef hrt Gibt die CRC Pr fsumme Cyclic Redundancy Check und die Anzahl der Bytes einer angegebenen Datei aus Vergleicht zwei sortierte Dateien und gibt in drei Spalten die Zeilen aus die jeweils einzigartig bzw gleich sind Kopiert Dateien Teilt eine Datei in mehrere neue Dateien Dazu wird ein bestimmtes Muster oder Zeilennummern verwendet Au erdem gibt esplit die Anzahl Bytes der neuen Dateien aus Gibt Ausschnitte von Zeilen aus Die Ausschnitte werden nach Feldern oder Positionsangaben gew hlt Gibt die aktuelle Zeit im angegebenen Format aus oder stellt die Systemzeit ein Kopiert eine Datei mit der angegebenen Blockgr e und anzahl Optional kann w hrenddessen eine Konvertierung durchgef
280. t von Gzip 65 Linux From Scratch Version 6 2 5 23 M4 1 4 4 M4 enthalt einen Makroprozessor Gesch tzte Kompilierzeit weniger als 0 1 SBU Ungef hr ben tigter Festplattenplatz 3 MB 5 23 1 Installation von M4 Bereiten Sie M4 zum Kompilieren vor configure prefix tools Kompilieren Sie das Paket make Um das Ergebnis zu pr fen f hren Sie make check aus Installieren Sie das Paket make install Details zu diesem Paket finden Sie in Abschnitt 6 16 2 Inhalt von M4 66 Linux From Scratch Version 6 2 5 24 Make 3 80 Das Paket Make enth lt Werkzeuge zum Kompilieren von Software Gesch tzte Kompilierzeit 0 1 SBU Ungefahr ben tigter Festplattenplatz 7 8 MB 5 24 1 Installation von Make Bereiten Sie Make zum Kompilieren vor configure prefix tools Kompilieren Sie das Paket make Um das Ergebnis zu pr fen f hren Siemake check aus Installieren Sie das Paket make install Details zu diesem Paket finden Sie in Abschnitt 6 44 2 Inhalt von Make 67 Linux From Scratch Version 6 2 5 25 Patch 2 5 4 Das Paket Patch enth lt ein Programm zum Erzeugen oder Modifizieren von Dateien indem eine sogenannte Patch Datei angewendet wird Einen Patch erzeugt man blicherweise mit diff und er beschreibt in maschinenlesbarer Form die Unterschiede zwischen zwei Versionen einer Datei Gesch tzte Kompilierzeit weniger als 0 1 SBU Ungef hr ben tigter
281. ter noch benutzen m chten miissen Sie sie neu kompilieren und installieren Im BLFS Buch finden Sie die entsprechenden Anleitungen daf r siehe auch http www linuxfromscratch org blfs Falls die Einbindung der virtuellen Kernel Dateisysteme verloren gegangen ist z B durch Entmounten oder einen Neustart so m ssen Sie diese vor dem Betreten der chroot Umgebung erneut einbinden Die Vorgehensweise ist unter Abschnitt 6 2 2 Einh ngen und F llen von dev und Abschnitt 6 2 3 Einh ngen der virtuellen Kernel Dateisysteme erkl rt 201 Linux From Scratch Version 6 2 Kapitel 7 Aufsetzen der System Bootskripte 7 1 Einfuhrung In diesem Kapitel werden Sie die LFS Bootskripte aufsetzen Die meisten Skripte funktionieren ohne Anpassungen aber ein paar ben tigen eine Konfigurationsdatei weil sie beispielsweise mit Hardware an Ihrem Computer zu tun haben LFS verwendet Bootskripte im sehr gebr uchlichen System V Stil Es gibt auch andere M glichkeiten Beispielsweise finden Sie unter htip www linuxfromscratch org hints downloads files bsd init txt eine Anleitung f r BSD Init Oder durchsuchen Sie die LFS Mailinglisten nach depinit um eine andere Variante zu versuchen Falls Sie sich f r etwas ganz anderes entscheiden sollten k nnen Sie dieses Kapitel ganz berspringen und direkt bei Kapitel 8 fortfahren 202 Linux From Scratch Version 6 2 7 2 LFS Bootskripte 6 2 Das Paket LFS Bootskripte enth l
282. tests Anmerkung In der Vergangenheit wurden leider viele Fehler in diesem Patch gefunden Wenn Sie neue Fehler an die Entwickler von Coreutils berichten m chten pr fen Sie bitte zuallererst ob sich der Fehler auch ohne diesen Patch noch reproduzieren l sst Es hat sich herausgestellt dass bersetzte Texte manchmal einen Puffer in who Hu berlaufen lassen Erh hen Sie die Puffergr e sed i s _LEN 6 _LEN 20 src who c Bereiten Sie Coreutils zum Kompilieren vor configure prefix usr Kompilieren Sie das Paket make Diese Testsuite ben tigt einige System Benutzer und Gruppen um korrekt zu funktionieren Wenn Sie die Testsuite laufen lassen m chten m ssen Sie vorher die folgenden Befehle ausf hren Falls Sie die Testsuite nicht ausf hren m chten berspringen Sie die Befehle und machen einfach bei Installieren Sie das Paket fort 106 Linux From Scratch Version 6 2 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 root bin bash gt gt etc passwd Sie k nnen die Testsuite nun durchlaufen lassen Als erstes starten Sie einige Tests die als root laufen m ssen make NON_ROOT_USERNAME dummy check root Die verbleibenden Tests werden als Benutzer dummy ausgef hrt src su dummy c make RUN_EXPENSIVE_TESTS yes check Danach entfernen Sie die dummy Gruppen und Benut
283. tplattenplatz 13 7 MB 6 53 1 Installation von Tar Wenden Sie diesen Patch an um ein paar Fehler in der Testsuite unter Verwendung von GCC 4 0 3 zu beheben patch Npl i tar 1 15 1 gcc4_fix_tests l1 patch Tar hat bei Dateien gr er 4GB ein Problem mit dem Parameter S Der folgende Patch behebt das Problem patch Npl i tar 1 15 1 sparse_fix 1 patch Einige neuer Versionen von Tar sind anfallig fiir einen Pufferiiberlauf in speziell dafiir manipulierten Tar Archiven Der folgende Patch behebt das Problem patch Npl i tar 1 15 1 security fixes 1 patch 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 Siemake check aus Installieren Sie das Paket make install 6 53 2 Inhalt von Tar Installierte Programme rmt und tar Kurze Beschreibungen rmt Mit diesem Programm kan man ein magnetorientiertes Bandlaufwerk an einem entfernten Rechner steuern Zur Kommunikation wird Interprozesskommunikation verwendet tar Wird zum Erzeugen Auflisten und Extrahieren von Dateien aus einem Archiv verwendet Diese Archive werden oft auch als Tarball bezeichnet 185 Linux From Scratch Version 6 2 6 54 Texinfo 4 8 Das Paket Texinfo enth lt Programme zum Lesen Schreiben und Konvertieren von Info Seiten Systemdokumentation Gesch tzte Kompilierzeit 0 2 SBU Ungef hr ben tigter Festpl
284. tsrc so Kurze Beschreibungen autopoint Kopiert die Dateien einer typischen Gettext Infrastruktur in ein Quellpaket 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 ausf hrbaren Datei gesetzt wird envsubst Erweitert Umgebungsvariablen in Shell Format Zeichenketten gettext Ubersetzt Nachrichten in natiirlicher Sprache in die Muttersprache des Anwenders Dafiir benutzt es einen Ubersetzungsnachrichten Katalog gettext sh Dies ist haupts chlich eine Bibltiothek mit Shell Funktionen fiir Gettext 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 149 msgcat msgemp msgcomm msgconv msgen msgexec msgfilter msgfmt msggrep msginit msgmerge msgunfmt msguniq ngettext xgettext libasprintf libgettextlib libgettextpo libgettextsrc Linux From Scratch Version 6 2 manipuliert diese Attribute F gt die angegebenen po Dateien aneinander und verschmelzt sie Vergleicht zwei po Dateien um sicherzustellen dass beide den gleichen Satz an msgid Zeichenketten enth
285. tzen die normalerweise nicht von Udev automatisch angelegt werden wiirden Als n chstes startet das Bootskript den Udev Daemon udevd der von nun an auf uevents wartet und reagiert Schlussendlich zwingt das Bootskript den Kernel die uevents fiir Ger te zu wiederholen die sich vor dem Start von udevd registriert haben 7 4 2 3 Erzeugen von Geratedateien Udev verl sst sich auf die Informationen von sysfs in sys und liest daraus die Haupt und Unterkennung fiir Ger tedateien aus Beispielsweise enth lt sys class tty vcs dev den Text 7 0 Diesen Wert interpretiert udevd und erzeugt eine Ger tedatei mit der Hauptkennung 7 und der Unterkennung 0 Die Namen und Berechtigungen f r die in dev erzeugten Ger tedateien ergeben sich aus den definierten Regeln in etc udev rules d Die dort abgelegten Regeln sind hnlich nummeriert wie die Dateien der LFS Bootskripte Falls udevd keine Regel f r ein erzeugtes Ger t auffinden kann ist die Voreinstellung f r die Berechtigungen 660 und die Ger tedatei geh rt root root Eine genauere Dokumentation zu den Konfigurationsdateien von Udev finden Sie unter usr share doc udev 096 index html 7 4 2 4 Laden von Modulen Als Modul kompilierte Ger tetreiber k nnen Aliase eingebaut haben Diese kann man sich mit dem Kommando modinfo ansehen und h ngen blicherweise mit den Bus Spezifischen Kennmarken eines vom Treiber unterst tzten Ger tes zusammen Beispielsweise unterst tzt der Treiber snd
286. tzt um das Passwort mehrerer Gruppen in einem Durchlauf zu ndern Wird benutzt um das Passwort mehrerer Benutzer in einem Durchlauf zu ndern Wird benutzt um die voreingestellte Shell eines Benutzers zu ndern Pr ft ob ein Kennwort abgelaufen ist und setzt eine entsprechende Regelung durch Wird zum Untersuchen der Logdatei nach fehlgeschlagenen Logins zum Setzen einer maximalen Fehlerzahl vor der Sperrung eines Kontos oder um den Z hler zur ckzusetzen verwendet Wird zum Hinzuf gen und L schen von Mitgliedern in Gruppen verwendet Erzeugt eine Gruppe mit dem angegebenen Namen L scht eine Gruppe mit dem angegebenen Namen ndert den Namen oder die GID einer Gruppe Pr ft die Integrit t der Gruppen Dateien etc group und etc gshadow Erzeugt oder aktualisiert die group Datei von Shadow aus der normalen group Datei Aktualisiert etc group aus etc gshadow und l scht die letztere dann Berichtet ber die letzten Anmeldungen aller oder eines bestimmten Benutzers Wird vom System benutzt um einen Benutzer anzumelden Ein Daemon der Beschr nkungen auf die Login Zeit und Ports durchsetzt Wird zum ndern der aktuellen GID in einer Login Sitzung benutzt 178 newusers nologin passwd pwck pwconv pwunconv sg su useradd userdel usermod vigr vipw libshadow Linux From Scratch Version 6 2 Wird zum Erzeugen oder Aktualisieren einer Serie von Benutzerkonten in einem Durchlauf verwendet Ze
287. ufig auch als iso8859 1 und iso88591 geschrieben Einige Programme k nnen nicht mit den verschiedenen Synonymen umgehen daher ist es das sicherste den korrekten Namen f r ein Locale anzugeben Um den kanonischen Namen f r ein Locale herauszufinden f hren Sie das folgende Programm aus wobei lt locale name gt die Ausgabe von locale a f r Ihr bevorzugtes Locale ist in diesem Beispiel de_DE iso88591 LC _ALL lt locale Name gt locale Zeichensatz F r das Locale de_DE iso8859 1 ergibt das obige Kommando TISO 8859 1 218 Linux From Scratch Version 6 2 Das endg ltige Ergebnis lautet also de_DE ISO 8859 1 Bevor Sie diese Locale Einstellung allerdings in eine der Startdateien der Bash eintragen sollten Sie sie testen LC_ALL lt locale name gt locale language LC_ALL lt locale name gt locale charmap LC_ALL lt locale name gt locale int_curr_symbol LC_ALL lt locale name gt locale int_prefix Das obige Kommando sollte Ihnen folgende Daten ausgeben Land und Sprache den vom Locale benutzten Zeichensatz die Wahrung und den internationalen Telefonnumern Prefix Falls eines der Kommandos eine Fehlermeldung wie die folgende ausgibt dann wurde entweder die Locale in Kapitel 6 nicht installiert oder wird von der Standardinstallation von Glibc nicht unsterst tzt locale Cannot set LC_ to default locale No such file or directory Falls Sie diese oder eine hnliche Fehlermeldung erhalten sollt
288. unnel und die Eigenschaften an und erm glicht nderungen daran ip maddr zeigt Multicast Adressen und ihre Eigenschaften an und erm glicht nderungen ip mroute setzt ndert oder l scht Multicast Routen ip monitor erm glicht dauerhaft den Status von Netzwerkger ten Adressen und Routen zu berwachen Bietet Netzwerkstatistiken unter Linux Dies ist ein allgemeinerer und vollst ndigerer Ersatz f r das alte Programm rtstat Zeigt Netzwerkstatistiken an Eine Komponente von ip route Sie wird zum Leeren der Routingtabellen genutzt Eine Komponente von ip route Sie wird zum Auflisten der Routingtabellen genutzt Zeigt den Inhalt von proc net rt_acct an Ein Werkzeug zum berwachen des Routing Konvertiert die Ausgabe von ip o zur ck in eine lesbare Form Ein Werkzeug f r den Routingstatus hnlich wie das Kommando netstat Zeigt aktive Verbindungen an Programm zur Kontrolle des Netzwerkverkehrs Traffic Controlling Implementiert Quality of Service QOS und Class Of Service COS te qdisc erm glicht das Einstellen der Warteschlangen Regeln tc class erm glicht das Einrichten von Klassen basierend auf einer Warteschlangen Regelung tc estimator erm glicht das Sch tzen des Netzwerk Flusses in ein Netzwerk tc filter erm glicht das Erstellen von QOS COS Paketfiltern tc policy erm glicht das Erstellen von QOS COS Regelwerken 160 Linux From Scratch Version 6 2 6 42 Kbd 1 12 Kbd enth lt die Dateie
289. utzt werden Auf diese Weise k nnen Sie ein Archiv auch auf mehreren Rechnern installieren Diese Methode kommt in den meisten kommerziellen Distributionen zum Einsatz Beispiele f r Paketverwaltungen die diese Methode einsetzen sind RPM welches im brigen von der Linux Standard Base Spezifikation erfordert wird pkg utils Debians apt und Gentoos Portage System Eine Anleitung zur Verwendung dieses Paketverwaltungs Systems finden Sie unter http www linuxfromscratch org hints downloads files fakeroot txt 6 3 2 7 Benutzerbasierte Paketverwaltung Diese f r LFS einmalige Methode hat sich Matthias Benkmann ausgedacht Informationen dazu finden Sie im Hints Projekt Bei der Benuterbasierten Paketverwaltung wird jedes Paket unter Verwendung einer eigenen Benutzer ID an den Standard Installationsort installiert Alle zu einem Paket geh renden Dateien k nnen anhand der Benutzer ID leicht wiedergefunden werden Die Vor und Nachteile dieser Paketverwaltung sind allerdings so umfangreich dass wir sie hier in diesem Kapitel nicht alle beschreiben k nnen Alle notwendigen Informationen finden Sie unter http www linuxfromscratch org hints downloads files more_control_and_pkg_man txt 81 Linux From Scratch Version 6 2 6 4 Betreten der chroot Umgebung Es ist nun an der Zeit die chroot Umgebung zu betreten und mit der Installation der ben tigten Pakete zu beginnen Immer noch als root f hren Sie das folgende Kommando aus Damit betret
290. ux From Scratch Version 6 2 4 3 Hinzufugen des LFS Benutzers Als root eingeloggt k nnen selbst kleine Fehler ein System besch digen oder gar zerst ren Daher sollten Sie die Pakete in diesem Kapitel mit Hilfe eines unprivilegierten Benutzers kompilieren Natiirlich k nnen Sie Ihren bisherigen Benutzernamen dazu verwenden aber das Bereitstellen einer sauberen Arbeitsumgebung ist leichter wenn Sie dazu den Benutzer 1 fs in der ebenfalls neuen Gruppe 1fs anlegen und diesen f r den ganzen Installationsvorgang benutzen Bitte f hren Sie als root dieses Kommando aus um die neue Gruppe und den Benutzer anzulegen groupadd lfs useradd s bin bash g lfs m k dev null lfs Die Bedeutung der Kommandozeilen Parameter s bin bash Dies macht die bash zur voreingestellten Shell f r den Benutzer 1fs G ifs Dieser Parameter macht den neuen Benutzer zum Mitglied der Gruppe 1fs m Dadurch wird der Pers nliche Ordner f r 1 fs gleich mitangelegt k dev null Dieser Parameter verhindert das Kopieren der Dateien aus einem Skeleton Ordner Voreinstellung ist etc skel Als Quelle f r den Skeleton Ordner wird einfach das Null Ger t eingestellt lfs Dies ist der Name der erzeugten Gruppe und Benutzer Wenn Sie als root angemeldet sind und zum Benutzer 1fs wechseln ben tigen Sie daf r kein Passwort Wenn Sie sich allerdings als Benutzer 1 fs richtig anmelden m chten m ssen Sie dem Benutzer zuerst ein Passwort zuweisen passw
291. v oft aktualisiert meistens weil neu entdeckte Sicherheitsliicken geschlossen werden Sie sollten die neueste verfiigbare Version des Linux Kernels 2 6 16 x verwenden Um Kompatibilit tsprobleme mit den Bootskripten zu vermeiden sollten Sie nicht Version 2 6 17 oder neuer verwenden Linux Libc Header 2 6 12 0 2 481 KB Download http ep09 pld linux org mmazur linux libc headers linux libc headers 2 6 12 0 tar bz2 MDS Prifsumme eae2 f562afe224ad50f65a6acfb4252c e M4 1 4 4 376 KB Webseite http www gnu org software m4 Download http ftp gnu org gnu m4 m4 1 4 4 tar gz MD5S Priifsumme 8d1d64dbecf1494690a0f3ba8db4482a e Make 3 80 900 KB Webseite http www gnu org software make Download http ftp gnu org gnu make make 3 80 tar bz2 MDS Priifsumme 0bbd1df101bc0294d440471e50feca7l 17 Linux From Scratch Version 6 2 e Man DB 2 4 3 798 KB Webseite http www nongnu org man db Download http savannah nongnu org download man db man db 2 4 3 tar gz MD5S Priifsumme 30814a47f209f43b15265 ba51fc7937 e Man pages 2 34 1 760 KB Download http www kernel org pub linux docs manpages man pages 2 34 tar bz2 MDS Priifsumme fb8d9f55fef1l ea5ab899437159c9420 e Mktemp 1 5 69 KB Webseite http www mktemp org Download ftp ftp mktemp org pub mktemp mktemp 1 5 tar gz MDS5 Pr fsumme 9a35c59502a228c6ce2be025fc6e3ff2 e Module Init Tools 3 2 2 166 KB Webseite http www kerneltools org
292. ve 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 S PATH bin usr bin sbin usr sbin tools bin bash login Nun k nnen die Debugging Symbole sicher aus Bin rdateien und Bibliotheken entfernt werden tools bin find usr bin 1lib 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 sehr 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 200 Linux From Scratch Version 6 2 6 60 Aufraumen Von nun an m ssen Sie das folgende Kommando zum Betreten der chroot Umgebung verwenden chroot SLFS usr bin env i HOME root TERM STERM PS1 u w S PATH bin usr bin sbin usr sbin bin bash login Der Grund daf r ist dass Sie keine Programme mehr aus tools ben tigen Sie k nnen den Ordner nun l schen Anmerkung Wenn Sie tools l schen werden auch die tempor ren Kopien von Tel Expect und DejaGNU gel scht die Sie zum Testen der Toolchain benutzt haben Wenn Sie diese Programme sp
293. verbreitetes Problem beim Durchlaufen der Testsuites von Binutils und GCC sind zu wenig zur Verf gung stehende Pseudo Terminals PTYs Ein typisches Symptom daf r sind ungew hnlich viele fehlgeschlagene Tests Das kann verschiedene Ursachen haben Die h ufigste Ursache ist dass das devpts Dateisystem des Host Systems nicht funktioniert Dies wird sp ter in Kapitel 5 ausf hrlicher behandelt Manchmal verursachen Testsuites eines Pakets auch falschen Alarm Sehen Sie im LFS Wiki unter http www linuxfromscratch org lfs build logs 6 2 nach und pr fen Sie ob diese Fehler normal sind Das gilt f r alle Tests im gesamten Buch 32 Linux From Scratch Version 6 2 Kapitel 5 Erstellen eines temporaren Systems 5 1 Einfuhrung In diesem Kapitel werden Sie ein Minimal Linux kompilieren und installieren Das System wird gerade genug Werkzeuge beinhalten um in Kapitel 6 mit dem Bau des endgiiltigen LFS beginnen zu k nnen Wir verzichten hierbei weitestgehend auf jeglichen Komfort Das Erstellen des Minimal Systems erfolgt in zwei Schritten Zuerst erzeugen Sie eine brandneue Host unabh ngige Toolchain Compiler Assembler Linker und Bibliotheken und ein paar n tzliche Werkzeuge Mit Hilfe der Toolchain k nnen dann im weiteren Verlauf die essentiellen Werkzeuge kompiliert werden Die in diesem Kapitel kompilierten Dateien werden im Ordner SLFS tools installiert und sind damit von den restlichen Dateien des Systems sauber getrennt Die
294. verwendet Zeigt oder ver ndert das Label eines ext 2 Dateisystems auf dem angegebenen Ger t Berichtet ber den Fragmentierungsstatus einer Datei Findet ein Dateisystem mit Hilfe des Label oder einer UUID Universally Unique Identifier Wird zum Pr fen und optional Reparieren eines Dateisystems verwendet Pr ft in der Voreinstellung ext 2 Dateisysteme Pr ft in der Voreinstellung ext 3 Dateisysteme Speichert die Ausgabe eines Kommandos in eine Logdatei Listet Dateiattribute eines ext 2 Dateisystems auf Konvertiert eine Tabelle mit Kommando Namen und Hilfemeldungen zu C Quellcode der dann mit der 1ibss Subsystem Bibliothek verwendet werden kann Erzeugt ein ext 2 oder ext 3 Dateisystem auf dem angegebenen Ger t Erzeugt in der Voreinstellung ein ext 2 Dateisystem Erzeugt in der Voreinstellung ein ext 3 Dateisystem Wird benutzt um den Ordner lost found auf einem second extended Dateisystem 138 resize2fs tune2fs uuidgen libblkid libcom_err libe2p libext2fs libss libuuid Linux From Scratch Version 6 2 zu erzeugen Es f hrt eine Vorzuweisung von Bl cken zu diesem Ordner durch um damit e2fsck die Arbeit zu erleichtern Kann zum Vergr ern oder Verkleinern eines ext 2 Dateisystems verwendet werden Wird zum Einstellen von ver nderbaren Parametern auf einem ext 2 Dateisystem eingesetzt Erzeugt neue universell einzigartige Bezeichner UUID Jede UUID kann grunds tzlich als
295. waltung lenkt die Aufmerksamkeit vom eigentlichen Ziel des Buches ab n mlich zu lernen wie man ein Linux System von Hand erstellt Es gibt viele Paketverwaltungen jede hat ihre Vor und Nachteile Es ist schwierig eine zu finden die alle Leser zufriedenstellen w rde Es wurden einige Tipps zu diesem Thema geschrieben Lesen Sie im Hints Projekt nach vielleicht finden Sie eine passende Paketverwaltung f r Sie 6 3 1 Aktualisierung von Paketen Mit einer Paketverwaltung ist es recht einfach ein Paket zu aktualisieren Grunds tzlich kann man aber auch die Anleitungen in LFS und BLFS zur Aktualisierung auf neuere Versionen verwenden Im Folgenden finden Sie allerdings ein paar wichtige Dinge die Sie beim Aktualisierungen von Programmen beachten sollten insbesondere auf einem laufenden System Wenn eines der Toolchain Pakete Glibc GCC oder Binutils auf eine neue Minor Version aktualisiert werden muss ist es meist besser LFS neu zu installieren Es ist m glich dass einfaches Neuinstallieren der betroffenen Pakete in der richtigen Abh ngigkeitsreihenfolge ausreicht aber davon wird dringend abgeraten Wenn Sie also z B glibc 2 2 x auf glibc 2 3 x aktualisieren m ssen sollten Sie neu installieren Die Aktualisierung innerhalb einer Mikro Version ist normalerweise problemlos m glich wenn auch nicht zu 100 garantiert Beispielsweise sollte ein Versionsupdate von glibc 2 3 4 auf glibc 2 3 5 Keine Schwierigkeiten bereiten e
296. was bewirken start Der Dienst wird gestartet stop 205 Linux From Scratch Version 6 2 Der Dienst wird gestoppt restart Der Dienst wird gestoppt und dann erneut gestartet 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 status Gibt aus ob der Dienst l uft und wenn ja mit welchen PIDs Sie k nnen den Bootprozess nat rlich nach Ihren W nschen anpassen schlussendlich ist es ja Ihr eigenes Linux Die Dateien hier sind nur Beispiele daf r wie man es gut erledigen kann 206 Linux From Scratch Version 6 2 7 4 Umgang mit Geraten und Modulen an einem LFS System In Kapitel 6 haben Sie Udev installiert Bevor wir zu den Details kommen wie das alles funktioniert m chten wir Ihnen erst einen R ckblick dar ber geben wie man fr her mit Ger ten unter Linux umgegangen ist Traditionell hat man unter Linux eine statische Methode zum Erzeugen von Ger tedateien benutzt Dabei wurden sehr viele Ger tedateien vorab in dev erzeugt manchmal mehrere tausend Dabei war es v llig egal ob die zugeh rige Hardware tats chlich existierte oder nicht Dies wurde typischerweise durch das Skript MAKEDEV erledigt welches eine Menge Systemaufrufe mit dem Programm mknod und den entsprechenden Ger tenummern durchf hrte und so Ger tedateien zu allen erdenklichen Ger ten erzeugte
297. wird von einigen Paketen ben tigt cp v binutils 2 16 1 include libiberty h usr include 6 11 2 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 Beschreibungen addr2line ar as c filt gprof ld nm objcopy objdump ranlib readelf size strings Konvertiert Programmadressen zu Dateinamen und Zeilennummern Mit Hilfe des Programmnamens und einer Speicheradresse benutzt das Programm Debugging Informationen in der ausf hrbaren Datei um herauszufinden welche Quelldatei und Zeilennummer mit der Adresse assoziiert ist Wird zum Erzeugen und Extrahieren von Dateien aus einem Archiv verwendet Ein Assembler Er assembliert die Ausgabe von gee zu Objektdateien Wird vom dynamischen Linker benutzt um C und Java Symbole aufzuschl sseln damit berladene Funktionen nicht in Konflikt geraten Zeigt call graph Profiling Daten an Ein Linker Er verbindet mehrere Objektdateien und Archivdateien zu einer einzigen Datei replaziert ihre Daten und verbindet ihre Symbolreferenzen Listet alle in einer Objektdatei vorkommenden Symbole auf Wird zum Konvertieren eines bestimmten Objektdateityps in einen anderen verwendet Zeigt ausgew hlte Informationen ber eine Objektdatei an Diese Informationen sind haupts chlich f r Progra
298. ww linuxfromscratch org fag 1 2 2 Mailinglisten Auf dem Server linuxfromscratch org werden einige Mailinglisten f r die Entwicklung des LFS Projektes betrieben Unter anderem befinden sich dort auch die Entwickler und Support Mailinglisten Falls die FAQ Ihnen mit Ihrem Problem nicht helfen kann sollten Sie im n chsten Schritt die Mailinglisten unter http www linuxfromscratch org search html durchsehen 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 1 2 3 IRC Viele Mitglieder aus der LFS Gemeinschaft bieten ihre Hilfe ber unseren IRC Server an Bevor Sie hier Hilfe suchen lesen Sie bitte zumindest die FAQ und die Archive unserer Mailinglisten und suchen dort nach einer Antwort auf Ihre Frage Der IRC Server hat die Adresse irc linuxfromscratch org Der Support Chatraum hei t LFS support 1 2 4 Referenzen Weitere Informationen und niitzliche Tipps zu Software Paketen finden Sie in der LFS Paket Referenz unter http www linuxfromscratch org matthew LFS references html 1 2 5 Softwarespiegel Das LFS Projekt hat viele ber die ganze Welt verteilte Softwarespiegel Diese stellen die Website zur Verf gung und vereinfachen das Herunterladen der ben tigten Programme Bitte besuchen Sie http www linuxfromscratch org mirrors html dort k nnen Sie eine Liste der aktuellen Softwarespiegel einsehen
299. x From Scratch vermittelt dem Leser das Wissen und n tige Anleitungen um ein eigenes Linux System zu entwerfen und zu erstellen Es hebt das Projekt Linux From Scratch und die Vorteile dieses Systems hervor Der Leser kann alle Eigenschaften des Systems selber vorgeben inklusive dem Layout der Ordnerstruktur Skript Einstellungen und Sicherheit Das System wird direkt aus dem Quellcode kompiliert und man kann selber entscheiden wo warum und wie Programme installiert werden Dieses Buch erm glicht es jedem Linux Systeme an die eigenen Bed rfnisse anzupassen und mehr Kontrolle ber das System zu erlangen Ich w nsche Ihnen viel Freude bei der Arbeit an Ihrem eigenen LFS System Genie en Sie die Vorteile eines Systems das wirklich hr Eigen ist Gerard Beekmans gerard linuxfromscratch org vil Linux From Scratch Version 6 2 2 Warum sollte man dieses Buch lesen Es gibt viele gute Gr nde dieses Buch zu lesen Die meisten Leser m chten lernen wie man ein Linux System direkt aus den Quellen erstellt Oft wird die Frage gestellt Warum soll man sich die M he machen ein Linux System selbst zu erstellen wenn man einfach ein fertiges Linux herunterladen und installieren kann Das ist eine berechtigte Frage und gleichzeitig auch der Ansto f r dieses Kapitel Ein wichtiges Ziel von LFS ist dem Leser beizubringen wie Linux intern funktioniert Der Selbstbau eines Linux Systems veranschaulicht Ihnen was Linux seinen Herzschl
300. xecdir usr lib glibc Dadurch wird das Programm pt_chown in usr lib glibc anstelle von usr libexec installiert Kompilieren Sie das Paket make O Wichtig In diesem Abschnitt wird die Testsuite von Glibc als absolut kritisch betrachtet Sie sollten diesen Schritt unter keinen Umstinden berspringen Testen Sie das Ergebnis make k check 2 gt amp 1 tee glibc check log grep Error glibc check log Wahrscheinlich werden Sie einen erwarteten ignorierten Fehler im posix annexc Test bemerken Desweiteren ist die Glibc Testsuite ein wenig vom Host System abh ngig Dies ist eine Liste der h ufigsten Fehler e Die Tests nptl tst clock2 und tst attr3 schlagen manchmal fehl Der Grund daf r ist nicht v llig klar die Ursache k nnte mit hoher Systemlast zusammenh ngen e Der math Test schl gt manchmal fehl wenn Sie ein System mit einer lteren Intel oder AMD CPU verwenden e Falls Sie die LFS Partition mit der Option noat ime eingeh ngt haben wird der atime Test fehlschlagen Wie schon unter Abschnitt 2 4 Einh ngen mounten der neuen Partition erw hnt wurde sollten Sie den Parameter noat ime beim Bau von LFS nicht verwenden e Auf alter oder langsamer Hardware oder unter hoher Systemlast k nnen einige Tests aufgrund von Zeit berschreitungen fehlschlagen 89 Linux From Scratch Version 6 2 Auch wenn es nur eine harmlose Meldung ist die Installationsroutine von Glibc wird sich tiber die fehlende Dat
301. zer sed i dummy d etc passwd etc group Installieren Sie das Paket make install Und verschieben Sie einige Programme an die von FHS vorgegebene Stelle mv v usr bin cat chgrp chmod chown cp date dd df f echo bin mv v usr bin false hostname 1n 1s mkdir mknod mv pwd rm bin mv v usr bin rmdir stty sync true uname bin mv v usr bin chroot usr sbin Einige der LFS Bootskripte sing abh ngig von den Kommandos head und sleep Da usr in den fr heren Phasen des Bootvorgangs noch nicht eingh ngt sein k nnte miissen sich diese Programm auf der root Partition befinden mv v usr bin head sleep nice bin 6 14 2 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 mdSsum 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 sum sync tac tail tee test touch tr true tsort tty uname unexpand uniq unlink users vdir wc who whoami und yes Kurze Beschreibungen basename Entfernt den Pfad und Suffix von einem angegebenen Dateinamen cat Gibt Dateien an der Standardausgabe aus bzw fiigt sie zusammen chgrp ndert die Gruppenzugeh rigkei
302. zum Erstellen von LFS ben tigt e Bash Upstream Fixes Patch 23 KB Download http www linuxfromscratch org patches lfs 6 2 bash 3 1 fixes 8 patch MDS5 Pr fsumme bc337045fa4c583 babf0306cc9df6d0 e Bzip2 Bzgrep Sicherheitsl cken Patch 1 2 KB Download http www linuxfromscratch org patches lfs 6 2 bzip2 1 0 3 bzgrep_security 1 patch MDS Prifsumme 4eae50e4fd690498 f23d3057dfad7066 e Bzip2 Dokumentations Patch 1 6 KB Download http www linuxfromscratch org patches lfs 6 2 bzip2 1 0 3 install_docs 1 patch MDS Priifsumme 9e5dfbf4814b71ef986b872c9af8 4488 e Coreutils Internationalization Fixes Patch 101 KB Download http www linuxfromscratch org patches lfs 6 2 coreutils 5 96 i18n 1 patch MDS Priifsumme 3df2e6fdb1b5a5c13afedd3d3e05600f e Coreutils Suppress Uptime Kill Su Patch 13 KB Download http www linuxfromscratch org patches lfs 6 2 coreutils 5 96 suppress_uptime_kill_su 1 patch MDS Priifsumme 227d441a6d0f13c31375153eae91e913d e Coreutils Uname Patch 4 6 KB Download http www linuxfromscratch org patches lfs 6 2 coreutils 5 96 uname 1 patch MDS Priifsumme cO5b735710fbd62239588c07084852a0 e Database Berkeley Upstream Fixes Patch 3 8 KB Download http www linuxfromscratch org patches lfs 6 2 db 4 4 20 fixes 1 patch MDS Priifsumme 32028d1d1108dfcd837fe10c4eb0fbad e Diffutils Internationalization Fixes Patch 18 KB Download http www linuxfromscratch org patches lfs 6 2 diffutils 2 8 1 i
Download Pdf Manuals
Related Search
Related Contents
Manual de instruçőes LOEWE Art 32 硬貨計数機 硬貨・メダル計数機 StarTech.com 0.65m (2 ft) Short Apple 30-pin Dock Connector or Micro USB to USB Combo Cable for iPhone / iPod / iPad bizhub C200 - ALL ACTIVE SOLUTIONS March 2010 Wiko RAINBOW 4GB White アフターサービス - 電気自動車 - Parts Town Bedienungsanleitung STIHL HT 100, 101, 130, 131 Copyright © All rights reserved.
Failed to retrieve file