Home
Linux From Scratch - Open Source Software on erdfunkstelle.de
Contents
1. ss 205 POCO E EE 205 Offizielle Download Adresse 206 Inhalt yon reet KA teren a NE ce oa 206 K rze Beschreibungen an de ea a nn ee A ns SE Mas 206 Procinfo Installationsabh ngigkeiten ss 206 Kee 206 Offizielle Download Adresse 2 a e Ee Se See 206 Inhalt zon O 208 Kurze Beschreibungen RN 207 Procps Installationsabhangigkeiten ss 207 PMC a dE 207 Offizielle Download Adresses 208 Inhalt yan Psmise cti rindi 208 Kurze BESCOTSIDUOD Sens See ee Di ent E EE ed 208 Psmisc Iosoallatonzabb ngeteketen ss 208 liinda dide 208 Offizielle download Adresse nassen url hehe NEE dE 208 Inhalt velitas aan ae dE Se ess 208 Kurz Beschreibung iia a iii 209 Sed Iostllaponsabb netekeuen ss 209 SE RO TAN 209 Offizielle download Adresse innen Bra EEN EES AER 209 Inhalt yon EE 209 K rze Beschreib ngen EE 209 Shadow Installationsabh ngigkeiten conca cnnn nc cnnncnnncnnnnss 211 SYSKIO d iranienne Mental Gatien 211 Offizielle download Adresse 211 Inhaltvon Sysklosd a ass an ee ee Eege ee 211 Kurze Beschreibungen een dot gest rt E ne ie 211 XIV Linux From Scratch Table of Contents Anhang A Paketbeschreibungen und abh ngiskeiten Sysklogd Installationsabhangigkeiten non na cnn nc anno na cnnnccnnccninss 211 SVS AT UE 211 Offizielle download A ALES SEs E 211 Inhalt VON Meuse laesst ge eebe Ee et nue dd 212 Kurz BescOTSIDUDSEO ci aa ii 212 S
2. 2 360 KB http freshmeat net projects groft Grub 0 93 870 KB ftp alpha gnu org pub gnu grub Gzip 1 3 5 324 KB ftp alpha gnu org gnu gzip Inetutils 1 4 2 1 019 KB http freshmeat net projects inetutils Kbd 1 08 801 KB http freshmeat net projects kbd Less 381 259 KB http freshmeat net projects less LFS Bootscripts 1 12 25 KB http downloads linuxfromscratch org lfs bootscripts 1 12 tar bz2 Lfs Utils 0 3 221 KB http www linuxfromscratch org winkie downloads lfs utils Libtool 1 5 2 751 KB http freshmeat net projects libtool Linux 2 4 22 28 837 KB http freshmeat net projects linux M4 1 4 310 KB http freshmeat net projects gnum4 Make 3 80 899 KB http freshmeat net projects gnumake MAKEDEV 1 7 8 KB Kapitel 4 Das Material Pakete und Patche 35 Linux From Scratch http downloads linuxfromscratch org MAKEDEV 1 7 bz2 Man 1 5m2 196 KB http freshmeat net projects man Man pages 1 60 627 KB http freshmeat net projects man pages Modutils 2 4 25 215 KB http freshmeat net projects modutils Ncurses 5 3 2 019 KB http freshmeat net projects ncurses Net tools 1 60 194 KB http freshmeat net projects net tools Patch 2 5 4 182 KB http freshmeat net projects patch Perl 5 8 0 10 765 KB http freshmeat net projects perl Proci
3. Inhalt von Findutils Das Findutils Paket enth lt Programme zum auffinden von Dateien entweder on the fly indem ein Verzeichnisbaum live durchsucht wird oder durch Suche in einer Datenbank Installierte Programme bigram code find frcode locate updatedb und xargs Inhalt von Lfs Utils 100 Linux From Scratch Findutils Installationsabh ngigkeiten Findutils ist abh ngig von Bash Binutils Coreutils Diffutils GCC Gettext Glibc Grep Make Sed Installation von Findutils Bereiten sie Findutils zum kompilieren vor configure prefix usr libexecdir usr bin Standardm ssig liegt die updatedb Datenbank in usr var Um FHS Konform zu sein wird die Datei aber in var lib misc locatedb abgelegt Daher wird die configure Option localstatedir var lib misc angegeben Kompilieren sie das Paket make Dieses Paket enth lt eine Test suite um zu pr fen ob alles korrekt kompiliert wurde Wenn sie die Tests durchlaufen lassen m chten f hren sie dieses Kommando aus make check Und installieren sie das Paket make install Installieren von Gawk 3 1 3 Gesch tzte Kompilierzeit 0 2 SBU Ungef hr ben tigter Festplattenplatz 17 MB Inhalt von Gawk Gawk ist eine Implementierung von awk und wird zur Textmanipulation verwendet Installierte Programme awk Link auf gawk gawk gawk 3 1 3 grcat igawk pgawk pgawk 3 1 3 und pwcat Gawk Installationsabh ngigkeiten Gawk ist abh ngig von Bash Bi
4. Installierte Skripte checkfs cleanfs functions halt ifdown ifup loadkeys localnet mountfs mountproc network rc reboot sendsignals setclock swap sysklogd und template LFS Bootscripts Installationsabh ngigkeiten Bzip2 ist abh ngig von Bash Coreutils Installation der LFS Bootscripts Wir benutzen Init Skripte im SysV Stil Wir haben diesen Stil ausgew hlt weil er weit verbreitet ist und die meisten gut damit umgehen k nnen Wenn sie etwas anderes bevorzugen Marc Heerdink hat eine Aneitung zu BSD Stil Init Skripten geschrieben sie finden das Dokument unter http www linuxfromscratch org hints downloads files bsd init txt Und wenn sie etwas radikaleres m chten durchsuchen sie die LFS Mailinglisten nach depinit Wenn sie sich f r BSD Stil Init Skripte oder etwas ganz anderes entschieden haben k nnen sie das nachfolgende Kapitel berspringen und direkt weitermachen bei_Kapitel 8 Installieren sie die Boot Skripte cp a rc d sysconfig etc Geben sie root die Besitzrechte auf die Skripte Ein neues chroot Kommando 142 Linux From Scratch chown R root root etc rc d etc sysconfig Konfigurieren der Systemkomponenten Jetzt wo alle Software installiert ist m ssen wir nur noch ein paar Konfigurationen vornehmen Konfigurieren der Tastatur Es gibt nichts st renderes als ein Linux zu benutzen auf dem ein falsches Tastaturlayout geladen ist Wenn sie eine standard US Tastatur haben k nnen sie diese
5. cat gt gt boot grub menu lst lt lt EOF title Red Hat Frost dnd 2 kernel boot kernel 2 4 20 root dev hda3 ro Zebra eene imere 1 20 EOF Falls sie Windows dual booten m chten k nnte der folgende Eintrag hilfreich sein cat gt gt boot grub menu lst lt lt EOF title Windows rootnoverify hd0 0 chainloader 1 EOF Falls info grub ihnen nicht alle Informationen gibt die sie brauchen finden sie mehr dazu auf den Grub Webseiten unter_http www gnu org software grub Das LFS System bootf hig machen 153 Kapitel 9 Das Ende Das Ende Herzlichen Gl ckwunsch Sie sind fertig mit der Installation ihres eigenen LFS Systems Vielleicht war das eine lange Prozedur aber wir hoffen es war die Zeit Wert Wir w nschen ihnen viel Freude mit ihrem brandneuen selbstgebauten Linux System Jetzt K nnte ein guter Zeitpunkt sein alle debug Symbole aus den Bin rdateien auf ihrem LFS System zu entfernen Wenn sie kein Programmierer sind und nicht planen die Software zu debuggen dann wird es sie erfreuen zu h ren das sie einige Megabytes an Festplattenspeicher zur ckgewinnen k nnen indem sie debugging Symbole entfernen Dadurch haben sie keine Nachteile ausser das sie diese Programme dann nicht mehr vollst ndig debuggen k nnen Wenn sie nicht wissen was debuggen ist ist das f r sie h chstwahrscheinlich nicht von Bedeutung Hinweis 98 der Leute die das untenstehende Kommando ausf hren haben keine Problem
6. Entfernen sie die Binutils Quellen und Kompilierverzeichnisse jetzt noch nicht Wir brauchen diese Verzeichnisse im jetzigen Zustand noch im n chsten Kapitel Installieren von Gawk 3 1 3 Gesch tzte Kompilierzeit oS BU Ungef hr ben tigter Festplattenplatz 17 MB Inhalt von Gawk Gawk ist eine Implementierung von awk und wird zur Textmanipulation verwendet Installierte Programme awk Link auf gawk gawk gawk 3 1 3 grcat igawk pgawk pgawk 3 1 3 und pwcat Gawk Installationsabh ngigkeiten Gawk ist abh ngig von Bash Binutils Coreutils Diffutils GCC Gettext Glibc Grep Make Sed Installieren von Gawk 3 1 3 62 Linux From Scratch Installieren von Gawk Bereiten sie Gawk zum kompilieren vor configure prefix tools Kompilieren sie das Paket make Dieses Paket enth lt eine Test suite die sicherstellt das alles korrekt kompiliert wurde Wenn sie die Test suite ausf hren m chten erledigt dies das folgende Kommando make check Und installieren sie es make install Installieren von Coreutils 5 0 Gesch tzte Kompilierzeit 0 9 SE Ungef hr ben tigter Festplattenplatz 69 MB Inhalt von Coreutils Das Paket Coreutils enth lt eine gro e Anzahl von Shell Werkzeugen 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 i
7. HOME root TERM TERM PS1 u w PATH bin usr bin sbin usr sbin tools bin tools bin bash login Die i Option zu env l scht alle Variablen in der chroot Umgebung Danach werden nur die HOME TERM PS1 und PATH Variable wieder gesetzt TERM TERM setzt die TERM Variable in der chroot Umgebung auf den gleichen Wert wie ausserhalb von chroot diese Variable wird fiir Programme wie vim und less zur korrekten Funktion ben tigt Wenn sie andere Variablen wie CFLAGS oder CXXFLAGS brauchen ist dies ein guter Platz um sie erneut zu setzen Von nun an brauchen wir die LFS Variable nicht mehr weil alles was sie tun ausschliesslich auf das LFS System beschr nkt ist weil das was die Shell f r das Verzeichnis h lt in Wirklichkeit der Wert der LFS Variable ist welcher wiederum dem chroot Kommando tibergeben wurde Beachten sie das tools bin als letztes in der PATH Variable steht Das bewirkt das ein tempor res Werkzeug nicht mehr benutzt wird sobald seine endgiiltige Version installiert ist Nun zumindest wenn die Shell sich nicht die Standorte von ausfiihrbaren Dateien merkt aus diesem Grund wird die hash Funktion etwas weiter hinten in der Befehlszeile abgeschaltet Sie m ssen alle Kommandos im Rest des Kapitels in der chroot Umgebung ausf hren Wenn sie die chroot Umgebung aus irgendeinem Grund verlassen Neustart zum Beispiel dann denken sie daran die chroot Umgebung wieder zu betreten und das proc und devpts
8. df berichtet ber den verf gbaren und benutzten Festplattenplatz auf allen eingeh ngten Dateisystem oder nur auf den Dateisystemen die bestimmte Dateien enthalten dir ist das selbe wie Is dircolors gibt die Kommandos aus um die LS_COLOR Umgebungsvariable zu setzen Mit deren Hilfe wird das Farbschema von Is ver ndert dirname entfernt den nicht Verzeichnis Suffix von einem Dateinamen du berichtet die Menge Festplattenspeicher die vom aktuellen Verzeichnis oder von allen Unterverzeichnissen verbraucht wird Kurze Beschreibungen 166 Linux From Scratch echo gibt den angegebenen String aus env f hrt ein Kommando in einer ge nderten Umgebung aus expand konvertiert Tabulatoren in Leerzeichen expr wertet Ausdr cke aus factor gibt den Primfaktor aller angegebenen integer Werte aus false tut nichts ist immer nicht erfolgreich Es beendet immer mit einem Status Code der auf einen Fehler hindeutet fmt formatiert Abs tze in einer Datei neu fold bricht Zeilen in Dateien um groups gibt die Gruppenzugeh rigkeit des Benutzers aus head gibt die ersten zehn oder die angegebene Anzahl Zeilen einer Datei aus hostid gibt den numerischen Bezeichner des Hosts aus hexadezimal hostname gibt den Hostnamen aus bzw setzt ihn id gibt die effektive Benutzer ID Gruppen ID und Gruppenzugeh rigkeit des aktuellen Benutzers oder eines angegebenen Benutzers aus install kopiert Dateien und setzt w hrenddessen ihre Ber
9. lib Der symbolische Link usr lib 1libz so zeigt auf eine Datei die nicht mehr existiert weil wir sie gerade verschoben haben Erstellen sie den symbolischen Link neu so dass er auf den neuen Standort der Bibliothek zeigt In sf lib libz so 1 usr lib libz so Zlib installiert seine Man pages nicht Holen sie das mit dem folgenden Kommando nach cp zlib 3 usr share man man3 Installieren von Lfs Utils 0 3 Gesch tzte Kompilierzeit Ol SS Ungef hr ben tigter Festplattenplatz 1 1 MB Installieren von Lfs Utils 0 3 99 Linux From Scratch Inhalt von Lfs Utils Das Lfs Utils Paket enth lt ein paar Programme die von verschiedenen Paketen gebraucht werden aber nicht gross genug sind um ein eigenes Paket zu rechtfertigen Installierte Programme mktemp tempfile http get und iana net Installierte Dateien protocols services Lfs Utils Installationsabh ngigkeiten No dependencies checked yet Installation von Lfs Utils Kompilieren sie das Paket make Und installieren sie es make install Kopieren sie noch zwei mitgelieferte Hilfsdateien aus dem Lfs Utils Archiv an die richtige Stelle cp etc services protocols etc Die Datei etc services wird zum aufl sen von Service Nummern in lesbare Namen verwendet und etc protocols erf llt den gleichen Zweck f r Protokollnummern Installieren von Findutils 4 1 20 Gesch tzte Kompilierzeit 0 2 SSU Ungef hr ben tigter Festplattenplatz 7 5 MB
10. Glibc Grep Make Ncurses Sed Kbd Eine Installationsanleitung finden sie im_Abschnitt namens Installieren von Kbd 1 08 in Kapitel 6 Offizielle Download Adresse Kbd 1 08 ftp ftp win tue nl pub linux local utils kbd Kbd More Programs Patch http www linuxfromscratch org patches Ifs 5 0 kbd 1 08 more programs patch Official Download Location 189 Linux From Scratch Inhalt von Kbd Kbd enth lt die Dateien f r das Tastaturlayout und entsprechende Werkzeuge dazu Installiete Programme chvt deallocvt dumpkeys fgconsole getkeycodes getunimap kbd_mode kbdrate loadkeys loadunimap mapscrn openvt psfaddtable Link auf psfxtable psfgettable Link auf psfxtable psfstriptable Link auf psfxtable psfxtable resizecons setfont setkeycodes setleds setlogcons setmetamode setvesablank showconsolefont showkey unicode_start und unicode_stop Kurze Beschreibungen chvt ndert das vordergr ndige Virtuelle Terminal deallocvt zieht zugewiesene unbenutzte Virtuelle Terminals zur ck dumpkeys gibt Tastatur bersetzungstabellen aus fgconsole gitb die Nummer des aktiven Virtuellen Terminals aus getkeycodes gitb die scancode zu keycode Zuweisungstabelle des Kernels aus getunimap gibt die aktuell verwendete unimap aus kbd_mode setzt den Tastaturmodus bzw zeigt ihn an kbdrate setzt die Tastenwiederholrate und pausen oder zeigt sie an loadkeys l dt Tastatur bersetzungstabellen loadunimap l dt
11. Installierte Programme apropos makewhatis man man2dvi man2html und whatis Man Installationsabh ngigkeiten Man ist abh ngig von Bash Binutils Coreutils Gawk GCC Glibc Grep Make Sed Installation von Man Wir nehmen zuerst drei Anpassungen an den Quellen zu Man vor Der erste Patch kommentiert die MANPATH usr man Zeile in man conf aus Das verhindert redundante Ergebnisse wenn Programme wie zum Beispiel whatis verwendet werden patch Mel i man 1 5m2 manpath patch Der zweite Patch f gt der PAGER Variable die R Option hinzu Dadurch werden Escape Sequenzen korrekt behandelt patch Npl i man 1 5m2 pager patch Der dritte und letzte Patch verhindert ein Problem wenn Manpages mit mehr als 80 Zeichen Zeilenl nge im Zusammenhang mit neueren Groff Versionen formatiert werden patch Npl i man 1 5m2 80cols patch Bereiten sie Man nun zum kompilieren vor configure default confdir etc Die Bedeutung der configure Optionen e default Veranlasst das configure Skript eine sorgf ltige Auswahl an Standardwerten zu selektieren Zum Beispiel Nur englische Manpages keine Nachrichtenkataloge man ohne suid Bit Unterst tzung komprimierter Manpages Komprimieren von cat Seiten erstellen von cat Seiten wenn das zugeh rige Verzeichnis existiert FHS Konformit t duch ablegen der cat Seiten unter var cache man sofern das Verzeichnis existiert e confdir etc Durch diese Option sucht das man Programm seine
12. Make Perl Sed Texinfo Grep Eine Installationsanleitung finden sie im_Abschnitt namens Installieren von Grep 2 5 1 in Kapitel 6 Offizielle Download Adresse Grep 2 5 1 ftp ftp gnu org gnu grep Inhalt von Grep Grep zeigt alle Zeilen einer Datei an die auf ein bestimmtes Muster passen Installierte Programme egrep Link auf grep fgrep Link auf grep und grep Kurze Beschreibungen egrep gibt die Zeilen aus die auf einen regul ren Ausdruck passen fgrep gibt die Zeilen aus die auf eine Liste von festen Zeichenketten passen grep gibt die Zeilen aus die auf einen einfachen regul ren Ausdruck passen Grep Installationsabh ngigkeiten Grep ist abh ngig von Bash Binutils Coreutils Diffutils GCC Gettext Glibc Make Sed Texinfo Groff Eine Installationsanleitung finden sie im_Abschnitt namens nstallieren von Groff 1 19 in Kapitel 6 Offizielle Download Adresse Groff 1 19 ftp ftp gnu org gnu groff Glibc Installationsabhangigkeiten 184 Linux From Scratch Inhalt von Groff Groff enth lt verschiedene Programme zur verarbeitung und formatierung von Text Groff konvertiert normalen Text mit speziellen Kommandos in eine formatierte Ausgabe so wie man es zum Beispiel in den Hilfeseiten man pages sieht 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
13. Offizielle Download Adresse 187 Inhalt von GZP ines 188 Kurze Beschr ib ngent eeen n reine aE EIP O KEE Monster annee tient a ER Gzip Iostallatonsabb ngeeketen ss 188 et EE 188 Official Download Locapnon sessssssssssssssssscsscsse eai aiaei 189 Inh lt yon Inetutlls mrs 2 2 2 ei AE EES ee E 189 K rze Beschreibungen nnen enere iieii e iE a sintio 189 Inetutils Installationsabhangigkeiten ss 189 Dd a E 189 Offizielle Download Adresse 189 lU e 2 ann aa 190 Kurze Beschreibungen ee mean led nee tente tetes sonne 190 Kbd Installationsabh ngigkeiten ss 191 A ne E VE ee ee E Ee dc ule ee ee Ee 191 Offiziell Download Adresse is ccccccsccssvsvsveosnsvendeceonsevevesenacaccnananscoeacasacesaccecssseceecssocsooessesdvevsvevdeds 191 Inhalt yon Less unid El 191 Kurze Beschreibungen cocine nica EE ia EA EAER TEA ENEE 192 Less Iostallaoonzabb ngekeren no nnnncnnnnnnnnnannn ENEE EGEREN 192 Bee ee TEE 192 Offizielle Download Adresse 192 Inhalt der L ES Bootsktipte 0u ee lagen sen sin nannten 192 KurzeiBeschreibunsen E 192 LFS Bootscripts Installationsabh ngigkeiten 193 xii Linux From Scratch Table of Contents Anhang A Paketbeschreibungen und abh ngiskeiten A A er EEE IEEE Gi SS 193 Official Download LocatiOh 66455353 scssssdecssssscsaseacacensacederetesacassecccdaveccedacescadeesscadeosdvodoasabasasdsebdvsbevdsas 193 MAA A EE RP Es EES 19
14. Texinfo Installation von Grep Bereiten sie Grep zum kompilieren vor configure prefix tools disable perl regexp with included regex Die Bedeutung der configure Optionen e disable perl regexp Dies stellt sicher das grep nicht gegen die PCRE Bibliothek verlinkt wird die eventuell auf dem Host System installiert ist aber dann sp ter in der chroot Umgebung nicht mehr verf gbar w re e with included regex Dies stellt sicher das Grep seinen eingebauten Code f r Regul re Ausdr cke benutzt Ohne diesen w rde es den Code von Glibc benutzen der aber bekannt daf r ist ein wenig Fehlerhaft zu sein Kompilieren sie die Programme make Dieses Paket hat eine Test suite die berpr ft ob alles korrekt kompiliert wurde Wenn sie diese laufen lassen wollen f hren sie das folgende Kommando aus make check Dann installieren sie sie und die dazugeh rige Dokumentation make install Installieren von Grep 2 5 1 68 Linux From Scratch Installieren von Sed 4 0 7 Gesch tzte Kompilierzeit 0 2 SS Ungef hr ben tigter Festplattenplatz 5 2 MB Inhalt von Sed Sed ist ein Stream Editor Mit einem Stream Editor kann man einfache Textmanipulationen an einem Eingabestream vornehmen z B einer Datei oder einer Pipe Installiertes Programm sed Sed Installationsabh ngigkeiten Sed ist abh ngig von Bash Binutils Coreutils Diffutils GCC Gettext Glibc Grep Make Texinfo Installieren von Sed Bereite
15. Ungef hr ben tigter Festplattenplatz 10 MB Inhalt von Grub Das Paket Grub enth lt den Grub Bootloader Installierte Programme grub grub install grub md5 crypt grub terminfo und mbchk Grub Installationsabh ngigkeiten Grub ist abh ngig von Bash Binutils Coreutils Diffutils GCC Glibc Grep Make Ncurses Sed Installation von Grub Es ist bekannt das dieses Paket nicht sauber funktioniert wenn die standard Optimierungseinstellungen inklusive der march und mcpu Optionen ver ndert wurden Deshalb sollten sie event gesetzte Umgebungsvariablen die die Standard Optimierung berschreiben zum Beispiel CFLAGS und CXXFLAGS f r den Kompiliervorgang von Grub zur cksetzen oder entsprechend ab ndern Beheben sie zuerst ein kompilierproblem mit GCC 3 3 1 patch Np1 i grub 0 93 gcc33 1 patch Bereiten sie nun Grub zum kompilieren vor configure prefix usr Kompilieren sie das Paket make Und installieren sie es make install mkdir boot grub cp usr share grub i386 pc stage 1 2 boot grub Ersetzen sie 1386 pc durch das f r ihre Plattform korrekte Verzeichnis Das 1386 pc Verzeichnis enth lt auch einige st age1_5 Dateien jeweils f r verschiedene Dateisysteme Schauen sie nach welche zur Verf gung stehen und kopieren sie die notwendigen nach boot grub Die meisten werden e2fs_stagel_5 und oder reiserfs_stagel_5 kopieren Installieren von Grub 0 93 126 Linux From Scratch Installieren
16. chste Hauptversion stellen wir jeweils sicher das die Abh ngigkeiten berpr ft und ggf korrigiert werden Autoconf Eine Installationsanleitung finden sie im_Abschnitt namens Installieren von Autoconf 2 57 in Kapitel 6 Offizielle Download Adresse Autoconf 2 57 ftp ftp gnu org gnu autoconf Anhang A Paketbeschreibungen und abh ngigkeiten 158 Linux From Scratch Inhalt von Autoconf Autoconf erstellt Shell Skripte die Quelltexte automatisch konfigurieren Installierte Programme autoconf autoheader autom4te autoreconf autoscan autoupdate und ifnames Kurze Beschreibungen autoconf ist ein Werkzeug zum erzeugen von Shell Skripten die automatisch Quellcode Pakete konfigurieren um sie an unterschiedliche Unix System anzupassen Die erzeugten configure Skripte sind unabh ngig und k nnen auch dann ausgef hrt werden wenn autoconf nicht installiert ist autoheader ist ein Werkzeug zum erzeugen von Vorlagedateien f r C define Anweisungen die configure benutzen soll autom te ist ein Wrapper zu dem M4 Macro Prozessor autoreconf ist sehr praktisch wenn viele autoconf generierte configure Skripte existieren Das Programm ruft autoconf und autoheader immer wieder auf wenn n tig um so die configure Skripte und Header Vorlagen in einem bestimmten Verzeichnisbaum neu zu erzeugen autoscan kann beim erzeugen einer configure in Datei f r ein Software Paket behilflich sein Es untersucht die Quelldateien in einem Ve
17. e compile_et E2fsprogs e config charset Gettext e config guess Automake e config rpath Gettext e config sub Automake e cp Coreutils e cpp GCC e csplit Coreutils e ctrlaltdel Util linux e cut Coreutils e cytune Util linux e date Coreutils e dd Coreutils e ddate Util linux e deallocvt Kbd e debugfs E2fsprogs e depcomp Automake e depmod Modutils Anhang B Index aller Programme und Bibliotheken 222 Linux From Scratch e df Coreutils e diff Diffutils e diff3 Diffutils e dir Coreutils e dircolors Coreutils e dirname Coreutils e dmesg Util linux e dnsdomainname Net tools e domainname _Net tools e dpasswd Shadow e dprofpp Perl e du Coreutils e dumpe2fs E2fsprogs e dumpkeys Kbd e e2fsck E2fsprogs e e2image E2fsprogs e e2label E2fsprogs e echo Coreutils eed Ed e efm_filter pl Vim e efm_perl pl Vim e egrep Grep e elisp comp Automake e elvtune _Util linux e env Coreutils e enc xs Perl e eqn Groff e e2n2graph Groff eex Vim e expand Coreutils e expiry Shadow e expr Coreutils e factor Coreutils e faillog Shadow e false Coreutils e fdformat Util linux e fdisk Util linux e feconsole Kbd e forep Grep e file File e find Findutils e find2perl Perl e findfs E2fsprogs e flex Flex e flex Flex e fmt Coreutils e fold Coreutils e frcode Findu
18. e libg Glibe e libgcc GCC e libgettextlib Gettext e libgettextpo Gettext e libgettextsrc Gettext e libiberty GCC e libieee Glibc e libltdl Libtool e libm Glibc e libmagic File e libmcheck Glibc e libmemusage _Glibc e libmenu Ncurses e libmisc Shadow e libncurses Ncurses e libnetcfg Perl e libns Glibc e libnss Glibc e libopcodes Binutils e libpanel Ncurses e libpcprofile Glibc e libperl Perl e libproc Procps e libpthread Glibc e libresolv Glibc e librpcsve Glibc e librt Glibc e libSegFault Glibc Anhang B Index aller Programme und Bibliotheken 226 Linux From Scratch e libshadow Shadow e libss E2fsprogs e libstdc GCC e libsupc GCC e libthread_db _Glibc e libtool Libtool e libtoolize Libtool e libutil Glibc e libuuid E2fsprogs e liby Bison e libz Zlib e line Util linux e link Coreutils e Ikbib Groff e In Coreutils e loadkeys LFS Bootscripts e loadkeys Kbd e loadunimap Kbd e locale Glibc e localedef Glibc e localnet LFS Bootscripts e locate Findutils e logger Util linux e login Shadow e logname Coreutils e logoutd Shadow e logsave E2fsprogs e look Util linux e lookbib Groff e losetup Util linux e ls Coreutils e Isattr E2fsprogs e Isdev Procinfo e Ismod Modutils e m4 M4 e make Make e MAKEDEV Makedev
19. e makeinfo Texinfo e makewhatis Man e man Man e man2dvi Man e man2html Man e mapscrn Kbd e mcookie _Util linux e md5sum Coreutils e mdate sh Automake e mesg Sysvinit e missing Automake e mkdir Coreutils e mke2fs E2fsprogs e mkfifo Coreutils Anhang B Index aller Programme und Bibliotheken 227 Linux From Scratch e mkfs Util linux e mkfs bfs Util linux e mkfs cramfs Util linux e mkfs ext2 E2fsprogs e mkfs ext3 E2fsprogs e mkfs minix Util linux e mkinstalldirs Automake e mklost found E2fsprogs e mknod Coreutils e mkpasswd Shadow e mkswap Util linux e mktemp Lfs Utils e mk_cmds E2fsprogs e mmroff Groff e modinfo Modutils e modprobe Modutils e more Util linux e mount Util linux e mountfs LES Bootscripts e mountproc LES Bootscripts e msgattrib Gettext e msgcat Gettext e msgcmp Gettext e msgcomm Gettext e msgconv Gettext e msgen Gettext e msgexec Gettext e msgfilter Gettext e msgfmt Gettext e msggrep Gettext e msginit Gettext e msgmerge Gettext e msgunfmt Gettext e msguniq Gettext e mtrace Glibc e mv Coreutils e mve awk Vim e namei _Util linux e nameif Net tools e neqn Groff e netstat Net tools e network LFS Bootscripts e newgrp Shadow e newusers Shadow e ngettext Gettext e nice Coreutils e nisdomainname Net tools e nl Core
20. grep interpreter Durch das anpassen von gec s Specs Datei stellen wir sicher das jedes von hier an kompilierte Programm bis zum Ende von_Kapitel 5 unseren neuen dynamischen Linker in tools 1ib benutzt Die Notwendigkeit den neuen Linker zu benutzen ist auch der Grund daf r das wir den Specs Patch f r den zweiten GCC Durchlauf anwenden Ein Fehler dabei w rde dazu f hren das die GCC Programme selbst den Linker Namen des 1ib Verzeichnisses des Host Systems eingebettet h tten und das w rde unserem Ziel uns vom Host System zu trennen entgegenwirken Technische Anmerkungen zur toolchain 42 Linux From Scratch W hrend dem zweiten Durchlauf von Binutils k nnen wir den configure Parameter with lib path benutzen um den Bibliotheksuchpfad von 1d 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 wir nach dem eintreten in die chroot Umgebung in Kapitel 6 installieren Wenn die Glibc erstmal nach usr installiert ist werden wir schnell ein paar Vorgaben in der toolchain ndern und dann schreiten wir in Kapitel 6 mit dem erstellen des endg ltigen LFS Systems fort Bemerkungen zum statischen linken Fast alle Programme f hren neben ihrer eigentlichen Aufgabe noch einige weniger bliche manchmal seh
21. hren kann Die Kernel Header definieren die Schnittstelle zu den Diensten des Kernels Die Header indem include Verzeichnis ihres Systems sollten immer diejenigen sein mit denen die Glibc kompiliert wurde und sollten daher bei einem Kernelupgrade nicht ersetzt werden Linux Installationsabh ngigkeiten Linux ist abh ngig von Bash Binutils Coreutils Findutils GCC Glibc Grep Gzip Make Modutils Perl Sed Libtool Installationsabh ngigkeiten 195 Linux From Scratch MA Eine Installationsanleitung finden sie im_Abschnitt namens Installieren von M4 1 4 in Kapitel 6 Offizielle Download Adresse M4 1 4 ftp ftp gnu org gnu m4 Inhalt von M4 M4 ist ein Makroprozessor Er kopiert die Eingabe zur Ausgabe und fiihrt dabei Makros aus Die Makros k nnen entweder vordefiniert oder selbstgeschrieben sein und k nnen beliebige Argumente bernehmen Neben der F higkeit Makros auszuf hren hat M4 eingaute Funktionen um benannte Dateien einzuf gen Unix Kommandos auszuf hren Integer Berechnungen durchzuf hren Text zu manipulieren Rekursionen zu behandeln usw M4 kann entweder als Front end zu einem Compiler oder als eigenst ndiger Makroprozessor genutzt werden Installierte Programme m4 Kurze Beschreibungen m4 kopiert Dateien und expandiert w hrenddessen Makros die darin enthalten sind Diese Makros k nnen entweder eingebaut oder benutzerdefiniert sein und k nnen eine beliebige Anzahl von Argumenten bernehmen
22. hrend dieser Phase bemerken sie m glicherweise die folgende Warnung configure WARNING These auxiliary 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 Test suite f hren Kompilieren sie das Paket make Starten sie die Test suite make check Die Glibc Test suite ist sehr stark von einigen Funktionen ihres Host Systems abh ngig vor allem dem Kernel Zus tzlich k nnen in diesem Kapitel einige Tests von der Umgebung ihres Host Systems beeinflusst werden Diese werden nat rlich kein Problem mehr sein wenn wir sp ter die Glibc Test suite in der chroot Inhalt von Glibc 52 Linux From Scratch Umgebung in Kapitel 6 ausf hren Grunds tzlich erwarten wir das die Glibc Test suite fehlerfrei durchl uft Nichtsdestotrotz k nnen Fehler unter bestimmten Umst nden manchmal nicht vermieden werden Hier ist eine Liste der uns allgemein bekannten Probleme e Der math Test schl gt manchmal fehl wenn sie ein System mit einer lteren Intel oder AMD CPU haben Optimierungseinstellungen haben hier ebenfalls einen gewissen Einfluss e Der gettext Test schl gt manchmal aufgrund von Host System bedingten Problemen fehl Die genauen Gr nde sind noch nicht ganz gekl rt e Der atime Test schl gt fehl wenn die LFS
23. i ncurses 5 3 vsscanf patch Der erste Patch korrigiert die Header Datei et ip h und der zweite Patch unterbindet einige Compiler Warnungen bez glich der Benutzung veralteter Header Bereiten sie Ncurses zum kompilieren vor configure prefix tools with shared without debug without ada enable overwrite Die bedeutung der configure Optionen e without ada Das bewirkt das Ncurses ohne Ada Bindungen erstellt wird selbst wenn auf dem Host System ein Ada Compiler vorhanden ist Das ist erforderlich weil sp ter in der chroot Umgebung Ada nicht mehr verf gbar sein wird e enable overwrite Dadurch werden die Ncurses Header Dateien in tools include anstelle von tools include ncurses installiert Das stellt sicher das andere Pakete die Ncurses Header Dateien problemlos finden k nnen Kompilieren sie die Programme und Bibliotheken make Und dann installieren sie sie und ihre Dokumentation make install Installieren von Patch 2 5 4 Gesch tzte Kompilierzeit OPS EU Ungef hr ben tigter Festplattenplatz 1 9 MB Ncurses Installationsabh ngigkeiten 71 Linux From Scratch Inhalt von Patch Patch manipuliert Dateien auf Basis einer Patch Datei Eine Patch Datei ist blicherweise eine Liste mit Anderungsanweisungen die mit Hilfe des Programms diff erzeugt wurde Installiertes Programm patch Patch Installationsabh ngigkeiten Patch ist abh ngig von Bash Binutils Coreutils Diffutils GCC
24. jeder Benutzer in die Verzeichnisse tmp und var tmp schreiben kann aber nicht die Dateien anderer Benutzer l schen kann Das letztere wird durch das sticky bit bewirkt dem h chsten Bit in der Bit Maske 1777 Anmerkung zur FHS Konformit t Unser Verzeichnisbaum basiert auf dem FHS Standard verf gbar unter http www pathname com fhs Zus tzlich zu den oben erstellten Verzeichnissen sieht dieser Standard auch die Existenz von usr local games und usr share games vor aber diese m chten wir in einem Basis System eigentlich nicht haben Wenn sie m chten k nnen sie ihr System nat rlich vollst ndig FHS Konform machen Zur Struktur in usr local share macht FHS keine pr zisen Angaben daher haben wir die Verzeichnisse erstellt die wir f r n tig halten Einh ngen des proc und devpts Dateisystems Damit bestimmte Programme richtig funktionieren m ssen die proc und devpts Dateisysteme in der chroot Umgebung verf gbar sein Ein Dateisystem kann so oft und an so vielen Stellen eingeh ngt sein wie sie m chten daher ist es auch kein Problem das diese Dateisysteme auch auf ihrem Host System bereits gemountet sind besonders weil diese zwei virtuelle Dateisysteme sind Das proc Dateisystem ist das Prozess Informations Pseudo Dateisystem das der Kernel benutzt um Statusinformationen ber den Zustand des Systems zur Verf gung zu stellen Das proc Dateisystem wird mit dem folgenden Kommando in das proc Verzeichni
25. tiger symbolischer Links 83 Linux From Scratch eli auto ue 258 10 3 audor xii EOF Die erzeugten Gruppen sind nicht Teil irgendeines Standards es sind Gruppen die das MAKEDEV Skript im n chsten Abschnitt benutzt Neben der Gruppe root schl gt das LSB http www linuxbase org nur die Gruppe bin mit der GID 1 vor Alle anderen Gruppennamen und GIDs k nnen frei durch den Anwender gew hlt werden weil gut geschriebene Pakete sich nicht auf GID Nummern verlassen sondern den Gruppennamen verwenden Zum schluss loggen wir uns erneut in die chroot Umgebung ein Die Aufl sung von Benutzer und Gruppennamen funktioniert sofort nach dem Erstellen von etc passwd und etc group weil wir in Kapitel 5 eine vollst ndige Glibc installiert haben Jetzt sind wir endlich den I have no name Prompt los exec tools bin bash login h Beachten sie die Benutzung der h Anweisung Das weist bash an kein internes Pfad hashing zu benutzen Ohne diese Anweisung w rde bash sich die Pfade zu ausf hrbaren Dateien merken Weil wir aber frisch installierte Programme sofort nach der Installation an ihrem neuen Ort benutzen m chten schalten wir diese Funktion in diesem Kapitel aus Erstellen der Ger tedateien Makedev 1 7 Gesch tzte Kompilierzeit Ooi Siwy Ungef hr ben tigter Festplattenplatz 50 KB Inhalt von MAKEDEV Das Skript MA KEDEV erstellt statische Ger tedateien Diese liegen normalerweise im dev Verzeichnis Detaillier
26. 1 Durchlauf 1 Installieren der Linux 2 4 22 Header Installieren von Glibc 2 3 2 Die Glibc integrieren Widmung Linux From Scratch Installieren von Tcl 8 4 4 Installieren von Expect 5 39 0 Installieren von DejaGnu 1 4 3 Installieren von GCC 3 3 1 Durchlauf 2 Installieren von Binutils 2 14 Durchlauf 2 Installieren von Gawk 3 1 3 Installieren von Coreutils 5 0 Installieren von Bzip2 1 0 2 Installieren von Gzip 1 3 5 Installieren von Diffutils 2 8 1 Installieren von Findutils 4 1 20 Installieren von Make 3 80 Installieren von Grep 2 5 1 Installieren von Sed 4 0 7 Installieren von Gettext 0 12 1 Installieren von Ncurses 3 3 Installieren von Patch 2 5 4 Installieren von Tar 1 13 25 Installieren von Texinfo 4 6 Installieren von Bash 2 05b Installieren von Util linux 2 12 Installieren von Perl 5 8 0 Stripping II Part III Installation des LES Systems 6 Installieren der grundlegenden System Software Widmung Einf hrung Informationen zu Debugging Symbolen Betreten der chroot Umgebung ndern des Besitzers Erstellen der Verzeichnisse Einh ngen des proc und devpts Dateisystems Erstellen n tiger symbolischer Links Erstellen der Dateien passwd und group Erstellen der Ger tedateien Makedev 1 7 Installieren der Linux 2 4 22 Header Installieren der Man pages 1 60 Installieren von Glibc 2 3 2 Erneutes anpassen der toolchain Installieren von Binutils 2 14 Installie
27. 1 875 796 KB http freshmeat net projects bison Bzip2 1 0 2 650 KB http freshmeat net projects bzip2 Coreutils 5 0 3 860 KB http freshmeat net projects coreutils DejaGnu 1 4 3 1 775 KB http freshmeat net projects dejagnu Diffutils 2 8 1 762 KB http freshmeat net projects diffutils E2fsprogs 1 34 3 003 KB http freshmeat net projects e2fsprogs Ed 0 2 182 KB http freshmeat net projects ed Expect 5 39 0 508 KB http freshmeat net projects expect File 4 04 338 KB See Note Below http freshmeat net projects file Findutils 4 1 20 760 KB http freshmeat net projects findutils Flex 2 5 4a 372 KB ftp ftp gnu org gnu non gnu flex Gawk 3 1 3 1 596 KB http freshmeat net projects gnuawk GCC 2 95 3 9 618 KB http freshmeat net projects gcc GCC core 3 3 1 10 969 KB http freshmeat net projects gcc GCC g 3 3 1 2 017 KB http freshmeat net projects gcc GCC testsuite 3 3 1 1 033 KB Kapitel 4 Das Material Pakete und Patche 34 Linux From Scratch http freshmeat net projects gcc Gettext 0 12 1 5 593 KB http freshmeat net projects gettext Glibc 2 3 2 13 064 KB http freshmeat net projects glibc Glibc linuxthreads 2 3 2 211 KB http freshmeat net projects glibc Grep 2 5 1 545 KB http freshmeat net projects grep Groff 1 19
28. 2 patch ncurses 5 3 vsscanf patch perl 5 8 0 libc 3 patch shadow 4 0 3 newgroup fix patch tcl 8 4 4 zlib 1 1 4 vsnprintf patch e Entfernt bin86 0 16 3 fileutils 4 1 fileutils 4 1 patch findutils 4 1 segfault patch findutils 4 1 patch glibc 2 3 1 libnss patch glibc 2 3 1 root perl patch gzip 1 2 4b patch lilo 22 2 netkit base 0 17 sh utils 2 0 sh utils 2 0 patch sh utils 2 0 hostname patch tar 1 13 patch textutils 2 1 vim 6 1 patch e November 2nd 2003 alex Appendix A Commented out all the last checked against lines e October 28th 2003 greg Strengthened the seds in Locking in Glibc and Re adjusting the toolchain sections e October 26th 2003 greg Chapter 6 Glibc Added command to create etc ld so conf to match Chapter 5 Glibc Closes bug 700 e October 24th 2003 alex Appendix A Changed the dependencies to the concise format based on Tushar s post e October 23rd 2003 gerard Chapter 9 The End Changed the etc 1fs filename to etc lfs release to be more consistent with other distributions out there e October 23rd 2003 alex Changed most of the Chapter references to proper xref cross references e October 22nd 2003 alex Chapter 6 Gawk and Shadow Adjusted the text And added some markup elsewhere e October 22nd 2003 alex Chapter 6 Entering the chroot environment Dropped the set h comma
29. 2003 alex Removed a series of unused entities e October 7th 2003 jeremy Added notes to the linking tests in chapter 5 and 6 stating that blank output is a bad thing e October 7th 2003 alex Changed the patch entities to contain the full filename instead of just the version number e October 7th 2003 jeremy Chapter 1 Added a note regarding LFS support on IRC e October 7th 2003 greg Preface Add note about the Essential Pre Reading Hint Closes Bug 585 e October 6th 2003 alex Changed the style of the Contents subsections in Chapters 5 and 6 and Appendix A e October 6th 2003 greg Simplified seds in Locking in Glibc and Re adjusting the toolchain sections Rearranged How things are going to be done section e October 5th 2003 greg Chapter 5 Added new section Toolchain technical notes Integrated and scaled back the old Why we use static linking section Closes Bug 658 e October 4th 2003 alex Minor rewordings and additions of markup here and there e October 4th 2003 greg Chapter 5 Binutils Pass 1 Added extra LDFLAGS to ensure static rebuild of ld e October 2nd 2003 greg Chapter 6 Reinstated INSTALL tools bin install for linker adjustment command due to issues on hosts where a ginstall symlink exists This renders the install symlinks redundant so removed those too e October 2nd 2003 greg Chapter 6 Shadow Enabled MD3 passwords Closes Bug 600 e September 27th
30. 2003 greg Chapter 5 Expect Tweaked install so that redundant scripts are not installed Chapter 6 Creating essential symlinks Removed redundant links Chapter 6 man Removed PATH closes Bug 574 e September 27th 2003 greg Added Tcl Expect and DejaGnu items to Appendix A Closes Bug 661 e September 26th 2003 jeremy Added new workaround for the devpts problems e September 24th 2003 greg Various changes across the board addressing Bug 675 e September 24th 2003 alex Appendix A Changed the style of the short descriptions and the content of most of them too e September 22nd 2003 greg Chapter 8 Creating the etc fstab file Made mounting devpts the default e September 22nd 2003 jeremy Added Net tools patch to fix mii tool compilation Anderungsprotokoll 16 Linux From Scratch e September 22nd 2003 jwrober Chapter 5 Updated the Why Static page to more accurately represent the difference between statically and dynamically linked binaries Thanks to lan Molton for pointing this out Fixes Bug 602 e September 22nd 2003 jeremy Removed the make command from DejaGnu since it performs nothing e September 22nd 2003 jeremy Removed the k from Tcl s make check since it s not expected to have failures anymore e September 22nd 2003 jeremy Changed the reference to the man hint to a pointer to BLFS e September 22nd 2003 jeremy Added a note to remember to mount devpts if you
31. 8 0 Link auf perl perlbug perlcc perldoc perlivp piconv pl2pm pod2html pod2latex pod2man pod2text pod2usage podchecker podselect psed Link auf s2p pstruct Link auf c2ph s2p splain und xsubpp Installierte Bibliotheken zu viele um sie einzeln aufzulisten Perl Installationsabh ngigkeiten Perl ist abh ngig von Bash Binutils Coreutils Diffutils Gawk GCC Glibc Grep Make Sed Installieren von Perl Zuerst m ssen sie ein paar festeingestellte Pfade zur C Bibliothek anpassen patch Npl i perl 5 8 0 libc 3 patch Und dann stellen sie sicher das ein paar statische Erweiterungen erzeugt werden chmod u w hints linux sh echo static_ext IO re Fentl gt gt hints linux sh Bereiten sie Perl zum kompilieren vor configure gnu prefix tools Kompilieren sie nur ein paar ben tigte Programmteile make perl utilities Dann kopieren sie die Werkzeuge und ihre Bibliotheken an die richtige Stelle Installieren von Perl 5 8 0 76 Linux From Scratch cp perl pod pod2man tools bin mkdir p tools lib per15 5 8 0 cp R lib tools lib per15 5 8 0 Stripping Die Schritte in diesem Abschnitt sind optional Wenn ihre LFS Partition sehr klein ist werden sie froh sein das man einige unn tige Dinge loswerden kann Die ausf hrbaren Dateien und Bibliotheken die sie bis hierher erstellt haben enthalten ungef ht 130MB nicht ben tigte Debugging Symbole So entfernen sie diese Symbole strip strip unn
32. AE 74 Installieren Von Bash una ege Abel ASA idea recado 74 Installieren von Util Nn A EES 75 Tnhalt von BEE 75 Util linux Installationsabh ngigckeiten nn nro nconononnn aries 75 Inst lli ren von Util EI e oi tt aah tt ones 75 Instalh renvonPerl 5 8 0 ha Ne Basen dd Ee He Inhalt yan Berl 2 222 n T Se EES EES 76 Perl Installationsabh ngigkeiten ses 76 Installi ren von P acaricia ai aiii 76 A rise NR 77 III Part III Installation des LES Systems c0ss000ssesoneenonnennnsssnssensnnennnnennsnsennssnsnssessnnessnnennsssnsnssssnssessnne 78 Kapitel 6 Installieren der grundlegenden System Softwar e cssssccscsccsssssssssssssscssssssssscsssscssessssecsseses 79 Erm fu bruni ege icon e eege 79 Informationen zu Debugging Svmbolen ss 79 Be treten der chroot Umgebung estro ti ere EE EEEE rE EE ENE life lisant tune lila 80 O EE 81 Erstellen der Verzeichnisse A A a Perte te ets 81 Anmerkung Zur FHS Konformit t seen 82 Einh ngen des proc und devpts Dateisystems ccnnnnnnnnn cono nc cnnn conan cccnncnns 82 Erstellen n tiger symbolischer Links ss 83 Erstellen der Dateien passwd und eroup sense 83 Erstellen der Ger tedateien OMakedev 0 84 InhaltyonMAKEDEN tata ais 84 MAKEDE V Installationsabh ngiskeiten AE 84 Erstellen von CGer tedateien no none no nen nono no nono ocn nono nono E
33. Coreutils Diffutils Flex GCC Glibc Grep M4 Make Sed Ncurses Eine Installationsanleitung finden sie im_Abschnitt namens Installieren von Ncurses 5 3 in Kapitel 6 Inhalt von Modutils 200 Linux From Scratch Offizielle Download Adresse Ncurses 5 3 ftp ftp gnu org gnu ncurses Ncurses Etip Patch http www linuxfromscratch org patches Ifs 5 0 ncurses 5 3 etip 2 patch Ncurses Vsscanf Patch http www linuxfromscratch org patches Ifs 5 0 ncurses 5 3 vsscanf patch Inhalt von Ncurses Ncurses enth lt Bibliotheken zur Verwendung von Zeichen und Terminals inklusive Schaltfl chen und Men s Installierte Programme captoinfo Link auf tic clear infocmp infotocap Link auf tic reset Link auf tset tack tic toe tput und tset Installierte Bibliotheken libcurses a so Link auf libncurses a so libform a so libmenu a so libncurses a libncurses a so libpanel a so Kurze Beschreibungen captoinfo konvertiert termcap Beschreibungen zu terminfo Beschreibungen clear l scht den Bildschirminhalt infocmp vergleicht terminfo Beschriebungen oder gibt sie aus infotocap konvertiert terminfo Beschreibungen zu termcap Beschreibungen reset reinitialisiert ein Terminal mit seinen Standardwerten tack wird benutzt um die korrektheit eines Eintrages in der terminfo Datenbank zu berpr fen tic ist der Compiler f r Beschreibungen zu terminfo Eintr gen Er bersetzt terminfo Dateie
34. Gkeiten ue 98 Installation von Zas 98 ENEE Ee EE E RE A ku ti nalen tre tte hie 99 Inhalt von EC RE 100 Lfs Utils Installationsabh ngigkeiten ss 100 Installation von Lts Util atada 100 Installieren von Findutils 4 1 20D ooonnnncncccococuononononanonnonanononcnnnnonononononnononononononononononanonononinanininanininanos 100 Inhalt Yon ES dato dede 100 Eindutils Installationsabhangigkeiten 0 cono no cnn nc nononronnnron no cnnn conan ncrnnnnnns 101 Installation von Fundus 101 Installieren von CawkK 3 EE 101 Inhalt von Gawk A AEE sn TR ose a ee E Eed ee 101 Gawk Installationsabhd ngigkeiten AA 102 Installation Vot G Wk 8282er A AE KEE Nee ue 102 Installieren von Ncurses O aari a aaee a aea araea as isiklsanllsskhesasainisahlnn 102 Inhalt yon Neur S 2 EE 102 Ncurses Installationsabh ngigkeiten ss 103 Installation von Nours s 1 3432 EE dE EEN 103 Inst llier n von VIMA are 2 nal ie BE detre ose sentence entrent dune 104 ANTE IR Ke RS de ne A E ao tete te tee ints ic 104 Linux From Scratch Table of Contents Kapitel 6 Installieren der grundlegenden System Software TACA daa 104 Mim Installationsabh ngigkeiten ss 104 Installation von Nees A O 104 Konfigurieren von Vi 4er en Bene SERA le dattes aise 105 Installi r n von MA eege 2 Bi ne RE ca eve aR E 105 Ina van MER ege eeh See ee RE D arriere 105 MA lnstallationsabh ngi
35. Glibc Grep Make Sed Installieren von Patch Bereiten sie Patch zum kompilieren vor CPPFLAGS D_GNU_SOURCE configure prefix tools Die Preprozessor Option D_GNU_SOURCE wird nur auf der PowerPC Plattform ben tigt Auf anderen Architekturen k nnen sie sie weglassen Kompilieren sie das Programm make Und dann installieren sie es mit der dazugeh rigen Dokumentation make install Installieren von Tar 1 13 25 Gesch tzte Kompilierzeit 0 2 BU Ungef hr ben tigter Festplattenplatz 10 MB Inhalt von Tar Tar ist ein Programm zum speichern und extrahieren von Dateien aus sog Tar Archiven Installierte Programme rmt und tar Tar Installationsabh ngigkeiten Tar ist abh ngig von Bash Binutils Coreutils Diffutils GCC Gettext Glibc Grep Make Sed Inhalt von Patch 72 Linux From Scratch Installieren von Tar Bereiten sie Tar zum kompilieren vor configure prefix tools Komipilieren sie die Programme make Dieses Paket beinhaltet eine Test suite um zu berpr fen das alles korrekt kompiliert wurde Wenn sie die Suite durchlaufen lassen m chten erledigt dies das folgende Kommando make check Dann installieren sie die Programme und ihre Dokumentation make install Installieren von Texinfo 4 6 Gesch tzte Kompilierzeit IL BU Ungef hr ben tigter Festplattenplatz 16 MB Inhalt von Texinfo Texinfo enth lt Programme zum lesen schreiben und konvertieren von Info Dokumenten System Dok
36. Installieren sie zuerst den angepassten Linker in dem sie folgendes Kommando innerhalb des binutils build Verzeichnisses ausf hren make C ld install Den Linker haben wir erst k rzlich angepasst n mlich am Ende des ersten Durchlaufs der Binutils Ab diesem Punkt wird alles nur gegen die Bibliotheken in tools 1ib verlinkt Anmerkung Falls sie die vorige Warnung das sie die Binutils Verzeichnisse nicht l schen sollen bersehen haben sollten oder sie vielleicht versehentlich gel scht haben seien sie nicht besorgt Es ist noch nicht alles verloren Ignorieren sie das obige Kommando einfach Das Ergebnis ist ein gewisses Risiko das nachfolgende Programme gegen Bibliotheken auf dem Host System gelinkt werden Das ist nicht ideal aber auch kein allzu grosses Problem Die Situation wird korrigiert wenn wir sp ter den zweiten Durchlauf der Binutils installieren Nun wo der angepasste Linker installiert ist m ssen sie die Binutils Verzeichnisse l schen Als n chstes m ssen sie die GCC Spec Datei erg nzen so das sie den neuen dynamischen Linker referenziert Ein einfaches sed Kommando erledigt dies SPECFILE to01s lib gcc 1ib specs amp amp sed e s lib ld linux so 2 tools lib ld linux so 2 g SSPECFILE gt tempspecfile amp amp mv f tempspecfile SPECFILE amp amp unset SPECFILE Wir empfehlen das obige Kommando mittels Kopieren und einf gen auszuf hren anstelle es abzutippen Sie k nnen die Specs Datei
37. Konfigurationsdatei man conf im etc Verzeichnis Installieren von Man 1 5m2 128 Linux From Scratch Kompilieren sie das Paket make Und installieren sie es make install Anmerkung Falls sie SGR Escape Sequenzen abschalten m chten miissen sie die Datei man conf editieren und das Argument c zu nroff hinzuf gen Wenn sie weitergehende Informationen zur Kompression von Manpages haben m chten schauen sie am besten im BLFS Buch unter http www linuxfromscratch org blfs view cvs postlfs compressdoc html nach Installieren von Make 3 80 Gesch tzte Kompilierzeit mS BU Ungef hr ben tigter Festplattenplatz 8 8 MB Inhalt von Make Make erkennt automatisch welche Teile eines grossen Programmes erneut kompiliert werden m ssen und welche Kommandos dazu n tig sind Installiertes Programm make Make Installationsabh ngigkeiten Make ist abh ngig von Bash Binutils Coreutils Diffutils GCC Gettext Glibc Grep Sed Installation von Make Bereiten sie Make zum kompilieren vor configure prefix usr Kompilieren sie das Paket make Dieses Paket enth lt eine Test suite um zu pr fen ob alles korrekt kompiliert wurde Wenn sie sie ausf hren m chten erledigt dies das folgende Kommando f r sie make check Und installieren sie das Paket Installieren von Make 3 80 129 Linux From Scratch make install Installieren von Modutils 2 4 25 Gesch tzte Kompilierzeit OPS 5 Ungef hr ben tigter Fe
38. Kurze Beschreibungen 207 Linux From Scratch Offizielle Download Adresses Psmisc 21 3 http download sourceforge net psmisc ftp download sourceforge net pub sourceforge psmisc Inhalt von Psmisc Das Paket Psmisc enth lt drei Programme zur Verwaltung des proc Verzeichnisses Installierte Programme fuser killall und pstree Kurze Beschreibungen fuser zeigt die PIDs von Prozessen an die gerde eine bestimmte Datei oder Dateisystem verwenden killall totet Prozesse aufgrund ihres Namens Es sendet ein Signal an alle Prozesse die ein bestimmtes Kommando ausfiihren pidof gibt die PIDs eines bestimmten Programms aus pstree zeigt laufende Prozesse als Baum an Psmisc Installationsabhangigkeiten Psmisc ist abh ngig von Bash Binutils Coreutils Diffutils GCC Gettext Glibc Grep Make Ncurses Sed Sed Eine Installationsanleitung finden sie im_Abschnitt namens Installieren von Sed 4 0 7 in Kapitel 6 Offizielle download Adresse Sed 4 0 7 ftp ftp gnu org gnu sed Inhalt von Sed Sed ist ein Stream Editor Mit einem Stream Editor kann man einfache Textmanipulationen an einem Eingabestream vornehmen z B einer Datei oder einer Pipe Installiertes Programm sed Offizielle Download Adresses 208 Linux From Scratch Kurze Beschreibung sed wird zum filtern und transformieren von Dateien in einem einzigen Durchlauf verwendet Sed Installationsabh ngigkeiten Sed ist abh ngig von Bash Binut
39. Optimierung berschreiben zum Beispiel CFLAGS und CXXFLAGS f r den Kompiliervorgang von GCC zur cksetzen oder entsprechend ab ndern Die GCC Dokumentation empfiehlt GCC nicht im Quellenverzeichnis sondern in einem dazu dedizierten Verzeichnis zu kompilieren mkdir gcc build cd gec build Bereiten sie GCC zum kompilieren vor gec 3 3 1 configure prefix tools with local prefix tools disable nls enable shared enable languages c Die Bedeutung der configure Optionen e with local prefix tools Der Sinn dieses Schalters ist es usr local include aus dem Suchpfad von gcc zu entfernen Dies ist nicht absolut zwingend erforderlich jedoch m chten wir m gliche Einfl sse aus dem Host System vermeiden daher ist diese Option hier wichtig e enable shared Dieser Schalter scheint hier erstmal nicht besonders klug Aber durch ihn kompilieren wir sowohl libgec_s so 1l und libgcc_eh a und die Pr senz von Inhalt von GCC 48 Linux From Scratch libgcc_eh a stellt sicher dass das configure Skript f r Glibc das n chste zu kompilierende Paket korrekte Ergebnisse erziehlt Beachten sie das gcc selbst trotzdem statisch gelinkt wird das wird durch den Wert static zu BOOT_LDFLAGS im n chsten Schritt erreicht e enable languages c Diese Option stellt sicher das nur der C Compiler gebaut wird Diese Option wird nur ben tigt wenn sie das komplette GCC Archiv heruntergeladen und entpackt haben F
40. Partition mit der noatime Option gemountet wurde Auch andere Dateisystemeigenheiten k nnen hier Einfluss haben e Der shm Test k nnte fehlschlagen wenn das Host System das devfs Dateisystem laufen hat aber aufgrund fehlender Kernel Unterst tzung kein tmpfs Dateisystem unter dev shm gemountet ist e Auf alter oder langsamer Hardware k nnen ein paar Tests aufgrund von Timeouts fehlschlagen Machen sie sich keine allzugrossen Gedanken wenn ein paar Glibc Tests in diesem Kapitel fehlschlagen Die Glibc aus_Kapitel 6 ist diejenige die wir endg ltig verwenden werden erst dort ist es wirklich wichtig das die Tests erfolgreich durchlaufen Aber denken sie daran selbst in Kapitel 6 k nnen immer noch Fehler auftreten beim math Test zum Beispiel Wenn ein Fehler auftritt notieren sie ihn dann fahren sie mit make check fort Die Test suite sollte dann dort fortfahren wo sie aufgeh rt hat Sie k nnen dieses stoppen und starten umgehen indem siemake k check aufrufen Aber wenn sie das tun stellen sie sicher das sie die Ausgaben mitloggen damit sie sp ter die Logdatei nach den aufgetretenen Fehlern durchsuchen k nnen Nun installieren sie das Paket make install Verschiedene L nder und Kulturen haben auch unterschiedliche Konventionen zum kommunizieren Diese Konventionen reichen von einfachen wie zum Beispiel dem Format f r Datum und Uhrzeit bis hin zu sehr komplexen Konventionen wie zum Beispiel der gesprochenen Sprache Die interna
41. Umgebung ans laufen zu bekommen Wir behandeln das Thema sp ter in dem schon erw hnten Makedev Abschnitt Denken sie daran wenn sie aus irgendeinem Grund die Arbeit an LFS beenden und sp ter wieder einsteigen dann m ssen sie diese Dateisysteme in der chroot Umgebung erneut mounten Ansonsten werden sie h chstwahrscheinlich Probleme bekommen Erstellen n tiger symbolischer Links Ein paar Programme haben fest eingestellte Pfade zu Programmen die hier aber noch nicht existieren Deshalb erstellen wir eine Reihe symbolischer Links die aber im weiteren Verlauf des Kapitels beim installieren der restlichen Software durch echte Dateien ersetzt werden In s tools bin bash cat pwd stty bin In s tools bin perl usr bin In s tools lib libgec_s so 1 usr lib In s bash bin sh Erstellen der Dateien passwd und group Damit root sich am System anmelden kann und damit der Name root der richtigen Benutzer ID zugeordnet werden kann m ssen die relevanten Eintr ge in etc passwdund etc group vorhanden sein Erzeugen sie etc passwd mit dem folgenden Kommando cat gt etc passwd lt lt EOF MOONE 22980803 0010 8 HOOIES oLa oech EOF Das echte Passwort f r root Das x ist hier nur Platzhalter wird erst sp ter gesetzt Erstellen sie et c group mit dem folgenden Kommando cat gt etc group lt lt EOF ER mzezl EE kmem x 3 EN AE Cape daemon floppy is loss os ox x o JIM Erstellen n
42. auch per Hand ndern ersetzen sie einfach jedes vorkommen von lib ld linux so 2 durch tools lib ld linux so 2 Wichtig Wenn sie auf einer Plattform arbeiten an der der Name des dynamischen Linkers anders lautet als Ld linux so 2 m ssen sie nat rlich statt 1d 1inux so 2 den korrekten Namen des Linkers f r ihre Plattform einsetzen Falls n tig schauen sie nochmal im Abschnitt namens Technische Anmerkungen zur toolchain nach Letztlich k nnten m glicherweise einige include Dateien vom Host System mit in das private include Verzeichnis des GCC geraten sein Soetwas kann durch GCC s fixincludes Prozess geschehen der w hrend dem kompilieren von GCC ausgef hrt wird Dazu werden wir sp ter noch n heres erkl ren Nun f hren sie erstmal das folgende Kommando aus um dieses Problem zu umgehen rm f tools lib gec 1ib include pthread h bits sigthread h Achtung Es ist unbedingt notwendig an diesem Punkt die korrekte Funktion der toolchain kompilieren und linken zu Die Glibc integrieren 54 Linux From Scratch berpr fen Darum f hren wir nun einen kleinen Gesundheitscheck durch echo main gt dummy c gcc dummy c readelf 1 a out grep tools Wenn alles korrekt funktioniert sollten keine Fehler auftreten und die Ausgabe des letzten Kommandos ist Requesting program interpreter tools lib ld linux so 2 Wenn sie nicht die obige Ausgabe oder berhaupt keine Ausgabe erhielten ist etwas er
43. compile new kernels should not have a single symbolic link in sight except the one that the kernel build itself sets up namely the linux include asm symlink that is only used for the internal kernel compile itself Motel yes Tore de weng IE clo My Arte linvo seill has elas ciel 2 2513 header files vean chouc L havan ua a 2213 karasl da ey loma time But those headers were what Glibc was compiled against so those headers are what matches the library object files And this is actually what has been the suggested environment for at least the last five years I don t know why the symlink business keeps on living on like a bad zombie Pretty much every distribution still has that broken symlink and people still remember that the linux sources should go into usr src linux even though that hasn t been RUS da a Leeme times Der wichtige Teil ist wo Linux sagt das die Header Dateien die sein sollen mit denen Glibc kompiliert wurde Das sind die Header Dateien die zum sp teren kompilieren von Paketen verwendet werden sollten weil nur diese exakt auf die Objekt Code Bibliotheken passen Durch das kopieren der Header stellen wir sicher das sie verf gbar bleiben falls sie sp ter den Kernel updaten Beachten sie das es vollkommen in Ordnung ist die Kernel Sourcen in usr src linux liegen zu haben so lange sie nicht die symbolischen Links usr include linux asm haben Installieren der Man pages 1 60 Gesc
44. das Paket make Dieses Paket enth lt eine Test suite um zu pr fen ob alles korrekt kompiliert wurde Wenn sie sie ausf hren m chten m ssen sie erst eine Basisversion der etc hosts Datei erstellen Diese wird ben tigt damit einige der Tests den Hostnamen localhost aufl sen k nnen echo 127 0 0 1 localhost hostname gt etc hosts Wenn sie m chten k nnen sie nun die Tests ausf hren make test Und installieren sie das Paket make install Inhalt von Perl 114 Linux From Scratch Installieren von Texinfo 4 6 Gesch tzte Kompilierzeit 2 SBU Ungefahr ben tigter Festplattenplatz 17 MB Inhalt von Texinfo Texinfo enth lt Programme zum lesen schreiben und konvertieren von Info Dokumenten System Dokumentation Installierte Programme info infokey install info makeinfo texi2dvi und texindex Texinfo Installationsabh ngigkeiten Texinfo ist abh ngig von Bash Binutils Coreutils Diffutils GCC Gettext Glibc Grep Make Ncurses Sed Installation von Texinfo Bereiten sie Texinfo zum kompilieren vor configure prefix usr Kompilieren sie das Paket make Dieses Paket enth lt eine Test suite um zu pr fen ob alles korrekt kompiliert wurde Wenn sie sie ausf hren m chten erledigt dies das folgende Kommando f r sie make check Installieren sie das Paket make install Optional k nnen sie die Komponenten installieren die zu einer TeX Installation dazugeh ren make TEXMF usr share tex
45. das Paket make Und installieren sie es make install Installieren von Procinfo 18 Gesch tzte Kompilierzeit Oi SBU Ungef hr ben tigter Festplattenplatz 0 2 MB Inhalt von Procinfo Procinfo sammelt Systeminformationen wie zum Beispiel Speicherausnutzung und IRQ Nummern aus dem proc Verzeichnis und gibt die Daten sinnvoll formatiert aus Installierte Programme Isdev procinfo und socklist Procinfo Installationsabh ngigkeiten Procinfo ist abh ngig von Binutils GCC Glibc Make Ncurses Installation von Procinfo Kompilieren sie Procinfo make LDLIBS 1ncurses Patch Installationsabh ngigkeiten 131 Linux From Scratch Die Bedeutung des make Parameters e LDLIBS 1ncurses Das weist Procinfo an die Bibliothek 1ibncurses anstelle der l ngst veralteten 1ibtermcap zu verwenden Und installieren sie das Paket make install Installieren von Procps 3 1 11 Gesch tzte Kompilierzeit OPS Ungef hr ben tigter Festplattenplatz 6 2 MB Inhalt von Procps Procps enth lt Programme zur berwachung und Steuerung von Systemprozessen Die Informationen zu den Prozessen holt Procps aus dem proc Verzeichnis Installierte Programme free kill pgrep pkill pmap ps skill snice sysctl tload top uptime vmstat w und watch Installierte Bibliothek libproc so Procps Installationsabh ngigkeiten Procps ist abh ngig von Bash Binutils Coreutils GCC Glibc Make Ncurses Installation von Pr
46. das selbe wie domainname Net tools Installationsabh ngigkeiten Net tools ist abh ngig von Bash Binutils Coreutils GCC Glibc Make Patch Eine Installationsanleitung finden sie im_Abschnitt namens Installieren von Patch 2 5 4 in Kapitel 6 Offizielle Download Adresse Patch 2 5 4 ftp ftp gnu org gnu patch Inhalt von Patch Patch manipuliert Dateien auf Basis einer Patch Datei Eine Patch Datei ist blicherweise eine Liste mit Anderungsanweisungen die mit Hilfe des Programms diff erzeugt wurde Installiertes Programm patch Kurze Beschreibung patch ver ndert Dateien nach den Vorgaben einer patch Datei Eine patch Datei ist tiblicherweise eine auflistung von Unterschieden die mit dem diff Programm erzeugt wurde Durch Anwenden dieser Unterschiede auf die Originaldateien erstellt patch eine gepatchte Version Wenn man Patche anstelle von komplett neuen Tar Archiven verwendet um Programmquellen auf dem laufenden zu halten kann man eine Menge Downloadzeit sparen Net tools Installationsabh ngigkeiten 203 Linux From Scratch Patch Installationsabh ngigkeiten Patch ist abh ngig von Bash Binutils Coreutils Diffutils GCC Glibc Grep Make Sed Perl Eine Installationsanleitung finden sie im_Abschnitt namens Installieren von Perl 5 8 0 in Kapitel 6 Offizielle Download Adresse Perl 5 8 0 http www perl com Perl Libc Patch http www linuxfromscratch org patches lfs 5 0 perl 5 8 0 libc
47. delete the Binutils source and build directories in Chapter 5 e September 11th 2003 jeremy Added new perl libc 3 patch from Anderson Lizardo e September 9th 2003 jwrober Fixed the Findutils package download link on the packages page closing bug 578 e September 9th 2003 jeremy Chapter 6 GCC 2 95 3 Removed compilation of C added Zack s return type patch e September 9th 2003 jeremy Chapter 6 Coreutils Added coreutils 5 0 hostname 2 patch which suppresses the build of the hostname binary and also suppresses its check e September 9th 2003 jeremy Added some notes regarding failed tests to Glibc and DejaGnu e September 9th 2003 jeremy Glibc Added commands to both Chapter 5 and 6 to include minimum locales necessary for checks e September 9th 2003 jeremy Chapter 6 Removed Zlib s munging of CFLAGS in favor of a note to add fPIC e September 8th 2003 matt Chapter 5 Fixed the rm command that deletes unneeded documentation from tools share e September 6th 2003 matt Chapter 6 Removed a reference to the static directory in the intro e September 6th 2003 jeremy Chapter 4 Updated download locations for some packages e September 5th 2003 jeremy Chapter 5 GCC Pass 2 Corrected the make check error explanation e September 5th 2003 jeremy Chapter 6 Makedev Changed the default device creation to generic nopty because we now use devpts by default e Septe
48. die angefragte online Man page und zeigt sie an man2dvi konvertiert eine Hilfeseite in das dvi Format man2html konvertiert eine Hilfeseite nach html whatis durchsucht die whatis Datenbank und zeigt eine kurze Beschreibung zu den Systemkommandos an die das bergebene Stichwort als separates Wort enthalten MAKEDEYV Installationsabh ngigkeiten 198 Linux From Scratch Man Installationsabh ngigkeiten Man ist abh ngig von Bash Binutils Coreutils Gawk GCC Glibc Grep Make Sed Man pages Eine Installationsanleitung finden sie im_Abschnitt namens Installieren der Man pages 1 60 in Kapitel 6 Offizielle Download Adresse Man pages 1 60 ftp ftp kernel org pub linux docs manpages Inhalt von Man pages Die Hilfeseiten man pages enthalten ber 1200 Seiten Hilfetexte Die Dokumentation beschreibt sehr detailliert C und C Funktionen einige wichtige Ger tedateien und enth lt Dokumente die in anderen Paketen sonst fehlen w rden Installierte Dateien verschiedene Hilfeseiten Kurze Beschreibung Beispiele f r die enthaltenen Hilfeseiten sind die Seiten zu den C und C Funktionen wichtigen Ger tedateien und wichtigen Konfigurationsdateien Man pages Installationsabh ngigkeiten Man ist abh ngig von Bash Coreutils Make Modutils Eine Installationsanleitung finden sie im_Abschnitt namens Installieren von Modutils 2 4 25 in Kapitel 6 Offizielle Download Adresse Modutils 2 4 25 ftp ftp kerne
49. e September 17th 2003 alex Properly alphabetized the dependencies e September 16th 2003 alex Finally updated the dependencies for the new Coreutils e September 16th 2003 greg Chapters 5 and 6 Locking in Glibc and Re adjusting the toolchain Added sanity checks e September 16th 2003 greg Chapters 5 and 6 Binutils GCC and Glibc Added notes on the test suites e September 15th 2003 alex Corrected several typos and some inconsistencies e September 14th 2003 greg Chapter 6 Revised chroot command Removed no longer needed set h e September 14th 2003 alex Fixed some typos and added some markup Dropped the removal of program files from the Stripping section in Chapter 5 e September 14th 2003 greg Chapter 6 Create essential symlinks Add symlink usr lib libgec_s so 1 to allow GCC abi_check to run Future NPTL needs this as well e September 13th 2003 jwrober Added PLFS hint text to the page in Chapter 6 for creating passwd and group bug 596 e September 13th 2003 jwrober Updated the How things are going to be done page to include more of the PLFS hint s text e September 13th 2003 jwrober Preface Merged whoread and whonotread into a single audience page e September 13th 2003 greg Chapter 2 Added new section about the test suites Anderungsprotokoll 17 Linux From Scratch e September 12th 2003 jeremy Chapter 5 Ncurses Added description for the
50. ein Kommando mit der angegebenen GID aus useradd erzeugt einen neuen Benutzer mit dem angegebenen Namen oder aktualisiert die Vorgaben f r neue Benutzer userdel l scht das angegebene Benutzerkonto usermod ndert Loginname UID Shell Gruppe Heimatverzeichnis und hnliches f r einen Benutzer vigr kann zum editieren von etc group oder etc gshadow Dateien benutzt werden vipw kann zum editieren von etc passwd oder etc shadow Dateien benutzt werden libmisc Kurze Beschreibung 210 Linux From Scratch libshadow enth lt Funktionen die von den meisten der Programme in diesem Paket verwendet werden Shadow Installationsabh ngigkeiten Shadow ist abh ngig von Bash Binutils Bison Coreutils Diffutils GCC Gettext Glibc Grep Make Sed Sysklogd Eine Installationsanleitung finden sie im_Abschnitt namens nstallieren von Sysklogd 1 4 1 in Kapitel 6 Offizielle download Adresse Sysklogd 1 4 1 http www infodrom org projects sysklogd Inhalt von Sysklogd Die in Sysklogd enthaltenen Programme dienen zum aufzeichnen von System Logs zum Beispiel die des Kernels Installierte Programme klogd und syslogd Kurze Beschreibungen klogd ist ein Systemd mon zum abfangen und loggen von Kernelnachrichten syslogd loggt die Nachrichten von Systemprogrammen mit Jeder Logeintrag enth lt mindestens einen Datumsstempel und den Hostnamen und blicherweise auch den Programnamen aber das h ngt davon ab wie vertra
51. einstellen von ver nderbaren Parametern auf einem second extended Dateisystem eingesetzt uuidgen erzeugt neue universell einzigartige Bezeichner UUID Jede UUID kann grunds tzlich als einzigartig betrachtet werden auf dem lokalen oder auf anderen Systemen in der Vergangenheit und in der Zukunft libblkid enth lt Routinen zur identifikation von von Ger ten und zum extrahieren von Token libcom_err ist die allgemeine Routine zum anzeigen von Fehlern libe2p wird von dumpe2fs chattr und Isattr benutzt libext2fs Enth lt Routinen die Programme im Benutzerkontext zum manipulieren eines ext2 Dateisystems verwenden k nnen Kurze Beschreibungen 172 Linux From Scratch libss wird von debugfs verwendet libuuid enth lt Routinen zum erzeugen von einmaligen Bezeichnern fiir Objekte die die hinter dem lokalen System verfiigbar sein k nnten E2fsprogs Installationsabh ngigkeiten E2fsprogs ist abh ngig von Bash Binutils Coreutils Diffutils Gawk GCC Gettext Glibc Grep Make Sed Texinfo Ed Eine Installationsanleitung finden sie im_Abschnitt namens Installieren von Ed 0 2 in Kapitel 6 Offizielle Download Adresse Ed 0 2 ftp ftp gnu org gnu ed Ed Mkstemp Patch http www linuxfromscratch org patches Ifs 5 0 ed 0 2 mkstemp patch Inhalt von Ed GNU ed ist ein 8bit f higer POSIX konformer Editor Installierte Programme ed und red Link auf ed Kurze Beschreibungen ed ist ein zeilenorienti
52. filtert eine bestimmte Spalte aus column formatiert eine Datei in mehrere Spalten ctrlaltdel setzt die Funktion der Tastetnkombination Strg Alt Entf auf einen Hart oder Softreset cytune wurde benutzt um die Parameter der seriellen Schnittstellen auf Cyclade Karten zu ver ndern ddate gibt das Diskordianische Datum aus oder konvertiert ein Gregorianisches Datum in ein Diskordianisches dmesg zeigt Kernel Bootmeldungen an elvtune kann zum manipulieren der Performance und Interaktivit t von Blockger ten benutzt werden fdformat formatiert eine Diskette low level fdisk kann zum bearbeiten der Partitionstabelle auf einem Ger t verwendet werden fsck cramfs f hrt eine Konsistenzpr fung auf dem Cramfs Dateisystem durch fsck minix f hrt eine Konsistenzpr fung auf dem Minix Dateisystem durch getopt analysiert die Optionen in der Kommandozeile hexdump zeigt eine Datei hexadezimal oder in einem anderen Format an hwelock wird zum setzen oder lesen der Hardware Uhr auch RTC oder BIOS Uhr gennant benutzt ipcrm entfernt eine IPC Ressource ipes gibt IPC Status Informationen aus isosize gibt die Gr e eines iso9660 Dateisystems aus kill beendet einen Prozess line kopiert eine einzelne Zeile logger gibt eine Nachricht in das Logsystem ein look zeigt die Zeilen an die mit einer bestimmten Zeichenkette beginnen losetup konfiguriert und kontrolliert das Loopback Ger t Texinfo Installationsabh ngigkeiten 216 Linu
53. gibt einfach zu viele gute Gr nde warum man sein eigenes LFS System erstellen k nnte um sie hier alle aufzuz hlen Dieses Kapitel ist nur die Spitze des Eisberges W hrend sie mit LFS arbeiteten und Erfahrungen sammeln werden sie selbst schnell feststellen wieviel Macht in Informationen und Wissen ber das Linux System liegt Wer dieses Buch wahrscheinlich nicht lesen m chte Es gibt sicherlich einige die aus welchen Gr nden auch immer dieses Buch nicht lesen wollen Wenn sie ihr Linux System nicht von Grund auf selbst bauen m chten ist dieses Buch vermutlich die falsche Lekt re Unser Ziel ist es ihnen zu helfen ein vollst ndiges lauff higes und grundsolides System zu erstellen Wenn sie nur interessiert was genau beim hochfahren ihres Computers geschieht dann empfehlen wir das From Power Up To Bash HOWTO Mit Hilfe dieses HOWTOs wird ein blankes System installiert welches dem dieses Buches sehr hnlich ist aber es konzentriert sich ausschliesslich auf das erstellen eines Systems das eine Bash Shell booten kann Wenn sie sich entscheiden was sie lesen m chten halten sie sich einfach ihr Ziel vor Augen Wenn sie ein komplettes Linux installieren wollen und nebenbei ein bisschen dazulernen wollen dann ist dieses Buch vermutlich die beste Wahl Wenn ihr Ziel aber eher die reine bung ist und sie dann sp ter keine weitere Verwendung f r das fertige Linux System haben dann ist das From Power Up To Bash HOWTO wahrscheinlich
54. made into a few long ln commands May 21st 2003 winkie Chapter 05 Installing Glibc Create an Id so conf file before building Glibc to prevent an harmless error May 21st 2003 winkie Chapter 06 Installing Glibc Don t bother doing the exec stage1 bin bash stuff it doesn t do anything now that we use PLFS May 21st 2003 winkie Chapter 05 amp 06 Installing Coreutils Only test the non root stuff in Chapter 05 but test everything in Chapter 06 May 21st 2003 winkie Chapter 05 Installing Expect Don t bother passing anything more than prefix stagel None of it is needed Anderungsprotokoll 20 Linux From Scratch e May 16th 2003 gerard Chapter 06 Net tools Changed make installtomake update e May 15th 2003 timothy Chapter 05 Installing Patch Added CPPFLAGS D_GNU_SOURCE before configure to fix patch build on PPC e May 13th 2003 gerard Chapter 06 When we exec path to bash login also run set h to keep the hashing option turned off Fixes bug 531 e May 13th 2003 gerard Chapter 06 Basic Network Changed the single quotes to double quotes in the echo command Without it hostname won t expand which defeats the sole purpose of this command to make Perl s hostname check work May 13th 2003 winkie Removed all occurrences amp amp Updated bug syntax Added make check test where necessary in Chapter 6 May 13th 2003 winkie Chapter 06 Applie
55. miitool scc33 1 patch Inhalt von Net tools Die Net tools sind eine Sammlung von grundlegenden Programmen f r das Netzwerk unter Linux Installierte Programme arp dnsdomainname Link auf hostname domainname Link auf hostname hostname ifconfig nameif netstat nisdomainname Link auf hostname plipconfig rarp route slattach und ypdomainname Link auf hostname Kurze Beschreibungen arp wird zum manipulieren des ARP Cache des Kernels verwendet Normalerweise zum hinzuf gen oder entfernen eines Eintrags oder um den Cache auszugeben dnsdomainname zeigt den DNS Dom nennamen des Systems an domainname setzt den NIS YP Dom nennamen des Systems oder zeigt ihn an hostname setzt den Hostnamen des Systems oder zeigt ihn an ifconfig ist das Hauptwerkzeug zum konfigurieren von Netzwerkschnittstellen Ncurses Installationsabh ngigkeiten 202 Linux From Scratch nameif bennent Netzwerkger te basierend auf ihrer MAC Adresse netstat zeigt Netzwerkverbindungen Routing Tabellen und Ger testatistiken an nisdomainname tut das selbe wie domainname plipconfig wird zur Feinkonfiguration eines PLIP Ger ts benutzt rarp wird benutzt um die RARP Tabelle des Kernels zu manipulieren route wird zum manipulieren von IP Routingtabellen benutzt slattach bindet ein Netzwerkger t an eine serielle Schnittstelle So kann man normale Terminalverbindungen f r Punkt zu Punkt Verbindungen mit anderen Computern benutzen ypdomainname tut
56. network Skript macht Netzwerkschnittstellen wie z B Netzwerkkarten verf gbar und richtet wenn n tig das Standard Gatway ein Das rc Skript ist das Haupt Runlevel Kontrollskript Es ist daf r verantwortlich alle anderen Skripte eins nach dem anderen in der richtigen Reihenfolge auszuf hren Das reboot Skript startet das System neu Das sendsignals Skript stellt sicher das jeder Prozess beendet wird bevor das System herunterf hrt oder neu startet Das setclock Skript setzt die Kernelzeit auf lokale Zeit falls die Hardware Uhr nicht auf GMT Zeit eingestellt ist Das swap Skript aktiviert und deaktiviert Swap Dateien und Partitionen Das sysklogd Skript startet und stoppt die System und Kernel Log D monen Das template Skript ist eine Vorlage die sie verwenden k nnen um ihre eigenen Bootskripte f r eigene D monen zu schreiben LFS Bootscripts Installationsabh ngigkeiten Bzip2 ist abh ngig von Bash Coreutils Lfs Utils Eine Installationsanleitung finden sie im_Abschnitt namens nstallieren von Lfs Utils 0 3 in Kapitel 6 Official Download Location Lfs utils 0 3 http www linuxfromscratch org winkie downloads lfs utils Inhalt von Lfs Utils Das Lfs Utils Paket enth lt ein paar Programme die von verschiedenen Paketen gebraucht werden aber nicht gross genug sind um ein eigenes Paket zu rechtfertigen Installierte Programme mktemp tempfile http get und iana net Installierte Dateien protoco
57. nun erneut installieren sie gegen die neue Glibc verlinken und testen Eine Sache die es noch zu beachten gibt Die Test suites sind stark von funktionierenden Pseudo Terminals PTYs abh ngig Diese werden von dem Host System bereitgestellt Heutzutage werden PTYs meist ber das devpts Dateisystem implementiert Ob ihr Host System korrekt eingerichtet ist K nnen sie mit einem einfachen Test feststellen expect c spawn 1s Wenn sie diese Meldung erhalten Installieren von DejaGnu 1 4 3 58 Linux From Scratch The system has no more ptys Ask your system administrator to create more ist ihr Host System nicht korrekt f r PTYs eingerichtet Solange sie dieses Problem nicht behoben haben brauchen sie die Test suites von GCC und Binutils gar nicht erst durchlaufen zu lassen Wenn sie mehr Informationen zum einrichten von PTYs brauchen schauen sie am besten in das LSF Wiki unter http wiki linuxfromscratch org Entpacken sie alle drei GCC Tar Archive core g und testsuite in ein und demselben Arbeitsverzeichnis Die Archive entpacken sich in ein einziges gcc 3 3 1 Unterverzeichnis Als erstes korrigieren sie ein Problem und machen eine wichtige Anpassung patch Npl i gcc 3 3 1 no fixincludes 2 patch patch Npl i gcc 3 3 1 specs 2 patch Der este Patch schaltet das GCC fixincludes Skript ab Wir haben das vorher schonmal kurz erw hnt hier wollen wir eine tiefere Erkl rung dazu geben Unter normalen Umst nd
58. patch Bereiten sie Bash nun zum kompilieren vor configure prefix tools Kompilieren sie das Programm make Dieses Paket enth lt eine Test suite die mit einigen Pr fungen sicherstellt das alles korrekt gebaut wurde Sollten sie diese durchlaufen lassen wollen f hren sie dieses Kommando aus make tests Dann installieren sie das Programm und die Dokumentation Installieren von Bash 2 05b 74 Linux From Scratch make install Und erstellen sie einen Link f r die Programme die sh als Shell benutzen In s bash tools bin sh Installieren von Util linux 2 12 Gesch tzte Kompilierzeit Oi Sey Ungefahr ben tigter Festplattenplatz 8 MB Inhalt von Util linux Util linux enth lt verschiedene Werkzeuge Einige der etwas bekannteren Programme werden z B zum mounten entmounten formatieren partitionieren und verwalten von Festplatten ffnen von tty Ports und zum auslesen von Kernel Meldungen genutzt Installierte Programme agetty arch blockdev cal cfdisk chkdupexe col colert colrm column ctrlaltdel cytune ddate dmesg elvtune fdformat fdisk fsck cramfs fsck minix getopt hexdump hwclock ipcrm ipcs isosize kill line logger look losetup mcookie mkfs mkfs bfs mkfs cramfs mkfs minix mkswap more mount namei parse bash parse tcsh pg pivot_root ramsize Link auf rdev raw rdev readprofile rename renice rev rootflags Link auf rdev script setfdprm setsid setterm sfdisk
59. printenv gibt die Umgebung aus printf gibt die angegebenen Argumente in einem bestimmten Format aus ist der C printf Funktion sehr hnlich ptx erzeugt aus dem Inhalt von Dateien einen vertauschten Index mit jedem Stichwort im Kontext pwd gibt den Namen des aktuellen Verzeichnisses aus readlink gibt den Wert eines symbolischen Links aus rm l scht Dateien oder Verzeichnisse rmdir l scht Verzeichnisses wenn sie leer sind seq gibt eine Reihe von Zahlen in einem bestimmten Bereich und mit einem bestimmten Inkrement aus shalsum pr ft 160 bit SHA1 Pr fsummen oder gibt sie aus shred berschreibt eine Datei mehrfach mit un blichen Mustern um das wiederherstellen der Daten zu erschweren sleep pausiert f r die angegebene Zeit sort sortiert die Zeilen einer Datei split teil eine Datei in St cke nach gr sse oder nach Zeilennummern stty setzt oder zeigt Terminal Einstellungen an su startet eine Shell mit anderer Benutzer und oder Gruppen ID Kurze Beschreibungen 168 Linux From Scratch sum gibt Pr fsumme und Blockanzahl einer Datei aus sync schreibt den Dateisystempuffer Es zwingt ver nderte Bl cke auf die Festplatte und aktualisiert den Superblock tac f gt Dateien r ckw rts zusammen tail gibt die letzten zehn oder die angegebene Anzahl von Zeilen aus einer Datei aus tee liest von der Standard Eingabe w hrend gleichzeitig auf die Standard Ausgabe und in eine Datei geschrieben wird test vergle
60. suite hier im Kapitel 5 Probleme macht die noch nicht ganz nachvollzogen wurden Es ist daher nicht berraschend wenn die Test suite Fehler meldet diese werden jedoch nicht als kritisch betrachtet Sollten sie sich entscheiden die Test suite dennoch laufen zu lassen dann benutzen sie dieses Kommando make test Und installieren sie make SCRIPTS install Die Bedeutung des make Parameters e SCRIPTS Dies verhindert die Installation der mitgelieferten Expect Skripte wir brauchen sie hier nicht Expect Installationsabh ngigkeiten 57 Linux From Scratch Sie k nnen nun die Quellverzeichnisse von Tel und Expect entfernen Installieren von DejaGnu 1 4 3 Gesch tzte Kompilierzeit Oi Sy Ungef hr ben tigter Festplattenplatz 8 6 MB Inhalt von DejaGnu Das Paket DejaGnu enth lt ein Grundgeriist zum testen anderer Programme Installiertes Programm runtest DejaGnu Installationsabh ngigkeiten Dejagnu ist abh ngig von Bash Binutils Coreutils Diffutils GCC Glibc Grep Make Sed Installieren von DejaGnu Bereiten sie DejaGnu zum kompilieren vor configure prefix tools Kompilieren und installieren sie das Paket make install Installieren von GCC 3 3 1 Durchlauf 2 Gesch tzte Kompilierzeit Li Sew Ungef hr ben tigter Festplattenplatz 274 MB Neuinstallation von GCC Die Hilfmittel zum testen von GCC und Binutils sind nun installiert Tcl Expect und DejaGnu Wir k nnen GCC und Binutils
61. tclsh Installieren von Expect 5 39 0 Gesch tzte Kompilierzeit 0 1 Sew Ungef hr ben tigter Festplattenplatz 3 9 MB Inhalt von Expect Das Paket Expect f hrt vorprogrammierte Dialoge mit anderen interaktiven Programmen aus Installierte Programme expect Installieren von Expect 5 39 0 56 Linux From Scratch Installierte Bibliotheken libexpect5 39 a Expect Installationsabh ngigkeiten Expect ist abh ngig von Bash Binutils Coreutils Diffutils GCC Glibc Grep Make Sed Tel Installieren von Expect Wenden sie erst einen Patch an patch Npl i expect 5 39 0 spawn patch Dies behebt einen Fehler in Expect der ansonsten Fehlalarme beim durchlaufen der GCC Test suite verursachen k nnte Bereiten sie nun Expect zum kompilieren vor configure prefix tools with tcl tools lib with x no Die Bedeutung der configure Optionen e with tc1 tools lib So stellen wir sicher das das configure Skript die Tcl Installation in unserem tempor ren Verzeichnis findet Es sollte keine m glicherweise auf dem Host System installierte Version gefunden werden e with x no Dies teilt dem configure Skript mit das es nicht nach Tk der grafischen Oberfl che zu Tel oder den X Window Bibliotheken suchen soll beide existieren m glicherweise auf dem Host System Kompilieren sie das Paket make Dieses Paket hat eine Test suite die sicherstellt das das Paket korrekt gebaut wurde Es ist jedoch bekannt das diese Test
62. unpartitionierten Platz auf ihrer Festplatte haben dann k nnen sie LFS auch auf der selben Partition installieren auf der ihre gerade installierte Distribution bereits l uft Dieses Vorgehen empfehlen wir nicht wenn sie das erste Mal ein LFS installieren aber wenn sie wenig Plattenplatz haben und sich etwas zutrauen schauen sie sich die Anleitung unter http www linuxfromscratch org hints downloads files Ifs next to existing systems txt an F r ein minimales System ben tigen sie eine Partition mit etwa 1 2 Gb Platz Das reicht aus um die Quellpakete zu speichern und alle Pakete zu installieren Aber wenn sie ihr LFS sp ter als prim res Betriebssystem nutzen wollen m chten sie sp ter vermutlich noch weitere Software hinzuf gen und dann brauchen sie mehr Platz wahrscheinlich um die 2 bis 3 Gb Man hat fast nie genug Arbeitsspeicher deshalb ist es eine gute Idee eine kleine Partition als Swap Partition zu benutzen das ist Speicherplatz den der kernel benutzt um selten genutzte Daten auszulagern Das schafft Platz im Arbeitsspeicher f r wichtigere Dinge Die Swap Partition in ihrem LFS kann dieselbe sein wie die die sie bereits f r ihr Host System nutzen sie m ssen also nicht noch eine weitere Partition erstellen wenn sie bereits eine funktionsf hige Swap Partition haben Rufen sie ein Partitionierungsprogramm wie zum Beispiel cfdisk oder fdisk auf als Argument bergeben sie die Festplatte auf der sie die neue Partition erstel
63. von Gzip 1 3 5 Gesch tzte Kompilierzeit SBU Ungef hr ben tigter Festplattenplatz 2 6 MB Inhalt von Gzip Gzip enth lt Programme f r die Dateikompression und dekompression mit Hilfe des Lempel Ziv Algorythmus LZ77 Installierte Programme gunzip Link auf gzip gzexe gzip uncompress Link auf gunzip zcat Link auf gzip zcmp zdiff zegrep zfgrep zforce zgrep zless zmore und znew Gzip Installationsabh ngigkeiten Gzip ist abh ngig von Bash Binutils Coreutils Diffutils GCC Glibc Grep Make Sed Installation von Gzip Bereiten sie Gzip zum kompilieren vor configure prefix usr Das Programm gzexe bekommt den Pfad zu gzip fest eingebaut Da wir diese Datei im nachhinein verschieben m ssen wir mit dem folgenden Kommando sicherstellen das der korrekte Pfad in die Bin rdatei geschrieben wird cp gzexe in backup sed s BINDIR bin gzexe in backup gt gzexe in Kompilieren sie das Paket make Installieren sie das Paket make install Und verschieben sie die Programme in das bin Verzeichnis mv usr bin gzip bin rm usr bin gunzip zcat In s gzip bin gunzip In s gzip bin zcat In s gunzip bin uncompress Installieren von Gzip 1 3 5 127 Linux From Scratch Installieren von Man 1 5m2 Gesch tzte Kompilierzeit dl SBU Ungef hr ben tigter Festplattenplatz 1 9MB Inhalt von Man Man ist das Programm zum Seitenweisen anzeigen von Hilfeseiten man pages
64. werden e enable elf shlibs Das erzeugt die gemeinsamen Bibliotheken die einige Programme in diesem Paket verwenden Kompilieren sie das Paket make Installieren von E2fsprogs 1 34 124 Linux From Scratch Dieses Paket enth lt eine Test suite um zu pr fen ob alles korrekt kompiliert wurde Falls sie sie auf hren wollen f hren sie dieses Kommando aus make check Installieren sie das meiste aus dem Paket make install Und installieren sie auch die gemeinsamen Bibliotheken make install libs Installieren von Grep 2 5 1 Gesch tzte Kompilierzeit Ooi Siwy Ungef hr ben tigter Festplattenplatz 5 8 MB Inhalt von Grep Grep zeigt alle Zeilen einer Datei an die auf ein bestimmtes Muster passen Installierte Programme egrep Link auf grep fgrep Link auf grep und grep Grep Installationsabh ngigkeiten Grep ist abh ngig von Bash Binutils Coreutils Diffutils GCC Gettext Glibc Make Sed Texinfo Installation von Grep Bereiten sie Grep zum kompilieren vor configure prefix usr bindir bin with included regex Kompilieren sie das Paket make Dieses Paket enth lt eine Test suite um zu pr fen ob alles korrekt kompiliert wurde Wenn sie sie ausf hren m chten erledigt dies das folgende Kommando f r sie make check Und installieren sie das Paket Installieren von Grep 2 5 1 125 Linux From Scratch make install Installieren von Grub 0 93 Gesch tzte Kompilierzeit 3 Sen
65. wird auch als formatieren bezeichnet Das machen sie hnlich wie oben beschrieben mit dem Kommando mkswap dev yyy Bitte ersetzen sie y y y mit dem echten Namen der Swap Partition Einh ngen mounten der neuen Partition Nun nachdem wir ein Dateisystem erzeugt haben m chten wir auch auf dieses Zugreifen k nnen Dazu miissen wir es erst einh ngen mounten ausserdem miissen wir einen Mountpunkt ausw hlen In diesem Buch nehmen wir an das das Dateisystem unter mnt 1 s eingeh ngt wird aber im Grunde ist es egal welches Verzeichnis sie sich aussuchen W hlen sie einen Mountpunkt und weisen sie diesen der LFS Umgebungsvariable zu F hren sie dazu folgendes Kommando aus export LFS mnt lfs Nun erstellen sie den Mountpunkt und mounten sie das LFS Dateisystem mit diesen Kommandos mkdir p LFS mount dev xxx LFS Ersetzen sie xxx mit der Bezeichnung der LFS Partition Falls sie sich entschieden haben mehrere Partitionen f r LFS zu verwenden z B eine f r und eine andere f r usr dann h ngen sie diese wir folgt ein mkdir p LFS mount dev xxx SLFS mkdir LFS usr mount dev yyy LFS usr Nat rlich m ssen sie auch hier wieder xxx und yyy mit den korrekten Bezeichnungen ersetzen Sie sollten sicherstellen das die neue Partition nicht mit zu einschr nkenden Rechten eingeh ngt wird wie zum Beispiel mit den nosuid nodev oder noatime Optionen Rufen sie mount ohne Parameter auf um zu sehen
66. without ada configure switch e September 12th 2003 jeremy Chapter 5 Gawk Added the test suite e September 12th 2003 jeremy Chapter 5 Grep Added descriptions of configure switches courtesy of Anderson Lizardo e September 12th 2003 gerard Removed usr lib locale directory creation it s created during Chapter 6 Glibc where it s more relevant e September 11th 2003 jwrober Chapter 5 Fixed GCC Pass 2 specs patch text to be more vague but in actuality more accurate provided by Anderson Lizardo e September 11th 2003 jwrober Chapter 5 Grammar fix in Tcl install directions provided by Anderson Lizardo e September 11th 2003 jwrober Chapter 5 Small textual change in the locking in Glibc page for lib ld so 1 provided by Anderson Lizardo e September 11th 2003 jeremy Added bootloader setup to Chapter 8 after the addition of Grub to the book e September 11th 2003 gerard Removed Bin86 and LILO and replaced it with Grub e September 11th 2003 jeremy Dropped non toolchain tests to optional actions Added a note to use the Wiki for failed tests e September 11th 2003 jeremy Added Bison patch backported from CVS to fix pwlib compilation problems e September 11th 2003 jeremy Added Greg s patch to GCC to suppress the installation of libiberty and changed Binutils to allow its libiberty to stay e September 11th 2003 jeremy Added caution tags around the reminder to not
67. xxx yyy und fff mit den korrekten Werten f r ihre System ersetzen zum Beispiel hda2 hda5 und reiserfs Die Details zu den sechs Feldern in dieser Tabelle finde sie mittels man 5 fstab Wenn sie eine reiserfs Partition verwenden sollten sie 7 am Ende der Zeile durch O O ersetzen weil eine solche Partition nicht gepriift werden muss Der Mountpunkt dev shm f r das tmpfs Dateisystem wird hier eingef gt um POSIX konformes shared memory zu gew hrleisten Ihr Kernel muss Unterst tzung daf r haben damit das funktioniert mehr dar ber finden sie im n chsten Abschnitt Beachten sie bitte das zur Zeit nur sehr wenig Software POSIX shared memory verwendet Daher k nnen sie den dev shm Mountpunkt als optional betrachten Mehr Informationen dazu finden sie in Documentation filesystems tmpfs txt im Quellverzeichnisbaum ihrer Kernel Quellen Es gibt noch mehr Zeilen die sie vielleicht ihrer stab hinzuf gen wollen Eine zum Beispiel zum verwenden von USB Ger ten usbfs proc bus usb usbfs defaults 0 0 Diese Option funktioniert nat rlich nur wenn sie die entsprechende Unterst tzung in den Kernel einkompilieren Kapitel 8 Das LFS System bootf hig machen 149 Linux From Scratch Installieren von Linux 2 4 22 Gesch tzte Kompilierzeit All default options 4 20 SBU Ungef hr ben tigter Festplattenplatz All default options 181 MB Inhalt von Linux Der Linux Kernel ist der Kern eines jeden Linux Systems Er ist s
68. 03 alex Chapter 05 Tel Expect and DejaGnu added some text e August 6th 2003 gerard Applied Alex Groenewoud s patch that adds Appendix B providing a list of all installed programs and libraries plus references to the installation pages e July 30th 2003 gerard Chapter 06 Vim Changed the way the global vimrc and gvimrc locations are defined e July 30th 2003 gerard Chapter 05 Binutils Pass 2 removed the lib patch it s no longer needed with the binutils 2 14 upgrade e July 30th 2003 gerard Chapter 05 Binutils Pass 1 Added make configure host e July 30th 2003 gerard Upgraded to binutils 2 14 linux 2 4 21 expect 5 38 4 gawk 3 1 3 texinfo 4 6 util linux 2 12 man pages 1 58 Ifs utils 0 3 vim 6 2 gettext 0 12 1 automake 1 7 6 file 4 03 e2fsprogs 1 34 procps 3 1 11 psmisc 21 3 e June 3rd 2003 gerard Chapter 06 Gawk removed the removal of bin awk This symlink isn t created anymore May 21st 2003 gerard Chapter 06 GCC 2 95 3 Added opt gcc 2 95 3 lib to the etc ld so conf file so the libraries can be found during run time May 21st 2003 gerard Chapter 05 Gzip Simplified commande May 21st 2003 gerard Chapter 05 Bzip2 Simplified commande May 21st 2003 gerard Chapter 06 Shadow Added the grpconv command to complement the enabling of all shadowed passwords May 21st 2003 winkie Chapter 06 Creating Files All those In commande can be
69. 1 sein Ein g ltiger voll qualifizierter Dom nenname k nnte zum Beispiel www linuxfromscratch org sein Auch wenn sie keine Netzwerkkarte verwenden brauchen sie trotzdem einen voll qualifizierten Dom nennamen Das ist n tig damit einige Programme korrekt arbeiten k nnen Wenn sie keine Netzwerkkarte Konfigurieren erzeugen sie etc hosts mit diesem Kommando cat gt etc hosts lt lt EOF Begin etc hosts no network card version 127 0 0 1 lt value of HOSTNAME gt mydomain com lt value of HOSTNAME gt localhost End etc hosts no network card version EOF Konfigurieren des sysklogd Skript 146 Linux From Scratch Wenn sie eine Netzwerkkarte konfigurieren m chten erzeugen sie etc hosts mit diesem Kommando cat gt etc hosts lt lt EOF Begin etc hosts network card version 1270 01 kees Laenner locals 192 168 1 1 lt HOSTNAME gt meinedomain org lt HOSTNAME gt End etc hosts network card version EOF Nat rlich m ssen sie 192 168 1 1 und lt HOSTNAME gt meinedomain org nach ihrem Belieben ndern bzw die IP Adresse und Hostnamen eintragen die sie von ihrem Netzwerkadministrator bekommen haben falls ihr Rechner an ein bestehendes Netzwerk angeschlossen wird Konfigurieren des network Skript Dieser Arbschnitt ist nur interessant wenn sie eine Netzwerkkarte konfigurieren m chen Wenn sie keine Netzwerkkarte haben brauchen sie h chstwahrscheinlich keine Konfiguration
70. 3 Kurze Beschreibungen E 194 Lfs Utils Iostallaponsabh neaoketen conan cnn conan ccnncccnnnnss 194 Bleu EE 194 Ofliziell Download AGressei iiicicicciccscvovineovssvondevesndtecvanessduccuapapscesacadaccssscecseseceesscecsonedsepsvevsvevseds 194 Inhaltyo Lea to 2 2c dat ia UES kD EE atacada ve 194 Kurze B schreibung n s ist sieste Ac 194 Libtool Installationsabh ngigkeiten ss 195 Linux der een EE 195 Offizielle Download Adresse 195 Inhalt yon AA ee ana ns Me Me ne 195 K urze B schreibungen es Mess ete nee TS St re tte nn ent tte 195 Linux Installationsabh ngigkeiten ss 195 Mirta LEAR SR dardos LS tah tha a a o e o pi e E 196 Offizielle Download Adresse 3 3 0 a a aseo 196 Inhalt von MA EE 196 Kurze Beschreibungen RER SR Ele ee 196 MA IosGllaponsabb ngetekeren cc ss 196 Make sin EE 196 Offizielle Download Adresse 196 Inhalt yon Make ste en mi etienne doe 197 Kurtze Beschreibung insert E rene tt AE a a nel ee 197 Make Installationsabh ngigkeiten ss 197 MAK D B DAVEE iaa id tela 197 OTAN A 197 Inhalt von MAKEDEV ii les 197 Kurz Beschr ibung ss sm nine q dl ia 197 MAKEDEV Installationsabh ngigkeiten ss 198 NA EE Rc ee EE e 198 Offizielle Download Adresse dis 198 TACTO MA a E 198 K rze Beschreib nsen EE 198 Man Installationsabh ngigkeiten ss 1
71. 3 jeremy Chapter 06 Creating Directories Added the creation of the dev shm directory e August 26 2003 jeremy Chapter 08 Creating fstab Added the mount of tmpfs filesystem to dev shm e August 26 2003 jeremy Chapter 08 Kernel Installation Added a reminder to compile tmpfs support into the kernel e August 25th 2003 alex Chapter 06 Rewrote the installation text of Shadow and Util Linux while correcting some typos e August 25th 2003 alex Chapter 05 amp 06 Made the Locking in and Re adjusting look similar e August 24th 2003 alex Chapter 04 Merged the many little files into one file Gave packages and patches a separate page e August 17th 2003 alex Chapter 05 From Bash to Perl put text in between commands Added a section on stripping unneeded symbols to decrease the size of the tools e August 16th 2003 alex Chapter 05 From Make to Texinfo put text in between commands e August 11th 2003 alex Chapter 05 From Binutils Pass 1 to Findutils several small textual adjustments For the second passes not giving the contents and dependencies e August 11th 2003 alex Chapter 04 Listed separate core g and test suite tarballs for GCC e August 11th 2003 alex Chapter 04 Suppressed the mention of a wget script e August 9th 2003 alex Chapter 05 Binutils Pass 2 and GCC Pass 2 integrated some text from the pure Ifs hint e August 8th 20
72. 3 patch Inhalt von Perl Das Perl Paket enth lt die Skriptsprache Perl Practical Extraction and Report Language Perl kombiniert einige der besten Merkmale von C sed awk und sh in einer einzigen m chtigen Skriptsprache Installierte Programme a2p c2ph dprofpp enc2xs find2perl h2ph h2xs libnetcfg perl perl5 8 0 Link auf perl perlbug perlcc perldoc perlivp piconv pl2pm pod2html pod2latex pod2man pod2text pod2usage podchecker podselect psed Link auf s2p pstruct Link auf c2ph s2p splain und xsubpp Installierte Bibliotheken zu viele um sie einzeln aufzulisten Kurze Beschreibungen a2p bersetzt awk nach perl c2ph gibt C Strukturen aus die von cc g S erzeugt wurden dprofpp zeigt perl profiling Daten an en2cxs erzeugt aus Unicode Zeichenzuordnungen oder Tel Encoding Dateien eine Perl Erweiterung f r das Encode Modul find2perl bersetzt find Kommandos nach perl h2ph konvertiert h C Header Dateien zu ph Perl Header Dateien h2xs konvertiert h C Header Dateien zu Perl Erweiterungen libnetefg kann zum konfigurieren von libnet benutzt werden Patch Installationsabh ngigkeiten 204 Linux From Scratch perl kombiniert die besten Eigenschaften von C sed awk und sh in einer einzigen universellen Sprache perlbug wird zum erzeugen und mailen von Fehlerberichten zu Perl oder seinen Modulen verwendet perlcc erzeugt ausf hrbare Dateien aus Perl Programmen perldoc zeigt Teile einer Dokum
73. 4 usr lib libncurses a Verschieben sie die Bibltiotheken in das lib Verzeichnis denn es wird erwartet das sie sich dort befinden mv usr lib libncurses so 5 lib Da die Bibliotheken nach 1ib verschoben wurden zeigen ein paar symbolische Links ins Leere Ertellen sie diese Links neu In sf lib libncurses so 5 usr lib libncurses so In sf libncurses so usr lib libcurses so Ncurses Installationsabh ngigkeiten 103 Linux From Scratch Installieren von Vim 6 2 Gesch tzte Kompilierzeit 0 4 SBU Ungefahr ben tigter Festplattenplatz 34 MB Alternativen zu Vim Wenn sie einen anderen Editor als Vim bevorzugen zum Beispiel Emacs Joe oder Nano dann schauen sie unter_http www linuxfromscratch org blfs view stable postlfs editors html dort finden sie einige Installationshinweise Inhalt von Vim Vim enth lt einen sehr anpassungsf higen Text Editor extra programmiert zum effizienten bearbeiten von Text 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 teltags vi Link auf vim view Link auf vim vim vim132 vim2html pl vimdiff Link auf vim vimm vimspell sh vimtutor und xxd Vim Installationsabh ngigkeiten Vim ist abh ngig von Bash Binutils Coreutils Diffutils GCC Glibc Grep Make Ncurses Sed Installation von Vim ndern sie den Standardpfad von vimrc und gvimrc nac
74. 5 MB Inhalt von Diffutils Die Programme dieses Pakets k nnen die Unterschiede zwischen zwei Dateien oder Verzeichnissen anzeigen Die haufigste Anwendung ist das erstellen von Software Patches Installierte Programme cmp diff diff3 und sdiff Installieren von Gzip 1 3 5 65 Linux From Scratch Diffutils Installationsabh ngigkeiten Diffutils ist abh ngig von Bash Binutils Coreutils Diffutils GCC Gettext Glibc Grep Make Sed Installieren von Diffutils Bereiten sie Diffutils zum kompilieren vor configure prefix tools Kompilieren sie das Paket make Und installieren sie es make install Installieren von Findutils 4 1 20 Gesch tzte Kompilierzeit OR aS BUI Ungef hr ben tigter Festplattenplatz 69 MB Inhalt von Findutils Das Findutils Paket enth lt Programme zum auffinden von Dateien entweder on the fly indem ein Verzeichnisbaum live durchsucht wird oder durch Suche in einer Datenbank Installierte Programme bigram code find frcode locate updatedb und xargs Findutils Installationsabh ngigkeiten Findutils ist abh ngig von Bash Binutils Coreutils Diffutils GCC Gettext Glibc Grep Make Sed Installieren von Findutils Bereiten sie Findutils zum kompilieren vor configure prefix tools Kompilieren sie das Paket make Diffutils Installationsabh ngigkeiten 66 Linux From Scratch Dieses Paket hat eine Test suite die sicherstellt das alles korrekt kompiliert wur
75. 9 Sed Installationsabh ngigkeiten AA 69 Installieren von Sd A A A MR Te 69 Installieren von Gettext O Dd natacion lines citen AER EEN 69 Inhalt yon E 20 ii esha aden tab Pe 00 Gettext Installationsabhangigkeiten AE 70 Installi ren Von GE ds 70 InstalliereniViontN CUPSES 5 lidad ea sh dt gd EENEG 70 Inhalt von NCUESES etnia eegen ridad 70 Linux From Scratch Table of Contents Kapitel 5 Erstellen eines tempor ren Systems Ncurses Installationsabh ngigkeiten ss 71 Installation von Nou eiii aci dsd 71 Installieren VO Patch A ren NEEN NEEN 71 Inhaltvon Patch nai a iii 72 Batch Installationsabh ngigkeiten AE 72 Installieren Von Patchy acid Mia Voge a tt en adas T2 Inst lheren von Ta KT ee A E A A dd A 72 Inha lt yan aii aca Dan ada Eole code Peut 72 Tar Installationsabb ngigkelteN oooonnoonnoccnoncnnonnnconnannnnncnnnnonononon no cono cocoa cono nro nn ron no cono nc cnn ccnananronos 72 Installieren von Tarifs iii sccaehaacsasessacesiatieesons dowvast daeabatacebaracages ane dens E E ARA eegen AAA 73 Instalheren Von Tex imtO 4 A o a EEN age caida 73 Inhalt vonTexinfo 22u2 288er ceeds Lived aia 73 Texinfo Installationsabh ngigkeiten 73 Inst lli ren von Tele os ccs ike ii ch down een nein dette tte rte 73 Instalh ren vom Laeken 74 Inhalt yan B sh 2 2 2222 sata idas 74 Bash Installationsabhangigkeiten
76. 99 EE 199 Offizielle Download Adresse 199 Inhalt von Man pages ees eer Ar EA seitens singen eege 199 KurzeBeschreibung tandil 199 Man pages Iostallaponsabb ngtekeen corno nc ss 199 Mods EE EES Ee as 199 Offizielle Download Adresse 199 Inh lt yan Modutils 2 2 2 EE EENS et 200 Kurze BEschreibun gens ita 200 Modutils Iosollatonsabb neteketen conan cnn cc cnnnccnncnnnnns 200 NGUTSOS 2e nn at dd ee A ee A ee ee Ll 200 Offizielle Download Adresse nennen EEEENE NEEN 201 xiii Linux From Scratch Table of Contents Anhang A Paketbeschreibungen und abh ngiskeiten Inhalt yon Ne rses 22 220 228 EE EE 201 AAA 4 seen east En nana min ennemie nest 202 Ncurses Iostallapopnsabb noegketen SR 202 NEO 3 2 Ee Eet gel EEA Rs 202 Offizielle Download Adresse 202 Inhalt yon Net t0088 ai ar as BEN lach is bas EE irc 202 KurzeBeschreibungen Atala 202 Net tools Installationsabhangigkeiten nc nnnn conan ccnnnan ns 203 Pa A A PS ee td 203 Offizielle Download Adresse 203 InhalE YO PATCRE 5 TR Re nn votes OS aaa ado a ie 203 Kurize B schr ibung eii Ee eene de en ete sieur 204 Patch Installationsabh ngigkeiten ss 204 Perl ee ee ee ae ee ATA Eege EE Ee es 204 Offizielle Download Adresse cic ciccccsssecosstevesoveveededesdecvesatessncnanandcacnersecccdecsscedecdesstecvonedsesdnedevevsves 204 Inbalt vom Perl ne cta 204 Kurze Beschreib ngen 5 rss e ln ete nee itunes eines 204 Perl Installationsabh ngigkeiten
77. A ENEE ett deit de 131 Inst llieren vonProc nfo 18 iia ie red a tdi 131 Ibal vom PrOCIM O 2 eves sissies Els See EE EE 131 Procinfo Installationsabh ngigkeiten 44 131 Installation von ProcintO uti nil mil sas e E E letter les ENER 131 Installieren Von e E ER EE 132 Inhalt von Biocps Ra A sa 132 Procps Installationsabh ngigkeiten ss 132 Installation von Props sees 2 ER e aS eA ds daa ads de do 132 Instalhi ren von ergeet EE gege 133 Inbalt yon PIS ica eilt AEE E E EEA 133 Psmisc Installationsabh ngigkeiten MMRRRRRRRRs 133 Installation von PSIMISCs5060 sccecsssicccsssacacdsssacsdsudiagsensianevepesiewearaiaducabanacweadavertedagbertvsevesteasonaseddewseed oes 133 Installieren von Shadow A 0 3 134 Inhalt von Shada Wiger iet ea lien hu ae teren Adi s 134 Shadow Installationsabh ngigkeiten ss 134 Installation von le 136 Konfig rieren v n Shadow res Let dent ideen 136 Installieren von Sysklogd 1 4 1 esse 136 Inhalt von Ys aia 136 Sysklogd Installationsabh ngigkeiten ss 136 Installation von Sysklogd sise 137 Konfigurieren von Svsklogd ses 137 Installieren v n Set ER E ENT 137 InhalevonSyS Uni Hr Eer ER E data to ee eS 137 Sysvinit Installatiansabhangigkeiten E 138 Linux From Scratch Table of Contents Kapitel 6 Insta
78. Anpassungen an unser LFS Sie brauchen folgende Patche Bash Patch 7 KB http www linuxfromscratch org patches lfs 5 0 bash 2 05b 2 patch Bison Attribute Patch 2 KB http www linuxfromscratch org patches Ifs 5 0 bison 1 875 attribute patch Coreutils Hostname Patch 1 KB http www linuxfromscratch org patches Ifs 5 0 coreutils 5 0 hostname 2 patch Coreutils Uname Patch KB http www linuxfromscratch org patches lfs 5 0 coreutils 5 0 uname patch Ed Mkstemp Patch 1 KB http www linuxfromscratch org patches lfs 5 0 ed 0 2 mkstemp patch Expect Spawn Patch 6 KB http www linuxfromscratch org patches lfs 5 0 expect 5 39 0 spawn patch Gawk Libexecdir Patch 1 KB http www linuxfromscratch org patches lfs 5 0 gawk 3 1 3 libexecdir patch GCC No Fixincludes Patch 1 KB http www linuxfromscratch org patches lfs 5 0 gcc 3 3 1 no fixincludes 2 patch GCC Specs Patch 10 KB http www linuxfromscratch org patches lfs 5 0 gcc 3 3 1 specs 2 patch Ben tigte Patche 37 Linux From Scratch GCC Suppress Libiberty Patch 1 KB http www linuxfromscratch org patches lfs 5 0 gcc 3 3 1 suppress libiberty patch GCC 2 Patch 16 KB http www linuxfromscratch org patches lfs 5 0 gcc 2 95 3 2 patch GCC 2 No Fixincludes Patch 1 KB http www linuxfromscratch org patches lfs 5 0 gcc 2 95 3 no fixinc patch GCC 2 Return Type Patch 1 KB http www l
79. Beekmans Copyright 1999 2003 Gerard Beekmans Dieses Buch beschreibt die genaue Vorgehensweise zum installieren eines Linux Systems von Grund auf ausschliesslich unter Verwendung der Quellen aller ben tigter Programme Copyright c 1999 2003 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 Copyright Hinweis 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 eine Referenz auf das Linux From Scratch Projekt enthalten THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT INDIRECT INCIDENTAL SPECIAL EXEMPLARY OR CONSEQUENTIAL DAMAGES INCLUDING BUT NOT LIMITED TO PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES LOSS OF USE DATA OR PROFITS OR BUSINESS INTERRUPTION HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY WHE
80. Chapter 06 Installing Net tools Just do regular old make install instead of make update The latter works fine now May 11th 2003 winkie Chapter 06 Installing GCC After installation remove lusr include libiberty h It is not used outside of the GCC build tree May 11th 2003 winkie Upgraded to Bash 2 05b and added its patch May 11th 2003 winkie Chapter 06 Installing Zlib Apply a patch to fix the buffer overflow in gzprintf May 11th 2003 winkie Chapter 06 Configuring system components Moved the creation of the btmp wtmp lastlog and utmp to just before Shadow so that they are detected at their proper locations May 10th 2003 winkie Chapter 06 Installing Automake Run make before installing This is needed now with the newer releases of Automake May 10th 2003 winkie Chapter 06 Installing Vim Removed the patch It hasn t been required since GCC 3 2 1 May 10th 2003 winkie Chapter 06 Creating the mtab file Removed Mounting proc has the side effect of creating etc mtab for us May 10th 2003 winkie Chapter 06 Installing Make Removed modification of usr bin make file It is no longer mistakenly installed with strange ownership or permissions May 10th 2003 winkie Chapter 06 Installing Glibc Made etc localtime a file instead of a symlink The symlink method breaks on systems where usr is a separate partition May 10th 2003 winkie Chapter 06 Installi
81. Dateisystem einzuh ngen das wird sp ter behandelt Betreten der chroot Umgebung 80 Linux From Scratch bevor sie mit der Installation weitermachen Die Bash Eingabeaufforderung wird I have no name ausgeben Das ist normal weil die Datei etc passwd noch nicht erstellt wurde ndern des Besitzers Im moment besitzt der Benutzer lfs das Verzeichnis tools ein Benutzer der aber nur auf dem Host System existiert Auch wenn sie das Verzeichnis tools nach der fertigen Installation von LFS l schen m chten vielleicht entscheiden sie sich es doch aufzubewahren zum Beispiel um noch mehr LFS System zu bauen Doch wenn sie das tools Verzeichnis in seinem jetzigen Zustand behalten haben sie Dateien mit einer Benutzer ID zu der es kein Konto gibt Das ist gef hrlich denn ein sp ter erstelletes Konto k nnte genau diese ID bekommen und w re damit pl tzlich der Besitzer des tools Verzeichnisses und aller Dateien darin Dieser Benutzer k nnte alle Dateien unbemerkt manipulieren Um dieses Problem zu vermeiden k nnten sie ihrem LFS System den fs Benutzer sp ter beim erzeugen der etc passwd hinzuf gen und ihm die gleiche Benutzer ID und Gruppen ID wie auf ihrem Host System geben Alternativ k nnen sie und in dem Buch gehen wir davon aus das sie dies tun den Inhalt des tools Verzeichnisses dem Benutzer root zuordnen Benutzen sie dazu folgendes Kommando chown R 0 0 tools Das Kommando benutzt 0 0 anstelle von root root w
82. Download Adresse GCC 3 3 1 ftp ftp gnu org pub gnu gcc GCC No Fixincludes Patch Gawk 177 Linux From Scratch http www linuxfromscratch org patches lfs 5 0 gcc 3 3 1 no fixincludes 2 patch GCC Specs Patch http www linuxfromscratch org patches lfs 5 0 gcc 3 3 1 specs 2 patch GCC Suppress Libiberty Patch http www linuxfromscratch org patches lfs 5 0 gcc 3 3 1 suppress libiberty patch GCC 2 2 95 3 ftp ftp gnu org pub gnu gcc GCC 2 Patch http www linuxfromscratch org patches lfs 5 0 gcc 2 95 3 2 patch GCC 2 No Fixincludes Patch http www linuxfromscratch org patches lfs 5 0 gcc 2 95 3 no fixinc patch GCC 2 Return Type Patch http www linuxfromscratch org patches lfs 5 0 gcc 2 95 3 returntype fix patch Inhalt von GCC Das Paket GCC enth lt die Gnu Compiler Sammlung inklusive dem C und C Compiler Installierte Programme c cc Link auf gcc cel cclplus collect2 cpp g gcc gecbug und gcov Installierte Bibliotheken libgcc a libgcc_eh a libgcc_s so libstdc a so und libsupc a Kurze Beschreibungen cpp ist der C Preprozessor Er wird von dem Compiler benutzt um include und define Anweisungen in Quellcodedateien zu expandieren g ist der C Compiler gcc ist der C Compiler Er wird benutzt um Quellcode eines Programms in Assembler Code zu bersetzen gecbug ist ein Shell Skript das helfen soll gute Fehlerberichte zu erzeugen gcov ist ein Ber
83. Fileutils Sh utils and Textutils files e August 29th 2003 alex Added some missing markup changed a few static s to stagel s e August 29th 2003 alex Chapter 06 Added all the missing text lines before the make checks and reworded other lines e August 28 2003 matt Updated packages to linux 2 4 22 man pages 1 60 expect 5 39 0 findutils 4 1 20 and tcl 8 4 4 e August 28 2003 jeremy New bash 2 05b 2 patch file to include the 7 patches from ftp gnu org e August 28th 2003 alex Chapter 06 Re adjusting toolchain Added a forgotten backslash e August 28th 2003 alex Fixed a few typos and added some missing markup e August 28th 2003 alex Chapter 06 Binutils and GCC Integrated text from the pure Ifs hint e August 27 2003 jeremy Chapter 06 Inetutils Added sysconfdir etc localstatedir var and moved the ping binary from usr bin to bin e August 27th 2003 alex Chapter 06 Glibc Integrated text from the pure Ifs hint e August 26 2003 jeremy Chapter 07 Creating etc hosts Changed www mydomain org to lt value of HOSTNAME gt mydomain org e August 26th 2003 alex Chapter 06 amp 08 Moved the installation of the kernel manpages from chapter 6 to 8 Anderungsprotokoll 19 Linux From Scratch e August 26 2003 jeremy Chapter 04 Mounting the LFS partition Added text regarding mounting with too restrictive permissions e August 26 200
84. Installationsabh ngigkeiten RRRRRRRRRs 119 Installation von Libia Rab he 119 Instalh ren von EA EEN un ee ee ten aed ee Sean ies de usable ein DRE tee 120 rt UE RE 120 Bzip2 Installationsabh ngigkeiten ss 120 Installation von BAP in 120 Installieren Von Dittutils 2 8 Licores eiii Ee EE 121 Inh lt yan Biffutils EES 121 Diffutils Installationsabh ngigkeiten ss 121 Installation Von Diff util andadas aire 121 Inst llieren von Ed Keeser eg nn RER A e trier deg 122 Inhalt Yon Bids erbei ehre O NA 122 Ed lnstallationsabh ngigkeiten ss 122 Installation VON E 0 DEE 122 Installier n von Kbdl O8 i iiccccsdscccsstasesctasavesseaconaviescawsedcagaeatecceeebeateeecsodesenss dise share mise humanen 123 Inhalt Yon Kbd EEEE an Re ns HBO 123 Kbd Installationsabh ngigkeiten AAA 123 Installation Von Kb dio 123 Installieren von E2fsprogs 1 34 siennes 124 Inhalt VOTES er user ren a i 124 E2fsprogs Installationsabh ngigkeiten ss 124 Installation von E2fsprogs 2 2 0 en rennen ia 124 Installieren von Grep 2 3 1 isses ie Rain ug ulleikhessalsieintiec hola 125 Inhalt von E 125 Grep Installationsabh ngigkeiten ss 125 Installation E EE 125 Inst llieren von Grub 0 td ER E aussen en een endete EE deg 126 Ibal Voth Gri Dio tri en
85. KDE s kdm Startet den Computer neu eh Hi PB DR Das Kommando zum wechseln des Runlevel ist init lt Runlevel gt wobei lt Runlevel gt der Runlevel ist in den sie wechseln m chten Zum neustarten des Computers w rde ein Benutzer zum Beispiel init 6 eingeben Das reboot Kommando ist nur ein Alias darauf genauso wie das Kommando halt ein Alias auf init 0 ist Unter etc rc d finden sich eine Menge Verzeichnisse mit dem Namen rc d wobei das die Nummer eines Runlevels ist Dort liegt auch resysinit d welches einige symbolische Links enth lt Einige beginnen mit einem K andere beginnen mit einem S gefolgt von einer zweistelligen Zahl Das K bedeutet beenden kill eines Dienstes das S bedeutet starten start eines Dienstes Die Zahlen bestimmen die Reihenfolge in der die Skripte ausgef hrt werden von 00 bis 99 je Kleiner die Zahl desto fr her wird das Skript ausgef hrt Wenn init in einen anderen Runlevel wechselt werden die n tigen Skripte gestoppt und andere daf r gestartet Die echten Skripte befinden sich in etc rc d init d Sie erledigen die ganze Arbeit und die ganzen symbolischen Links zeigen auf sie Stopp und Startskripte zeigen auf dieselbe Datei in etc rc d init d Das funktioniert weil die Skripte mit unterschiedlichen Parametern ausgef hrt werden k nnen wie zum Beispiel start stop restart reload status Wenn ein K Link ausgef hrt werden soll wird das entsprechende Skript mit dem stop Parameter aufger
86. Kapitel 1 Mailinglisten Um uns bei der Hilfe zu unterst tzen sollten sie uns soviel relevante Informationen wie m glich geben Dinge die sie angeben sollten Neben einer kurzen Erkl rung des Problems ist es wichtig das sie uns noch folgende Dinge mitteilen e Die Version des Buches das sie benutzen dies ist die Version 5 0 e die Host Distribution und Versionsnummer die sie benutzen um LFS zu installieren e das Paket oder die Sektion die ihnen Probleme macht e die exakte Fehlermeldung oder die genauen Symptome die sie sehen e ob sie von den Anleitungen im Buch abgewichen sind ber die Test suites 28 Linux From Scratch Beachten sie Nur weil sie m glicherweise von den Anweisungen im Buch abgewichen sind bedeutet das l ngst nicht das wir ihnen nicht helfen werden Der Grundsatz von LES ist es die Wahl zu haben Diese Angabe hilft uns lediglich m gliche Ursachen f r ihre Problem besser erkennen zu k nnen Probleme mit configure Skripten Wenn beim durchlaufen der configure Skripte ein Problem auftritt schauen sie erst einmal in die Datei config log Die Datei enth lt viele Fehlermeldungen die auf dem Bildschirm sonst nicht angezeigt werden Geben sie diese Fehlermeldungen mit an wenn sie nach Hilfe fragen Kompilierprobleme Um ihnen zu helfen sind sowohl Bildschirmausgaben als auch die Inhalte verschiedener Dateien n tzlich Die Ausgaben des configure Skriptes und die des make Befehls k nnen sehr hilfreic
87. Kommando w re nur die ben tigten oder gewollten locales zu installieren Das erreichen sie mit dem localedef Befehl Informationen dazu finden sie in der INSTALL Datei im glibc 2 3 2 Verzeichnisbaum Einige locales sind allerdings essentiell fiir die Tests einiger nachfolgender Pakete Die nachfolgenden Kommandos anstelle des obigen installieren nur ein Minimum an locales so das die Tests sauber durchlaufen mkdir p usr lib locale localedef i de DE f ISO 8859 1 de DE localedef i de _DE euro f ISO 8859 15 de_DE euro localedef i en_HK f ISO 8859 1 en_HK localedef i en_PH f ISO 8859 1 en_PH localedef i en_US f ISO 8859 1 en_US localedef i es_MX f ISO 8859 1 es_MX localedef i fr_FR f ISO 8859 1 fr_FR localedef i fr_FR euro f ISO 8859 15 fr_FR euro localedef i it_IT f ISO 8859 1 it_IT localedef i ja_JP f EUC JP ja_JP Schlussendlich erzeugen wir die linxthreads Manpages make C glibc 2 3 2 linuxthreads man Und installieren die Pakete make C glibc 2 3 2 linuxthreads man install Konfigurieren von Glibc Wir m ssen die Datei etc nsswitch conf erstellen denn obwohl Glibc Standardwerte vorgibt falls die Datei fehlt oder kaputt ist funktionieren diese nicht gut mit Netzwerken Und wir m ssen die Zeitzone korrekt einrichten Erstellen sie die neue Datei etc nsswitch conf indem sie das folgende ausf hren cat gt etc nsswitch conf lt lt EOF Begin etc nsswitch conf passwd files gr
88. Linux From Scratch Linux From Scratch Table of Contents Linus From Serate E 1 Version az 1 Gerard Beck MOS escitas eat 1 Arr 2 MOP WOK ANO 7 ET KE EE 7 Di Zielgr ppe EE 7 Wer dieses Buch wahrscheinlich lesen mochte nono nononcnnonononononocononanonaninos 7 Wer dieses Buch wahrscheinlich nicht lesen mochte ss 8 Voraussetzungen E 9 Aufbaus aan nn EN E e le 9 Ter TZ Sien 9 Teil I Vorbereitungen zur Installation conocia cncnconnns 9 Teil IT Installation des LFS Systems ss 9 II TEE 9 K Teil DR OT ON TE 11 LEA E 12 Der Ablaat im berblick ES Sons ee n a nd o 12 Konventionen in diesem Buch 13 AE RETTEN 13 Anderungsprotokoll na Dc lea Ger ee 14 RESSOUTCEN nn E e Ee a di Bein BEDE adh 23 BAO ninia ta alitas listes titi 23 INS 23 ENEE 23 Se EE 23 SOT Ware presen a A a a da Dada 24 A O RNA 24 Danksagung estonio Ee nat iris hae 24 Aktuelle Mitglieder des Projekt Teams ss 24 BIS ter PA eg eds OSAS ENENENES hm hehe hr he eher 25 Softw respiesel Betreuer ENER ee NO 25 SM ii ida 25 Ehemalige Team Mitglieder und Beitragende nano nccnncnninos 26 Kapitel 2 Wichtige Informationen ssscsessessssssnsssssnsssenn snnnsssunsssnsnssnsnssnnsssnsnssnnnntensensensensnnennnssen hessen een 27 ber E EE 27 MA A Ee 27 ber die Test auites een enenneeerenerenenenee 28 Wie sie nach Hilfe fragen k nnen sek nenn eich EES Rae 28 Dinge die sie angeben sollten 28 Probleme mit configure Skripten ss 29 K
89. Neben der Makrofunktionalit t kann m4 benannte Dateien einf gen Unix Kommandos ausf hren integer Berechnungen durchf hren Textmanipulationen in verschiedenster Weise und Rekursionen bearbeiten Das m4 Programm kann entweder als Front end zu einem Compiler oder als eigenst ndiger Makro Prozessor benutzt werden M4 Installationsabh ngigkeiten M4 ist abh ngig von Bash Binutils Coreutils Diffutils GCC Gettext Glibc Grep Make Perl Sed Make Eine Installationsanleitung finden sie im_Abschnitt namens Installieren von Make 3 80 in Kapitel 6 Offizielle Download Adresse Make 3 80 ftp ftp gnu org gnu make M4 196 Linux From Scratch Inhalt von Make Make erkennt automatisch welche Teile eines grossen Programmes erneut kompiliert werden miissen und welche Kommandos dazu n tig sind Installiertes Programm make Kurze Beschreibung make erkennt automatisch welche Teile eines gro en Programms neu kompiliert werden m ssen und f hrt automatisch die notwendigen Kommandos aus Make Installationsabh ngigkeiten Make ist abh ngig von Bash Binutils Coreutils Diffutils GCC Gettext Glibc Grep Sed MAKEDEV Eine Installationsanleitung finden sie im_Abschnitt namens Erstellen der Ger tedateien Makedev 1 7 in Kapitel 6 Offizielle Download Adresse MAKEDEV 1 7 http downloads linuxfromscratch org Inhalt von MAKEDEV Das Skript MA KEDEV erstellt statische Ger tedateien Diese liegen normal
90. OE ESE AEE 84 Installieren der Linux 2 4 22 Header 85 Inhalt von EE 86 Linux Iosallatonsabb negketen AE 86 Linux From Scratch Table of Contents Kapitel 6 Installieren der grundlegenden System Software Installation der Kernel Header ii nannte seen 86 Warum wir die Kernel Header kopieren und nicht symbolisch linken ne 87 Installieren der Man pages 1 60 ss 87 Inhalt von Man p ges EE 88 Man pages Iostallauonsabb ngekeuen AA 88 Installation der M n pases a en rien Eege EE tt lie ee tt 88 Installieren von luede EEGENEN 88 Inhalt von GUDE meie tado EA il 88 Glibc Installationsabh ngigkeiten AE 88 Ba EI ET eet 98 K nfisureren v00 Ghbe n n kann mes ton ete en rer iia 90 Konfigurieren des dynamischen Lader 91 Erneutes anpassen der toolchain ssss sise 91 Installieren Von Binuttls 2 TA eegene ENEE Rider droitier etes 93 Inh lt yan Bi utils dr en ti eege ge 93 Binutils Installationsabh ngigkeiten ss 93 Installation von B E 32 08 888 to 93 Installier n von GC E J REG 94 MAA A er IEE EE 95 GCC TIostallatopsabh neieketen AA 95 Installation Von Gli a EN 95 NEES RETTEN 96 Inhalt Vom COG tt EE 98 Coreutils Iostoallanopnsabb nookeuen ss 97 Installation engt tege Seege d ene en A EN Seven d 97 Installieren von hb ELE iii caeeaeseages a E als dt ice REE 98 lU 98 Zlib Installationsabhan gi
91. Programme make Dieses Paket enth lt eine Test suite zum berpr fen der kompilierten Programme Es ist jedoch bekannt das die Gettext Test suite hier in Kapitel 5 unter verschiedenen Bedingungen fehlschl gt zum Beispiel wenn sie einen Java Compiler auf dem Host System findet Die Gettext Test suite braucht sehr viel Zeit und ist nicht als kritisch einzustufen Deshalb empfehlen wir diesen Schritt zu berspringen Sollten sie dennoch die Test suite laufen lassen wollen erledigt dieses Kommando das f r sie make check Und installieren sie das Paket make install Installieren von Ncurses 5 3 Gesch tzte Kompilierzeit O 7 Siu Ungef hr ben tigter Festplattenplatz 26 MB Inhalt von Ncurses Ncurses enth lt Bibliotheken zur Verwendung von Zeichen und Terminals inklusive Schaltfl chen und Men s Installierte Programme captoinfo Link auf tic clear infocmp infotocap Link auf tic reset Link auf tset tack tic toe tput und tset Installierte Bibliotheken libcurses a so Link auf libncurses a so libform a so libmenu a so Gettext Installationsabh ngigkeiten 70 Linux From Scratch libncurses a libncurses a so libpanel a so Ncurses Installationsabh ngigkeiten Ncurses ist abh ngig von Bash Binutils Coreutils Diffutils Gawk GCC Glibc Grep Make Sed Installation von Ncurses Beheben sie zuerst zwel kleine Fehler patch Npl i ncurses 5 3 etip 2 patch patch Npl
92. THER IN CONTRACT STRICT LIABILITY OR TORT INCLUDING NEGLIGENCE OR OTHERWISE ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE Linux From Scratch 1 Widmung Ich widme dieses Buch meiner mich liebenden und sehr unterst tzenden Frau Beverly Beekmans Inhaltsverzeichnis Vorwort Vorwort Die Zielgruppe Wer dieses Buch wahrscheinlich lesen m chte Wer dieses Buch wahrscheinlich nicht lesen m chte Voraussetzungen Aufbau Teil I Einf hrung Teil II Vorbereitungen zur Installation Teil III Installation des LES Systems Teil IV Anh nge I Teil I Einf hrung 1 Einf hrung Der Ablauf im berblick Konventionen in diesem Buch Version dieses Buches Anderungsprotokoll Ressourcen Danksagungen 2 Wichtige Informationen ber LES ber SBUs ber die Test suites Wie sie nach Hilfe fragen k nnen II Teil IT Vorbereitungen zur Installation 3 _ Vorbereiten einer neuen Partition Einf hrung Erstellen einer neuen Partition Erstellen eines neuen Dateisystems auf der Partition Einh ngen mounten der neuen Partition 4 Das Material Pakete und Patche Einf hrung Alle Pakete Ben tigte Patche 5 Erstellen eines tempor ren Systems Einf hrung Technische Anmerkungen zur toolchain Erstellen des Verzeichnisses LFS tools Erstellen des Benutzers lfs Vorbereiten der Installationsumgebung Installieren von Binutils 2 14 Durchlauf 1 Installieren von GCC 3 3
93. Unified Bootloader Kommando Shell grub install installiert GRUB auf dem angegebenen Ger t grub md35 crypt verschl sselt Passw rter im MDS Format grub terminfo erzeugt ein terminfo Kommando aus dem Namen eines Terminals Es kann verwendet werden wenn sie ein un bliches Terminal haben mbchk pr ft das Format eines multiboot Kernel Grub Installationsabh ngigkeiten Grub ist abh ngig von Bash Binutils Coreutils Diffutils GCC Glibc Grep Make Ncurses Sed Gzip Eine Installationsanleitung finden sie im_Abschnitt namens Installieren von Gzip 1 3 5 in Kapitel 6 Offizielle Download Adresse Gzip 1 3 5 ftp alpha gnu org gnu gzip Grub 187 Linux From Scratch Inhalt von Gzip Gzip enth lt Programme f r die Dateikompression und dekompression mit Hilfe des Lempel Ziv Algorythmus LZ77 Installierte Programme gunzip Link auf gzip gzexe gzip uncompress Link auf gunzip zcat Link auf gzip zcmp zdiff zegrep zfgrep zforce zgrep zless zmore und znew Kurze Beschreibungen gunzip dekomprimiert gzip Dateien gzexe wird zum erzeugen von selbstentpackenden ausf hrbaren Dateien verwendet gzip komprimiert Dateien mit dem Lempel Ziv LZ77 Algorythmus zcat dekomprimiert gzip Dateien zur standard Ausgabe zcmp f hrt cmp auf gzip Dateien aus zdiff f hrt diff auf gzip Dateien aus zegrep f hrt egrep auf gzip Dateien aus zfgrep runs fgrep on gzipped files zforce erzwingt eine gz Erweiterun
94. Werkzeug zum identifizieren von Dateitypen Installiertes Programm file Expect 174 Linux From Scratch Installierte Bibliotheken libmagic a so Kurze Beschreibung file versucht Dateien zu klassifizieren Dazu f hrt es verschiedene Tests durch Dateisystem Tests Tests mit magische Nummern und Sprachtests Der erste erfolgreiche Test entscheidet ber das Ergebnis libmagic enth lt Routinen zur erkennung von magischen Nummern wird vom file Programm verwendet File Installationsabh ngigkeiten File ist abh ngig von Bash Binutils Coreutils Diffutils GCC Glibc Grep Make Sed Zlib Findutils Eine Installationsanleitung finden sie im_Abschnitt namens nstallieren von Findutils 4 1 20 in Kapitel 6 Offizielle Download Adresse Findutils 4 1 20 ftp alpha gnu org gnu findutils Inhalt von Findutils Das Findutils Paket enth lt Programme zum auffinden von Dateien entweder on the fly indem ein Verzeichnisbaum live durchsucht wird oder durch Suche in einer Datenbank Installierte Programme bigram code find frcode locate updatedb und xargs Kurze Beschreibungen bigram wurde fr her benutzt um locate Datenbanken zu erzeugen code wurde fr her benutzt um locate Datenbanken zu erzeugen find durchsucht einen Verzeichnisbaum nach Dateien die einem bestimmten Kriterium entsprechen frcode wird von updatedb aufgerufen um die Liste der Dateinamen zu komprimieren Es benutzt sog front Kompression wel
95. aben patch Npl i glibc 2 3 2 sscanf 1 patch Die Glibc Dokumentation empfiehlt Glibc nicht im Quellenverzeichnis sondern stattdessen in einem dedizierten Kompilierverzeichnis zu bauen mkdir glibc build cd glibc build Bereiten sie nun Glibc zum kompilieren vor glibc 2 3 2 configure prefix usr disable profile enable add ons libexecdir usr bin with headers usr include Die Bedeutung der neuen configure Optionen e libexecdir usr bin Das wird das pt_chown Programm in usr bin installieren e with headers usr include Das stellt sicher das die Kernel Header in usr include zum kompilieren benutzt werden Wenn sie diese Option nicht angeben werden die Header aus tools include benutzt was nicht ideal w re auch wenn sie identisch sein sollten Diese Option hat auch den Vorteil das sie sofort merken wenn sie vergessen haben sollten die Kernel Header in usr include zu installieren Kompilieren sie das Paket make Testen sie das Ergebnis make check Die Anmerkungen zur Test suite aus dem_Abschnitt namens nstallieren von Glibc 2 3 2 in Kapitel 5 gelten nat rlich auch hier Schlagen sie dort nach falls sie irgendwelche Zweifel haben Und installieren sie das Paket make install Die locales wurden durch das obige Kommando nicht installiert Holen sie das nach Man pages Installationsabh ngigkeiten 89 Linux From Scratch make localedata install locales Eine alternative zum obigen
96. acher Weg sein Ziel Triplet herauszufinden ist das config guess Skript auszuf hren welches mit den Quellen vieler Pakete mitgeliefert wird Entpacken sie die Binutils Quellen f hren sie das Skript aus config guess und notieren sie sich die Ausgabe Sie sollten auch den Namen des dynamischen Linkers f r ihre Plattform kennen manchmal auch als dynamischer Lader bezeichnet nicht zu verwechseln mit dem standard Linker d welcher Teil der Binutils ist Der dynamische Linker kommt mit Glibc und seine Aufgabe ist es von einem Programm ben tigte gemeinsame Bibliotheken zu finden und zu laden das Programm zum ausf hren vorzubereiten und schliesslich das Programm selbst auszuf hren Im Regelfall wird der Name des dynamischen Linkers d linux so 2 sein F r weniger g ngige Systeme k nnte der Name auch d so sein und auf neueren 64bit 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 das Verzeichnis 1ib schauen Um wirklich sicher zu gehen k nnen sie eine beliebige Bin rdatei auf ihrem Host System berpr fen readelf l name of binary gt grep interpreter Notieren sie die Ausgabe Eine Referenz die alle Plattformen abdeckt finden sie in der Datei shlib versions im Hauptverzeichnis des Glibc Quellverzeichnisses Ein paar technische Hinweise zum Kompilierprozess in Kapitel 5 e Er ist im Grunde hnlich wie Cross Kompilieren w
97. ahren sie mit dem kompilieren des Pakets fort make BOOT_LDFLAGS static bootstrap Die Bedeutung der make Parameter e BOOT_LDFLAGS static Dies weist GCC an seine Programme statisch zu verlinken e bootstrap Dieses make target kompiliert GCC nicht einfach nur sondern kompiliert gleich mehrmals GCC benutzt die Programme die im ersten Durchlauf erzeugt werden um sich selbst im zweiten Durchlauf erneut zu kompilieren Dann kompiliert sich GCC noch ein drittes mal Am Schluss werden die Ergebnisse des zweiten und dritten Kompiliervorgangs verglichen um sicherzustellen das GCC sich selbst problemlos kompilieren konnte Das bedeutet normalerweise das alles korrekt kompiliert wurde Installieren sie das Paket make install Zum Abschluss erstellen wir noch den Symlink tools bin cc Viele Programme benutzen cc anstelle von gcc das ist gedacht um Programme generisch zu halten und damit auf verschiedenen Unix System nutzbar zu machen Nicht jeder hat den GNU C Compiler installiert Einfach nur cc aufzurufen l sst dem Administrator die Wahl welchen C Compiler er installieren m chte solange es einen Symlink auf den echten Compiler gibt In sf gcc tools bin cc Installieren der Linux 2 4 22 Header Gesch tzte Kompilierzeit Oi Say Ungef hr ben tigter Festplattenplatz 186 MB Inhalt von Linux Der Linux Kernel ist der Kern eines jeden Linux Systems Er ist sozusagen der Herzschlag von Linux Wenn der Computer eingeschaltet wird u
98. aket make Installieren sie es make install Und verschieben sie das ping Programm an seine korrekte Stelle mv usr bin ping bin Installieren von Perl 5 8 0 Gesch tzte Kompilierzeit 2 9 SU Ungef hr ben tigter Festplattenplatz 143 MB Inetutils Installationsabh ngigkeiten 113 Linux From Scratch Inhalt von Perl Das Perl Paket enth lt die Skriptsprache Perl Practical Extraction and Report Language Perl kombiniert einige der besten Merkmale von C sed awk und sh in einer einzigen m chtigen Skriptsprache Installierte Programme a2p c2ph dprofpp enc2xs find2perl h2ph h2xs libnetcfg perl perl5 8 0 Link auf perl perlbug perlcc perldoc perlivp piconv pl2pm pod2html pod2latex pod2man pod2text pod2usage podchecker podselect psed Link auf s2p pstruct Link auf c2ph s2p splain und xsubpp Installierte Bibliotheken zu viele um sie einzeln aufzulisten Perl Installationsabh ngigkeiten Perl ist abh ngig von Bash Binutils Coreutils Diffutils Gawk GCC Glibc Grep Make Sed Installation von Perl Bereiten sie Perl zum kompilieren vor configure gnu prefix usr Wenn sie mehr Kontrolle ber die Art haben m chten wie Perl sich selbst zum installieren konfiguriert k nnen sie stattdessen das interaktive Configure Skript benutzen Wenn sie mit den sinnvollen Standardwerten zufrieden sind die Perl automatisch erkennt dann benutzen sie einfach das obige Kommando Kompilieren sie
99. allieren von Tar 1 13 25 Gesch tzte Kompilierzeit 2 SBU Ungef hr ben tigter Festplattenplatz 10 MB Inhalt von Tar Tar ist ein Programm zum speichern und extrahieren von Dateien aus sog Tar Archiven Installierte Programme rmt und tar Tar Installationsabh ngigkeiten Tar ist abh ngig von Bash Binutils Coreutils Diffutils GCC Gettext Glibc Grep Make Sed Installation von Tar Bereiten sie Tar zum kompilieren vor configure prefix usr bindir bin libexecdir usr bin Kompilieren sie das Paket make Dieses Paket enth lt eine Test suite um zu pr fen ob alles korrekt kompiliert wurde Wenn sie sie ausf hren m chten erledigt dies das folgende Kommando f r sie make check Und installieren sie das Paket make install Installieren von Util linux 2 12 Gesch tzte Kompilierzeit OPS BU Ungefahr ben tigter Festplattenplatz 16 MB Installieren von Tar 1 13 25 139 Linux From Scratch Inhalt von Util linux Util linux enth lt verschiedene Werkzeuge Einige der etwas bekannteren Programme werden z B zum mounten entmounten formatieren partitionieren und verwalten von Festplatten ffnen von tty Ports und zum auslesen von Kernel Meldungen genutzt Installierte Programme agetty arch blockdev cal cfdisk chkdupexe col colert colrm column ctrlaltdel cytune ddate dmesg elvtune fdformat fdisk fsck cramfs fsck minix getopt hexdump hwclock ipcrm ipcs isosize kill lin
100. amit alle Dateien dem root Benutzer geh ren Bereiten sie die Installation der Header vor make mrproper Dadurch wird sichergestellt das die Kernelquellen absolut sauber sind Das Kernel Team empfiehlt dieses Kommando vor jedem Neubau des Kernels auszuf hren Sie sollten sich nicht darauf verlassen das die Quellen nach dem entpacken sauber sind Erstellen sie die Datei include linux version h make include linux version h Erstellen sie den Plattform spezifischen symbolischen Link include asm make symlinks Installieren sie die Plattform spezifischen Header Dateien cp HR include asm usr include cp R include asm generic usr include Installieren sie die Cross Plattform Header Dateien cp R include linux usr include Linux Installationsabh ngigkeiten 86 Linux From Scratch Einige Kernel Header Dateien benutzen die Header Datei autoconf h Da wir den Kernel jetzt aber noch nicht konfigurieren m ssen wir die Datei selber erstellen um Compilerfehler zu vermeiden Erstellen sie eine leere autoconf h Datei touch usr include linux autoconf h Warum wir die Kernel Header kopieren und nicht symbolisch linken Fr her war es g ngige Praxis das Verzeichnis usr include linux asm nach usr src linux include linux asm symbolisch zu verlinken Das war aber schlechte Praxis wie der folgende Ausschnitt aus einem Posting von Linus Torvalds auf der Linux Kernel Mailinglist zeigt I would suggest that people who
101. apitel 6 Offizielle download Adresse Tar 1 13 25 ftp alpha gnu org gnu tar Inhalt von Tar Tar ist ein Programm zum speichern und extrahieren von Dateien aus sog Tar Archiven Installierte Programme rmt und tar Kurze Beschreibungen rmt wird zum entfernten manipulieren von magnetischen Bandlaufwerken verwendet und benutzt das Interprozesskommunikation tar wird zum erzeugen und extrahieren von Dateien aus einem Archiv verwendet Tar Installationsabhangigkeiten Tar ist abh ngig von Bash Binutils Coreutils Diffutils GCC Gettext Glibc Grep Make Sed Tel Eine Installationsanleitung finden sie im_Abschnitt namens Installieren von Tcl 8 4 4 in Kapitel 5 Offizielle download Adresse Tel 8 4 4 http download sourceforge net tcl ftp download sourceforge net pub sourceforge tcl Sysvinit Installationsabhangigkeiten 213 Linux From Scratch Inhalt von Tcl Das Tcl Paket enth lt die sog Tool Command Language Installierte Programme tclsh Link auf tclsh8 4 tclsh8 4 Installierte Bibliothek libtcl8 4 so Kurze Beschreibung telsh8 4 ist die Tcl Kommando Shell libtcl8 4 so ist die Tcl Bibliothek Tcl Installationsabhangigkeiten Tcl ist abh ngig von Bash Binutils Coreutils Diffutils GCC Glibc Grep Make Sed Texinfo Eine Installationsanleitung finden sie im_Abschnitt namens nstallieren von Texinfo 4 6 in Kapitel 6 Offizielle download Adresse Texinfo 4 6 ftp ftp gnu
102. are Uhr auf lokale Zeit eingestellt ist wird die Zeit nicht konvertiert Es gibt leider keinen Weg automatisch herauszufinden ob die Hardware Uhr auf GMT gestellt ist oder nicht deshalb m ssen wir das selber konfigurieren ndern sie den Wert von UTC in eine 0 Null wenn ihre Hardware Uhr nicht auf GMT Zeit eingestellt ist Legen sie die neue Datei etc sysconfig clock mit dem folgenden Kommando an cat gt etc sysconfig clock lt lt EOF Begin etc sysconfig clock 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 sie erkl rt sehr gut wir man unter LFS mit der Systemzeit umgeht Sie erkl rt Dinge wie Zeitzonen UTC und die TZ Umgebungsvariable Brauche ich das loadkeys Skript Falls sie sich am Ende von_Kapitel 6 entschieden haben das Tastaturlayout in den Kernel fest einzubinden dann brauchen sie genau genommen dieses Skript nicht weil der Kernel das Tastaturlayout bereits fiir sie lad Sie k nnen es aber trotzdem ausf hren es schadet nicht Es kann sogar hilfreich sein zum Beispiel wenn sie viele verschiedene Kernel haben und das Tastaturlayout nicht immer fest einkompilieren wollen Wenn sie sich entscheiden das loadkeys Skript nicht laufen zu lassen oder es einfach nicht brauchen dann l schen sie einfach den symbolischen Link etc rc d rcsysinit d S70loadkeys Konfigurieren des setclo
103. ariable korrekt gesetzt ist echo LFS Die Ausgabe sollte den Pfad zum Einh ngepunkt ihrer LFS Partition anzeigen normalerweise mnt lfs wenn sie unserem Beispiel gefolgt sind Kapitel 5 Erstellen eines tempor ren Systems 40 Linux From Scratch Technische Anmerkungen zur toolchain Dieser Abschnitt soll einige technische Details zum gesamten Bau und Installationsprozess erl utern Es ist nicht zwingend erforderlich das sie alles hier sofort verstehen Das meiste ergibt sich von selbst wenn sie erstmal die ersten Pakete installiert haben Scheuen sie sich nicht zwischendurch noch einmal in diesem Abschnitt nachzulesen Das Ziel von Kapitel 5 ist es eine gut funktionierende tempor re Arbeitsumgebung zu erschaffen in die wir uns sp ter abkapseln und von wo aus wir in Kapitel 6 ohne Schwierigkeiten ein sauberes endg ltiges LFS System erzeugen k nnen Wir werden uns so weit wie m glich vom Host System abschotten und so eine in sich geschlossene toolchain erzeugen Bitte beachten sie das der gesamte Prozess ausgelegt ist um jegliches Risiken f r neue Leser zu minimieren und gleichzeitig den Lerneffekt zu maximieren Kurz gesagt k nnte man auch fortgeschrittenere Techniken einsetzen um das System zu erstellen Wichtig Bevor sie fortfahren sollten sie den Namen der Plattform kennen auf der sie arbeiten diese wird auch oft als Ziel Triplet bezeichnet F r die meisten wird das Ziel Triplet zum Beispiel i686 pc linux gnu sein Ein einf
104. at ES 113 Inhaltyan Berl 2 22 20 Ee EAE EERSTEN ge dE EES sach 114 Perl Installationsabh ngigkeiten ss 114 Installation von Perk gier eege ee EEN EE e 114 Inst llieren Von TEx in FO A ca 115 Anhalt von E EE 115 Texinfo Iostallaponsabbanaioketen ss 115 vi Linux From Scratch Table of Contents Kapitel 6 Installieren der grundlegenden System Software Installation von A a sa ve ENNEN AO 115 Installieren von Altocon tie nacida eri AEN ALEN 116 Inh lt yan Autoconf a HEE 116 Autoconf Installationsabh ngigkeiten 116 Installation von Autocont nono n nana no nano nan no nono e nono nononcnncanonanenos 116 Installieren von Automake 0p nana nana na narra na nannns 116 Inha lt yan Automake ci ne sin ee At Eed doe 118 Automake lInstallationsabh ngigkeiten ss 117 Installation von Automake ii na nnn nana no nono nnn nono nononnn nono nono noncccnonanonos 117 Installieren von Bash 2 e D 117 Inh lt yan B sh A A A O T E T 117 Bash IosGllaponsabb uetekeuen AA 118 Installation von Bah io 118 InstallierenivonElle4 DA in in a A geed eg 118 Ibal VOM Ellen ee A Ee Eege EE 118 Eile Install tions abh ngigkeitel AE 119 Installation VOTE a ita 119 Installieren von Libtool 5 ss domine sisi str caste savaceevsvaceevavandsabendestuvacas 119 Inhalt Yon A nenn oe de a s nantes e nn en eme Be T 119 Libtool
105. atch Kurze Beschreibungen basename entfernt Pfade und ein angegebenes Suffix von einem Dateinamen cat f gt Dateien an die Standard Ausgabe an chgrp ndert die Gruppenzugeh rigkeit jeder angegebenen Datei zu der angegebenen Gruppe Die Gruppe kann entweder ein Name oder eine numerische ID sein chmod ndert die Rechte auf jeder angegebenen Datei auf den angegebenen Modus Der Modus kann entweder symbolische oder als Oktale Nummer angegeben werden chown ndern Benutzer und oder Gruppenzugeh rigkeit jeder angegebenen Datei auf das angegebene Benutzer Gruppe Paar chroot f hrt ein Kommando mit dem angegebenen Verzeichnis als Verzeichnis aus Das Kommando kann eine interaktive Shell sein Auf den meisten Systemen kann nur root dies tun cksum gibt die CRC Pr fsumme und anzahl der Bytes einer Datei aus comm vergleicht zwei sortierte Dateien und gibt in drei Spalten die gemeinsamen und die einmaligen Vorkommnisse von Zeilen aus cp kopiert Dateien csplit teil eine Datei in mehrere neue Dateien auf und schneidet entsprechend eines Musters oder anhand von Zeilennummern Gibt die Byte gr sse jeder neuen Datei aus cut gibt Teile aus einer Zeile aus und w hlt die auszugebenden Teil anhand von Feldern oder Positionsangaben aus date zeigt die aktuelle Zeit im vorgegebenen Format an oder setzt sie neu dd kopiert eine Datei mit der angegebenen Blockgr e und Anzahl w hrend es optional diverse Konvertierungen durchf hrt
106. atch org patches lfs 5 0 zlib 1 1 4 vsnprintf patch Ben tigte Patche 38 Linux From Scratch Zus tzlich zu den ben tigten Patches gibt es noch zahlreiche weitere optionale Patche die von der LES Gemeinschaft erstellt wurden Die meisten beheben kleine Probleme oder schalten Funktionen ein die standardm ssig abgeschaltet sind Untersuchen sie ruhig die Patch Datenbank unter http www linuxfromscratch org patches und laden sie zus tzliche Patche herunter die sie benutzen m chten Ben tigte Patche 39 Kapitel 5 Erstellen eines tempor ren Systems Einf hrung In diesem Kapitel werden wir ein minimales Linux System kompilieren und installieren Das System wird gerade genug Werkzeuge beinhalten um mit dem erstellen des endg ltigen LFS Systems im nachfolgenden Kapitel beginnen zu k nnen Das erstellen dieses minimalen Systems erfolgt in zwei Schritten Als erstes erzeugen wir eine brandneue Host unabh ngige toolchain Compiler Assembler Linker und Bibliotheken und dann benutzen wir diese um alle weiteren essentiellen Werkzeuge zu kompilieren Die in diesem Kapitel kompilierten Dateien werden im Verzeichnis SLFS tools installiert um sie von den restlichen Dateien des Systems sauber zu trennen Die hier kompilierten Programme sind nur tempor r und sollen nicht mit in unser endg ltiges LFS System einfliessen Der Schl ssel um zum lernen wie Linux funktioniert ist zu wissen wof r die installierte Software verwendet wird
107. bc immer den gcc nimmt der in den PATH Verzeichnissen gefunden wird Die Bin rtools und 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 glibc build Verzeichnis nach den Details durchsuchen Sie werden ein paar interessante Dinge finden wie zum Beispiel CC gcc B tools bin zum kontrollieren der verwendeten Bin rtools oder die Parameter nostdinc und isystem zum kontrollieren des Suchpfades des Compilers Diese Besonderheiten heben einen wichtigen Aspekt des Glibc Paketes hervor Es ist kompiliertechnisch sehr eigenst ndig und nicht nicht von toolchain Vorgaben abh ngig Nach der Installation von Glibc nehmen wir noch ein paar Anpassungen vor damit stellen wir sicher das Suchen und Verlinken nur innerhalb unseres tools Prefix stattfindet Wir installieren einen angepassten ld welcher einen fest angegebenen Suchpfad auf tools 1ib hat Dann bearbeiten wir gec s Spec Dateie so das sie auf den neuen dynamischen Linker in tools lib zeigt Der letzte Schritt ist entscheidend f r den gesamten Prozess Wie oben bereits angemerkt wird ein fest eingestellter Pfad zum dynamischen Linker in jede ausf hrbare ELF Datei eingebettet Sie k nnen das berpr fen indem sie dieses Kommando ausf hren readelf 1 lt Name der ausf hrbaren Datei gt
108. boot st rap target verwenden weil wir bereits einen Compiler benutzen der aus exakt den gleichen Quellen gebaut wurde Anmerkung Es sollte erw hnt werden das die GCC Test suite hier nicht so wichtig ist wie in_Kapitel 6 Testen sie die Ergebnisse make k check Der Schalter k l sst die Test suite bis zum Ende durchlaufen auch wenn Fehler auftreten sollten Die GCC Test suite ist sehr umfangreich und es ist beinahe sicher das Fehler auftreten Um eine Zusammenfassung der Test Ergebnisse zu erhalten benutzen sie dieses Kommando gec 3 3 1 contrib test_summary more Sie k nnen ihre Ergebnisse mit denen auf der gcc testresults Mailingliste ver ffentlichten vergleichen die eine hnliche System Konfiguration wie sie haben Ein Beispiel wie GCC 3 3 1 auf 1686 pc linux gnu aussehen sollte finden sie unter_http gcc enu org ml gcc testresults 2003 08 msg01612 html Beachten sie das das Ergebnis folgendes enth lt 1 XPASS unexpected pass for g 1 FAIL unexpected failure for gt 2 WAT EOL CCC EE Der unerwartet erfolgreiche Durchlauf f r g ist weil wir enable __cxa_atexit benutzt haben Offensichtlich unterst tzen nicht alle von GCC unterst tzten Plattformen __cxa_atexit in ihren C Bibliotheken daher wird das erfolgreiche durchlaufen dieses Tests als unerwartet betrachtet Die 26 unerwartet erfolgreichen Durchl ufe f r libstdc sind begr ndet durch die Option enable clocale gnu welche
109. bstgeschrieben sein und k nnen beliebige Argumente bernehmen Neben der F higkeit Makros auszuf hren hat M4 eingaute Funktionen um benannte Dateien einzuf gen Unix Kommandos auszuf hren Integer Berechnungen durchzuf hren Text zu manipulieren Rekursionen zu behandeln usw M4 Kann entweder als Front end zu einem Compiler oder als eigenst ndiger Makroprozessor genutzt werden Installierte Programme m4 MA Installationsabh ngigkeiten M4 ist abh ngig von Bash Binutils Coreutils Diffutils GCC Gettext Glibc Grep Make Perl Sed Installation von M4 Bereiten sie M4 zum kompilieren vor configure prefix usr Kompilieren sie das Paket Konfigurieren von Vim 105 Linux From Scratch make Dieses Paket enth lt eine Test suite um zu pr fen ob alles korrekt kompiliert wurde Wenn sie sie ausf hren m chten erledigt dies das folgende Kommando f r sie make check Und installieren sie das Paket make install Installieren von Bison 1 875 Gesch tzte Kompilierzeit ORG Oo EU Ungef hr ben tigter Festplattenplatz 10 6 MB Inhalt von Bison Bison ist ein Programm zum erstellen von Analysatoren ein Ersatz f r yacc Bison erstellt ein Programm welches die Struktur einer Textdatei analysiert Installierte Programme bison und yacc Installierte Bibliotheken liby a Bison Installationsabh ngigkeiten Bison ist abh ngig von Bash Binutils Coreutils Diffutils GCC Gettext Glibc Grep M4 Ma
110. ced during the pure Ifs integration e May 2nd 2003 gerard Upgraded to automake 1 7 4 e2fsprogs 1 33 file 4 02 flex 2 5 31 gawk 3 1 2 gcc 3 2 3 glibc 2 3 2 grep 2 5 1 groff 1 19 less 381 libtool 1 5 man 1 51 man pages 1 56 modutils 2 4 25 procps 3 1 8 sed 4 0 7 sysvinit 2 85 texinfo 4 5 util linux 2 11z e May 2nd 2003 gerard Removed fileutils 4 1 sh utils 2 0 textutils 2 1 all replaced with coreutils 5 0 e May 2nd 2003 gerard Added binutils 2 13 2 libc patch coreutils 5 0 dejagnu 1 4 3 expect 5 38 gawk 3 1 2 gcc 2 95 3 tcl 8 4 2 e May 2nd 2003 gerard Integrated new installation method from the Pure LFS hint written by Greg Schafer and Ryan Oliver Erscheinen der Version 4 1 am 28 April 2003 Ressourcen FAQ Wenn sie beim erstellen des LFS Systems Fragen haben oder wenn sie einen Rechtschreib Fehler im Buch finden dann lesen sie bitte die FAQ Frequently Asked Questions h ufig gestellte Fragen unter http www linuxfromscratch org fag IRC Viele Mitglieder der LFS Gemeinschaft bieten Hilfe auf unserem IRC Server an Bevor sie hier Hilfe suchen m chten wir sie bitten zumindest die LFS FAQ und die Archive unserer Mailinglisten nach einer Antwort auf ihre Frage zu durchsuchen Der IRC Server ist zu erreichen unter irc linuxfromscratch org Port 6667 Der Support Chatraum heist LFS support Mailinglisten Der linuxfromscratch org Server stellt einige Maili
111. chaffer der LFS FAQ e Garrett LeSage lt garrett linuxart com gt Erschaffer des urspr nglichen LFS Banners e Simon Perreault lt nomis80 videotron ca gt Betreuer des Tipps Projekt e Geert Poels lt Geert Poels skynet be gt Erschaffer des urspr nglichen BLFS Banner basierend auf dem LFS Banner von Garrett LeSage e Frank Skettino lt bkenoah oswd org gt f r das urspr ngliche Design der alten Website schauen Sie unter_http www oswd org e Jesse Tie Ten Quee lt highos linuxfromscratch org gt f r das Beantworten zahlloser Fragen im IRC und f r seine unendliche Geduld Ehemalige Team Mitglieder und Beitragende 26 Kapitel 2 Wichtige Informationen Uber LFS Bitte lesen sie den folgenden Abschnitt sorgf ltig In diesem Buch begegnen sie h ufig der Variable LFS LFS ist ein Platzhalter sie m ssen ihn durch den Verzeichnisnamen ersetzen in dem sie die LFS Partition eingeh ngt gemountet haben Wie man eine Partition erstellt und wo man sie einh ngt wird im Detail in Kapitel 3 erkl rt Im Moment gehen wir davon aus das sie die LFS Partition unter mnt 1fs eingeh ngt haben Wenn ihnen gesagt wird sie sollen ein Kommando wie z B dieses ausf hren configure prefix LFS tools dann m ssen sie in wirklichkeit configure prefix mnt 1fs tools eingeben Es ist sehr wichtig das sie das tun egal wo sie es lesen sei es ein Shell Kommando oder eine Datei die sie bearbeiten oder erstellen sol
112. che auf einem Slave Pseudo Terminal zu setzen rpcgen erzeugt C Code zum implementieren des RPC Protokolls rpcinfo generiert einen RPC Call an einen RPC Server sin wird zum erzeugen von symbolischen Links benutzt Das Programm ist statisch gelinkt das ist n tzliche um symbolische Links zu dymamischen Bibliotheken zu erstellen wenn das dynamische Linkersystem aus irgendwelchen Gr nden nicht funktioniert sprof liest und zeigt profiling Daten von gemeinsamen Objekten an tzselect fragt den Benutzer nach der Lokation des System und zeigt dann die dazugeh rige Zeitzonenbeschreibung an xtrace erzeugt einen Trace der Auf hrung eines Programmes indem es die gerade ausgef hrte Funktion ausgibt zdump gibt Zeitzonen aus zic ist der Zeitzonencompiler Id so ist das Hilfsprogramm f r gemeinsame ausf hrbare Bibliotheken libBrokenLocale wird von Programmen wie Mozilla verwendet um kaputte Locales zu beheben Gettext Installationsabh ngigkeiten 182 Linux From Scratch libSegFault ist ein Handler f r Speicherzugriffsfehler Er versucht Speicherzugriffsfehler aufzufangen libanl ist eine Bibliothek f r asynchrone Namensaufl sung libbsd compat stellt Portabilit t zur Verf gung die ben tigt wird damit einige BSD Programme unter Linux laufen libe ist die Haupt C Bibliothek eine Sammlung von gemeinsam benutzten Funktionen liberypt ist die Kryptographiebibliothek libdl ist die Bibliothek zur Schnittstelle des dynamis
113. che die Datenbankgr e um den Faktor 4 bis 5 verkleinert locate sucht durch eine Datenbank von Dateinamen und gibt die Dateien aus die eine bestimmte Zeichenkette enthalten oder auf ein bestimmtes Muster passen updatedb aktualisiert die locate Datenbank Es durchsucht das gesamte Dateisystem inklusive anderer Kurze Beschreibung 175 Linux From Scratch eingeh ngter Dateisysteme wenn es ihm nicht anders gesagt wurde und tr gt jeden gefundenen Dateinamen in die Datenbank ein xargs kann benutzt werden um ein bestimmtes Kommando mit einer Liste von Dateien auszuf hren Findutils Installationsabh ngigkeiten Findutils ist abh ngig von Bash Binutils Coreutils Diffutils GCC Gettext Glibc Grep Make Sed Flex Eine Installationsanleitung finden sie im_Abschnitt namens Installieren von Flex 2 5 4a in Kapitel 6 Offizielle Download Adresse Flex 2 5 4a ftp ftp gnu org non gnu flex Inhalt von Flex Das Programm Flex wird benutzt um Programme zu generieren die Muster in Texten erkennen k nnen Installierte Programme flex flex Link auf flex und lex Installierte Bibliothek libfl a Kurze Beschreibungen flex ist ein Werkzeug das Programme erzeugt die Muster in Text erkennen k nnen Mustererkennung ist in vielen Programmen niitzlich Flex erzeugt aus einem Set an Regeln nach denen es suchen soll ein Programm das nach diesen Mustern sucht Der Grund warum man Flex nimmt ist weil es einfacher ist die Must
114. check a libmemusage so libnsl a libnss_compat so libnss_dns so libnss_files so libnss_hesiod so libnss_nis so libnss_nisplus so libpcprofile so libpthread a so libresolv a so librpcsvc a librt a so libthread_db so und libutil a so Glibc Installationsabh ngigkeiten Glibc ist abh ngig von Bash Binutils Coreutils Diffutils Gawk GCC Gettext Grep Make Perl Sed Texinfo Installation von Glibc Das Glibc Installatinssystem ist sehr eigenst ndig und installiert perfekt selbst wenn unsere Compiler Specs Datei und der Linker immer noch auf too1s zeigen Wir k nnen die Specs Datei und den Linker nicht vor der Installation von Glibc anpassen weil die Glibc Autoconf Tests dann falsche Resultate ergeben w rden Anmerkung Die Test suite von Glibc in diesem Abschnitt wird als kritisch betrachtet Wir raten sie unter keinen Umst nden zu berspringen Man pages Installationsabh ngigkeiten 88 Linux From Scratch Bevor sie mit dem kompilieren von Glibc beginnen denken sie daran Glibc linuxthreads in dem glibc 2 3 2 Verzeichnis zu entpacken und setzen sie alle Umgebungsvariablen zur ck die die standard Optimierungen bergehen w rden Auch wenn es nur eine harmlose Nachricht ist die Installationsphase von Glibc wird sich ber die fehlende etc ld so conf Datei beschweren Beheben sie diese st rende Warnung mit touch etc ld so conf Dann wenden sie den gleichen Patch an den wir schon fr her verwendet h
115. chen Linkers libg ist eine Laufzeitbibliothek f r g libieee ist die IEEE Fliesskomma Bibliothek libm ist die mathematische Bibliothek libmcheck enth lt Code der beim booten ausgef hrt wird libmemusage wird von memusage verwendet und hilft bei der Sammlung von Informationen ber den Speicherverbrauch eines Programms libnsl ist die Bibliothek f r Netzwerkdienste libnss sind die Name Service Switch Bibliotheken sie enthalten Funktionen zum aufl sen von Hostnamen Benutzernamen Gruppennamen Aliasen Diensten Protokollen und so weiter libpcprofile enth lt profiling Funktionen die benutzt werden um die verbrauchte Menge an CPU Zeit in bestimmten Codezeilen zur ckzuverfolgen libpthread ist die POSIX threads Bibliothek libresolv enth lt Funktionen zum erzeugen senden und interpretieren von Paketen zu Internet Domain Name Servern librpesve enth lt Funktionen die diverse RPC Dienste zur Verf gung stellen librt enth lt Funktionen zu den Schnittstellen die von der POSIX 1b Echtzeit Erweiterung spezifiziert werden libthread_db enth lt n tzliche Funktionen zum erzeugen von debuggern f r multi thread Programme libutil enth lt Code f r standard Funktionen die in vielen verschiedenen Unix Werkzeugen verwendet werden Gettext Installationsabh ngigkeiten 183 Linux From Scratch Glibc Installationsabh ngigkeiten Glibc ist abh ngig von Bash Binutils Coreutils Diffutils Gawk GCC Gettext Grep
116. chen keine Internationalisierung f r unsere statischen Programme und nls verursacht h ufig Probleme beim statischen verlinken von Programmen Fahren sie mit dem kompilieren des Pakets fort make configure host make LDFLAGS all static Die Bedeutung der make Parameter e configure host Dies erzwingt die sofortige Konfiguration alle Unterverzeichnisse Eine statisch gebaute Version w rde ansonsten fehlschlagen Wir benutzen diese Option um dieses Problem zu umgehen e LDFLAGS all static Dies teilt dem Linker mit das alle Binutils Programme statisch gelinkt werden sollen Genaugenommen wird all static zuerst an libtool bergeben welches dann wiederum static an den Linker bergibt Und installieren sie das Paket make install Bereiten sie nun den Linker auf das sp tere hinzuf gen von Glibc vor make C ld clean make C ld LDFLAGS all static LIB_PATH tools lib Die Bedeutung der make Parameter e C ld clean Dies weist das make Programm an alle kompilierten Dateien im Unterverzeichnis 1d zu l schen e C ld LDFLAGS all static LIB_PATH tools lib Diese Option kompiliert alles im Unterverzeichnis ld erneut Das angeben der LIB_PATH makefile Variable auf der Kommandozeile berschreibt den Standardwert und zeigt auf das tempor re tools Verzeichnis Der Wert dieser Variable spezifiziert den Standard Bibliothek Suchpfad f r den Linker Sie werden sp ter in diesem Kapitel sehen wie diese Vorbereitung angewendet
117. cherausnutzung und IRQ Nummern aus dem proc Verzeichnis und gibt die Daten sinnvoll formatiert aus Installierte Programme Isdev procinfo und socklist Kurze Beschreibungen Isdev listet die in ihrem System verf gbaren Ger te die zugeh rigen Interrupts und IO Ports auf procinfo zeigt eine bersicht ber einige Informationen im virtuellen Proc Dateisystem an socklist listet alle offenen Sockets auf und zeigt ihren Typ Portnummer und andere Details an Procinfo Installationsabh ngigkeiten Procinfo ist abh ngig von Binutils GCC Glibc Make Ncurses Procps Eine Installationsanleitung finden sie im_Abschnitt namens nstallieren von Procps 3 1 11 in Kapitel 6 Offizielle Download Adresse Procps 3 1 11 http procps sourceforge net Procps Locale Patch http www linuxfromscratch org patches lfs 5 0 procps 3 1 11 locale fix patch Inhalt von Procps Procps enth lt Programme zur berwachung und Steuerung von Systemprozessen Die Informationen zu den Prozessen holt Procps aus dem proc Verzeichnis Installierte Programme free kill pgrep pkill pmap ps skill snice sysctl tload top uptime vmstat w und watch Installierte Bibliothek libproc so Offizielle Download Adresse 206 Linux From Scratch Kurze Beschreibungen free gibt die Menge and freiem und benutzten Arbeitsspeicher aus sowohl physischen als auch swap kill wird benutzt um Signale an Prozesse zu senden pgrep findet Prozesse aufg
118. ck Skript 145 Linux From Scratch Konfigurieren des sysklogd Skript Das sysklogd Skript startet das Programm syslogd mit der m 0 Option Diese Option schaltet die periodische Marke ab die syslogd standardm ssig alle 20 Minuten in die Logdateien schreibt Wenn sie diese Zeitmarke einschalten wollen editieren sie das sysklogd Skript entsprechend Weitere Informationen erhalten sie mitman syslogd Konfigurieren des localnet Skript Eine Aufgabe des localnet Skript ist das setzen des System Hostnamen Das muss in etc sysconfig network konfiguriert werden Erstellen sie die Datei etc sysconfig network und geben sie den Hostnamen ein echo HOSTNAME 1fs gt etc sysconfig network lfs muss durch den Namen f r ihren Computer ersetzt werden Geben sie hier nicht den FQDN Fully Qualified Domain Name gt Vollst ndigen Dom nennamen ein Diese Information wird erst sp ter in etc hosts eingetragen Erstellen der Datei etc hosts Wenn eine Netzwerkkarte eingerichtet werden soll m ssen sie eine IP Adresse den voll qualifizierten Dom nennamen und m gliche Aliasnamen in etc hosts konfigurieren Die Syntax ist lt IP Adresse gt meinhost meinedomain org aliasname Sie sollten sicherstellen das die IP Adresse im privaten Adressraum liegt G ltige Adressr ume daf r sind Klasse Netzwerke A 70000 B 172 16 0 0 Dis 172 31 0 0 E 192 168 000 sag 192 108 239 0 0 Eine g ltige IP Adresse k nnte zum Beispiel 192 168 1
119. d Changing ownership patch to polish the text Closes bug 511 May 13th 2003 winkie Chapter 06 Applied Configuring system components patch to polish the text Closes bug 510 May 13th 2003 gerard Chapter 06 Removed Tel Expect and DejaGnu Nothing uses this once past GCC in chapter 6 The versions in stagel bin do the job just fine May 13th 2003 winkie Chapter 06 Installing Shadow Touching the usr bin passwd file before installation Not doing so results in Shadow thinking passwd will be in bin passwd May 13th 2003 winkie Chapter 06 Installing Procps Remove the lib libproc so symlink No package outside of Procps itself uses this library and none should e May 13th 2003 winkie Chapter 06 Installing Net tools Run make config before doing make Fixes bugs 462 and 497 May 13th 2003 gerard Chapter 06 Ncurses Added the vsscanf patch May 12th 2003 gerard Chapter 05 Gzip Removed make check It doesn t do anything May 12th 2003 winkie Chapter 05 Installing Texinfo Don t install the texmf data It s not used by anything May 12th 2003 winkie Chapter 05 amp 06 Installing Ncurses In Chapter 6 symlink creation has been updated to include libcurses and libncurses a has its properties changed to 644 Chapter 5 doesn t need any libcurses so those are removed May 12th 2003 gerard Chapter 06 Basic Network Added hostname to etc hosts without
120. d install join kill link In logname Is md3sum mkdir mkfifo mknod mv nice nl nohup od paste pathchk pinky pr printenv printf ptx pwd readlink rm rmdir seq shalsum shred sleep sort split stat stty su sum sync tac tail tee test touch tr true tsort tty uname unexpand uniq unlink uptime users vdir wc who whoami und yes Coreutils Installationsabhangigkeiten Coreutils ist abh ngig von Bash Binutils Coreutils Diffutils GCC Gettext Glibc Grep Make Perl Sed Installieren von Coreutils Bereiten sie Coreutils zum kompilieren vor configure prefix tools Kompilieren sie das Paket Installieren von Gawk 63 Linux From Scratch make Dieses Paket enth lt eine Test suite um sicherzustellen das alles korrekt gebaut wurde Sie sollten die Test suite ausf hren benutzen sie dazu das folgende Kommando make RUN_EXPENSIVE_TESTS yes check Die Bedeutung der make Parameter e RUN_EXPENSIVE_TESTS yes Dies teilt der Test suite mit noch zus tzliche Tests zu durchlaufen die auf einigen Plattformen sehr zeitintensiv sein k nnen Normalerweise ist das unter Linux aber kein Problem Und installieren sie das Paket make install Installieren von Bzip2 1 0 2 Gesch tzte Kompilierzeit Ooi SBU Ungef hr ben tigter Festplattenplatz 2 5 MB Inhalt von Bzip2 Bzip2 ein Block sortierendes Kompressionsprogramm und erreicht blicherweise bessere Kompressionsraten als das herk mm
121. d by Jeremy e September 2nd 2003 alex Finally got around to renaming stagel to tools e September 2nd 2003 alex Merged several of the main book structure files e September 2nd 2003 alex Alphabetized download lists added note to Tcl instructions e September 2nd 2003 alex Reworded Organization LFS and SBUs sections e September 1 2003 jeremy Chapter 6 Groff Added note about choice of A4 or letter for the PAGE variable e September 1 2003 jeremy Added in shadow newgrp patch from Greg Schafer e August 31 2003 jeremy Chapter 6 Inetutils added the disable whois and disable servers flags e August 31 2003 jeremy Added in Greg s new instructions for GCC 3 3 1 with respect to the fixincludes process Also added extra verbiage to the Locking in Glibc and GCC Pass 2 pages on the fixincludes process e August 31st 2003 alex Reworded some paragraphs added missing markup and rearranged the changelog e August 31st 2003 alex Wrapped the Last checked lines in parentheses Several other small retouches e August 30 2003 jeremy Updated fix includes patch to GCC 3 3 1 e August 29 2003 jeremy Glibc updated instructions with the sscanf patch from patches e August 29 2003 jeremy Updated GCC to version 3 3 1 including fixes based on Zack s mini hint for GCC 3 3 and patches from his docs e August 29th 2003 alex Removed obsolete Netkit base
122. d verschieben sie die Programme nach bin damit sie auch dann verwendet werden k nnen wenn die Partition f r usr nicht verf gbar sein sollte mv usr bin ed red bin Installieren von Kbd 1 08 Gesch tzte Kompilierzeit ORS BU Ungef hr ben tigter Festplattenplatz 12 MB Inhalt von Kbd Kbd enth lt die Dateien fiir das Tastaturlayout und entsprechende Werkzeuge dazu Installiete Programme chvt deallocvt dumpkeys fgconsole getkeycodes getunimap kbd_mode kbdrate loadkeys loadunimap mapscrn openvt psfaddtable Link auf psfxtable psfgettable Link auf psfxtable psfstriptable Link auf psfxtable psfxtable resizecons setfont setkeycodes setleds setlogcons setmetamode setvesablank showconsolefont showkey unicode_start und unicode_stop Kbd Installationsabhangigkeiten Kbd ist abh ngig von Bash Binutils Bison Coreutils Diffutils Flex GCC Gettext Glibc Grep Gzip M4 Make Sed Installation von Kbd Standardm ssig werden einige von Kbd s Hilfprogrammen set logcons setvesablank und getunimap nicht installiert Aktivieren sie erst die Installation dieser Programme patch Npl i kbd 1 08 more programs patch Bereiten sie Kbd zum kompilieren vor configure Kompilieren sie das Paket make Und installieren es make install Installieren von Kbd 1 08 123 Linux From Scratch Installieren von E2fsprogs 1 34 Gesch tzte Kompilierzeit 0 6 SBU Ungef hr ben tigter Festplattenpla
123. date sh missing mkinstalldirs py compile ylwrap Installieren von Autoconf 2 57 116 Linux From Scratch Automake Installationsabh ngigkeiten Automake ist abh ngig von Autoconf Bash Coreutils Diffutils Grep M4 Make Perl Sed Installation von Automake Bereiten sie Automake zum kompilieren vor configure prefix usr Kompilieren sie das Paket make Dieses Paket hat eine Test suite mit der sie pr fen k nnen ob alles korrekt kompiliert wurde Benutzen sie dieses Kommando wenn sie sie auszuf hren m chten make check Installieren sie das Paket make install Und erzeugen sie einen n tigen symbolischen Link In s automake 1 7 usr share automake Installieren von Bash 2 05b Gesch tzte Kompilierzeit JL SIU Ungef hr ben tigter Festplattenplatz 27 MB Inhalt von Bash Bash ist die Bourne Again SHell ein auf Unix Systemen weit verbreiteter Befehlsinterpreter Die Bash liest Befehle von der Standard Eingabe der Tastatur Ein Anwender gibt etwas ein und die Bash wertet die Eingabe aus Je nach Eingabe reagiert die Bash entsprechend und f hrt zum Beispiel ein Programm aus Installierte Programme bash sh Link auf bash und bashbug Automake Installationsabh ngigkeiten 117 Linux From Scratch Bash Installationsabh ngigkeiten Bash ist abh ngig von Binutils Coreutils Diffutils Gawk GCC Glibc Grep Make Ncurses Sed Installation von Bash Bash hat ein paar Fehler die manchmal z
124. de Falls sie diese durchlaufen wollen erledigt dies das folgende Kommando make check Und installieren sie das Paket make install Installieren von Make 3 80 Gesch tzte Kompilierzeit IL Siu Ungef hr ben tigter Festplattenplatz 8 8 MB Inhalt von Make Make erkennt automatisch welche Teile eines grossen Programmes erneut kompiliert werden m ssen und welche Kommandos dazu n tig sind Installiertes Programm make Make Installationsabh ngigkeiten Make ist abh ngig von Bash Binutils Coreutils Diffutils GCC Gettext Glibc Grep Sed Installation von Make Bereiten sie Make zum kompilieren vor configure prefix tools Kompilieren sie das Programm make Dieses Paket enth lt eine Test suite zum berpr fen ob alles korrekt kompiliert wurde Sollten sie sich entscheiden die Test suite durchlaufen zu lassen erledigt dies das folgende Kommando f r sie make check Nun installieren sie Make und die dazugeh rige Dokumentation make install Installieren von Make 3 80 67 Linux From Scratch Installieren von Grep 2 5 1 Gesch tzte Kompilierzeit 0 1 BU Ungef hr ben tigter Festplattenplatz 5 8 MB Inhalt von Grep Grep zeigt alle Zeilen einer Datei an die auf ein bestimmtes Muster passen Installierte Programme egrep Link auf grep fgrep Link auf grep und grep Grep Installationsabh ngigkeiten Grep ist abh ngig von Bash Binutils Coreutils Diffutils GCC Gettext Glibc Make Sed
125. die bessere Wahl Das From Power Up To Bash Prompt HOWTO finden sie unter http axiom anu edu au okeefe p2b oder auf der Website des Linux Documentation Project unter http www tldp ors HOWTO From PowerUp To Bash Prompt HOWTO html Wer dieses Buch wahrscheinlich nicht lesen m chte 8 Linux From Scratch Voraussetzungen In diesem Buch gehen wir davon aus das der Leser ein angemessenes Vorwissen zur Installation von Linux Software hat Sie sollten diese HOWTOs lesen bevor sie mit der Installation ihres LFS Systems beginnen e Software Building HOWTO Dies ist ein umfangreiches Handbuch zum erstellen und installieren allgemeiner UNIX Software Pakete unter Linux Das HOWTO ist erh ltlich unter http www tldp ors HOWTO Software Buildins HOWTO html e The Linux Users Guide Dieses Handbuch behandelt die Verwendung ausgew hlter Linux Software und ist zu finden unter http espc22 murdoch edu au stewart guide guide html e The Essential Pre Reading Hint Dies ist eine LES Anleitung speziell geschrieben f r neue Linux Anwender Es ist haupts chlich eine Linksammlung zu sehr guten Informationsquellen zu allen m glichen Themen Jeder der LFS installieren m chte sollte zumindest die meisten der dort behandelten Themen verstehen Es ist verf gbar unter http www linuxfromscratch org hints downloads files essential_prereading txt Aufbau Dieses Buch ist in die folgenden Abschnitte unterteilt Teil Einf hrung Teil I er
126. e Aber machen sie trotzdem ein Backup ihres Systems bevor sie den Befehl ausf hren Es besteht immer noch eine kleine Chance das es schiefgeht und ihr System unbenutzbar macht zum Beispiel durch zerst ren der Kernel Module und der dynamischen amp gemeinsamen Bibliotheken Soetwas wird meist durch Tippfehler anstatt durch das Kommando ansich verursacht Die strip debug Option die wir benutzen ist unter normalen Umst nden v llig harmlos Sie entfernt keine wichtigen Dinge von den Dateien Es ist sogar relativ sicher strip all auf normalen Programmen anzuwenden verwenden sie das nicht auf Bibliotheken sie werden dadurch zerst rt aber es ist nicht ganz so sicher und der dadurch eingesparte Platz ist das Risiko nicht wert Schlagen sie in der Man page zu strip nach um die weiteren m glichen Optionen kennenzulernen generell sollte man strip nicht auf Bibliotheken anwenden ausser mit der strip debup Option Wenn sie strip ausf hren m chten ist besondere Vorsicht geboten damit sie strip nicht auf Programme anwenden die gerate ausgef hrt werden inklusive der bash shell Daher m ssen sie die chroot Umgebung verlassen und mit einem modifizierten Kommando erneut betreten logout chroot LFS tools bin env i HOME root TERM TERM PS1 u w PATH bin usr bin sbin usr sbin tools bin bash login F hren sie nun dieses Kommando aus tools bin find usr usr local bin sbin lib type exec tool
127. e logger look losetup mcookie mkfs mkfs bfs mkfs cramfs mkfs minix mkswap more mount namei parse bash parse tcsh 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 test bash test tcsh tunelp ul umount vidmode Link auf rdev whereis und write Util linux Installationsabhangigkeiten Util linux ist abh ngig von Bash Binutils Coreutils Diffutils GCC Gettext Glibc Grep Make Ncurses Sed Zlib Anmerkung zur FHS Konformit t FHS empfiehlt var 1ib hwclock anstelle des eigentlich blichen etc als Speicherort f r die Datei adjtime zu benutzen F hren sie das folgende Kommando aus um das Programm hwclock FHS Konform zu machen cp hwclock hwclock c backup sed ssetc adjtimesvar lib hwclock adjtimes hwclock hwclock c backup gt hwclock hwclock c mkdir p var lib hwclock Installatin von Util linux Bereiten sie Util linux zum kompilieren vor configure Kompilieren sie das Paket make HAVE_SLN yes Die Bedeutung des make Parameter e HAVE_SLN yes Verhindert das das Programm sin eine statisch gelinkte Version von In bereits durch Glibc installiert erneut installiert wird Und installieren sie das Paket make HAVE_SLN yes install Inhalt von Util linux 140 Linux From Scratch Installieren von GCC 2 95 3 Gesch tzte Kompilierzeit 1 5 SBU Unge
128. e Referenzen zu tools erhalten Kompilieren sie aus diesem Grund auch nicht gleichzeitig Gleichzeitiges kompilieren k nnte sie Zeit sparen besonders auf Mehrprozessormaschinen aber es kann in Programmen resultieren die Referenzen zu tools enthalten und das Programm w rde nicht mehr funktionieren sobald dieses Verzeichnis entfernt wurde Informationen zu Debugging Symbolen Die meisten Programme und Bibliotheken werden standardm ssig mit debugging Symolen kompiliert mit der gcc Option g Wenn sie ein Programm oder eine Bibliothek debuggen die mit debugging Symbolen kompiliert wurde dann kann ihnen der Debugger nicht nur die Speicheradressen sondern auch die Namen der Funktionen und der Variablen im Programm angeben Doch das einbinden dieser debugging Symbole vergr ssert das Programm bzw die Bibliothek deutlich Um einen Eindruck ber den von debugging Symbolen belegten Speicher zu bekommen schauen sie sich dies an e eine Bash Bin rdatei mit debugging Symbolen 1200 KB e eine Bash Bin rdatei ohne debugging Symbole 480 KB e Glibc und GCC Dateien lib und usr lib mit debugging Symbolen 87 MB e Glibc und GCC Dateien lib und usr lib ohne debugging Symbole 16 MB Kapitel 6 Installieren der grundlegenden System Software 79 Linux From Scratch Die gr ssen variiern ein wenig abh ngig davon welchen Compiler und welche C Bibliothek sie benutzen Aber wenn man Programme mit und ohne debugging Symbole vergleicht ist de
129. e dann mit der com_err Bibliothek verwendet werden kann debugfs ist ein Dateisystemdebugger Er Kann benutzt werden um den Status eines ext2 Dateisystems zu untersuchen und zu ver ndern dumpe2fs gibt Informationen zum Superblock und zu Blockgruppen des Dateisystem auf einem bestimmten Ger t aus e2fsck wird zum pr fen und reparieren von ext2 und ext3 Dateisystemen benutzt e2image wird zum speichern von kritischen ext2 Dateisystemdaten in eine Datei verwendet e2label zeigt oder ver ndert das Label eines Dateisystems auf dem angegebenen Ger t findfs findet ein Dateisystem mit Hilfe des Label oder einer UUID fsck wird zum pr fen und reparieren von Dateisystemen verwendet Standardm ssig pr ft es die in etc fstab aufgelisteten Dateisysteme logsave speichert die Ausgabe eines Kommandos in eine Logdatei Isattr listet Dateiattribute auf einem ext2 Dateisystem auf mk_cmds konvertiert eine Tabelle mit Kommando Namen und Hilfsmeldungen zu C Quellcode der dann mit der 1ibss Subsystem Bibliothek verwendet werden kann mke2fs wird zum erstellen eines second extended Dateisystems auf einem Ger t verwendet mklost found wird benutzt um ein 1ost found Verzeichnis auf einem second extended Dateisystem zu erzeugen Es f rt eine Vorzuweiseung von Disk Blocks zu diesem Verzeichnis durch um damit e2fsck die Arbeit zu erleichtern resize2fs kann zum vergr ssern oder verkleinern einest ext2 Dateisystems verwendet werden tune2fs wird zum
130. e es make install Installieren von Groff 1 19 Gesch tzte Kompilierzeit 0 5 SBU Ungef hr ben tigter Festplattenplatz 43 MB Installieren von Less 381 107 Linux From Scratch Inhalt von Groff Groff enth lt verschiedene Programme zur verarbeitung und formatierung von Text Groff konvertiert normalen Text mit speziellen Kommandos in eine formatierte Ausgabe so wie man es zum Beispiel in den Hilfeseiten man pages sieht 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 troff and zsoelim Link auf soelim Groff Installationsabh ngigkeiten Groff ist abh ngig von Bash Binutils Coreutils Diffutils Gawk GCC Glibc Grep Make Sed Installation von Gross Groff erwartet das die Umgebungsvariable PAGE die standard Papiergr e enth lt F r alle in den Vereinigten Staaten ist das untenstehende Kommando so korrekt Wenn sie woanders leben ersetzen sie besser PAGE letter durch PAGE A4 Bereiten sie Groff zum kompilieren vor PAGE letter configure prefix usr Kompilieren sie das Paket make Und installieren sie es make install Eine Dokumentationsprogramme wie zum Beispiel xman funktionieren ohne diese symbolischen Links nicht In s soelim usr bin
131. e so libpthread a so libresolv a so librpcsvc a librt a so libthread_db so und libutil a so Kurze Beschreibungen catchsegv kann benutzt werden um einen Stack Trace zu erzeugen wenn ein Programm mit einem Speicherzugriffsfehler abbricht gencat erzeugt Nachrichtenkataloge getconf zeigt Systemspezifische Konfigurationswerte zu Dateisystemspezifischen Variablen an getent liest Eintr ge aus einer administrativen Datenbank glibcbug erzeugt einen Fehlerbericht und mailt ihn an die Bug Emailadresse Gettext Installationsabhangigkeiten 181 Linux From Scratch iconv f hrt Zeichensatzkonvertierungen durch iconvconfig erzeugt schnell ladende iconv Modulkonfigurationsdateien Idconfig konfiguriert die Laufzeit Bindungen des dynamischen Linkers Idd gibt aus welche gemeinsamen Bibliotheken von einem Programm oder einer Bibliothek ben tigt werden Iddlibc4 hilft Idd mit Objektdateien locale ist ein Perl Programm das dem Compiler mitteilt ob er POSIX Locales f r eingebaute Operationen benutzen oder nicht benutzen soll localedef kompiliert Locale Spezifikationen mtrace nscd ist ein Namensdienst Cache D mon Er stellt einen Cache f r die g ngigsten Namensdienstanfragen zur Verf gung nscd_nischeck pr ft ob der sichere Modus f r NIS Abfragen n tig ist pcprofiledump zeigt Informationen an die durch PC profiling erzeugt wurden pt_chown ist ein Hilfsprogramm f r grantpt um Besitzer Gruppe und Zugriffsre
132. e sollten mit ihrem jetzigen Boot loader und den Betriebssystemen die sie weiter verwenden wollen vertraut sein Halten sie bitte eine Notfalldiskette bereit damit sie ihren Computer starten k nnen falls ihr Computer aus irgendwelchen Gr nden unbrauchbar wird weil er zum Beispiel nicht mehr bootet Bereits einige Schritte vorher haben wir den Grub Boot loader als Vorbereitung f r diesen Schritt installiert In dieser Prozedur m ssen ein paar Grub Dateien an spezielle Orte auf der Festplatte kopiert werden Bevor wir dazu kommen empfehlen wir das sie eine Grub Boot Diskette erstellen nur f r den Fall der F lle Legen sie eine leere Diskette ein und f hren sie dieses Kommando aus dd if boot grub stagel of dev fd0 bs 512 count 1 dd if boot grub stage2 of dev fd0 bs 512 seek 1 Entfernen sie die Diskette und legen sie sie an einem sicheren Ort ab Wir starten nun die grub shell grub Grub verwendet ein eigenes Schema der Form hdn m zur Benennung von Festplatten und Partitionen wobei n die Nummer der Festplatte und m die Nummer der Partition ist Beide Werte starten bei null Das bedeutet das zum Beispiel die Partition hdal f r Grub hd0 0 ist und hdb2 ist hd1 1 Anders als Linux betrachet Grub CD Rom Laufwerke nicht als Festplatte Wenn sie also ein CD Rom Laufwerk auf hab haben und eine zweite Festplatte auf hdc dann ist die zweite Festplatte immernoch hd1 Bestimmen sie mit den obigen Informationen den Namen ihrer root Pa
133. e w hrend der Installation nicht immer im Anhang nachschlagen Das st ndige vor und zur ck w re l stig vor allem wenn sie eine reine Textversion des Buches lesen sollten Voraussetzungen 10 I Teil Einf hrung Inhaltsverzeichnis 1 Einf hrung 2 Wichtige Informationen Teil Einf hrung 11 Kapitel 1 Einf hrung Der Ablauf im berblick Sie werden Ihr LFS System mit Hilfe einer bereits laufenden Linux Distribution wie z B Debian Mandrake Red Hat oder SuSE installieren Das bestehende Linux System der Host wird als Einstiegspunkt benutzt denn Sie brauchen Programme wie Compiler Linker und eine Shell um Ihr neues System zu erstellen Normalerweise sind alle notwendigen Programme installiert wenn Sie bei der Installation ihrer Distribution Entwicklung bei den zu installierenden Programmen ausgew hlt haben In Kapitel 3 erstellen sie als erstes eine neue Linux Partition und ein Dateisystem auf dem ihr neues LFS System kompiliert und installiert wird Dann laden sie in Kapitel 4 alle f r LFS notwendigen Pakete und Patche herunter und speichern sie auf dem neuen Dateisystem Kapitel 5 beschreibt dann die Installation einiger Pakete f r die grundlegende Entwicklungsumgebung im weiteren Verlauf des Buches toolchain genannt die ben tigt wird um dann das eigentliche System in Kapitel 6 zu erstellen Einige dieser Pakete werden ben tigt um rekursive Abh ngigkeiten aufzul sen zum Beispiel brauch
134. eProzessor im lib Verzeichnis installiert ist Um diesen Paketen Rechnung zu tragen erzeugen sie diesen symbolischen Link In s usr bin cpp lib Viele Pakete benutzen den Namen cc um den C Compiler aufzurufen Um diese Pakete zufriedenzustellen erzeugen wir einen weiteren symbolischen Link In s gcc usr bin cc Anmerkung An dieser Stelle ist es wichtig den Gesundheitscheck den wir schon fr her durchgef hrt haben erneut laufen zu lassen Schlagen sie im_Abschnitt namens Erneutes anpassen der toolchain nach und wiederholen sie den Test Wenn das Ergebnis negativ ist haben sie m glichweise versehentlich den GCC Specs Patch aus Kapitel 5 angewendet Installieren von Coreutils 5 0 Gesch tzte Kompilierzeit 09 SHU Ungef hr ben tigter Festplattenplatz 69 MB Inhalt von Coreutils Das Paket Coreutils enth lt eine gro e Anzahl von Shell Werkzeugen 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 kill link In logname Is md5sum mkdir mkfifo mknod mv nice nl nohup od paste pathchk pinky pr printenv printf ptx pwd readlink rm rmdir seq shalsum shred sleep sort split stat stty su sum sync tac tail tee test touch tr true tsort tty uname unexpand uniq unlink uptime users vdir wc who whoa
135. ean Der Schalter f veranlasst Bzip2 ein anderes Makefile in diesem Fall Makefile libbz2_so zu verwenden Dieses erzeugt eine dynamische Bibliothek 1ibbz2 so und verlinkt die Bzip2 Werkzeuge damit Kompilieren sie das Paket make Installieren sie es Installieren von Bzip2 1 0 2 120 Linux From Scratch make install Und installieren sie die ausfiihrbare bzip2 Datei nach bin Dann erzeuen sie ein paar n tige symbolische Links und r umen auf cp bzip2 shared bin bzip2 cp a libbz2 so lib ln s lib libbz2 so 1 0 usr lib libbz2 so rm usr bin bunzip2 bzcat bzip2 mv usr bin bzip2recover bzless bzmore bin In s bzip2 bin bunzip2 In s bzip2 bin bzcat Installieren von Diffutils 2 8 1 Gesch tzte Kompilierzeit OPS SU Ungef hr ben tigter Festplattenplatz 7 5 MB Inhalt von Diffutils Die Programme dieses Pakets k nnen die Unterschiede zwischen zwei Dateien oder Verzeichnissen anzeigen Die h ufigste Anwendung ist das erstellen von Software Patches Installierte Programme cmp diff diff3 und sdiff Diffutils Installationsabh ngigkeiten Diffutils ist abh ngig von Bash Binutils Coreutils Diffutils GCC Gettext Glibc Grep Make Sed Installation von Diffutils Bereiten sie Diffutils zum kompilieren vor configure prefix usr Kompilieren sie das Paket make Und installieren sie es make install Installieren von Diffutils 2 8 1 121 Linux From Scratch Installieren
136. echtigungen und wenn m glich ihren Benutzer und Gruppe join f gt Zeilen aus zwei Dateien zusammen die identische join Felder haben kill beendet den angegebenen Prozess link erzeugt einen harten Link von einer Datei auf eine andere In erzeugt harte oder symbolische Links zwischen Dateien logname gibt den login Namen des aktuellen Benutzers aus Is listet den Inhalt eines Verzeichnisses auf Standardm ssig sortiert es alphanumerisch md5sum pr ft MDS Pr fsummen oder gibt sie aus mkdir erzeugt Verzeichnisse mit dem angegebenen Namen mkfifo erzeugt FIFO s mit den angegebenen Namen mknod erzeugt Ger tedateien mit den angegebenen Namen Eine Ger tedatei ist eine spezielle Zeichen oder Blockdatei oder ein FIFO Kurze Beschreibungen 167 Linux From Scratch mv verschiebt oder bennent Dateien und Verzeichnisse um nice f hrt ein Programm mit ver nderter Priorit t aus nl numeriert die Zeilen in einer Datei nohup f hrt ein Kommando so aus das es von Hangups unabh ngig ist die Ausgabe wird in eine Logdatei umgeleitet od gibt Dateien oktal oder in anderen Formaten aus paste f gt Dateien zusammen verkettet sequentiell zusammengeh rige Zeilen durch Tabulatoren getrennt nebeneinander pathchk pr ft ob Dateinamen g ltig oder portabel sind pinky ist ein leichtgewichtiges finger Programm Es gibt ein paar Informationen zu einem Benutzer aus pr bereitet Dateien zum Seiten oder Spaltenweisen drucken vor
137. edenen gettext Programme enth lt Sie sind nicht zur normalen Verwendung gedacht GCC Installationsabh ngigkeiten 180 Linux From Scratch Gettext Installationsabh ngigkeiten Gettext ist abh ngig von Bash Binutils Bison Coreutils Diffutils Gawk GCC Glibc Grep Make Sed Glibc Eine Installationsanleitung finden sie im_Abschnitt namens Installieren von Glibc 2 3 2 in Kapitel 6 Offizielle Download Adresse Glibc 2 3 2 ftp ftp gnu org gnu glibe Glibc linuxthreads 2 3 2 ftp ftp gnu org gnu glibe Glibc Sscanf Patch http www linuxfromscratch org patches Ifs 5 0 glibc 2 3 2 sscanf 1 patch Inhalt von Glibc Glibc ist die C Bibliothek sie stellt Systemaufrufe und grundlegende Funktionen wie open malloc printf usw zur Verf gung Die C Bibliothek wird von allen dynamisch gelinkten Programmen verwendet Installierte Programme catchsegv gencat getconf getent glibcbug iconv iconvconfig ldconfig Idd Iddlibc4 locale localedef mtrace nscd nscd_nischeck peprofiledump pt_chown rpcgen rpcinfo sin sprof tzselect xtrace zdump und zic Installierte Bibliotheken 1d so libBrokenLocale a so libSegFault so libanl a so libbsd compat a libc a so libc_nonshared a libcrypt a so libdl a so libg a libieee a libm a so libmcheck a libmemusage so libnsl a libnss_compat so libnss_dns so libnss_files so libnss_hesiod so libnss_nis so libnss_nisplus so libpcprofil
138. eeded tools s bin strip strip debug tools lib Das erste der obigen Kommandos bergeht rund 20 Dateien mit der Meldung das 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 Glibc neu kompilieren Um weiteren Platz zu sparen k nnen sie die Dokumentation entfernen rm rf tools share doc info man Sie werden nun mindestens 850MB freien Platz auf ihrem LFS Dateisystem ben tigen um die Glibc zu installieren Wenn sie Glibc bauen und installieren k nnen werden sie mit allen restlichen Paketen keine Probleme haben Stripping 77 lll Part Ill Installation des LFS Systems Inhaltsverzeichnis 6 Installieren der grundlegenden System Software 7 Aufsetzen der System Boot Skripte 8 Das LES System bootf hig machen 9 Das Ende Ill Part Ill Installation des LFS Systems 78 Kapitel 6 Installieren der grundlegenden System Software Einf hrung In diesem Kapitel begeben wir uns an den eigentlichen Ort des Geschehens und beginnen ernsthaft mit dem Bau des eigentlichen LFS Systems Im einzelnen chroot en wir in unser tempor res Mini Linux System installieren einige Hilfsmittel und beginnen dann alle Pakete der Reihe nach zu installieren Die Installation der ganzen Software ist recht einfach Vielleicht sind sie der Meinung es
139. eil chown den Namen root nicht aufl sen kann solange die Passwort Datei noch nicht erzeugt wurde Erstellen der Verzeichnisse Lassen sie uns nun Struktur in unser LFS System bringen Lassen sie uns einen Verzeichnisbaum erstellen Das folgende Kommando erstellt einen mehr oder weniger standardkonformen Verzeichnisbaum mkdir p bin boot dev pts shm etc opt home lib mnt proc mkdir p root sbin tmp usr local var opt for dirname in usr usr local do mkdir dirname bin etc include lib sbin share src ln s share man doc info dirname mkdir dirname share dict doc info locale man mkdir dirname share nls misc terminfo zoneinfo mkdir dirname share man man 1 2 3 4 5 6 7 8 done mkdir var lock 1log mail run spool mkdir p var tmp opt cache 1ib misc local mkdir opt bin doc include info mkdir p opt lib man man 1 2 3 4 5 6 7 8 Verzeichnisse werden standardm ssig mit den Rechten 755 erzeugt aber das ist nicht f r alle Verzeichnisse gew nscht Wir nehmen zwei nderungen vor eine auf dem Heimatverzeichnis von root und eine weitere auf dem Verzeichnis f r tempor re Dateien chmod 0750 root chmod 1777 tmp var tmp ndern des Besitzers 81 Linux From Scratch Die erste Rechte nderung legt fest das nicht jeder das root Verzeichnis betreten darf das gleiche was ein normaler Benutzer mit seinem Heimatverzeichnis auch tun w rde Die zweite nderung sorgt daf r das
140. eine unicode zu Schrift Zuweisungstabelle des Kernels mapscrn ist ein veraltetes Programm das benutzerdefinierte Zeichenausgabezuweisungstabelle in den Konsoletreiber l dt Das wird nun durch setfont erledigt openvt startet ein Programm in einem neuen Virtuellen Terminal VT psf ist ein Satz von Werkzeugen zum Umgang mit Unicode Zeichentabellen f r Konsole Schriften resizecons ndert die Vorstellung des Kernels ber die gr e einer Konsole setfont ndert EGA VGA Schriften in der Konsole setkeycodes l dt scancode zu keycode Zuweisungstabellen des Kernel N tzlich wenn sie ein paar un bliche Tasten auf ihrer Tastatur haben setleds setzt Tastaturoptionen und LED s Einige Leute finden es n tzlich NumLock standardm ssig eingeschaltet zu haben mit setleds num kann man das erreichen Inhalt von Kbd 190 Linux From Scratch setlogcons sendet Kernel Nachrichten auf die Konsole setmetamode definiert die Behandlung von Meta Tasten auf der Tastatur setvesablank l sst sie den eingebauten Hardware Bildschirmschoner anpassen keine Toaste nur ein einfacher schwarzer Schirm showconsolefont zeigt die aktutelle EGA VGA Konsole Schrift an showkey zeigt Scancode und Keycode und ASCII Code der Taste an die auf der Tastatur gedr ckt wurde unicode_start versetzt Tastatur und Konsole in den unicode Modus unicode_stop schaltet den unicode Modus von Tastatur und Konsole wieder aus Kbd Installationsabh ngigkeiten Kbd is
141. en hnliche Ger te gtbl ist die GNU Implementation von tbl hpftodit erzeugt aus einer HP tagged Schriftmetrik Datei eine Schriftdatei zur Verwendung mit groff T j4 indxbib erzeugt einen invertierten Index f r die bibliographischen Datenbanken eine spezielle Datei f r die Verwendung mit refer lookbib und Ikbib Inhalt von Groff 185 Linux From Scratch Ikbib durchsucht bilbiographische Datenbanken nach Referenzen die bestimmte Schliissel enthalten und gibt die gefundenen Referenzen aus lookbib gibt einen Prompt auf die standard Fehlerausgabe solange die standard Eingabe kein Terminal ist liest eine Zeile mit Stichw rtern von der standard Eingabe durchsucht eine bibliographische Datenbank nach Referenzen zu diesen Stichw rtern gibt die gefundenen Referenzen aus und wiederholt das so lange bis keine weitere Eingabe mehr vorhanden ist mmroff ist ein einfacher Preprozessor f r groff neqn formatiert gleichungen f r die ascii Ausgabe nroff ist ein Skript das nroff Kommandos mit groff emuliert pfbtops bersetzt eine Postscript Schrift in pfb Format zu ASCII pic kompiliert Beschreibungen von Bildern die in groff oder TeX Eingabedateien vorhanden sind zu Kommandos die von TeX oder troff verwendet werden k nnen pic2graph konvertiert ein PIC Diagramm zu einem beschnittenen Bild pre grohtml bersetzt die Ausgabe von GNU troff zu html post grohtml bersetzt die Ausgabe von GNU troff zu html refer kopiert den In
142. en m ssen sie diese neu installieren wenn sie sie weiter verwenden m chten Vielleicht m chten sie auch den Inhalt von sources nach usr src packages verschieben oder sie vielleicht auf CD brennen und dann l schen Bevor sie neu starten lassen sie uns noch die LFS Partition selbst aush ngen umount LFS Wenn sie sich f r mehrere Partitionen entschieden haben m ssen sie die anderen Partitionen aush ngen bevor sie wie folgt LFS entmounten umount LFS usr umount LFS home umount LFS Und jetzt k nnen sie ihren Computer neu starten indem sie eingeben sbin shutdown r now Unter der Annahme das der Grub Boot loader wie vorgeschlagen installiert wurde sollte das standard Bootmen LFS 5 0 automatisch booten Nach dem Neustart ist ihr LFS System bereit sie K nnen es nun benutzen und damit beginnen weitere eigene Software zu installieren Werden sie gez hlt 155 Linux From Scratch Was nun Vielen Dank das sie das LFS Buch gelesen haben Wir hoffen das sie das Buch niitzlich fanden und das es seine Zeit wert war Jetzt wo sie mit der Installation von LFS fertig sind fragen sie sich vielleich Was nun Um diese Frage zu beantworten haben wir eine Reihe von Links zusammengestellt e Beyond Linux From Scratch Das Buch Beyond Linux From Scratch befasst sich mit der Installation einer Menge Software die den Rahmen des LFS Buches sprengen w rde Das BLFS Projekt finden sie unter http www linuxfromscratch o
143. en durchsucht das GCC fixincludes Skript ihr System nach Header Dateien die repariert werden m ssen Es K nnte allerdings der Meinung sein das einige Header Dateien auf ihrem Host System repariert werden m ssen repariert diese und kopiert sie in das private GCC Include Verzeichnis Sp ter dann in Kapitel 6 nachdem wir die neuere Glibc installiert haben w rde dieses private Include Verzeichnis vor den System Include Verzeichnissesn durchsucht werden GCC w rde dann die reparierten Include Dateien von ihrem Host System finden und diese passen dann nicht zu der Glibc Version die wir f r das LFS System verwendet haben Der letzte Patch ndert den GCC standard Pfad des dynamischen Linkers blicherweise 1d 1inux so 2 Ausserdem entfernt er usr include aus dem GCC Include Suchpfad Durch das jetzige Patchen anstelle des nachtr glichen anpassens der specs Datei stellen wir sicher das unser neuer dynamischer Linker w hrend dem Bau von GCC verwendet wird Das bedeutet alle endg ltigen und auch tempor ren Bin rdateien w hrend dem Kompilierdurchlauf werden gegen die neue Glibc gelinkt Wichtig Diese Patche sind Voraussetzung f r einen erfolgreichen Gesamtdurchlauf Vergessen sie nicht sie zu installieren Erstellen sie erneut ein dediziertes Verzeichnis zum kompilieren mkdir gcc build cd gec build Bevor sie mit dem kompilieren von GCC beginnen denken sie daran alle Umgebungsvariablen zur ckzusetzen die die Standard Optimier
144. en eines bootf higen Systems zus tzliche Arbeit erfordert die im Moment noch unn tig ist Der grosse Vorteil gegen ber dem Neustart ist das chroot en des Systems erlaubt es das Host Betriebssystem weiter zu benutzen w hrend sie das LFS System installieren W hrend sie warten bis das kompilieren aller Pakete abgeschlossen ist k nnen sie einfach auf ein anderes VT Virtuelles Terminal oder auf den X Desktop wechseln und dort normal weiter arbeiten wie gewohnt Zum Abschluss der Installation werden im_Kapitel 7 die Boot Skripte eingerichtet der Kernel und der Bootloader werden in Kapitel 8 konfiguriert und_Kapitel 9 enth lt Verweise wo sie Hilfe finden wenn Sie das Buch zu Ende gelesen haben Abschliessend ist der Computer bereit f r einen Neustart mit dem neuen LFS System Dies ist die ganze Vorgehensweise in zusammengefasster Form Detaillierte Informationen ber alle Schritte werden im einzelnen in den Kapiteln behandelt w hrend sie sie abarbeiten Machen sie sich keine Gedanken falls jetzt noch etwas unklar sein sollte alle Fragen werden im weiteren Verlauf beantwortet werden Kapitel 1 Einf hrung 12 Linux From Scratch Bitte lesen Sie_Kapitel 2 sehr genau es erkl rt einige sehr wichtige Dinge ber die sie sich im klaren sein sollten bevor sie mit Kapitel 5 und den folgenden beginnen Konventionen in diesem Buch Zum besseren Verst ndnis gibt es einige Konventionen die in diesem Buch befolgt werden Nachfolgend ein
145. en sie einen Compiler um einen Compiler zu kompilieren Als erstes im Kapitel 5 erstellen sie eine erste Version der Basiswerkzeuge bestehend aus Binutils und GCC Die Programme aus diesen Paketen werden statisch verlinkt damit sie unabh ngig vom Hostsystem benutzt werden k nnen Im zweiten Schritt bauen sie Glibc die C Bibliothek Glibc wird mit den Programmen der im ersten Schritt erstellten Basiswerkzeuge kompiliert Im dritten Schritt erstellen wir eine zweite Version der Basiswerkzeuge Dieses Mal verlinken wir die Programme dynamisch gegen die gerade frisch installierte Glibc Wenn dies erledigt ist ist der weitere Installationsvorgang mit Ausnahme des Kernels nicht mehr von der Linux Distribution auf dem Host System abh ngig Vielleicht sind sie der Meinung das dies eine ganze Menge Arbeit ist nur um von der Host Distribution unabh ngig zu werden Nun eine vollst ndige Erkl rung befindet sich am Anfang von Kapitel 5 inklusive einiger Hinweise auf die Unterschiede zwischen statisch und dynamisch verlinkter Programme In Kapitel 6 wird das eigentliche LFS System erstellt Wir benutzen das Programm chroot change root wechseln der Wurzel um eine Shell in einer virtuellen Umgebung zu starten in der das root Verzeichnis auf die LFS Partition gesetzt ist Das ist hnlich wie neustarten und mounten der LFS Partition als root Partition Der Grund warum sie nicht wirklich neustarten sondern stattdessen chroot en ist weil das erstell
146. en und portablen Schnittstelle Installierte Programme libtool und libtoolize Installierte Bibliotheken libltdl a so Libtool Installationsabh ngigkeiten Libtool ist abh ngig von Bash Binutils Coreutils Diffutils GCC Glibc Grep Make Sed Installation von Libtool Bereiten sie Libtool zum kompilieren vor configure prefix usr Kompilieren sie das Paket File Installationsabh ngigkeiten 119 Linux From Scratch make Dieses Paket enth lt eine Test suite um zu pr fen ob alles korrekt kompiliert wurde Wenn sie sie ausf hren m chten erledigt dies das folgende Kommando f r sie make check Und installieren sie das Paket make install Installieren von Bzip2 1 0 2 Gesch tzte Kompilierzeit Ooi EU Ungef hr ben tigter Festplattenplatz 3 0 MB Inhalt von Bzip2 Bzip2 ein Block sortierendes Kompressionsprogramm und erreicht blicherweise bessere Kompressionsraten als das herk mmliche gzip Installierte Programme bunzip2 Link auf bzip2 bzcat Link auf bzip2 bzcmp bzdiff bzegrep bzfgrep bzgrep bzip2 bzip2recover bzless und bzmore Installierte Bibliotheken libbz2 a libbz2 so Link auf libbz2 so 1 0 libbz2 so 1 0 Link auf libbz2 so 1 0 2 und libbz2 so 1 0 2 Bzip2 Installationsabh ngigkeiten Bzip2 ist abh ngig von Bash Binutils Coreutils Diffutils GCC Glibc Make Installation von Bzip2 Bereiten sie Bzip2 zum kompilieren vor make f Makefile libbz2_so make cl
147. entation im pod Format an perlivp ist die Perl Installations pr fprozedur Damit wird gepr ft ob Perl und seine Bibliotheken korrent installiert wurden piconv ist die Perl Version des Zeichensatz konverters iconv pl2pm ist ein Hilfsmittel zum konvertieren von Perl4 ol Dateien zu Perl5 pm Modulen pod2html konvertiert pod Dateien in das html Format pod2latex konvertiert Dateien im pod Format nach LaTeX pod2man konvertiert pod Daten zu formatiertem roff input pod2text konvertiert pod Daten in formatierten ASCH Text pod2usage gibt Benutzungshinweise aus eingebetteten pod Dokumenten in Dateien aus podchecker pr ft die Syntax einer pod Dokumentation podselect zeigt ausgew hlte Bereiche einer pod Dokumentation an psed ist die Perl Version des Stream Editors sed pstruct gibt C Strukuten aus die durch cc g S erzeugt wurden s2p bersetzt sed zu perl splain wird zur Analyse von Warnungen in Perl benutzt xsubpp konvertiert Perl XS Code zu C Code Perl Installationsabh ngigkeiten Perl ist abh ngig von Bash Binutils Coreutils Diffutils Gawk GCC Glibc Grep Make Sed Procinfo Eine Installationsanleitung finden sie im_Abschnitt namens Installieren von Procinfo 18 in Kapitel 6 Perl Installationsabh ngigkeiten 205 Linux From Scratch Offizielle Download Adresse Procinfo 18 ftp ftp cistron nl pub people svm Inhalt von Procinfo Procinfo sammelt Systeminformationen wie zum Beispiel Spei
148. er anzugeben als das Mustersuchprogramm selber zu schreiben flex startet eine Version von flex die exklusiv fiir C Scanner verwendet wird libfl a ist die flex Bibliothek Flex Installationsabhangigkeiten Flex ist abh ngig von Bash Binutils Bison Coreutils Diffutils GCC Gettext Glibc Grep M4 Make Sed Findutils Installationsabhangigkeiten 176 Linux From Scratch Gawk Eine Installationsanleitung finden sie im_Abschnitt namens Installieren von Gawk 3 1 3 in Kapitel 6 Offizielle Download Adresse Gawk 3 1 3 ftp ftp gnu org pub gnu gawk Gawk Libexecdir Patch http www linuxfromscratch org patches Ifs 5 0 gawk 3 1 3 libexecdir patch Inhalt von Gawk Gawk ist eine Implementierung von awk und wird zur Textmanipulation verwendet Installierte Programme awk Link auf gawk gawk gawk 3 1 3 grcat igawk pgawk pgawk 3 1 3 und pwcat Kurze Beschreibungen gawk ist ein Programmen zum manipulieren von Textdateien Es ist die GNU Implementierung von awk great zeigt die Gruppendatenbank etc group an igawk gibt gawk die M glichkeit Dateien einzubinden pgawk ist die profiling Version von gawk pweat zeigt die Passwortdatenbank etc passwd an Gawk Installationsabh ngigkeiten Gawk ist abh ngig von Bash Binutils Coreutils Diffutils GCC Gettext Glibc Grep Make Sed GCC Eine Installationsanleitung finden sie im_Abschnitt namens Installieren von GCC 3 3 1 in Kapitel 6 Offizielle
149. erter Texteditor Er kann zum erzeugen anzeigen ver ndern oder sonstigem manipulieren von Textdateien verwendet werden red ist ein beschr nker ed er kann nur Dateien im aktuellen Verzeichnis bearbeiten und keine Shell Kommandos ausfiihren Ed Installationsabhangigkeiten Ed ist abh ngig von Bash Binutils Coreutils Diffutils GCC Glibc Grep Make Sed E2fsprogs Installationsabhangigkeiten 173 Linux From Scratch Expect Eine Installationsanleitung finden sie im_Abschnitt namens nstallieren von Expect 5 39 0 in Kapitel 5 Offizielle Download Adresse Expect 5 39 0 http expect nist gov src Expect Spawn Patch http www linuxfromscratch org patches lfs 5 0 expect 5 39 0 spawn patch Inhalt von Expect Das Paket Expect f hrt vorprogrammierte Dialoge mit anderen interaktiven Programmen aus Installierte Programme expect Installierte Bibliotheken libexpect5 39 a Kurze Beschreibung expect spricht mit anderen interaktiven Programmen und benutzt dazu ein anpassbares Skript Expect Installationsabh ngigkeiten Expect ist abh ngig von Bash Binutils Coreutils Diffutils GCC Glibc Grep Make Sed Tel File Eine Installationsanleitung finden sie im_Abschnitt namens Installieren von File 4 04 in Kapitel 6 Offizielle Download Adresse File 4 04 ftp ftp gw com mirrors pub unix file Alternative Download Adresse ftp gaosu rave org pub linux lfs Inhalt von File File ist ein kleines
150. erweise im dev Verzeichnis Detaillierte Informationen ber die Ger tedateien finden sie in der Datei Documentation devices txt in den Linux Kernel Quellen Installiertes Skript MAKEDEV Kurze Beschreibung MAKEDEV ist ein Skript zum erstellen ben tigter statische Ger tedateien Diese liegen normalerweise im dev Verzeichnis Inhalt von Make 197 Linux From Scratch MAKEDEV Installationsabh ngigkeiten Make ist abh ngig von Bash Coreutils Man Eine Installationsanleitung finden sie im_Abschnitt namens nstallieren von Man 1 5m2 in Kapitel 6 Offizielle Download Adresse Man 1 5m2 ftp ftp win tue nl pub linux local utils man Man 80 Columns Patch http www linuxfromscratch org patches Ifs 5 0 man 1 5m2 80cols patch Man Manpath Patch http www linuxfromscratch org patches Ifs 5 0 man 1 5m2 manpath patch Man Pager Patch http www linuxfromscratch org patches Ifs 5 0 man 1 5m2 pager patch Inhalt von Man Man ist das Programm zum Seitenweisen anzeigen von Hilfeseiten man pages Installierte Programme apropos makewhatis man man2dvi man2html und whatis Kurze Beschreibungen apropos durchsucht die whatis Datenbank und gibt kurze Beschreibungen zu den Kommandos aus die die angegebene Zeichenkette enthalten makewhatis erstellt die whatis Datenbank Es liest alle Man pages und schreibt f r jedes Paket den Namen und eine kurze Beschreibung in die whatis Datenbank man formatiert
151. es 145 Brauche ich das loadkeys Skript ss 145 Konfigurieren des sysklogd Skont ses 146 Konfigurieren des localnet Skripto ss 146 Erstellen der D tei etc h sts u ne sk de it sage ee EEN deeg 146 Konfigurieren des network Skript Zeggeee degen 147 Konfiguration des Standard CGateway sise 147 Erstellen der Netzwerkger te Konfteuraponsdateien cc nnnononnncrnnnnos 147 Kapitel 8 Das LFS System bootf hig machen ocoososss 149 St 149 Erstellen der Date Jet ios 149 Installieren von LOU 2 AD atada ltd ein deefe dee Ee dias hen ett Lef rates 150 Inh lt yan E n x EEE A EEE e A E Eed 150 Linux lostallationsabh ngigkeiten AA 150 Installation des Kerpel a a A drid 150 Das LES System bootf hig machen 152 LAA A O 154 Das Ende cba TAA a ead Nd a Hed La AAO As 154 Werden siesez hlt EE 155 Neustarten des S EE 155 Linux From Scratch Table of Contents Kapitel 9 Das Ende ER i 1 RE 156 AAA O 157 Anhang A Paketbeschreibungen und abh ngigkeiten ooooomsss 158 EMO A a de da a a e e da cd de 158 SUE eer e Ee eeh EE AE Ehe 158 Offizielle Download Adresse 158 Inhalt yon Autoconf eege Eeer EE een 159 AAA A AS 159 Autoconf Installationsabh ngigkeiten nc cnn cc nn ccnnnnnnns 159 Autom ake EE 159 Offizielle Download Adresse 160 Inhalt yan Autom ke en leere rain ARTE inneren 160 Kurze Beschreibungen 20 een matin tent nt nette ee tes can 160 Automake Installa
152. esse 177 Inhalt von Gra whe O TDD AE vw st aras 177 K rze Beschreibungen EE EN 177 Gawk Installationsabh ngigkeiten ss 177 CE A RR ee A nt 177 Offizielle Download Adresse td See ug 177 Inhalt yon E EE 178 Kurze Beschreibungen ae ienei etae db srvcsheacevsacoverdsvunessanevbnedseds ent idas 178 GCC Installationsabhangigkeitem ss 179 CGE A nda 179 Offizielle Download Adresse 179 Inhalt VOM Gettext aee en len nenne eege 179 xi Linux From Scratch Table of Contents Anhang A Paketbeschreibungen und abh ngiskeiten BUER EE 189 Gettext Insollaponsabb neeketen ss 181 Ree A ats 181 Offizielle Download Adresse 181 Inhalt von Gl tn nern et i ask aria 181 K rze Beschreiblingen 22 2 2222 A cate hs en ne LT A 184 Glibc Installationsabh ngigkeiten conan ncnnncccnncnnns 184 EI EE 184 Offizielle Download Adresse sushi sense ass eves 184 MS NRO 184 K rze Beschreibungen een il site meiner Nana SS EEE Ere aate Eei 184 Grep Installationsabh ngigkeiten recono nannn nc annn na nnncccnncnnns 184 NA 184 Offizielle Download Adresse 184 Inhalt von EE E 185 Kurze Beschreibungen deed EES NEES NEESS Ee 186 Groff Installationsabh ngigkeiten nc cnn nc nnnccnnncnnns 186 Grub ne ds id tata ist 187 Offizielle Download ee 187 Inbalt von Eat ui a dE iia 187 Kurze Beschreibungen en A is 187 Grub Install tionsabh ngi keiten ss 187 E Dista anno Ae geesde EE AE EAT AR LEAD A LAIA AA eE 187
153. etbeschreibungen und abh ngiskeiten Offizielle Download Adresse 170 Biere BR EEN 170 Kurze Beschreibungen es eege ENEE 171 Diffutils Installationsabhangigkeitem nc cnnnccnnnccnnncnnns 171 EDAD Ren I DE N T 171 Offizielle Download Adresse 171 Inhalt von E ET 171 Kurze Beschreibungen EE 173 E2fsprogs Iosoallatonzabb ngteketen nn 173 ED EE 173 Offizielle Download Bee 173 ball yon Ee ege ad id A e 173 Kurz Beschr ibuing n dai ni deta cad 173 Ed Iostallaponsabh neieketen cacon ss 173 EXPO Clie EE 174 Offizielle Download Adresse sni n n a i is 174 Inhalt von EE 174 K rze Beschreibin sets en nt di Miami tien EENS b l egen nn 174 Expect Installationsabh ngigkeiten ss 174 Hill S en ee ne Ne CO A E Me Hod Nahe Cm lie ela ll nes 174 Offizielle Download Adresse 174 IMAC von RUE E 174 K rze Beschreibung ressent AA ines 175 File Iostallaponsabb ngtekeen ss 175 Er ei EE 175 Offizielle Download Adresse 175 Inhalt TO EMOS A naar eE 175 K ize Beschreibungen u 2n00eeienekinen tte 176 Findutils Installationsabh ngigkeiten nenne conc ccnnncn ns 176 Ela ii a EE 176 Offiziell Download Adresse u nen ENNENENEEENNENEEENENEEEENENNER redentor EE 176 Inhalt Yon Elx ergi leiten EES 176 Kurze Beschreibungen unse e ETO AOC Eer SEERE Aee EEE 176 Flex Installationsabh ngigkeiten ss 176 E geesde E TE PE M se RARE ATEN EE ENS EE 177 Offizielle Download Adr
154. eth0 lt lt EOF ONBOOT yes Konfigurieren des network Skript 147 Linux From Scratch SEU IS y AL NENAS 261525052550 BROAD EE It 1 as EOF Nat rlich m ssen die Werte der Variablen in jeder Datei angepasst werden um mit der tats chlichen Systemkonfiguration bereinzustimmen Wenn die ONBOOT Variable auf yes gesetzt ist wird das network Skript die Netzwerkkarte beim booten starten Wenn sie auf irgendeinen anderen Wert gesetzt wird ignoriert das Skript dieses Ger t und startet es dementsprechend auch nicht Konfigurieren des network Skript 148 Kapitel 8 Das LFS System bootfahig machen Einf hrung Dieses Kapitel macht ihr LFS bootf hig In diesem Kapitel erstellen sie die fstab Datei erstellen einen neuen Kernel f r ihr LFS System und installieren den Grub Boot loader damit sie ihr LFS System zum booten ausw hlen k nnen Erstellen der Datei etc fstab Die Datei etc fstab wird von einigen Programm benutzt um festzustellen wo und in welcher Reihenfolge Partitionen eingeh ngt werden sollen und welche Dateisysteme gepr ft werden m ssen Erstellen sie eine neue Dateisystemtabelle cat gt etc fstab lt lt EOF Begin etc fstab filesystem mount point fs type options dump fsck order dev xxx EE defaults al il dev yyy swap swap pri 1 0 0 proc proc proc defaults 0 0 devpts dev pts devpts gid 4 mode 620 0 0 shm dev shm tmpfs defaults 0 0 End etc fstab EOF Nat rlich m ssen sie
155. exit and re enter chroot e September 22nd 2003 jeremy Removed make check from Patch and Diffutils since these tests perform no actions e September 22nd 2003 greg Chapter 5 Setting up the environment Added unset CC CXX CPP LD_LIBRARY_PATH LD_PRELOAD to bash_profile to stop accidental build breakage e September 20th 2003 greg Chapter 5 GCC Pass 2 Updated to gec 3 3 1 specs 2 patch Ncurses added enable overwrite and description e September 19th 2003 jeremy Corrected bash tags for proper use of the h flag to bash e September 19th 2003 jwrober Various updates to the acknowledgments page e September 18th 2003 jeremy Chapter 5 GCC Pass 2 Added some extra comments regarding the 3 tarballs to unpack e September 17th 2003 greg Chapter 6 GCC 2 95 3 Added rationale notes e September 17th 2003 jwrober Updated the acknowledgments page to match the website e September 17th 2003 jeremy Upgraded File to 4 04 e September 17th 2003 jeremy Chapter 6 Changed 2 of the occurrences of exec bash login to include the h directive e September 17th 2003 greg Chapters 5 and 6 Locking in Glibc and Re adjusting the toolchain Do make C Id install instead of make C Id install data local to install a whole new linker instead of just the new Idscripts e September 17th 2003 alex Normalized the spelling of Tel and DejaGnu following their own documentation
156. f hr ben tigter Festplattenplatz 130 MB Installation von GCC Es ist bekannt das dieses Paket nicht sauber funktioniert wenn die standard Optimierungseinstellungen inklusive der march und mcpu Optionen ver ndert wurden Deshalb sollten sie event gesetzte Umgebungsvariablen die die Standard Optimierung berschreiben zum Beispiel CFLAGS und CXXFLAGS f r den Kompiliervorgang von GCC zur cksetzen oder entsprechend ab ndern Dies ist eine ltere Version von GCC die wir nur installieren um damit den Linux Kernel in_Kapitel 8 zu kompilieren Diese Version wird von den Kernel Entwicklern empfohlen wenn sie absolute stabilit t brauchen Neuere Versionen von GCC wurden nicht so intensiv mit dem Linux Kernel getestet Eine neuere Version funktioniert h chstwahrscheinlich dennoch folgen wir dem Rat der Kernel Entwickler und benutzen diese Version hier um den Kernel zu kompilieren Anmerkung Wir installieren hier nicht den C Compiler und seine Bibliotheken Dennoch k nnten sie Gr nde haben diese zu installieren Mehr Informationen dazu finden sie unter http www linuxfromscratch org blfs view stable general gcc2 html Wir installieren diese alte Version von GCC im nicht standard Prefix opt um nicht mit dem auf dem System bereits unter usr installierten GCC durcheinander zu geraten Wenden sie die Patche an und nehmen sie eine kleine Anpassung vor patch Mel i gcc 2 95 3 2 patch patch Npl i gcc 2 95 3
157. figurieren der Systemkomponenten 7 Aufsetzen der System Boot Skripte Einf hrung Wie funktioniert der Bootvorgang mit diesen Skripten Konfigurieren des setclock Skript Brauche ich das loadkeys Skript Konfigurieren des sysklogd Skript Konfigurieren des localnet Skript Erstellen der Datei etc hosts Konfigurieren des network Skript 8 Das LES System bootf hig machen Einf hrung Erstellen der Datei etc fstab Installieren von Linux 2 4 22 Das LFS System bootf hig machen 9 Das Ende Widmung Linux From Scratch Das Ende Werden sie gez hlt Neustarten des Systems Was nun IV Teil IV Anh nge A Paketbeschreibungen und abh ngigkeiten Widmung Einf hrung Autoconf Automake Bash Binutils Bison Bzip2 Coreutils DejaGnu Diffutils E2fsprogs Ed Expect File Findutils Flex Gawk GCC Gettext Glibc Grep Gro Grub Gzip Inetutils Kbd Less LFS Bootskripte Lfs Utils Libtool Linux der Kernel M4 Make MAKEDEV Man Man pages Modutils Neurses Net tools Patch Perl Procinfo Procps Psmisc Sed Linux From Scratch Shadow Sysklogd Sysvinit Tar Tel Texinfo Util linux Vim Zlib B Index aller Programme und Bibliotheken Widmung Vorwort Vorwort Ich habe schon einige Linux Distributionen benutzt aber mit keiner war ich vollkommen zufrieden Ich mochte die Zusammenstellung der Bootskripte nicht Programme waren nicht nach meinem Geschmack vorkonfiguriert Viele Dinge die
158. g an die komprimierten Dateien damit gzip diese Dateien nicht erneut komprimiert Das kann sinnvoll sein wenn Dateinamen bei einer Daten bertragung abgeschnitten wurden zgrep f hrt grep auf gzip Dateien aus zless f hrt less auf gzip Dateien aus zmore f hrt more auf gzip Dateien aus znew komprimiert Dateien im compress Format erneut in das gzip Format Z zu gz Gzip Installationsabh ngigkeiten Gzip ist abh ngig von Bash Binutils Coreutils Diffutils GCC Glibc Grep Make Sed Inetutils Eine Installationsanleitung finden sie im_Abschnitt namens Installieren von Inetutils 1 4 2 in Kapitel 6 Inhalt von Gzip 188 Linux From Scratch Official Download Location Inetutils 1 4 2 http freshmeat net projects inetutils Inhalt von Inetutils Inetutils enth lt verschiedene Netzwerk Clients und Server Installierte Programme ftp ping rcp rlogin rsh talk telnet und tftp Kurze Beschreibungen ftp ist das ARPANET Datei bertrangsprogramm ping sendet echo request Pakete und berichtet wie lange die Antwort braucht rcp kopiert entfernte Dateien rlogin f hrt einen entfernten Login durch rsh f hrt eine entfernte Shell aus talk wird zum unterhalten mit anderen Benutzern verwendet telnet ist eine Schnittstelle zum TELNET Protokoll tftp ist das Triviale Dateiiibertragungsprogramm Inetutils Installationsabhangigkeiten Inetutils ist abh ngig von Bash Binutils Coreutils Diffutils GCC
159. gkeiten ss 105 Installation VOM nn rs ee ee ele 105 Inst llieren Von Egon LR ee nr VE ee See 106 Anhalt vom BSO cateo san 106 Bison Jostallapopsabh nsieketen AA 106 Installation von Dison 106 Inst llierenvon LES a 107 PM EE 107 Less Iosallatonsabb netekeuen AA 107 Installation Von EE 107 Installi ren von A A ai 107 Ibal van Groth WEE 108 Groff Installationsabh ngigkeiten AA 108 Installation VO OO iii A A A A A is 108 Installier m Von Sek egene ia 108 IO ee ee ms A deg A Aa re 109 Sed Installationsabh ngigkeiten ss 109 Installation von Seed RL Er ne EE Eed EA E 109 Inst llieren vow Flex 2 A A mn A nn 109 Inhalt yan Elex ste ne re et mi aa nier net lev es ets ire siecle 109 Elex Installationsabh ngigkeiten ss 110 Installation von Elx is A 110 Inst llieren von Gettext 0 12 Lia ie nn Es der 110 Inhalt yan Getiext cece seed Rte O 111 Gettext Installationsabhangigkeiten AE 111 Installation von GetteX E g ie EE eege e Adel 111 Installieren von Net zools To nano na nana n nana nannn 111 Inhaltyon Netto sroine eea eea a a at ibas 112 Netztools nstallationsabh ngigkeiten AA 112 Installation von Net zools nono no cnn nono nononnn conoce E EIE EERE 112 Installieren von Ines LA 112 IDA ESO MES 2a E A itn Babe ee Ee Aer 112 Inetutils Iosallatopsabb noee keen 113 Installation Von MEU ENEE EE REENEN Ee EE here Ae 113 Installi ren Von Perl
160. gramme werden z B zum mounten entmounten formatieren partitionieren und verwalten von Festplatten ffnen von tty Ports und zum auslesen von Kernel Meldungen genutzt Installierte Programme agetty arch blockdev cal cfdisk chkdupexe col colert colrm column ctrlaltdel cytune ddate dmesg elvtune fdformat fdisk fsck cramfs fsck minix getopt hexdump hwclock ipcrm ipcs isosize kill line logger look losetup mcookie mkfs mkfs bfs mkfs cramfs mkfs minix mkswap more mount namei parse bash parse tcsh 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 test bash test tcsh tunelp ul umount vidmode Link auf rdev whereis und write Kurze Beschreibungen agetty ffnet einen tty Port fragt nach dem Login Namen und startet das login Programm arch gibt die Systemarchitektur aus blockdev erm glicht die Verwendung von Blockger t ioctls in der Kommandozeile cal zeigt einen einfachen Kalender an cfdisk wird zum manipulieren der Partitionstabelle eines Ger tes benutzt Texinfo Installationsabh ngigkeiten 215 Linux From Scratch chkdupexe findet duplikate von ausf hrbaren Dateien col filtert r ckw rts Zeilenvorsch be aus colcrt filter nroff Ausgaben f r Terminals denen bestimmte F higkeiten fehlen wie zum beispiel durchstreichen oder halbe Zeilen colrm
161. gt k nnen kleinste Fehler ihr System besch digen oder gar zerst ren Deshalb empfehlen wir das sie die Pakete in diesem Kapitel mithilfe eines unprivilegierten Benutzers kompilieren Nat rlich k nnen sie ihren eigenen Benutzernamen dazu verwenden aber es ist einfacher eine saubere Arbeitsumgebung zu erstellen wenn wir dazu den Benutzer lfs erstellen und diesen w hrend des ganzen Installationsprozesses benutzen Bitte f hren sie als root diese Kommandos aus um den neuen Benutzer zu erzeugen useradd s bin bash m lfs passwd lfs Nun geben sie dem Benutzer lfs volle Zugriffsrechte auf SLES tools indem sie ihn zum Besitzer des Verzeichnisses machen chown lfs LFS tools Wenn sie wie vorgeschlagen ein extra Arbeitsverzeichnis eingerichtet haben dann geben sie dem Benutzer fs auch dort die Besitzrechte chown lfs LFS sources Als n chstes loggen sie sich bitte als fs ein Sie K nnen das ber eine Virtuelle Konsole ber den Display Manager oder mit dem folgenden Kommando tun Erstellen des Benutzers Ifs 44 Linux From Scratch su lfs Das sorgt daf r das su eine neue Shell startet Vorbereiten der Installationsumgebung Um ihre Arbeitsumgebung fiir die weiteren Schritte vorzubereiten geben sie das folgende Kommando ein w hrend sie als Benutzer fs angemeldet sind cat gt bash_profile lt lt EOF set h umask 022 LFS mnt lfs LC_ALL POSIX PATH tools bin PATH export LFS LC_ALL PATH
162. h etc echo define SYS_VIMRC_FILE etc vimrc gt gt src feature h echo define SYS_GVIMRC_FILE etc gvimrc gt gt src feature h Bereiten sie Vim zum kompilieren vor configure prefix usr Kompilieren sie das Paket make Und installieren sie das Paket make install Vim Kann im klassischen vi Modus laufen indem sie einen symbolischen Link erzeugen In s vim usr bin vi Installieren von Vim 6 2 104 Linux From Scratch Wenn sie sp ter das X Window System auf ihrem LFS installieren m chten sollten sie nach der Installation von X ihren Vim nochmal neu installieren Vim bringt eine sch ne grafische Oberfl che mit die allerdings X und ein paar weitere Bibliotheken voraussetzt Weitere Informationen finden sie in der Vim Dokumentation Konfigurieren von Vim Standardm ssig l uft vim im vi Kompatibilit tsmodus Einige Leute m gen das so aber wir w rden vim gern im vim Modus ausf hren sonst h tten wir vim nicht in diesem Buch installiert sondern gleich vi Erstellen sie die Datei root vimrc mit dem folgenden Kommando cat gt root vimrc lt lt EOF U Eeer Jee A waumee se se nocompatible bs 2 W Seel roo Jm EOF Installieren von M4 1 4 Gesch tzte Kompilierzeit Ol SS Ungef hr ben tigter Festplattenplatz 3 0 MB Inhalt von M4 M4 ist ein Makroprozessor Er kopiert die Eingabe zur Ausgabe und f hrt dabei Makros aus Die Makros k nnen entweder vordefiniert oder sel
163. h tzte Kompilierzeit OR Sau Ungef hr ben tigter Festplattenplatz 15 MB Inhalt von Man pages Die Hilfeseiten man pages enthalten ber 1200 Seiten Hilfetexte Die Dokumentation beschreibt sehr detailliert C und C Funktionen einige wichtige Ger tedateien und enth lt Dokumente die in anderen Paketen sonst fehlen w rden Installierte Dateien verschiedene Hilfeseiten N Warum wir die Kernel Header kopieren und nicht symbolisch linken 8 Linux From Scratch Man pages Installationsabh ngigkeiten Man ist abh ngig von Bash Coreutils Make Installation der Man pages Installieren sie die Man pages durch ausf hren von make install Installieren von Glibc 2 3 2 Gesch tzte Kompilierzeit 12 8 Sieg Ungef hr ben tigter Festplattenplatz 784 MB Inhalt von Glibc Glibc ist die C Bibliothek sie stellt Systemaufrufe und grundlegende Funktionen wie open malloc printf usw zur Verf gung Die C Bibliothek wird von allen dynamisch gelinkten Programmen verwendet Installierte Programme catchsegv gencat getconf getent glibcbug iconv iconvconfig ldconfig Idd Iddlibc4 locale localedef mtrace nscd nscd_nischeck pcprofiledump pt_chown rpcgen rpcinfo sin sprof tzselect xtrace zdump und zic Installierte Bibliotheken 1d so libBrokenLocale a so libSegFault so libanl a so libbsd compat a libc a so libc_nonshared a libcrypt a so libdl a so libg a libieee a libm a so libm
164. h org Spiegel Spender e Dean Benson lt dean O vipersoft co uk gt f r etliche Geldspenden e DREAMWVR COM fiir das ehemalige Sponsoring von Ressourcen zu LFS und dazugeh rigen Projekten e Hagen Herrschaft lt hrx hrxnet de gt f r die Spende eines 2 2 GHz P4 Systems welches nun unter dem Namen lorien l uft e O Reilly f r die gespendeten B cher zu SQL und PHP e VA Software die im Namen von Linux com eine VA Linux 420 fr her StartX SP2 Workstation gespendet haben e Mark Stone f r die Spende von shadowfax dem ersten linuxfromscratch org Server einem 750 MHz P3 mit 512 MB RAM und zwei 9 GB SCSI Festplatten Als der Server umgezogen wurde wurde er in bersetzer 25 Linux From Scratch belgarath umbenannt e Jesse Tie Ten Quee lt highos linuxfromscratch org gt f r die Spende eines Yamaha CDRW 8824E CD Brenners e Zahllose weitere Menschen aus den verschiedenen LFS Mailinglisten die dieses Buch mit Ihren Vorschl gen Fehlerberichten und Kritiken besser machen Ehemalige Team Mitglieder und Beitragende e Timothy Bauscher lt timothy linuxfromscratch org gt LFS Buch Autor Tipps Projekt Betreuer e Robert Briggs f r die Spende der linuxfromscratch org und linuxfromscratch com Domain Namen e lan Chilton lt ian ichilton co uk gt f r die Betreuung des Tipps Projekt e Marc Heerdink lt gimli linuxfromscratch org gt LFS Buch Autor e Seth W Klein lt sklein linuxfromscratch org gt Ers
165. h sein Bitte Kopieren sie nicht einfach blindlings die gesamte Ausgabe aber auf der anderen Seite sollte es auch nicht zu wenig sein Als Beispiel soll ihnen folgende Bildschirmausgabe von make helfen gcc DALIASPATH mnt 1lfs usr share locale DLOCALEDIR mnt lfs usr share locale DLIBDIR mnt lfs usr lib DINCLUDEDIR mnt 1fs usr include DHAVE_CONFIG_H I I Gi 02 e aero e gcc g 02 static o make ar o arscan o commands o dir o expand o file o function o getopt o implicit o job o main o misc o read o remake o rule o signame o variable o vpath o default o remote stub o version o optl o IWELIL 109 083 In function Lasel too kea ig 1fs tmp make 3 79 1 job c 1565 undefined reference to getloadavg collect2 ld returned 1 exit status Ma rele Ela ral make 2 Leaving directory lfs tmp make 3 79 1 make 1 all recursive Error 1 make 1 Leaving directory lfs tmp make 3 79 1 makes Jeepen luet Error 2 Oft kopieren viele Leute nur den unteren Teil make 1212 CPE make Errogs 1 und das darauf folgende Das reicht f r uns aber nicht um ihnen bei der Fehlerdiagnose helfen zu k nnen denn es sagt uns nur das etwas schiefgelaufen ist aber nicht was Der ganze Abschnitt wie oben gezeigt sollte angegeben werden denn er enth lt das ausgef hrte Kommando und die dazugeh rige Fehlermeldung Einen sehr guten Beitrag zu diesem Thema hat Eric S Raymond geschrieben sie k n
166. halt einer Datei zur standard Ausgabe ausser das Zeilen zwischen und als Zitat interpretiert werden und Zeilen zwischen RI und R2 als Kommandos behandelt werden die angeben wie mit Zitaten umgegangen werden soll soelim liest Dateien und ersetzt Zeilen der Form so Datei durch den Inhalt der erw hnten Datei tbl kompiliert Beschreibungen von Tabellen die in troff Eingabedateien eingebettet sind zu Kommandos die von troff unterst tzt werden tfmtodit erzeugt Schriftdateien zur Verwendung mit groff Tdvi troff ist hochkompatibel mit Unix troff blicherweise wird es mit dem groff Kommando aufgerufen welches auch Preprozessoren und Postprozessoren in der richtigen Reihenfolge und mit den richtigen Optionen aufruft zsoelim ist die GNU Implementierung von soelim Groff Installationsabh ngigkeiten Groff ist abh ngig von Bash Binutils Coreutils Diffutils Gawk GCC Glibc Grep Make Sed Groff Installationsabh ngigkeiten 186 Linux From Scratch Grub Eine Installationsanleitung finden sie im_Abschnitt namens Installieren von Grub 0 93 in Kapitel 6 Offizielle Download Adresse Grub 0 93 ftp alpha gnu org pub gnu grub Grub Gcc33 Patch http www linuxfromscratch org patches lfs 5 0 grub 0 93 gcc33 1 patch Inhalt von Grub Das Paket Grub enth lt den Grub Bootloader Installierte Programme grub grub install grub md5 crypt grub terminfo und mbchk Kurze Beschreibungen grub ist die GRand
167. hat Nichtsdestotrotz garantiert das nat rlich nicht f r fehlerfreiheit Ein paar Tests sind wichtiger als andere Zum Beispiel die Tests der toolchain Pakete GCC Binutils und Glibc die C Bibliothek sind von h chster Wichtigkeit weil diese Pakete eine absolut zentrale Rolle f r die Funktion des gesamten Systems spielen Aber seien sie gewarnt die Test suites von GCC und Glibc ben tigen sehr viel Zeit vor allem auf langsamer Hardware Wir werden ihnen im laufe der Arbeit mit diesem Buch sagen wie wichtig welche Test suite jeweils ist sie k nnen dann selbst entscheiden ob sie die Suite durchlaufen lassen m chten oder nicht Anmerkung Ein weit verbreitetes Problem beim durchlaufen der Test suites von Binutils und GCC ist es zu wenig pseudo Terminals zur Verf gung zu haben abgek rzt PTY s Ein typisches Symptom daf r sind ungew hnlich viele fehlschlagende Tests Das kann aus vielen verschiedenen Gr nden geschehen Der wahrscheinlichste Grund daf r ist das das devpts Dateisystem des Host System nicht korrekt aufgesetzt ist Wir werden das sp ter in Kapitel 5 ausf hrlicher behandeln Wie sie nach Hilfe fragen k nnen Wenn sie beim lesen des Buches ein Problem entdecken das nicht von der FAQ http www linuxfromscratch org fag abgedeckt wird dann sind die meisten Leute im Internet Relay Chat IRC und auf den Mailinglisten gern bereit ihnen zu helfen Eine bersicht ber die LFS Mailinglisten finden sie unter
168. herer ist als die standard crypt Methode und ausserdem erlaubt sie Passw rter mit mehr als 8 Zeichen Ausserdem m ssen wir den alten Ort f r die Benutzermailboxen var spool mailnach var mail ndern Das erledigen wir indem wir die Konfigurationsdatei beim kopieren an die richtige Stelle gleich ndern sed e s var spool mail var mail e s MD5_CRYPT_ENAB no MD5_CRYPT_ENAB yes etc login defs linux gt etc login defs Anmerkung Seien sie besonders vorsichtig wenn sie das obige abschreiben Es ist sicherer wenn sie es kopieren und einf gen anstatt es alles abzuschreiben Laut der Man page von vipw sollte auch ein vigr Programm existieren Da das Installationsprogramm dieses Programm nicht erzeugt erstellen wir den symbolischen Link selber In s vipw usr sbin vigr Weil der symbolische Link bin vipw redundant ist und zus tlich auch noch ins Leere zeigt entfernen sie ihn rm bin vipw Verschieben sie nun das Programm sg an die richtige Stelle mv bin sg usr bin Und verschieben sie Shadow s dynamische Bibliotheken an eine bessere Stelle mv usr lib lib shadow misc so 0 lib Weil einige Pakete die gerade verschobenen Bibliotheken in usr 1ib erwarten erstellen sie die folgenden symbolischen Links In sf lib libshadow so 0 usr lib libshadow so In sf lib libmisc so 0 usr lib libmisc so Installieren von Shadow 4 0 3 135 Linux From Scratch Coreutils hat bereits ein groups Programm i
169. hive entpacken sie entpacken sich automatisch in das selbe Verzeichnis Genauso sollten sie auch das GCC testsuite Archiv entpacken Das vollst ndige GCC Paket enth lt noch mehr Compiler Eine Anleitung wie sie diese bauen k nnen finden sie unter http www linuxfromscratch org blfs view stable general gcc html patch Npl i gcc 3 3 1 no fixincludes 2 patch patch Npl i gcc 3 3 1 suppress libiberty patch Der zweite Patch verhindert die Installation von libiberty von GCC weil wir stattdessen die Version von Binutils verwenden Geben sie acht das sie hier nicht den GCC specs Patch aus Kapitel 5 anwenden Die GCC Dokumentation empfiehlt GCC nicht im Quellenverzeichnis sondern in einem dedizierten Kompilierverzeichnis zu kompilieren mkdir gcc build cd gec build Bereiten sie nun GCC zum kompilieren vor gec 3 3 1 configure prefix usr enable shared enable threads posix enable _cxa_atexit enable clocale gnu enable languages c c Inhalt von GCC 95 Linux From Scratch Kompilieren sie das Paket make Testen sie das Ergebnis aber halten sie bei Fehlern nicht an sie erinnern sich an die paar bekannten make k check Die Test suite Anmerkungen aus dem_Abschnitt namens nstallieren von GCC 3 3 1 Durchlauf 2 in Kapitel 5 gelten auch hier noch Schlagen sie dort nach falls sie irgendwelche Zweifel haben Und installieren sie das Paket make install Einige Pakete erwarten das der C Pr
170. hrx hrxnet de gt de linuxfromscratch org Spiegel e Tim Jackson lt tim idge net gt linuxfromscratch idge net Spiegel e Barna Koczka lt barna siker hu gt hu linuxfromscratch org Spiegel e Roel Neefs linuxfromscratch rave org Spiegel e Simon Nicoll lt sime dot sime com gt uk linuxfromscratch org Spiegel e Ervin S Odisho lt ervin activalink net gt Ifs activalinK net Spiegel e Guido Passet lt guido primerelay net gt nl linuxfromscratch org Spiegel e Mikhail Pastukhov lt miha xuy biz gt Ifs 130th net Spiegel e Jeremy Polen lt jpolen Orackspace com gt us2 linuxfromscratch org Spiegel e UK Mirror Service linuxfromscratch mirror co uk Spiegel e Thomas Skyt lt thomas sofagang dk gt dk linuxfromscratch org Spiegel e Antonin Sprinzl lt Antonin Sprinzl tuwien ac at gt at linuxfromscratch org Spiegel e Dag Stenstad lt dag stenstad net gt f r die Bereitstellung von no linuxfromscratch org und_lan Chilton f r das Betreiben e Parisian sysadmins lt archive doc cs univ paris8 fr gt www2 fr linuxfromscratch org Spiegel e Jesse Tie Ten Quee lt highos linuxfromscratch org gt f r das Bereitstellen und Betreiben des linuxfromscratch org Server e Alexander Velin lt velin zadnik org gt bg linuxfromscratch org Spiegel e Martin Voss lt Martin Voss ada de gt Ifs linux matrix net Spiegel e Pui Yong lt pyng spam averse net gt sg linuxfromscratc
171. icht Werte und pr ft Dateitypen touch ndert Zeitstempel von Dateien setzt Zugriffs und nderungszeit einer Datei auf die aktuelle Zeit Dateien die noch nicht existieren werden mit null L nge erzeugt tr bersetzt quetscht oder entfernt Zeichen von der Standard Eingabe true macht nichts ist immer erfolgreich Beendet immer mit einem Status Code der Erfolg bedeutet tsort f hrt eine topologische Sortierung durch Schreibt eine vollkommen sortierte Liste entsprechend der teilweisen Sortierung in einer Datei tty gibt den Dateinamen des Terminals aus das mit der Standard Eingabe verbunden ist uname gibt Systeminformationen aus unexpand konvertiert Leerzeichen zu Tabulatoren unig entfernt alle identischen Zeilen bis auf eine unlink entfernt eine Datei uptime gibt aus wie lange ein System bereits l uft wieviele Benutzer eingeloggt sind und wie hoch die Systemlast ist users gibt die Namen der eingeloggten Benutzer aus vdir ist das gleiche wie Is I we gibt die Anzahl Zeilen W rter und Bytes einer Datei aus Und eine Summe falls mehrere Dateien angegeben wurden who gibt aus wer gerade eingeloggt ist whoami gibt den Benutzernamen aus der mit der aktuell effektiven Benutzer ID verkn pft ist yes gibt y oder eine andere Zeichenkette solange aus bis es beendet wird Kurze Beschreibungen 169 Linux From Scratch Coreutils Installationsabh ngigkeiten Coreutils ist abh ngig von Bash Binutils Coreu
172. ichterstattungs Hilfsmittel Es wird verwendet um Programme zu analysieren und herauszufinden wo Optimierungen die meiste Wirkung zeigen libgec enth lt Laufzeitunterstiitzung f r gcc libstdc ist die Standard C Bibliothek Sie enth lt viele h ufig benutzte Funktionen libsupc stellt hilfreiche Routinen f r die C Programmiersprache zur Verf gung Inhalt von GCC 178 Linux From Scratch GCC Installationsabh ngigkeiten GCC ist abh ngig von Bash Binutils Coreutils Diffutils Findutils Gawk Gettext Glibc Grep Make Perl Sed Texinfo Gettext Eine Installationsanleitung finden sie im_Abschnitt namens nstallieren von Gettext 0 12 1 in Kapitel 6 Offizielle Download Adresse Gettext 0 12 1 ftp ftp gnu org gnu gettext Inhalt von Gettext Gettext wird zur Ubersetzung und Lokalisierung verwendet Programme k nnen mit sog Native Language Support NLS Unterst tzung fiir die lokale Sprache konfiguriert werden Dadurch k nnen Dialoge in der Sprache des Anwenders ausgegeben werden Installierte Programme autopoint config charset config rpath gettext gettextize hostname msgattrib msgcat msgcmp msgcomm msgconv msgen msgexec msgfilter msgfmt msggrep msginit msgmerge msgunfmt msguniq ngettext project id team address trigger urlget user email und xgettext Installierte Bibliotheken libasprintf a so libgettextlib a so libgettextpo a so und libgettextsrc a so Kurze Beschreib
173. ie make check Und installieren sie das Paket make install Installieren von Ncurses 5 3 Gesch tzte Kompilierzeit 0 6 SBU Ungef hr ben tigter Festplattenplatz 27 MB Inhalt von Ncurses Ncurses enth lt Bibliotheken zur Verwendung von Zeichen und Terminals inklusive Schaltfl chen und Men s Installierte Programme captoinfo Link auf tic clear infocmp infotocap Link auf tic reset Link auf tset tack tic toe tput und tset Installation von Gawk 102 Linux From Scratch Installierte Bibliotheken libcurses a so Link auf libncurses a so libform a so libmenu a so libncurses a libncurses a so libpanel a so Ncurses Installationsabh ngigkeiten Ncurses ist abh ngig von Bash Binutils Coreutils Diffutils Gawk GCC Glibc Grep Make Sed Installation von Ncurses Beheben sie zuerst zwei kleine Fehler patch Npl i ncurses 5 3 etip 2 patch patch Npl i ncurses 5 3 vsscanf patch Der erste Patch korrigiert die Header Datei et ip h und der zweite Patch verhindert einige Compiler Warnung ber alte missbilligte Header Dateien Bereiten sie Ncurses nun zum kompilieren vor configure prefix usr with shared without debug Kompilieren sie das Paket make Installieren sie das Paket make install Geben sie der Ncurses Bibliothek Ausf hrrechte chmod 755 usr lib 5 3 Und korrigieren sie eine Bibltiothek die nicht ausf hrbar sein sollte chmod 64
174. ie es gestartet hat Init gibt Sending processes the TERM signal auf den Bildschirm aus Das sieht aber so aus als ob init diese Signale allen laufenden Programmen sendet Um diese Verwirrung zu vermeiden k nnen sie die Datei init c modifizieren so das es sich so liest Sending processes started by init the TERM signal Bearbeiten sie die Nachricht cp src init c backup sed s Sending processes Sending processes started by init g src init c backup gt src init c Kompilieren sie Sysvinit make C src Und installieren sie es make C src install Konfigurieren von Sysvinit Erstellen sie die neue Datei etc inittab indem sie das folgende Kommando eingeben cat gt etc inittab lt lt EOF Begin etc inittab id 3 initdefault Sil 9 sc aysimies SCS EE 1090 2mene erase dimite ere 0 lisina sueles erte eyass 1 12382 221082 Sueca ey imke el ae wait etc rc d init d rc guerie i StC rE dime 0 38 sales ebe dy ami C ee aate s ere ize Cy amalie reet E al On 01 der W OY Or GN cag 123452 ciu lalrcel sbi n shutcowna Sil a r now su S016 once sbin sulogin 2345 respawn sbin agetty ttyl 9600 2345 respawn sbin agetty tty2 9600 2345 respawn sbin agetty tty3 9600 2345 respawn sbin agetty tty4 9600 2345 respawn sbin agetty tty5 9600 2345 respawn sbin agetty tty6 9600 Et Cat NON ER End etc inittab Installation von Sysvinit 138 Linux From Scratch EOF Inst
175. ie und fahren sie mit Installieren sie das Paket fort Das folgende Kommando bereitet uns auf das ausf hren der Test suite vor Erstellen sie zwei dummy Gruppen und einen dummy Benutzernamen echo dummy1 x 1000 gt gt etc group echo dummy2 x 1001 dummy gt gt etc group echo dummy x 1000 1000 bin bash gt gt etc passwd Ein paar Tests m ssen als root ausgef hrt werden make check root Die verbleibenden Tests werden als dummy Benutzer ausgef hrt su dummy c make RUN_EXPENSIVE_TESTS yes check N Coreutils Installationsabh ngigkeiten 9 Linux From Scratch Entfernen sie die dummy Gruppen und Benutzer sed i bak dummy d etc passwd etc group Installieren sie das Paket make install Und verschieben sie einige Programme an die richtige Stelle mv usr bin basename cat chgrp chmod chown cp dd d bin mv usr bin dir dircolors du date echo false head bin mv usr bin install 1n 1s mkdir mkfifo mknod mv pwd bin mv usr bin rm rmdir shred sync sleep stty su test bin mv usr bin touch true uname vdir bin mv usr bin chroot usr sbin Schliesslich erstellen sie noch ein paar n tige symbolische Links In s test bin In s bin install usr bin Installieren von Zlib 1 1 4 Gesch tzte Kompilierzeit Oi Sey Ungefahr ben tigter Festplattenplatz 1 5 MB Inhalt von Zlib Zlib enth lt die Bibliothek libz Sie wird von vielen Programmen zum komprimieren und dekom
176. iew Link auf vim vim vim132 vim2html pl vimdiff Link auf vim vimm vimspell sh vimtutor und xxd Kurze Beschreibungen efm_filter pl ist ein Filter zum erzeugen einer Fehlerdatei die von vim gelesen werden kann efm_perl pl reformatiert Fehlermeldungen von Perl um sie mit dem Quickfix Modus von vim benutzen zu k nnen ex startet vim im ex Modus Util linux Installationsabh ngigkeiten 218 Linux From Scratch less sh ist ein Skript das vim mit less vim startet mve awk bearbeitet vim Fehler pltags pl erzeugt eine Markup Datei f r Perl Code die mit vim benutzt werden kann ref pr ft die Rechtschreibung von Argumenten rview ist eine eingeschr nkte Version von view keine Shell Kommandos und vim kann nicht pausiert werden rvim ist eine eingeschr nkte Version von vim keine Shell Kommandos und vim kann nicht pausiert werden shtags pl erzeugt eine Markup Datei f r Perl Skripte teltags erzeugt eine Markup Datei f r TCL Code vi startet vim im vi Modus view startet vim im nur lesen Modus vim ist der Editor vim132 startet vim im 132 spalten Terminalmodus vim2html pl konvertiert vim Dokumentation in HTML vimdiff editiert zwei oder drei Versionen einer Datei und zeigt die Unterschiede an vimm aktiviert das DEC locator Eingabemodell auf einem entfernten Terminal vimspell sh erzeugt Syntax highlighting Aussagen f r eine Datei die in vim benutzt werden vimtutor bringt ihnen die wichtigsten Tasten und Komma
177. ige Beispiele configure prefix usr Solange nicht anders angegeben muss Text in dieser Textform exakt so eingegeben werden wie er hier zu sehen ist Diese Form wird auch in den erl uternden Abschnitten verwendet um eindeutig anzugeben auf welche Kommandos sich der Abschnitt bezieht install info unknown option dir file mnt lfs usr info dir Diese Textform Text mit fester Zeichenbreite symbolisiert Bildschirmausgaben blicherweise als Ergebnis von eingegebenen Befehlen Ausserdem wird diese Textform f r Dateinamen wie z B etc 1d so conf verwendet Hervorhebung Diese Textform wird f r verschiedene Zwecke benutzt haupts chlich um wichtige Details in den Vordergrund zu stellen und f r Eingabebeispiele http www linuxfromscratch org Diese Textform wird f r Links benutzt sowohl innerhalb des Buches als auch zu externen Seiten wie HOWTOs Downloadseiten und Webseiten cat gt LFS etc group lt lt EOF TOOLE XOR loin sg l Solche Textabschnitte werden haupts chlich verwendet wenn Konfigurationsdateien erstellt werden Das erste Kommando erzeugt die Datei LFS etc group mit dem Inhalt der nachfolgend eingegeben wird bis die Zeichenfolge EOF erkannt wird Normalerweise wird Text in dieser Textform exakt so eingegeben wie er zu hier zu lesen ist Version dieses Buches Dies ist das Linux From Scratch Buch in der Version 5 0 vom 5 November 2003 Wenn dieses Buch lter als zwei Monate ist gibt e
178. igt welcher Benutzer als letztes eingeloggt und ausgeloggt hat indem es durch die Datei var log wtmp sucht Es kann auch Systemstarts und Shutdowns sowie Runlevel wechsel zeigen lastb zeigt die letzten fehlgeschlagenen Loginversuche die in var log btmp protokolliert wurden mesg kontrolliert welche anderen Benutzer Nachrichten auf das aktuelle Terminal senden k nnen pidof gibt die PIDs eines Programms aus poweroff weist den Kernel an das System anzuhalten und den Computer auszuschalten Schauen sie auch nacht halt reboot weist den Kernel an das System zu rebooten Schauen sie auch nach halt runlevel zeigt den vorigen und den aktuellen Runlevel an Entnimmt die Information aus var run utmp shutdown f hrt das System sicher herunter sendet entsprechende Signale an alle Prozesse und benachrichtig alle angemeldeten Benutzer sulogin erlaubt dem Superbenutzer sich einzuloggen Es wird normalerweise gestartet wenn das System im Einzelbenutzermodus gestartet wurde telinit weist init an in den angegebenen Runlevel zu wechseln utmpdump zeigt den Inhalt der angegebenen Logindatei in einem benutzerfreundlicheren Format an wall schreibt eine Nachricht an alle angemeldeten Benutzer Inhalt von Sysvinit 212 Linux From Scratch Sysvinit Installationsabh ngigkeiten Sysvinit ist abh ngig von Binutils Coreutils GCC Glibc Make Tar Eine Installationsanleitung finden sie im_Abschnitt namens Installieren von Tar 1 13 25 in K
179. ilieren mkdir binutils build cd binutils build Bereiten sie nun Binutils zum kompilieren vor binutils 2 14 configure prefix tools enable shared with lib path tools lib Die Bedeutung der neuen configure Option e with lib path tools lib Dies teilt dem configure Skript mit den Standard Bibliothek Suchpfad vorzugeben Wir m chten im Standard Bibliothek Suchpfad keine Verzeichnisse unseres Host Systems haben daher geben wir den gew nschten Pfad vor Bevor sie beginnen Binutils zu Kompilieren denken sie daran alle Umgebungsvariablen zu entfernen die die Standard Optimierungen bergehen w rden Kompilieren sie das Paket make Installieren von Binutils 2 14 Durchlauf 2 61 Linux From Scratch Anmerkung Wir sollten kurz erw hnen das die Binutils Test suite an diesem Punkt nicht so wichtig ist wie in Kapitel 6 Testen sie das Ergebnis es sollten keine unerwarteten Fehler auftreten erwartete Fehler sind in Ordnung make check Leider gibt es hier keine einfache M glichkeit die Testergebnisse zusammenfassend anzuzeigen wie im vorigen GCC Paket Nichtsdestotrotz wenn ein Fehler auftritt sollte er leicht zu erkennen sein Die Ausgabe zeigt dann soetwas wie make 1 check binutils Error 2 Und installieren sie das Paket make install Nun bereiten sie Binutils auf das erneute umkonfigurieren der toolchain im n chsten Kapitel vor make C ld clean make C ld LIB PATH usr lib lib
180. ils Coreutils Diffutils GCC Gettext Glibc Grep Make Texinfo Shadow Eine Installationsanleitung finden sie im_Abschnitt namens Installieren von Shadow 4 0 3 in Kapitel 6 Offizielle download Adresse Shadow 4 0 3 ftp ftp pld ors pl software shadow Shadow Newgrp Patch http www linuxfromscratch org patches lfs 5 0 shadow 4 0 3 newgrp fix patch Inhalt von Shadow Das Shadow Paket wurde zur verst rkung der Sicherheit von System Passw rtern eingef hrt Installierte Programme chage chfn chpasswd chsh dpasswd expiry faillog gpasswd groupadd groupdel groupmod groups grpck grpconv grpunconv lastlog login logoutd mkpasswd newgrp newusers passwd pwck pwconv pwunconv sg Link auf newgrp useradd userdel usermod vigr Link auf vipw und vipw Kurze Beschreibungen chage ndert die maximale Anzahl von Tagen zwischen zwei n tigen Passwort nderungen chfn wird benutzt um den vollst ndigen Namen und ein paar andere Informationen eines Benutzers zu ndern chpasswd wird benutzt um das Password mehrerer Benutzer in einem Durchlauf zu ndern chsh wird benutzt um die Standardshell eines Benutzers zu ndern dpasswd wird zum ndern des Einw hl Kennwortes eines Benutzers verwendet expiry pr ft ob ein Kennwort abgelaufen ist und setzt eine entsprechende Regelung durch faillog wird zum untersuchen der Logdatei ber fehlgeschlagene Logins um eine maximale Fehlerzahl vor der Sperrung eines Kontos z
181. in einigen F llen besser geeignet sein Schauen sie in die README Datei um mehr Informationen zu erhalten Wenn sie m chten k nnen sie die Kernel Konfiguration berspringen und einfach die Kernel Konfigurationsdatei config von ihrem Host system nach 1inux 2 4 22 kopieren falls sie verf gbar ist Das empfehlen wir allerdings nicht sie sind besser dran wenn sie alle Konfigurationsmen s durchsehen und ihre eigene Kernelkonfiguration frisch einrichten Installieren von Linux 2 4 22 150 Linux From Scratch Um POSIX shared memory Unterst tzung zu haben m ssen sie im Kernel die Option Virtual memory file system support einschalten Diese finden sie im File systems Men und ist blicherweise eingeschaltet berpr fen sie die Abh ngigkeiten und erzeugen sie die entsprechenden Abh ngigkeitsdateien make CC opt gcc 2 95 3 bin gcc dep Kompilieren sie das Kernel Abbild make CC opt gcec 2 95 3 bin gcc bzImage Kompilieren sie die Treiber die als Modul konfiguriert wurden make CC opt gcec 2 95 3 bin gcc modules Wenn sie planen Kernel Module zu verwenden dann brauchen sie die Datei etc modules conf Informationen betreffend Module und Kernel Konfiguration im allgemeinen finden sie in der Kernel Dokumentation sie finden sie im Verzeichnis linux 2 4 22 Documentation Die modules conf Man page und das Kernel HOWTO unter http www tldp ors HOWTO Kernel HOWTO html k nnten f r sie auch von Interesse sein In
182. innen heraus funktioniert Ein Linux System selber zu bauen demonstriert was Linux seinen Herzschlag verleiht wie die Dinge zusammenarbeiten und voneinander abh ngen Das beste ist das man durch den Lernprozess versteht wie man Linux an seine eigenen Bed rfnisse anpassen kann Einer der gr ssten Vorteile von LFS ist das man mehr Kontrolle ber sein System erh lt 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 Verzeichnis Layout oder die Konfiguration der Bootskripte Auch bestimmen sie wo warum und wie Programme installiert werden Ein weiterer Vorteil von LFS ist die M glichkeit ein sehr kompaktes Linux System erstellen zu k nnen Wenn man eine bliche Linux Distribution installiert ist man f r gew hnlich gezwungen viele Programme zu installieren die man h chstwahrscheinlich niemals benutzen wird Diese liegen dann unn tz auf der Festplatte und verbrauchen Speicherplatz oder noch schlimmer CPU Ressourcen Es ist leicht ein LFS System unter 100Mb zu installieren Das klingt immer noch zu gro Einige von uns haben daran gearbeitet ein sehr kleines embedded Linux zu bauen Wir haben es geschafft einen Apache Webserver auf einem Linux From Vorwort 7 Linux From Scratch Scratch laufen zu lassen mit gerade mal 8Mb belegtem Festplattenspeicher Durch weitere Beschneidungen k nnte das System auf bi
183. inuxfromscratch org patches lfs 5 0 gcc 2 95 3 returntype fix patch Glibc Sscanf Patch 2 KB http www linuxfromscratch org patches lfs 5 0 glibc 2 3 2 sscanf 1 patch Grub Gcc33 Patch 1 KB http www linuxfromscratch org patches Ifs 5 0 grub 0 93 gcc33 1 patch Kbd More Programs Patch 1 KB http www linuxfromscratch org patches lfs 5 0 kbd 1 08 more programs patch Man 80 Columns Patch 1 KB http www linuxfromscratch org patches Ifs 5 0 man 1 5m2 80cols patch Man Manpath Patch 1 KB http www linuxfromscratch org patches lfs 5 0 man 1 5m2 manpath patch Man Pager Patch 1 KB http www linuxfromscratch org patches Ifs 5 0 man 1 5m2 pager patch Ncurses Etip Patch 1 KB http www linuxfromscratch org patches lfs 5 0 ncurses 5 3 etip 2 patch Ncurses Vsscanf Patch 1 KB http www linuxfromscratch org patches lfs 5 0 ncurses 5 3 vsscanf patch Net tools Mii Tool Gcc33 Patch 2 KB http www linuxfromscratch org patches lfs 5 0 net tools 1 60 miitool gcc33 1 patch Perl Libc Patch 1 KB http www linuxfromscratch org patches lfs 5 0 perl 5 8 0 libc 3 patch Procps Locale Patch 1 KB http www linuxfromscratch org patches lfs 5 0 procps 3 1 11 locale fix patch Shadow Newgrp Patch 1 KB http www linuxfromscratch org patches lfs 5 0 shadow 4 0 3 newerp fix patch Zlib Vsnprintf Patch 10 KB http www linuxfromscr
184. ionen zu verhindern gprof zeigt profiling Daten zu Aufrufdiagrammen call graphs an Id ist ein Linker Er f gt eine vielzahl von Objekten und Archiven zu einer einzigen Datei zusammen replaziert ihre Daten und f gt Symbol referenzen zusammen nm listet die vorhandenen Symbole in einer angegebenen Objektdatei auf objcopy wird verwendet um einen Objekttyp in einen anderen umzuwandeln objdump zeigt ausgew hlte Informationen zu einer Objektdatei an Die Informationen sind haupts chlich f r Programmierer n tzlich die an den Kompilierwerkzeugen arbeiten ranlib erzeugt einen Index vom Inhalt eines Archivs und speichert ihn in dem Archiv Der Index enth lt eine Liste aller Symbole von replazierbaren Objektdateien im Archiv Binutils 162 Linux From Scratch readelf zeigt Informationen ber elf Bin rdateien an size listet Bereichsgr ssen und die Summe f r angegebene Objektdateien auf strings gibt zu jeder angegebenen Datei Zeichenketten von druckbaren Zeichen aus wobei die Sequenzen als Vorgabe mindestens 4 Zeichen lang sein m ssen F r Objektdateien gibt es standardm ssig nur die Zeichenketten aus den Initialisierungs und Ladebereichen aus Bei anderen Dateitypen durchsucht es jeweils die gesamte Datei strip entfernt Symbole aus Objektdateien libiberty enth lt Routinen die von verschiedenen GNU Programmen genutzt werden z B getopt obstack strerror strtol und strtoul libbfd ist die Bibliothe
185. ispiel Dateisystempr fungen beim Systemstart das laden von Tastaturmappings Netzwerkeinrichtung oder das Beenden von Prozessen beim herunterfahren des Systems Installierte Skripte checkfs cleanfs functions halt ifdown ifup loadkeys localnet mountfs mountproc network rc reboot sendsignals setclock swap sysklogd und template Kurze Beschreibungen Das checkfs Skript pr ft Dateisystem bevor sie gemountet werden mit der Ausnahme von journalisierenden und Netzwerkbasierten Dateisystemen Das cleanfs Skript entfernt Dateien die nicht ber das Neustarten des Systems hinaus existieren sollten wie zum Beispiel die in var run und var lock Es erzeugt var run utmp und entfernt eine eventuell vorhandene etc nologin fastboot und forcefsck Dateien Das functions Skript enth lt Funktionen die gemeinsam von verschiedenen Skripten genutzt werden wie z B Fehler oder Statuspr fung Das halt Skript f hrt das System herunter Das ifdown und ifup Skript unterst tzen das network Skript mit Netzwerkger ten Das loadkeys Skript l d das Tastaturlayout das sie f r ihre Tastatur konfiguriert haben Das localnet Skript setzt den Hostnamen und das lokale Loopback Ger t auf Das mountfs Skript h ngt alle Dateisysteme ein die nicht als noauto markiert sind nicht Netzwerkbasiert sind Das mountproc Skript wird zum einh ngen des proc Dateisystems benutzt Less Installationsabh ngigkeiten 192 Linux From Scratch Das
186. it Perl s hostname test doesn t pass May 12th 2003 gerard Chapter 06 Installing GCC Don t try to remove usr include libiberty h It isn t installed in the first place May 12th 2003 winkie Upgraded to findutils 4 1 7 gzip 1 3 5 and tar 1 13 25 May 12th 2003 winkie Chapter 05 Installing Perl Added extra commande to build certain modules into Perl This is to accommodate the Coreutils make check Partially fixes bug 528 May 12th 2003 winkie Chapter 05 Installing Gzip Nothing in Chapter 6 checks for or uses the uncompress command therefore we shouldn t create it May 12th 2003 winkie Chapter 05 Installing Bzip2 Running make implies make check therefore there is no reason whatsoever for us to run it manually May 12th 2003 winkie Chapter 05 Installing Lfs Utils Removed The only package that checks for mktemp before it is installed is GCC and that s only for gecbug May 11th 2003 gerard Chapter 06 GCC 2 95 3 Added enable threads posix as well to complete the C addition May 11th 2003 gerard Chapter 06 GCC 2 95 3 Added enable languages c c to fix that GCC s version bug with regards to Wreturn type Fixes bug 525 May 11th 2003 gerard Chapter 05 Bash Removed the without bash malloc configure option May 11th 2003 gerard Updated to gcc 3 2 3 specs 4 patch May 11th 2003 winkie Chapter 06 Setting up Basic Net
187. it e size Binutils e skill Procps e slattach Net tools e sleep Coreutils e sin Glibc e snice Procps e socklist Procinfo e soelim Groff e sort Coreutils e splain Perl e split Coreutils e sprof Glibc e stat Coreutils e strings Binutils e strip Binutils e stty Coreutils e su Coreutils e sulogin Sysvinit e sum Coreutils e swap LES Bootscripts e swapoff Util linux e swapon Util linux e sync Coreutils e sysctl Procps e sysklogd LFS Bootscripts e syslogd Sysklogd e tac Coreutils Anhang B Index aller Programme und Bibliotheken 231 Linux From Scratch e tack Ncurses e tail Coreutils e talk Inetutils e tar Tar e tbl Groff e tcltags Vum e team address Gettext e tee Coreutils e telinit Sysvinit e telnet Inetutils e tempfile Lfs Utils e template LES Bootscripts e test Coreutils e test bash Util linux e test tcsh _Util linux e texi2dvi Texinfo e texindex Texinfo e tfmtodit Groff e tftp Inetutils e tic Ncurses e tload Procps e toe Ncurses e top Procps e touch Coreutils e tput Ncurses e tr Coreutils e trigger Gettext e troff Groff e true Coreutils e tset Ncurses e tsort Coreutils e tty Coreutils e tune2fs E2fsprogs e tunelp Util linux e tzselect Glibc e ul Util linux e umount Util linux e uname Coreutils e uncompress Gzip e une
188. it der dynamische Lader diese finden kann Zwei Verzeichnisse die daf r bekannt sind weitere Bibliotheken zu enthalten sind usr local lib und opt 1ib also f gen wir diese Verzeichnisse in den Suchpfad ein Erstellen sie die neue Datei etc 1ld so conf mit dem folgenden Kommando cat gt etc ld so conf lt lt EOF Begin etc ld so conf usr local lib opt lib End etc ld so conf EOF Erneutes anpassen der toolchain Nun wo die neue C Bibliothek installiert ist muss die toolchain erneut angepasst werden Wir modifizieren sie so das alle weiteren kompilierten Programme gegen die neue C Bibliothek gelinkt werden Im Grunde ist das genau das Gegenteil von dem was wir im vorigen Kapitel beim einh ngen der Glibc gemacht haben Konfigurieren des dynamischen Laders 91 Linux From Scratch Als erstes wird der Linker angepasst Aus diesem Grunde haben wir die Quell und Kompilierverzeichnisse aus dem zweiten Durchlauf von Binutils bestehen lassen Installieren sie den angepassten Linker aus dem binutils build Verzeichnis make C ld INSTALL tools bin install install Anmerkung Falls sie aus irgendeinem Grund die Warnung das Binutils Verzeichnis zu behalten bersehen haben oder es vielleicht versehentlich gel scht haben es ist noch nichts verloren Ignorieren sie einfach das obige Kommando Das Ergebnis ist dann das das n chste Paket Binutils gegen die Glibc Bibliotheken in tools anstelle von usr gelinkt wird Da
189. itte den man pages selbst Manche Pakete werden ausf hrlicher dokumentiert als andere Das liegt daran das wir einfach ber bestimmte Pakete mehr Informationen haben als ber andere Wenn sie meinen das zu den nachfolgenden Beschreibungen etwas wichtiges hinzugef gt werden sollte z gern sie nicht eine Email an die Mailing Liste zu schreiben Die Paketbeschreibungen sollen f r jedes Paket so ausf hrlich wie m glich sein aber das schaffen wir nicht ohne Hilfe Bitte beachten sie das zur Zeit nur beschrieben wird was ein Paket macht und nicht warum es installiert wird M glicherweise werden wir die Liste sp ter diesbez glich erweitern Auch die Abh ngigkeiten aller installierten Pakete sind aufgef hrt Die Liste gibt wieder welche Programme ben tigt werden um ein anderes Programm installieren zu K nnen Es handelt sich hier nicht um die Laufzeit Abh ngigkeiten das bedeutet sie erfahren nicht welche Programme sie zum ausf hren des Pakets brauchen sondern nur welche Programme zum erfolgreichen kompilieren ben tigt werden Die Liste der Abh ngigkeiten kann von Zeit zu Zeit veraltet sein vor allem in Bezug auf sehr aktuelle Paket Versionen Das pr fen der Abh ngigkeiten ist viel Arbeit so das wir manchmal zeitlich dem Paket Update ein wenig hinterher sind Doch die meisten kleineren Paket Updates beeinflussen die Abh ngigkeiten nicht so das die Liste zumindest in den meisten F llen aktuell sein sollte Beim Update auf die n
190. k f r Bin rdateibeschreibungen libopcodes ist eine Bibliothek die sog Opcodes behandelt Sie wird zum erstellen von Werkzeugen wie objdump verwendet Opcodes sind die lesbaren Versionen der Prozessorinstruktionen Binutils Installationsabh ngigkeiten Binutils ist abh ngig von Bash Coreutils Diffutils GCC Gettext Glibc Grep Make Perl Sed Texinfo Bison Eine Installationsanleitung finden sie im_Abschnitt namens Installieren von Bison 1 875 in Kapitel 6 Offizielle Download Adresse Bison 1 875 ftp ftp gnu org gnu bison Bison Attribut Patch http www linuxfromscratch org patches Ifs 5 0 bison 1 875 attribute patch Inhalt von Bison Bison ist ein Programm zum erstellen von Analysatoren ein Ersatz fiir yacc Bison erstellt ein Programm welches die Struktur einer Textdatei analysiert Installierte Programme bison und yacc Installierte Bibliotheken liby a Binutils Installationsabhangigkeiten 163 Linux From Scratch Kurze Beschreibungen bison erzeugt aus einer Reihe von Regeln ein Programm zum analysieren der Struktur von Textdateien Bison ist ein Ersatz zu yace Yet Another Compiler Compiler yacc ist ein Wrapper zu bison Er wird benutzt weil immer noch viele Programm yacc anstelle von bison aufrufen Bison wird dann mit der y Option aufgerufen liby a ist die Yacc Bibliothek die die Implementierung von Yacc kompatiblen yyerror und Hauptfunktionen enth lt Diese Bibliothek ist normaler
191. ke Sed Installation von Bison Zuerst wenden wir einen Patch an der aus dem CVS zur ckportiert wurde um ein kleines Problem beim kompilieren einiger Pakete zu beheben patch Npl i bison 1 875 attribute patch Bereiten sie Bison zum kompilieren vor configure prefix usr Kompilieren sie das Paket make Dieses Paket enth lt eine Test suite um zu pr fen ob alles korrekt kompiliert wurde Falls sie diese Tests ausf hren m chten benutzen sie dieses Kommando Installieren von Bison 1 875 106 Linux From Scratch make check Und installieren sie das Paket make install Installieren von Less 381 Gesch tzte Kompilierzeit Oi Sey Ungefahr ben tigter Festplattenplatz 3 4 MB Inhalt von Less Less ist ein Textanzeigeprogramm Es zeigt den Inhalt von Dateien oder Datenstr men an Less hat einige Merkmale die more nicht hat wie zum Beispiel die M glichkeit r ckw rts zu scrollen Installierte Programme less lessecho und lesskey Less Installationsabh ngigkeiten Less ist abh ngig von Bash Binutils Coreutils Diffutils GCC Glibc Grep Make Ncurses Sed Installation von Less Bereiten sie Less zum kompilieren vor configure prefix usr bindir bin sysconfdir etc Die Bedeutung der configure Option e sysconfdir etc Diese Option bewirkt das die in diesem Paket installierten Programme ihre Konfigurationsdateien in etc suchen Kompilieren sie das Paket make Und installieren si
192. l utert einige wichtige Dinge zur Installation und schafft Grundlagen zu allgemeinen Dingen des Buches Version Changelog Danksagungen zugeh rige Mailinglisten und so weiter Teil II Vorbereitungen zur Installation Teil II beschreibt wie der Installationsprozess vorbereitet wird anlegen einer Partition herunterladen der Pakete und kompilieren der ben tigten Werkzeuge Teil Ill Installation des LFS Systems Teil III f hrt sie durch die eigentliche Installation des LFS kompilieren und installieren aller Pakete Schritt f r Schritt aufsetzen der Bootskripte und installieren des Kernel 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 Teil IV Anh nge Teil IV enth lt zwei Anh nge Der erste ist eine alphabetische Liste alle Pakete die installiert werden F r jedes Paket ist die URL zum herunterladen der Inhalt und die Installationsabh ngigkeiten angegeben Der zweite Anhang listet in alphabetischer Reihenfolge alle Programme und Bibliotheken auf die im Rahmen dieses Buches installiert wurden So k nnen sie einfach herausfinden welche Programme oder Bibliotheken Voraussetzungen 9 Linux From Scratch zu welchem Paket geh ren Vieles aus dem ersten Anhang ist bereits in Teil II und III enthalten Das dehnt das Buch nat rlich ein wenig aus aber wir glauben das es so einfacher zu lesen ist So brauchen si
193. l org pub linux utils kernel modutils Man Installationsabh ngigkeiten 199 Linux From Scratch Inhalt von Modutils Das Modutils Paket enth lt diverse Programme zur Verwaltung von Kernel Modulen Installierte Programme depmod genksyms insmod insmod_ksymoops_clean kallsyms Link auf insmod kernelversion ksyms Link aus insmod Ismod Link auf insmod modinfo modprobe Link auf insmod und rmmod Link auf insmod 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 genksyms erzeugt Modulversionsinformationen insmod installiert ein ladbares Modul in den laufenden Kernel insmod_ksymoops_clean l scht gespeicherte ksyms und Module auf die seit zwei Tagen nicht zugegriffen wurde kallsyms extrahiert zu debugginzwecken alle Kernelsymbole kernelversion gibt die Hauptversionsnummer des laufenden Kernel aus ksyms zeigt die exportierten Kernelsymbole an Ismod zeigt an welche Module geladen sind modinfo untersucht eine Objektdatei die mit einem Kernelmodul assoziiert ist und zeigt die darin verf gbaren Informationen an modprobe benutzt eine Abh ngigkeitsdatei die von depmod erzeugt wurde um ben tigte Module automatisch nachzuladen rmmod entl dt ein Modul aus dem laufenden Kernel Modutils Installationsabh ngigkeiten Modutils ist abh ngig von Bash Binutils Bison
194. ldir usr install Installieren sie die libiberty Header Datei die von einigen Paketen ben tigt wird cp binutils 2 14 include libiberty h usr include Installieren von GCC 3 3 1 Gesch tzte Kompilierzeit LL 23 Se Ungef hr ben tigter Festplattenplatz 294 MB Installieren von GCC 3 3 1 94 Linux From Scratch Inhalt von GCC Das Paket GCC enth lt die Gnu Compiler Sammlung inklusive dem C und C Compiler Installierte Programme c cc Link auf gcc cel cclplus collect2 cpp g gcc gccbug und gcov Installierte Bibliotheken libgcc a libgcc_eh a libgcc_s so libstdc a so und libsupc a GCC Installationsabh ngigkeiten GCC ist abh ngig von Bash Binutils Coreutils Diffutils Findutils Gawk Gettext Glibc Grep Make Perl Sed Texinfo Installation von GCC Anmerkung Die Test suite f r GCC in diesem Abschnitt wird als kritisch betrachtet Unser Rat ist sie unter keinen Umst nden zu berspringen Es ist bekannt das dieses Paket nicht sauber funktioniert wenn die standard Optimierungseinstellungen inklusive der march und mcpu Optionen ver ndert wurden Deshalb sollten sie event gesetzte Umgebungsvariablen die die Standard Optimierung berschreiben zum Beispiel CFLAGS und CXXFLAGS f r den Kompiliervorgang von GCC zur cksetzen oder entsprechend ab ndern Dieses mal werden wir sowohl den C als auch den C Compiler erzeugen sie m ssen also die GCC core und GCC g Tar Arc
195. len Eine komfortable L sung zu diesem Umstand w re die Umgebungsvariable LFS zu setzen Dann k nnen sie LFS einfach so eingeben wie sie es lesen und m ssen diesen Platzhalter nicht durch den echten Pfad ersetzen Das setzen der Umgebungsvariable k nnen sie so erreichen export LFS mnt lfs Immer wenn sie nun ein Kommando wie configure prefix LFS tools eingeben sollen k nnen sie es tats chlich so abtippen wie sie es lesen Ihre Shell wird LFS durch mnt lfs ersetzen w hrend sie ihre Eingabe verarbeitet sprich wenn sie nach Eingabe des Befehls die Enter Taste dr cken ber SBUs Die meisten Leute m chten gerne vorher wissen wie lange es ungef hr dauert um die einzelnen Pakete zu kompilieren und installieren Linux From Scratch wird aber auf so unterschiedlichen Systemen gebaut das es unm glich ist echte Zeiten anzugeben die auch nur ann hern akkurat w ren Das gr sste Paket Glibc braucht auf schnellen Maschinen nicht einmal 20 Minuten aber auf langsamen Maschinen drei Tage oder mehr das ist kein Scherz Anstatt ihnen also Zeiteinheiten zu nennen haben wir uns f r die Static Binutils Unit entschieden Abgek rzt SBU Das funktioniert folgenderma en Das erste Paket das sie kompilieren werden ist das statisch gelinkte Binutils Paket in Kapitel 5 Die Zeit die sie ben tigen um dieses Paket zu kompilieren ist das was wir eine Static Binutils Unit oder auch SBU nennen Alle anderen Kompilierzeiten werde
196. len m chten zum Beispiel dev hda f r die prim re IDE Festplatte Erstellen sie eine native Linux Partition und eine Swap Partition falls ben tigt Bitte lesen sie in der man page zu cfdisk oder fdisk nach wenn sie nicht wissen wie man diese Programme bedient Merken sie sich die Bezeichnung ihrer neuen Partition sie k nnte hda5 oder hnlich lauten Das Buch bezeichnet diese Partition im weiteren Verlauf als die LFS Partition Wenn sie nun eine Swap Partition haben merken sie sich auch deren Bezeichnung Die Bezeichnungen werden sp ter f r die Datei etc fstab ben tigt Erstellen eines neuen Dateisystems auf der Partition Nun wo wir eine leere Partition haben k nnen wir darauf ein Dateisystem anlegen Das meistverbreitete Dateisystem unter Linux ist das Second Extended Filesystem ext2 aber bei den gro en Festplatten von heute werden die Journaling Dateisystem immer beliebter An dieser Stelle werden wir ein ext2 Dateisystem erstellen Anleitungen f r andere Dateisysteme k nnen sie aber unter http www linuxfromscratch org blfs view stable postlfs filesystems html finden Um ein ext2 Dateisystem auf der LFS Partition zu erzeugen f hren sie bitte folgendes aus mke2fs dev xxx Kapitel 3 Vorbereiten einer neuen Partition 31 Linux From Scratch Ersetzen sie xxx durch den Namen der LFS Partition etwas wie zum Beispiel hda5 Wenn sie eine neue Swap Partition erstellt haben miissen sie diese initialisieren
197. liche gzip Installierte Programme bunzip2 Link auf bzip2 bzcat Link auf bzip2 bzcmp bzdiff bzegrep bzfgrep bzgrep bzip2 bzip2recover bzless und bzmore Installierte Bibliotheken libbz2 a libbz2 so Link auf libbz2 so 1 0 libbz2 so 1 0 Link auf libbz2 so 1 0 2 und libbz2 so 1 0 2 Bzip2 Installationsabh ngigkeiten Bzip2 ist abh ngig von Bash Binutils Coreutils Diffutils GCC Glibc Make Installieren von Bzip2 Das Paket Bzip2 enth lt kein configure Skript Kompilieren und installieren sie es einfach mit make PREFIX tools install Installieren von Bzip2 1 0 2 64 Linux From Scratch Installieren von Gzip 1 3 5 Gesch tzte Kompilierzeit 0 1 SBU Ungef hr ben tigter Festplattenplatz 2 6 MB Inhalt von Gzip Gzip enth lt Programme f r die Dateikompression und dekompression mit Hilfe des Lempel Ziv Algorythmus LZ77 Installierte Programme gunzip Link auf gzip gzexe gzip uncompress Link auf gunzip zcat Link auf gzip zcmp zdiff zegrep zfgrep zforce zgrep zless zmore und znew Gzip Installationsabh ngigkeiten Gzip ist abh ngig von Bash Binutils Coreutils Diffutils GCC Glibc Grep Make Sed Installation von Gzip Bereiten sie Gzip zum kompilieren vor configure prefix tools Kompilieren sie das Paket make Und installieren sie es make install Installieren von Diffutils 2 8 1 Gesch tzte Kompilierzeit Oi SBu Ungef hr ben tigter Festplattenplatz 7
198. llieren der grundlegenden System Software Installation von SYSV 5er sinn sense kenne spe bene esse 138 Konfis rieren von MENU sti REet bet iRdegeh Ae E EEEE EEE ill E A Ae 138 Inst llieren Von Ta A A E tas E 139 Tnhalt von Tari Ad As 139 Jar lnstallationsabh ngigkeiten LL 139 Installation VON Tiida ME a irgend net Eed at saves 139 Installi ren von Util Ihnux 2 EEN ue dr SEENEN ENEE 139 Inhalt von BEE 140 Util linux Iosallatpopnsabhb noegketen AE 140 Anmerkung zur FHS Konformit t ss 140 Install t n von Re E e EE 140 Installieren von GCE 2 93 hentai nie EE eege ege ae De 141 Installation von EE di 141 Ein neues chroot Kommando 142 Installieren von LES Bootscripts 1 12 ses 142 Inhalt der EES Bootsk pte geed el Seege convene sen elas EEE EEEE E ZEIEN 142 LES Bootscripts Installationsabh ngigkeiten ss 142 Installation der LFS Bootscripts ses 142 Konfigurieren der Svatemkomponenten ss 143 Konfigurieren der Tata israel ocacion iii 143 Setzen des root Passworts ia A AEE 143 Kapitel 7 Aufsetzen der System Boot Skripte coossessssesnssensnnensnnennsssennssnsnssensnsessnnnnnnnennsssnsnssesnssessnnene 144 Einf hr n essen LEES date EE EE end 144 Wie funktioniert der Bootvorgang mit diesen Skripten R R 144 Konfigurieren des setclock Skomt s
199. logd ist abh ngig von Binutils Coreutils GCC Glibc Make Konfigurieren von Shadow 136 Linux From Scratch Installation von Sysklogd Kompilieren sie Sysklogd make Und installieren es make install Konfigurieren von Sysklogd Erstellen sie die neue Datei etc syslog conf indem sie folgendes Kommando eingeben cat gt etc syslog conf lt lt EOF Begin etc syslog conf auth authpriv var log auth log auth authpriv none var log sys log daemon var log daemon log kern var log kern log mail var log mail log user var log user log emerg End etc syslog conf EOF Installieren von Sysvinit 2 85 Gesch tzte Kompilierzeit OS BU Ungef hr ben tigter Festplattenplatz 0 9 MB Inhalt von Sysvinit Das Sysvinit Paket enh lt Programme mit denen sie das starten ausf hren und beenden aller anderen Programme kontrollieren k nnen Installierte Programme halt init killall5 last lastb Link auf last mesg pidof Link auf killall5 poweroff Link auf halt reboot Link auf halt runlevel shutdown sulogin telinit Link auf init utmpdump und wall Sysvinit Installationsabh ngigkeiten Sysvinit ist abh ngig von Binutils Coreutils GCC Glibc Make Installation von Sysklogd Linux From Scratch Installation von Sysvinit Wenn Runlevel gewechselt werden zum Beispiel beim herunterfahren des Systems sendet init die Signale TERM und KILL and alle Programme d
200. lookbib mmroff neqn nroff pfbtops pic pic2graph post grohtml pre grohtml refer soelim tbl tfmtodit troff and zsoelim Link auf soelim Kurze Beschreibungen addftinfo liest eine troff Schriftdatei und f gt einige font metrische Informationen hinzu die vom groff System benutzt werden afmtodit erzeugt eine Schriftdatei f r die Verwendung mit groff und grops eqn kompiliert Beschreibungen von Gleichungen die in groff Eingabedateien enthalten sind zu Kommandos die groff versteht eqn2graph konvertiert eine EQN Gleichung in ein beschnittenes Bild grn ist ein groff Preprozessor f r gremlin Dateien grodvi ist ein Treiber f r groff der das TeX dvi Format erzeugt groff ist eine Benutzerschnittstelle zu dem groff Dokumentenformatierungssystem Normalerweise f hrt es das troff Programm und einen f r das Ausgabeger t passenden Postprozessor aus groffer zeigt groff Dateien und Man pages unter X und im tty an grog liest Dateien und r t welche der groff Optionen e man me mm ms p s und t ben tigt werden und gibt das Kommando mit diesen Optionen aus grolbp ist ein groff Treiber f r Canon CAPSL Drucker Laser Drucker der LBP 4 und LBP 8 Serie grolj4 ist ein Treiber f r groff der Ausgaben im PCLS Format passend f r HP LaserJet 4 Drucker erzeugt grops bersetzt die Ausgabe von GNU troff zu Postscript grotty bersetzt die Ausgabe von GNU troff in eine passende Form f r schreibmaschin
201. ls services LFS Bootscripts Installationsabh ngigkeiten 193 Linux From Scratch Kurze Beschreibungen mktemp erzeugt tempor re Dateien auf sichere Weise Es wird in Skripten verwendet tempfile erzeugt tempor re Dateien auf weniger sichere Weise als mktemp Es ist nur aus Gr nden der R ckw rtskompatibilit t installiert Das http get Skript nutzt ein nettes bekanntes Feature der bash net redirection genannt Damit kann man downloads von Webseiten ohne zus tzliche Programme machen iana net benutzt das http get Skript um die Beschaffung von IANA s Dienst und Protokollkonfigurationsdateien zu vereinfachen Lfs Utils Installationsabh ngigkeiten No dependencies checked yet Libtool Eine Installationsanleitung finden sie im_Abschnitt namens Installieren von Libtool 1 5 in Kapitel 6 Offizielle Download Adresse Libtool 1 5 ftp ftp gnu org gnu libtool Inhalt von Libtool GNU Libtool ist ein Skript zur unterstiitzung von Bibliotheken Libtool versteckt die Komplexit t von gemeinsam benutzten Bibliotheken hinter einer konsistenten und portablen Schnittstelle Installierte Programme libtool und libtoolize Installierte Bibliotheken libltdl a so Kurze Beschreibungen libtool stellt vereinheitlichte Dienste zum erstellen von Bibliotheken zur Verf gung libtoolize stellt einen Standardweg zur Verf gung um einem Paket libtool Unterst tzung hinzuzuf gen libltdl versteckt die verschiedenen Schwierigkei
202. m Scratch Inetutils Installationsabh ngigkeiten Inetutils ist abh ngig von Bash Binutils Coreutils Diffutils GCC Glibc Grep Make Ncurses Sed Installation von Inetutils Bereiten sie Inetutils zum kompilieren vor configure prefix usr disable syslogd libexecdir usr sbin disable logger sysconfdir etc localstatedir var disable whois disable servers Die Bedeutung der configure Optionen e disable syslogd Diese Option verhindert die Installation des System Log D monen weil wir einen mit dem Sysklogd Paket installieren e disable logger Das verhindert die Installation des logger Programmes welches Nachrichten an den System Log D monen bergibt Wir installieren ihn nicht weil Util Linux etwas sp ter eine bessere Version installiert e disable whois Das verhindert das kompilieren des whois Clients welcher leider elendig veraltet ist Eine Anleitung f r einen besseren whois Client finden sie im BLFS Buch e disable servers Das verhindert die Installation verschiedener Netzwerkserver die dem Inetutils Paket beiliegen Diese gelten in einem basis LFS System als nicht angebracht Einige sind von Natur aus unsicher und nur in vertrauensw rdigen Netzen sicher einsetzbar Mehr Informationen finden sie unter_http www linuxfromscratch org blfs view stable basicnet inetutils html Beachten sie das es f r fast alle dieser Netzwerkserver einen besseren Ersatz gibt Kompilieren sie das P
203. mber 5th 2003 jeremy Chapter 6 GCC Corrected wording to reflect the removal of the usr lib cpp symlink e September 5th 2003 jeremy Corrected perl libc patch to 2 changing the old stagel structure to tools e September 5th 2003 matt Chapter 6 Updated GCC specs patch and upgraded to man 1 5m2 e September 4th 2003 jeremy Chapter 6 Creating Directories Eliminated the creation of usr tmp Closes bug 176 Anderungsprotokoll 18 Linux From Scratch e September 4th 2003 jeremy Chapter 6 Mounting Proc Added mounting the devpts filesystem into chroot here Closes bug 533 e September 4th 2003 jeremy Chapter 6 Mounting Proc Added a warning at the end regarding checking that proc is still mounted if you stop and restart the Ifs process e September 4th 2003 jeremy Chapter 6 Gzip Altered text to better explain the reason behind the sed command used in the gzip installation Closes bug 551 e September 4th 2003 jeremy Chapter 4 Downloading patches Added a note regarding Tushar s patches project and a link to the patches home page e September 3rd 2003 matt Fixed issue with Util linux not utilizing headers and libraries installed in stagel e September 3rd 2003 matt Removed rm bin pwd instruction from Chapter 6 kernel headers installation as the link is still required by Glibc s installation e September 2nd 2003 alex Adjusted all the SBUs from the values poste
204. mf install tex Die Bedeutung des make Parameters e TEXMF usr share texmf Die TEXMF makefile Variable enth lt den Standort ihres TeX Verzeichnisbaumes falls sie zum Beispiel planen sp ter ein TeX Paket zu installieren Installieren von Texinfo 4 6 115 Linux From Scratch Installieren von Autoconf 2 57 Gesch tzte Kompilierzeit 2 9 SBU Ungef hr ben tigter Festplattenplatz 7 7 MB Inhalt von Autoconf Autoconf erstellt Shell Skripte die Quelltexte automatisch konfigurieren Installierte Programme autoconf autoheader autom4te autoreconf autoscan autoupdate und ifnames Autoconf Installationsabhangigkeiten Autoconf ist abh ngig von Bash Coreutils Diffutils Grep M4 Make Perl Sed Installation von Autoconf Bereiten sie Autoconf zum kompilieren vor configure prefix usr Kompilieren sie das Paket make Dieses Paket hat eine Test suite mit der sie berpr fen k nnen ob alles korrekt kompiliert wurde Wenn sie sie laufen lassen m chten f hren sie dieses Kommando aus make check Und installieren sie das Paket make install Installieren von Automake 1 7 6 Gesch tzte Kompilierzeit SoS SBU Ungef hr ben tigter Festplattenplatz 6 8 MB Inhalt von Automake Automake generiert Makefile in Dateien die danach von Autoconf benutzt werden k nnen Installierte Programme acinstall aclocal aclocal 1 7 automake automake 1 7 compile config guess config sub depcomp elisp comp install sh m
205. mi und yes Installieren von Coreutils 5 0 96 Linux From Scratch Coreutils Installationsabh ngigkeiten Coreutils ist abh ngig von Bash Binutils Coreutils Diffutils GCC Gettext Glibc Grep Make Perl Sed Installation von Coreutils Die Funktion von uname ist ein wenig Fehlerhaft weil der p Schalter immer unknown ausgibt Der folgende Patch behebt das Problem auf Intel Architekturen patch Npl i coreutils 5 0 uname patch Wir m chten nicht das Coreutils seine Version von hostname installiert weil sie schlechter ist als die von Net tools bereitgestellte Verhindern sie die Installation mit dem folgenden Patch patch Npl i coreutils 5 0 hostname 2 patch Bereiten sie Coreutils zum kompilieren vor configure prefix usr Kompilieren sie das Paket make Das Programm su aus Coreutils wurde in Kapitel 5 nicht installiert weil man dazu root Rechte ben tigt Wir brauchen es aber gleich f r die Test suite Daher installieren wir es nun make install root Dieses Paket hat eine Test suite mit der sie berpr fen k nnen ob alles korrekt kompiliert wurde Diese Test suite macht einige Annahmen in Hinsicht auf die Existenz von nicht root Benutzern und Gruppen und diese sind in in unserem LFS System noch nicht vorhanden Wir erstellen nun einen dummy System Benutzer und zwei dummy Gruppen damit die Tests sauber durchlauen k nnen Falls sie diese Test suite nicht ausf hren m chten berspringen sie s
206. mit welchen Optionen ihre Dateisystem eingeh ngt sind Wenn sie nosuid nodev oder noatime sehen m ssen sie ihre Partition erneut einh ngen Jetzt nachdem wir Platz zum arbeiten geschaffen haben beginnen wir mit dem herunterladen der notwendigen Pakete Einh ngen mounten der neuen Partition 32 Kapitel 4 Das Material Pakete und Patche Einf hrung Die Liste unten enth lt alle Pakete die sie f r ein minimales Linux System herunterladen m ssen Die angegebenen Versionsnummern entsprechen Softwareversionen bei denen wir wissen das sie funktionieren und das Buch basiert darauf Solange sie wenig Erfahrung mit LFS haben empfehlen wir dringend keine neueren Versionen zu probieren Die angegebenen Kommandos k nnten mit neueren Versionen nicht mehr funktionieren Oft gibt es auch gute Gr nde daf r nicht die allerneueste Version einzusetzen zum Beispiel bei bekannten Problemen f r die es noch keine L sung gibt Soweit m glich verweisen alle URL auf die Projektseite unter_http www freshmeat net Die Freshmeat Seiten erlauben einfachen Zugriff auf die offiziellen Download und Projektseiten Mailinglisten FAQ s Changelogs und noch mehr Wir k nnen nicht garantieren das die Download Adressen immer verf gbar sind Falls sich eine Download Adresse nach Erscheinen des Buches ge ndert haben sollte googlen sie bitte nach dem entsprechenden Paket Sollten sie auch hier erfolglos sein schauen sie bitte auf die Korrekturseiten un
207. msgcomm msgconv msgen msgexec msgfilter msgfmt msggrep msginit msgmerge msgunfmt msguniq ngettext project id team address trigger urlget user email und xgettext Installierte Bibliotheken libasprintf a so libgettextlib a so libgettextpo a so und libgettextsrc a so Gettext Installationsabh ngigkeiten Gettext ist abh ngig von Bash Binutils Bison Coreutils Diffutils Gawk GCC Glibc Grep Make Sed Installation von Gettext Bereiten sie Gettext zum kompilieren vor configure prefix usr Kompilieren sie das Paket make Dieses Paket enth lt eine Test suite um zu pr fen ob alles korrekt kompiliert wurde Wenn sie sie ausf hren m chten erledigt dies das folgende Kommando f r sie das ben tigt sehr viel Zeit make check Und installieren sie das Paket make install Installieren von Net tools 1 60 Gesch tzte Kompilierzeit OSB Ungef hr ben tigter Festplattenplatz 9 4 MB Inhalt von Net tools Die Net tools sind eine Sammlung von grundlegenden Programmen f r das Netzwerk unter Linux Installierte Programme arp dnsdomainname Link auf hostname domainname Link auf hostname hostname ifconfig nameif netstat nisdomainname Link auf hostname plipconfig rarp route slattach und Inhalt von Gettext 111 Linux From Scratch ypdomainname Link auf hostname Net tools Installationsabh ngigkeiten Net tools ist abh ngig von Bash Binutils Coreutils GCC Glibc Make Ins
208. n usr bin installiert Wenn sie m chten k nnen sie das von Shadow installierte wieder l schen rm bin groups Konfigurieren von Shadow Dieses Paket enth lt Werkzeuge zum bearbeiten hinzuf gen und l schen von Benutzerpassw rtern Wir werden hier nicht erl utern was genau das password shadowing bedeutet Eine vollst ndige Erkl rung finden sie in der Datei doc HOWTO im entpackten Shadow Verzeichnisbaum 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 sdas heisst sie m ssen mit shadow Passw rtern umgehen k nnen Um shadow Passw rter zu aktivieren benutzen sie das folgende Kommando usr sbin pwconv Und um shadow Gruppenpassw rter zu aktivieren benutzen sie das folgende Kommando usr sbin grpconv Unter normalen Umst nden haben sie bis hierher noch keine Passw rter erzeugt Wenn sie jedoch hierher zur ckgebl ttert haben um nachtr glich Shadow zu aktivieren dann sollten sie alle Benutzerpassw rter mit dem Kommando passwd und die Gruppenpassw rter mit dem Kommando gpasswd zur cksetzen Installieren von Sysklogd 1 4 1 Gesch tzte Kompilierzeit OPS EU Ungef hr ben tigter Festplattenplatz 0 5 MB Inhalt von Sysklogd Die in Sysklogd enthaltenen Programme dienen zum aufzeichnen von System Logs zum Beispiel die des Kernels Installierte Programme klogd und syslogd Sysklogd Installationsabh ngigkeiten Sysk
209. n Abschnitt berspringen denn das US Layout wird automatisch geladen wenn sie es nicht ndern Um das standard Tastaturlayout zu ndern erstellen sie mit dem folgenden Kommando den symbolischen Link usr share kbd keymaps defkeymap map gz In s pfad zum tastaturlayout usr share kbd keymaps defkeymap map gz Nat rlich m ssen sie pfad zum tastaturlayout mit dem Pfad und Dateinamen ihres Tastaturlayouts ersetzen Wenn sie zum Beispiel eine holl ndische Tastatur haben w rden sie 1386 qwerty nl map gz benutzen Eine andere M glichkeit das Tastaturlayout zu setzen ist die keymap in den Kernel einzukompilieren Das stellt sicher das ihre Tastatur immer wie gew nscht funktioniert selbst dann wenn sie in den Wartungsmodus booten indem sie den init bin sh Kernelparameter angeben denn dann wird das Bootskript zum setzen des Tastaturlayouts normalerweise nicht ausgef hrt F hren sie das folgende Kommando aus wenn sie die jetzige standard keymap in den Kernel patchen wollen Sie m ssten dieses Kommando allerdings jedesmal ausf hren wenn sie einen neuen Kernel entpacken loadkeys m usr share kbd keymaps defkeymap map gz gt usr src linux 2 4 22 drivers char defkeymap c Setzen des root Passworts W hlen sie ein Kennwort f r den root Benutzer und setzen sie es mit dem Kommando passwd root Konfigurieren der Systemkomponenten 143 Kapitel 7 Aufsetzen der System Boot Skripte Einf hrung Dieses Kapitel setzt die Bo
210. n Flex Bereiten sie Flex zum kompilieren vor configure prefix usr Kompilieren sie das Paket make Dieses Paket enth lt eine Test suite um zu pr fen ob alles korrekt kompiliert wurde Wenn sie sie ausf hren m chten erledigt dies das folgende Kommando f r sie make bigcheck Und installieren sie das Paket make install Es existieren einige Programme die die Lex Bibliothek in usr 1ib erwarten Erstellen sie daher einen entsprechenden symbolischen Link In s libfl a usr lib libl a Einige wenige Programme kennen flex noch nicht und versuchen seinen Vorg nger lex aufzurufen Um diese Programme dennoch zu unterst tzen erzeugen sie ein kleine Shell Skript mit dem Namen lex das flex im Emulationsmodus aufruft cat gt usr bin lex lt lt EOF bin sh Begin usr bin lex exec usr bin flex 1 S End usr bin lex EOF chmod 755 usr bin lex Installieren von Gettext 0 12 1 Gesch tzte Kompilierzeit 6 9 SBu Ungef hr ben tigter Festplattenplatz 55 MB Flex Installationsabh ngigkeiten 110 Linux From Scratch Inhalt von Gettext Gettext wird zur bersetzung und Lokalisierung verwendet Programme k nnen mit sog Native Language Support NLS Unterst tzung f r die lokale Sprache konfiguriert werden Dadurch k nnen Dialoge in der Sprache des Anwenders ausgegeben werden Installierte Programme autopoint config charset config rpath gettext gettextize hostname msgattrib msgcat msgcmp
211. n aus dem Quellformat in das bin re Format welche von den ncurses Bibliotheksroutinen ben tigt wird Eine terminfo Datei enth lt Informationen ber die F higkeiten eines bestimmten Terminals toe listest alle verf gbaren Terminaltypen auf und gibt zu jedem seinen Namen und seine Beschreibung aus tput macht der Shell die Werte von Terminalabh ngigen F higkeiten verf gbar Es kann auch zum zur cksetzen oder initialisieren eines Terminals oder zum anzeigen seines vollst ndigen Namens verwendet werden tset kann zum initialisieren eines Terminals verwendet werden Offizielle Download Adresse 201 Linux From Scratch libncurses enth lt Funktionen zum anzeigen von Text auf einem Terminal in vielen komplizierten Variationen Ein gutes Beispiel ist das angezeigte Men von make menuconfig des Kernels libform enth lt Funktionen zum implementieren von Formen libmenu enth lt Funktionen zum implementieren von Mem s libpanel enth lt Funktionen zum implementieren von Schaltfl chen Ncurses Installationsabh ngigkeiten Ncurses ist abh ngig von Bash Binutils Coreutils Diffutils Gawk GCC Glibc Grep Make Sed Net tools Eine Installationsanleitung finden sie im_Abschnitt namens Installieren von Net tools 1 60 in Kapitel 6 Offizielle Download Adresse Net tools 1 60 http www tazenda demon co uk phil net tools Net tools Mii Tool Gcc33 Patch http www linuxfromscratch org patches lfs 5 0O net tools 1 60
212. n relativ zu dieser Zeit angegeben Um zum Beispiel die statische Version von GCC zu bauen braucht es 4 4 SBUs Das bedeutet wenn es 10 Minuten gedauert hat um die statischen Binutils zu bauen dann wissen sie das es ungef hr 45 Minuten Zeit braucht um die statische Version von GCC zu bauen Zum Gl ck sind die meisten Kompilierzeiten k rzer als die der Binutils Falls der Compiler auf ihrem Host System noch ein GCC 2 ist k nnten die SBU Angaben etwas unterdimensioniert sein Die SBU angaben basieren auf dem ersten kompilierten Paket welches allerdings mit Kapitel 2 Wichtige Informationen 27 Linux From Scratch ihrem alten System GCC kompiliert wurde w hren der Rest der Pakete aber mit der neuen Version gebaut wird GCC 3 3 1 ist daf r bekannt ca 30 langsamer zu sein Bitte beachten sie auch das die SBU Angaben auf Mehrprozessormaschinen nicht gut anwendbar sind Aber wenn sie das Gl ck haben eine solche Maschine zu besitzen wird der Unterschied h chstwahrscheinlich so Gering sein dass sie sich nicht darum k mmern ber die Test suites Die meisten Pakete stellen eine Test suite zur Verf gung Es ist prinzipiell immer eine gute Idee eine solche Test suite f r neu kompilierte Programme auch durchlaufen zu lassen so stellen sie sicher das alles korrekt kompiliert wurde Wenn eine Test suite alle ihre Tests erfolgreich durchl uft k nnen sie ziemlich sicher sein das das Paket funktioniert wie es der Entwickler vorgesehen
213. n sie Sed zum kompilieren vor configure prefix tools Kompilieren sie das Programm make Dieses Paket enth lt eine Test suite um zu berpr fen ob alles korrekt kompiliert wurde Wenn sie sie ausf hren m chten erledigt das folgende Kommando dies f r sie make check Dann installieren sie Programm und Dokumentation make install Installieren von Gettext 0 12 1 Gesch tzte Kompilierzeit 2 SU Ungef hr ben tigter Festplattenplatz 55 MB Inhalt von Gettext Gettext wird zur bersetzung und Lokalisierung verwendet Programme k nnen mit sog Native Language Support NLS Unterst tzung f r die lokale Sprache konfiguriert werden Dadurch k nnen Dialoge in der Sprache des Anwenders ausgegeben werden Installieren von Sed 4 0 7 69 Linux From Scratch Installierte Programme autopoint config charset config rpath gettext gettextize hostname msgattrib msgcat msgcmp msgcomm msgconv msgen msgexec msgfilter msgfmt msggrep msginit msgmerge msgunfmt msguniq ngettext project id team address trigger urlget user email und xgettext Installierte Bibliotheken libasprintf a so libgettextlib a so libgettextpo a so und libgettextsrc a so Gettext Installationsabh ngigkeiten Gettext ist abh ngig von Bash Binutils Bison Coreutils Diffutils Gawk GCC Glibc Grep Make Sed Installieren von Gettext Bereiten sie Gettext zum kompilieren vor configure prefix tools Kompilieren sie die
214. n und gibt das Ergebnis aus Diffutils Installationsabh ngigkeiten Diffutils ist abh ngig von Bash Binutils Coreutils Diffutils GCC Gettext Glibc Grep Make Sed E2fsprogs Eine Installationsanleitung finden sie im_Abschnitt namens Installieren von E2fsprogs 1 34 in Kapitel 6 Offizielle Download Adresse E2fsprogs 1 34 ftp download sourceforge net pub sourceforge e2fsprogs http download sourceforge net e2fsprogs Inhalt von E2fsprogs E2fsprogs stellt die Dateisystemwerkzeuge f r die Benutzung des ext2 Dateisystems zur Verf gung Auch ext3 wird unterst tzt das ist ein Journaling Dateisystem Installierte Programme badblocks blkid chattr compile_et debugfs dumpe2fs e2fsck e2image e2label findfs fsck fsck ext2 fsck ext3 logsave Isattr mk_cmds mke2fs mkfs ext2 mkfs ext3 mklost found resize2fs tune2fs und uuidgen Installierte Bibliotheken libblkid a so libcom_err a so libe2p a so libext2fs a so libss a so und libuuid a so Kurze Beschreibungen badblocks durchsucht ein Ger t blicherweise eine Festplatte nach defekten Bl cken blkid ist ein Kommandozeilenprogramm zum auffinden und ausgeben von Blockger t Eigenschaften chattr ndert Dateiattribute auf second extended ext2 Dateisystemen Kurze Beschreibungen 171 Linux From Scratch compile_et ist ein Fehlertabellen Compiler Er konvertiert eine Tabelle mit Fehlercode Namen und Meldungen in eine C Quelldatei di
215. n wir nicht die Test suite durchlaufen lassen Erstens ist die Test Umgebung noch nicht entsprechend vorbereitet und zweitens werden die nun kompilierten Programme sowieso von denen des zweiten Durchlaufes berschrieben Dieses Paket funktioniert nicht gut wenn nicht die Standard Optimierungseinstellungen inklusive der march und mcpu Optionen benutzt werden Deshalb sollten event gesetzte Umgebungsvariablen die die Standard Optimierung berschreiben zum Beispiel CFLAGS und CXXFLAGS f r den Kompiliervorgang von Binutils zur ckgesetzt oder entsprechend abge ndert werden Die Dokumentation zu Binutils empfiehlt Binutils ausserhalb des Quellverzeichnisses zu kompilieren mkdir binutils build cd binutils build Anmerkung Wenn sie die angegebenen SBU Werte im Buch benutzen m chten m ssen sie nun die Zeit messen die sie zum kompilieren dieses Pakets ben tigen Dies K nnen sie relativ einfach auf folgende Art tun time configure amp amp amp amp amp amp make install Bereiten sie nun Binutils zum kompilieren vor binutils 2 14 configure prefix tools disable nls Die Bedeutung der configure Parameter Inhalt von Binutils 46 Linux From Scratch e prefix tools Dies teilt dem configure Skript mit die Installation der Binutils Programme in dem Verzeichnis tools vorzubereiten e disable nls Dies deaktiviert die Internationalisierung oft auch als i18n abgek rzt Wir brau
216. nd as it is pointless there it s redone several sections later Anderungsprotokoll 15 Linux From Scratch e October 15th 2003 greg Chapter 9 Reworked final strip command Relocated paragraphs about directory removal from Chapter 6 e October 14th 2003 greg Chapter 8 Making the LES system bootable Expanded Grub details and added a warning e October 14th 2003 alex Appendix A Updated the contents of Perl and Procps e October 14th 2003 alex Chapter 4 and 5 Added a suggestion to use LFS sources as the working and storage place e October 13th 2003 greg Chapter 9 Rebooting the system Reworked umount commands e October 11th 2003 alex Adapted the required disk space values and SBUs as posted by Bruce Dubbs e October 11th 2003 alex Chapter 5 Toolchain technical notes Added and changed some markup e October 9th 2003 gerard Upgraded to lfs bootscripts 1 12 e October 9th 2003 greg Performed internal markup reworking to fix an extraneous whitespace problem in tidy generated web site pages Essentially replace all occurrences of lt para gt lt screen gt with lt screen gt and the matching closing tags e October 9th 2003 alex Chapter 6 Basic Networking Moved one half to the Lfs Utils section the other half to Perl e October 8th 2003 alex Chapter 8 Making bootable Adapted the style of the screens and reworded some paragraphs e October 8th
217. nd ein Linux System startet dann ist der Kernel das erste Stiick Software das gestartet wird Der Kernel initialisiert die Ger te und Hardware Komponenten serielle Schnittstellen parallele Schnittstellen Soundkarten Netzwerkkarten IDE und SCSI Controller und vieles mehr Zusammenfassend kann man sagen der Kernel stellt dem System die Hardware zur Verfiigung so das die Software damit laufen kann Installierte Dateien Der Kernel und die Kernel Header Installieren der Linux 2 4 22 Header 49 Linux From Scratch Linux Installationsabh ngigkeiten Linux ist abh ngig von Bash Binutils Coreutils Findutils GCC Glibc Grep Gzip Make Modutils Perl Sed Installation der Kernel Header Da einige Pakete die Kernel Header Dateien referenzieren entpacken wir nun das Kernel Archiv konfigurieren es und kopieren die ben tigten Dateien an eine Stelle wo gec sie sp ter finden kann Bereiten sie die Installation der Header vor make mrproper Das stellt sicher das der Kernel Baum absolut sauber ist Das Kernel Team empfiehlt dieses Kommando vor Jedem Kernel kompilieren auszuf hren Sie sollten sich nicht darauf verlassen das die Quellen nach dem entpacken sauber sind Erstellen sie die Datei include linux version h make include linux version h Erstellen sie den Platform spezifischen Symlink include asm make symlinks Installieren sie die Plattform spezifischen Header Dateien mkdir tools include asm cp include asm t
218. ndos von vim bei xxd erzeugt eine hex Ausgabe einer Datei Das geht auch umgekehrt und kann zum patchen von Bin rdateien benutzt werden Vim Installationsabh ngigkeiten Vim ist abh ngig von Bash Binutils Coreutils Diffutils GCC Glibc Grep Make Ncurses Sed Zlib Eine Installationsanleitung finden sie im_Abschnitt namens nstallieren von Zlib 1 1 4 in Kapitel 6 Vim Installationsabh ngigkeiten 219 Linux From Scratch Official Download Location Zlib 1 1 4 http www gzip org zlib Zlib Vsnprintf Patch http www linuxfromscratch org patches Ifs 5 0 zlib 1 1 4 vsnprintf patch Inhalt von Zlib Zlib enth lt die Bibliothek libz Sie wird von vielen Programmen zum komprimieren und dekomprimieren genutzt Installierte Bibliotheken libz a so Kurze Beschreibung libz enth lt Funktionen zum komprimieren und dekomprimieren die von einigen Programmen benutzt werden Zlib Installationsabh ngigkeiten Zlib ist abh ngig von Binutils Coreutils GCC Glibc Make Sed Official Download Location 220 Anhang B Index aller Programme und Bibliotheken Dies ist eine Liste aller Programme und Bibliotheken die in diesem Buch installiert werden inklusive der Angabe zu welchem Paket aus Anhang A es sie geh rt e a2p Perl e acinstall Automake e aclocal Automake e addftinfo Groff e addr2line Binutils e afmtodit Groff e agetty Util linux e apropos Man e ar Binutils e a
219. nen ihn lesen unter http catb org esr fags smart questions html Lesen und befolgen sie bitte seine Tipps in dem Dokument das erh ht die Chance das sie eine Antwort auf ihre Frage erhalten mit der sie auch etwas anfangen k nnen Probleme mit Test suites Viele Pakete enthalten eine Test suite Abh ngig von der Wichtigkeit eines Paketes empfehlen wir ihnen die Test suite durchlaufen zu lassen Manchmal erzeugen die Pakete Fehlmeldungen oder unerwartete Ergebnisse Falls sie solchen Problemen begegnen k nnen sie auf den LFS Wiki Seiten unter http wiki linuxfromscratch org nachsehen ob diese Probleme bereits bekannt sind und untersucht wurden Wenn das Problem bereits bekannt ist brauchen sie sich im normalfall keine weiteren Sorgen machen Probleme mit configure Skripten 29 ll Teil Il Vorbereitungen zur Installation Inhaltsverzeichnis 3 Vorbereiten einer neuen Partition 4 Das Material Pakete und Patche 5 Erstellen eines tempor ren Systems Il Teil II Vorbereitungen zur Installation 30 Kapitel 3 Vorbereiten einer neuen Partition Einf hrung In diesem Kapitel bereiten wir die Partition vor die sp ter ihr neues LFS System enthalten wird Wir erstellen die Partition erzeugen ein Dateisystem darauf und h ngen sie anschliessend ein mounten Erstellen einer neuen Partition Um das neue Linux System zu installieren brauchen wir etwas Platz eine leere Partition Wenn sie keine freie Patition und keinen
220. nenne deeg 126 vii Linux From Scratch Table of Contents Kapitel 6 Installieren der grundlegenden System Software Goblostallatopsabb neieketen AA 126 Installation Von Grub ions te in sages basadeveabsieweasaiabasstdnannnasacestocageendvadessdeccdeaseoaeueses ces 126 Installieren von GAP 1 3 5 EE 127 To hall von ATi sn 127 Gzip Installationsabh ngigkeiten 127 Installation Von Gp el A ated tae anse eee rates eh eee ete 127 Installi ren von Man IM da en nn e de 128 Tnh lt vot Man uit ia men ER A eR tete 128 Man lnstallationsabh ngigkeiten ss 128 Installation Von Man incaico ec ace ARA 128 Instalh ren Von Make 3 Oia dea geen 129 Inbaltvon Make iii a a cee Nea DA 129 Make Installationsabh ngigkeiten AE 129 Installation Von Make unidos Eugen een amer tac das 129 Installieren von Meodutle AEN seess nn nenn nenne enssnninsnsnnken rater atan a 130 Inhalt yan M dutils 22 22 e2s2 2 22 EENS EA EES 130 Modutils Installationsabh ngigkeiten ss 130 Installation von Modutils scicsicciscssticdcasasivsesdedageessbosevesssieesabadeduescdcannlacadestacageestvageasacccdeaseceewoeedees 130 Inst llieren von iE EA E A TR EE EEN 130 Tnhalt von Pate info osiris ereit ineen Ze Eege ge Ee EE dE dee 130 Batch Installationsabh ngigkeiten AA 131 Install tion vion P tch 3 amp 8
221. nf Bash Coreutils Diffutils Grep M4 Make Perl Sed Bash Eine Installationsanleitung finden sie im_Abschnitt namens Installieren von Bash 2 05b in Kapitel 6 Offizielle Download Adresse Bash 2 05b ftp ftp gnu org gnu bash Bash Patch http www linuxfromscratch org patches lfs 5 0 bash 2 05b 2 patch Inhalt von Bash Bash ist die Bourne Again SHell ein auf Unix Systemen weit verbreiteter Befehlsinterpreter Die Bash liest Befehle von der Standard Eingabe der Tastatur Ein Anwender gibt etwas ein und die Bash wertet die Eingabe aus Je nach Eingabe reagiert die Bash entsprechend und f hrt zum Beispiel ein Programm aus Installierte Programme bash sh Link auf bash und bashbug Kurze Beschreibungen bash ist ein weit verbreiteter Befehlsinterpreter Er f hrt alle m glichen Arten von Erweiterungen und Ersetzungen an einer Kommandozeile durch bevor diese dann ausgef hrt wird Das macht diesen Befehlsinterpreter zu einem m chtigen Werkzeug bashbug ist ein Shell Skript welches dem Benutzer helfen soll einen Fehlerbericht zur Bash in einem standardisierten Format zu erstellen und per Email zu versenden sh ist ein symbolischer Link auf das bash Programm Wenn die bash als sh aufgerufen wird versucht sie das Verhalten der historischen Versionen von sh so gut wie m glich zu simulieren und bleibt dabei trotzdem POSIX Standardkonform Bash Installationsabh ngigkeiten Bash ist abh ngig von Binutils Coreu
222. nfo 18 24 KB http freshmeat net projects procinfo Procps 3 1 11 242 KB http freshmeat net projects procps Psmisc 21 3 259 KB http freshmeat net projects psmisc Sed 4 0 7 678 KB http freshmeat net projects sed Shadow 4 0 3 760 KB http freshmeat net projects shadow Sysklogd 1 4 1 80 KB http freshmeat net projects sysklogd Sysvinit 2 85 91 KB http freshmeat net projects sysvinit Tar 1 13 25 1 281 KB ftp alpha gnu org gnu tar Tcl 8 4 4 3 292 KB http freshmeat net projects tcltk Texinfo 4 6 1 317 KB Kapitel 4 Das Material Pakete und Patche 36 Linux From Scratch http freshmeat net projects texinfo Util linux 2 12 1 814 KB http freshmeat net projects util linux Vim 6 2 3 193 KB http freshmeat net projects vim Zlib 1 1 4 144 KB http freshmeat net projects zlib Gesamtgr e der Pakete 134 MB Anmerkung Wenn sie das hier lesen ist File 4 04 m glicherweise nicht in dieser Version verf gbar Der Hauptdownloadserver ist daf r bekannt alte Versionen zu l schen wenn neuere verf gbar sind Bitte nutzen sie eine der alternativen download Adressen aus dem entsprechenden Abschnitt in Anhang A Ben tigte Patche Neben all den Paketen ben tigen sie auch einige Patche Dieses umgehen entweder kleine Fehler die von dem Maintainer noch behoben werden oder sie machen kleine Modifikationen und
223. ng E2fsprogs Removed install info commands for e2fsprogs The make install target handles this for us May 10th 2003 gerard Removed all CFLAGS and LDFLAGS variables where they are not essential so not including static binutils GCC and compiling Zlib with fPIC May 10th 2003 gerard Chapter 05 Binutils pass1 pass2 locking in Glibc and adjusting toolchain Changed tooldir to stagel likewise we use tooldir usr in Chapter 6 May 10th 2003 gerard Chapter 05 Kernel headers Removed the usage of cp H because there are distributions out there that do not know about the H option May 10th 2003 gerard New gcc 3 2 3 specs 3 patch May 10th 2003 gerard Chapter 06 Adjusting toolchain Made it more architecture independent May 10th 2003 gerard Chapter 05 Locking in Glibc Made it more architecture independent May 7th 2003 gerard Removed GCC No Debug patches No longer assume gcc core and gcc g packages are downloaded so added appropriate enable languages options Anderungsprotokoll 22 Linux From Scratch e May 7th 2003 gerard Removed Chapter 6 Glibc Pass2 It s not needed anymore with the pure Ifs integration e May 7th 2003 gerard Downgraded to flex 2 5 4a again Newer versions just don t work properly e May 5th 2003 gerard Removed zlib installation from chapter 5 its inclusion was a mistake e May 5th 2003 gerard Various bug fixes that were introdu
224. nglisten f r die Entwicklung des LFS Projektes bereit Unter anderem befinden sich dort auch die Entwickler und Support Mailinglisten Welche Listen es gibt wie sie eine Liste abonnieren k nnen wo sie die Archive finden und vieles mehr erfahren sie unter http www linuxfromscratch org mail html News Server Alle Mailinglisten von linuxfromscratch org sind auch ber das NNTP Protokoll verf gbar Alle Emails an die Mailinglisten werden in die dazugeh rige Newsgruppe kopiert und umgekehrt Der News Server ist erreichbar unter news linuxfromscratch org Ressourcen 23 Linux From Scratch Software Spiegel Das LFS Projekt hat viele Software Spiegel ber die ganze Welt verteilt die die Website zur Verf gung stellen und den Download der ben tigten Programme vereinfachen Bitte besuchen sie http www linuxfromscratch org um eine Liste der aktuellen Software Spiegel einzusehen Kontakt Bitte senden sie alle Fragen und Kommentare direkt zu einer der LFS Mailinglisten siehe oben Aber wenn sie Gerard Beekmans pers nlich erreichen m ssen senden sie eine Email an gerard linuxfromscratch org Danksagungen Wir m chten uns bei allen nachfolgenden Personen und Organisationen f r ihr Mitwirken am Linux From Scratch Projekt bedanken Aktuelle Mitglieder des Projekt Teams e Gerard Beekmans lt gerard linuxfromscratch org gt Linux From Scratch Initiator LFS Projektbetreuer e Matthew Burgess lt matthew linuxfr
225. nnen sehen welche Dateien tats chlich von 1d 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 das alle Dateien beim Linken erfolgreich ge ffnet werden konnten Das n chste zu installierende Paket ist GCC und w hrend dem Durchlauf von configure sehen sie zum Beispiel checking what assembler to use tools i1686 pc linux qnu bin as checking what linker to use tools i686 pc linux gnu bin ld Das ist aus den oben genannten Gr nden wichtig Hier wird auch deutlich das GCC s configure Skript nicht die PATH Verzeichnisse durchsucht um herauszufinden welche Werkzeuge verwendet werden sollen Dennoch werden beim tats chlichen ausf hren von gcc nicht unbedingt die gleichen Suchpfade verwendet Welchen Standard Linker gee wirklich verwendet kann man mittels gec print prog name 1d herausfinden Dateillierte 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 Proprozessor Komilierungs und Assemblierungsphasen inklusive gec s Suchpfaden und der Reihenfolge aus Das n chste zu installierende Paket ist Gilbc Die wichtigsten berlegungen zum kompilieren von Glibc muss man zu Compiler Bin rtools und den Kernel Headern machen Der Compiler ist normalerweise kein Proglem weil Gli
226. no fixinc patch patch Npl i gcc 2 95 3 returntype fix patch echo timestamp gt gcc cstamp h in Die GCC Dokumentation empfiehlt GCC nicht im Quellverzeichnis sondern in einem daf r dedizierten Kompilierverzeichnis zu kompilieren mkdir gcc 2 build cd gcc 2 build Kompilieren und installieren sie den Compiler gec 2 95 3 configure prefix opt gcec 2 95 3 enable shared enable languages c enable threads posix make bootstrap make install Installieren von GCC 2 95 3 141 Linux From Scratch Ein neues chroot Kommando Wenn sie von nun an die chroot Umgebung verlassen und wieder eintreten m chten sollten sie folgendes modifiziertes chroot Kommando verwenden chroot LFS usr bin env i HOME root TERM STERM PS1 u w PATH bin usr bin sbin usr sbin bin bash login Der Grund daf r ist das wir keine Programme mehr aus dem tools Verzeichnis ben tigen Trotzdem sollten wir das tools Verzeichnis noch nicht l schen wir brauchen es noch bis zum Ende des Buches Installieren von LFS Bootscripts 1 12 Gesch tzte Kompilierzeit Os Siu Ungef hr ben tigter Festplattenplatz 0 3 MB Inhalt der LFS Bootskripte Die LFS Bootskripte enthalten Shell Skripte im SysV init Stil Diese Skripte erf llen verschiedene Aufgaben wie zum Beispiel Dateisystempr fungen beim Systemstart das laden von Tastaturmappings Netzwerkeinrichtung oder das Beenden von Prozessen beim herunterfahren des Systems
227. nsthaft schiefgelaufen Sie m ssen alle ihre Schritte noch einmal berpr fen und den Fehler finden und korrigieren Machen sie nicht weiter bevor sie den Fehler nicht beseitigt haben Am wahrscheinlichsten ist das beim manipulieren der Specs Datei etwas nicht richtig funktioniert hat Achten sie besonders darauf das tools 1ib der Prefix zu ihrem dynamischen Linker ist Wenn sie an einer Plattform arbeiten wo der Name des Linkers nicht ld linux so 2 ist K nnte die Ausgabe nat rlich leicht abweichen Wenn sie mit dem Ergebnis zufrieden sind l schen sie die Test Dateien rm dummy c a out Damit ist die Installation der eigenst ndigen in sich geschlossenen toolchain abgeschlossen sie kann nun zum erstellen der restlichen tempor ren Hilfsmittel verwendet werden Installieren von Tcl 8 4 4 Gesch tzte Kompilierzeit 0 9 Siu Ungef hr ben tigter Festplattenplatz 23 MB Inhalt von Tcl Das Tcl Paket enth lt die sog Tool Command Language Installierte Programme tclsh Link auf tclsh8 4 tclsh8 4 Installierte Bibliothek libtcl8 4 so Tcl Installationsabhangigkeiten Tcl ist abh ngig von Bash Binutils Coreutils Diffutils GCC Glibc Grep Make Sed Installieren von Tcl Dieses und die n chsten beiden Pakete werden nur installiert damit wir die Test suites 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
228. nutils Coreutils Diffutils GCC Gettext Glibc Grep Make Sed Findutils Installationsabh ngigkeiten 101 Linux From Scratch Installation von Gawk Als erstes wenden sie einen Patch an um die folgenden Probleme zu beseitigen e Gawk s Standard Platz f r einige seiner ausf hrbaren Dateien ist prefix libexec awk Dieser Pfad ist nicht konform mit dem FHS welches ein Verzeichnis namens 1ibexec noch nicht einmal erw hnt Der Patch erm glicht es die libexecdir Option an das configure Skript zu bergeben sodass wir einen passenderen Ort f r grcat und pwcat verwenden k nnen usr bin e Gawk s Standard Datenverzeichnis ist prefix share awk Aber Paketspezifische Verzeichnisse sollten den Paketnamen und die Versionsnummer enthalten zum Beispiel gawk 7 7 2 und nicht einfach nur den Paketnamen denn es k nnten verschiedene Versionen dieses Pakets auf dem System installiert sein Der Patch ndert den Namen des Datenverzeichnisses auf den korrekten Namen Sprefix share gawk 3 1 3 e Der Patch stellt ausserdem sicher das dieses Datenverzeichnis beim Aufruf von make uninstall wieder entfernt wird patch Npl i gawk 3 1 3 libexecdir patch Bereiten sie nun Gawk zum kompilieren vor configure prefix usr libexecdir usr bin Kompilieren sie das Paket make Dieses Paket enth lt eine Test suite um zu pr fen ob alles korrekt kompiliert wurde Wenn sie sie ausf hren m chten erledigt dies das folgende Kommando f r s
229. o Programme im selben Prefix in Kooperation zusammen funktionieren k nnen und dazu ein wenig GNU Magie benutzen e Durch vorsichtiges anpassen des Standard Linker Suchpfades erreichen wir das Programme nur gegen die gew nschten Bibliotheken gelinkt werden e Vorsichtiges anpassen von gec s specs Dateie um dem Compiler mitzuteilen welcher Dynamische Linker verwendet wird Binutils wird als erstes installiert weil sowohl GCC als auch Glibc beim durchlaufen des configure Skriptes einige Tests zum Assembler und Linker durchf hren und auf dem Ergebnis basierend bestimmte Features ein bzw ausschalten Das ist wichtiger als man anfangs denken mag Ein falsch konfigurierter GCC oder Glibc kann zu Fehlern in der toolchain f hren die erst am Ende der Installation des LFS Systems bemerkt werden Zum Gl ck weisen Fehlschl ge beim durchlaufen der Test suites im Regelfall auf solche Probleme hin bevor zuviel Zeit vergeudet wird Technische Anmerkungen zur toolchain 41 Linux From Scratch Binutils installiert seinen Assembler an zwei Stellen tools bin und tools STARGET_TRIPLET bin In wirklichkeit sind die Programme an der einen Stelle mit denen an der anderen durch einen harten Link verkn pft Ein wichtiger Aspekt des Linkers ist seine Suchreihenfolge f r Bibliotheken Genaue Informationen erh lt man mit 1d und dem Parameter verbose Zum Beispiel 1d verbose grep SEARCH gibt die aktuellen Suchpfade und ihre Reihenfolge aus Sie k
230. ocps Beheben sie ein Problem das w unter bestimmten Bedingungen zum Absturz bringen k nnte patch Npl i procps 3 1 11 locale fix patch Kompilieren sie nun Procps make Installieren sie es make install Und entfernen sie einen toten symolischen Link auf eine Bibliothek rm lib libproc so Installieren von Procps 3 1 11 132 Linux From Scratch Installieren von Psmisc 21 3 Gesch tzte Kompilierzeit 0 1 SS Ungef hr ben tigter Festplattenplatz 2 2 MB Inhalt von Psmisc Das Paket Psmisc enth lt drei Programme zur Verwaltung des proc Verzeichnisses Installierte Programme fuser Killall und pstree Psmisc Installationsabh ngigkeiten Psmisc ist abh ngig von Bash Binutils Coreutils Diffutils GCC Gettext Glibc Grep Make Ncurses Sed Installation von Psmisc Bereiten sie Psmisc zum kompilieren vor configure prefix usr exec prefix Die Bedeutung der configure Option e exec prefix Dadurch werden die Bin rdateien in lib und nicht in usr bin installiert Da die Psmisc Programme h ufig in Bootskripten verwendet werden m ssen sie verf gbar sein auch wenn das usr Dateisystem noch nicht gemountet ist Kompilieren sie das Paket make Und installieren sie es make install Standardm ssig wird Psmisc s pidof Programm nicht mit installiert Das ist normalerweise kein Problem weil wir sp ter das Sysvinit Paket installieren welches eine bessere Version von pidof installiert Aber
231. omipilierproDleme ys ts ees ne EE Ee A 29 Probleme mit Test suites cccccccscssssssssevcescccccessscvsssescccceseccessnsvsscosccesteatsnsvssscsccessensensvsvcees 29 Linux From Scratch Table of Contents II Teil ll Vorbereitungen zur Installation 00 es0sse000s0000seonssensnneennnennsnnennnsnsnnsensnnensnnennnnsnsnssssnssessnee 30 Kapitel 3 Vorbereiten einer neuen Partition ossessssessssessnsennssssnnsensnnsennnennsnsnnnnsnsnssensnnensnnennnnsnsnssssnssessnee 31 SITE 31 Erstellen einer neuen Barton 31 Erstellen eines neuen Dateisystems auf der Papoon conc cccnncnns 31 Einh ngen mounten der neuen Partition ss 32 Kapitel 4 Das Material Pakete und PatcChe cooomsssms 33 Lt Arann a ad 33 Alle Pak ninia in eiii 33 Benotiste Pati A A Rester ndlr de re 37 Kapitel 5 Erstellen eines tempor ren SystemS eossessssessnsennsennssssnssensnnsennnennsnsennnsnsnssessnnessnnennsnsnsnssssnnnessnne 40 EECH Fi NN 40 Technische Anmerkungen zur roolcham ss 41 Bemerkungen zum statischen hoken ss 43 Erstellen des Verzeichnisses SL ESitools coco nnnna cesser cernes 43 Erstellen des B n utzers siii olaaa 44 Vorbereiten der Installationsumgebung ss 45 Installieren von Binutils 2 14 Durchlauf 1 45 Inhalt Eet EE 46 Binutils Installationsabh ngigkeiten s ss 46 Installieren v n Bin tils Geesse ente
232. omscratch org gt LFS allgemeiner Pakete Betreuer LES Buch Autor e Craig Colton lt meerkats bellsouth net gt LFS ALFS BLFS und Ersteller des Tipp Projekt Logo e Jeroen Coumans lt jeroen linuxfromscratch org gt Website Entwickler FAQ Betreuer e Bruce Dubbs lt bdubbs linuxfromscratch org gt LFS Kopf des Qualit tssicherungsteams BLFS Buch Autor e Alex Groenewoud lt alex O linuxfromscratch org gt LFS Buch Autor e Mark Hymers lt markh Olinuxfromscratch org gt CVS Betreuer Ersteller des BLFS Buch fr herer LFS Buch Autor e James Iwanek lt iwanek O linuxfromscratch org gt Mitglied des Teams f r Systemadministration e Nicholas Leippe lt nicholas Olinuxfromscratch org gt Wiki Betreuer e Anderson Lizardo lt lizardo O linuxfromscratch org gt Ersteller und Betreuer der Website Skripte e Bill Maltby lt bill linuxfromscratch org gt LFS Projekt Organisator e Scot Mc Pherson lt scot linuxfromscratch org gt LFS NNTP Gateway Betreuer e Ryan Oliver lt ryan linuxfromscratch org gt Kopf des Test Teams Miterschaffer des PLFS e James Robertson lt jwrober linuxfromscratch org gt Bugzilla Betreuer Wiki Entwickler LES Buch Autor e Greg Schafer lt greg linuxfromscratch org gt Toolchain Betreuer LFS Buch Autor Miterschaffer des PLFS e Tushar Teredesai lt tushar linuxfromscratch org gt BLFS Buch Autor Betreuer des Tip
233. ools include asm cp R include asm generic tools include Installieren sie die Multi Plattform Header Dateien cp R include linux tools include Es gibt einige wenige Header Dateien die autoconf h benutzen Da wir den Kernel jetzt noch nicht konfigurieren m ssen wir die Datei selbst erstellen um m gliche Kompilierfehler zu vermeiden Erstellen sie die leere autoconf h Datei touch tools include linux autoconf h Installieren von Glibc 2 3 2 Gesch tzte Kompilierzeit Liss Sieg Ungef hr ben tigter Festplattenplatz 800 MB Linux Installationsabh ngigkeiten 50 Linux From Scratch Inhalt von Glibc Glibc ist die C Bibliothek sie stellt Systemaufrufe und grundlegende Funktionen wie open malloc printf usw zur Verf gung Die C Bibliothek wird von allen dynamisch gelinkten Programmen verwendet Installierte Programme catchsegv gencat getconf getent glibcbug iconv iconvconfig ldconfig Idd Iddlibc4 locale localedef mtrace nscd nscd_nischeck pcprofiledump pt_chown rpcgen rpcinfo sin sprof tzselect xtrace zdump und zic Installierte Bibliotheken 1d so libBrokenLocale a so libSegFault so libanl a so libbsd compat a libc a so libc_nonshared a libcrypt a so libdl a so libg a libieee a libm a so libmcheck a libmemusage so libnsl a libnss_compat so libnss_dns so libnss_files so libnss_hesiod so libnss_nis so libnss_nisplus so libpcprofile so libpthread a so libresol
234. org gnu texinfo Inhalt von Texinfo Texinfo enthalt Programme zum lesen schreiben und konvertieren von Info Dokumenten System Dokumentation Installierte Programme info infokey install info makeinfo texi2dvi und texindex Kurze Beschreibungen info wird zum lesen von Info Dokumenten benutzt Info Dokumente sind hnlich wie Man pages aber gehen oft tiefer in die Materie als einfach nur die m glichen Parameter zu beschreiben Vergleichen sie zum Beispiel man tar und info tar infokey kompiliert eine Quelldatei mit Info Anpassungen in ein bin res Format install info wird zum installieren von Info Dateien benutzt Es aktualisiert die Eintr ge in der Info Indexdatei Inhalt von Tcl 214 Linux From Scratch makeinfo bersetzt Texinfo Quelldokumente in verschiedene andere Formate Info Dateien reiner Text oder HTML texi2dvi wird zum formatieren von Texinfo Dokumenten in ein Ger teunabh ngiges Format zum drucken benutzt texindex sortiert Texinfo Indexdateien Texinfo Installationsabh ngigkeiten Texinfo ist abh ngig von Bash Binutils Coreutils Diffutils GCC Gettext Glibc Grep Make Ncurses Sed Util linux Eine Installationsanleitung finden sie im_Abschnitt namens Installieren von Util linux 2 12 in Kapitel 6 Offizielle download Adresse Util linux 2 12 http ftp cwi nl aeb util linux Inhalt von Util linux Util linux enth lt verschiedene Werkzeuge Einige der etwas bekannteren Pro
235. ot Skripte auf die sie in Kapitel 6 installiert haben Die meisten der Skripte funktionieren ohne Anpassungen aber ein paar ben tigen eine Grundkonfiguration weil sie zum Beispiel Hardwareabh ngig sind Wie funktioniert der Bootvorgang mit diesen Skripten Linux benutzt eine spezielle Booteinrichtung mit dem Namen SysVinit Es basiert auf dem Konzept der Runlevel Dieses kann von System zu System sehr stark variieren Man kann nicht einfach annehmen weil Dinge in lt hier Distributionsnamen einsetzen gt funktionieren tun sie das auch in LFS LFS hat seinen eigenen Weg wie diese Dinge funktionieren aber grunds tzlich respektieren wir die allgemein blichen Standards SysVinit wir nennen es nun einfach nur init funktioniert nach dem Runlevel Schema Es gibt 7 Runlevel von 0 bis 6 genaugenommen gibt es sogar mehr aber diese sind f r spezialf lle reserviert und werden blicherweise nicht benutzt Die Man page von init beschreibt diese Details genauer Jeder Runlevel korrespondiert mit Dingen die der Computer beim hochfahren ausf hren soll Der Standard Runlevel ist 3 Hier ist eine Beschreibung wie die verschiedenen Runlevel blicherweise eingesetzt werden F hrt den Computer herunter Ein Benutzer Modus Mehr Benutzer Modus ohne Netzwerk Mehr 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
236. oup files shadow files publickey files hosts files dns networks files protocols db files services db files ethers db files mes Clo Files netgroup db files Konfigurieren von Glibc 90 Linux From Scratch End etc nsswitch conf EOF Um herauszufinden in welcher Zeitzone sie sind f hren sie das folgende Skript aus tzselect Wenn sie ein paar Fragen zu ihrer Lokation beantwortet haben wird das Skript den Namen ihrer Zeitzone ausgeben hnlich wie ESTSEDT oder Canada Eastern Erstellen sie dann die Datei etc localtime indem sie folgendes ausf hren cp remove destination usr share zoneinfo Canada Eastern etc localtime Die Bedeutung der Option e remove destination Dadurch wird das entfernen des bereits existierenden symbolischen Links erzwungen Der Grund warum wir kopieren anstatt einen symbolischen Link zu benutzen ist falls usr auf einer separaten Partition liegt Das K nnte z B wichtig werden wenn in den Single User Modus gebootet wird Anstelle von Canada Eastern m ssen sie nat rlich den Namen der Zeitzone einsetzen den ihnen tzselect ausgeben hat Konfigurieren des dynamischen Laders Standardm ssig such der dynamisch Lader 1ib 1d linux so 2 in lib und usr lib nach dynamischen Bibliotheken die von ausf hrbaren Programmen zur Laufzeit ben tigt werden Wenn allerdings Bibliotheken ausserhalb von 1ib und usr 1ib liegen m ssen sie diese Verzeichnisse in etc ld so conf einf gen dam
237. ozusagen der Herzschlag von Linux Wenn der Computer eingeschaltet wird und ein Linux System startet dann ist der Kernel das erste Stiick Software das gestartet wird Der Kernel initialisiert die Ger te und Hardware Komponenten serielle Schnittstellen parallele Schnittstellen Soundkarten Netzwerkkarten IDE und SCSI Controller und vieles mehr Zusammenfassend kann man sagen der Kernel stellt dem System die Hardware zur Verf gung so das die Software damit laufen kann Installierte Dateien Der Kernel und die Kernel Header Linux Installationsabh ngigkeiten Linux ist abh ngig von Bash Binutils Coreutils Findutils GCC Glibc Grep Gzip Make Modutils Perl Sed Installation des Kernel Kompilieren und installieren des Kernels sind nur ein paar Schritte Konfiguration kompilieren und installieren Wenn sie die Methode der Installation in diesem Buch nicht m gen schauen sie in der README Datei im Kernel Quellenverzeichnis nach alternativen Methoden Bereiten sie den Kompiliervorgang mit dem folgenden Kommando vor make mrproper Damit wird sichergestellt das der Kernel absolut sauber ist Das Kernel Team empfiehlt dieses Kommando vor jeder Kernel Installation auszuf hren Sie sollten sich nicht blindlings darauf verlassen das der Kernel Verzeichnisbaum nach dem entpacken sauber ist Konfigurieren sie den Kernel mit der men gef hrten Benutzeroberfl che make menuconfig make oldconfig k nnte
238. primieren genutzt Installierte Bibliotheken libz a so Zlib Installationsabh ngigkeiten Zlib ist abh ngig von Binutils Coreutils GCC Glibc Make Sed Installation von Zlib Zlib enth lt einen potentiellen Puffer berlauf in der gzprintf Funktion welcher wenn er auch schwierig auszunutzen ist durch den folgenden Patch behoben werden sollte patch Npl i zlib 1 1 4 vsnprintf patch Bereiten sie Zlib zum kompilieren vor Installieren von Zlib 1 1 4 98 Linux From Scratch configure prefix usr shared Vorsicht Zlib baut seine gemeinsamen Bibliotheken falsch wenn die CFLAGS Umgebungsvariable gesetzt ist Wenn sie die CFLAGS Umgebungsvariable verwenden f gen sie ihr w hrend dem bauen und der Installation von Zlib fPIC an und entfernen sie es sp ter wieder Kompilieren sie das Paket make Installieren sie die gemeinsamen Bibliotheken make install Kompilieren sie nun die nicht gemeinsamen Bibliotheken make clean configure prefix usr make Dieses Paket enth lt eine Test suite um zu pr fen ob alles korrekt kompiliert wurde Wenn sie sie ausf hren m chten erledigt dies das folgende Kommando f r sie make test Und installieren sie das Paket make install Die gemeinsame Zlib Bibliothek sollte in lib installiert werden Auf diese Weise haben beim booten w hrend usr m glicherweise noch nicht verf bar ist Systemprogramme trotzdem Zugriff zu dieser Bibliothek mv usr lib libz so
239. ps und Patches Projekts e Jeremy Utley lt jeremy linuxfromscratch org gt LFS Buch Autor Bugzilla Betreuer 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 Software Spiegel 24 Linux From Scratch bersetzer e Manuel Canales Esparcia lt macana Olfs es org gt Spanisches LFS Ubersetzerprojekt e Johan Lenglet lt johan linuxfromscratch org gt Franz sisches LFS Ubersetzerprojekt e Anderson Lizardo lt lizardo linuxfromscratch org gt Portugiesisches LFS Ubersetzerprojekt e Thomas Reitelbach lt tr erdfunkstelle de gt Deutsches LFS bersetzerprojekt Softwarespiegel Betreuer e Jason Andrade lt jason dstc edu au gt au linuxfromscratch org Spiegel e William Astle lt lost w net gt ca linuxfromscratch org Spiegel e Baque lt baque cict fr gt Ifs cict fr Spiegel e Stephan Brendel lt stevie stevie20 de gt Ifs netservice neuss de Spiegel e lan Chilton lt ian ichilton co uk gt us linuxfromscratch org linuxfromscratch co uk Spiegel e Fredrik Danerklint lt fredan Ifs fredan org gt se linuxfromscratch org Spiegel e David D W Downey lt pgpkeys O aeternamtech com gt Ifs learnbyexample com Spiegel e Eduardo B Fonseca lt ebfO aedsolucoes com br gt br linuxfromscratch org Spiegel e Hagen Herrschaft lt
240. pt_chown Glibc e pwcat Gawk e pwck Shadow e pwconv Shadow e pwd Coreutils e pwunconv Shadow e py compile Automake e ramsize _Util linux e ranlib Binutils e rarp Net tools e raw Util linux e rc LES Bootscripts e rcp Inetutils e rdev Util linux e re Perl e readelf Binutils e readlink Coreutils e readprofile Util linux e reboot LFS Bootscripts e reboot Sysvinit e red Ed e ref Vim e refer _Groff e rename Util linux e renice Util linux e reset _Ncurses e resize2fs E2fsprogs e resizecons Kbd e rev Util linux e rlogin Inetutils e rm Coreutils e rmdir Coreutils e rmmod Modutils e rmt Tar e rootflags Util linux e route Net tools e rpcgen _Glibc e rpcinfo _Glibc e rsh Inetutils e runlevel Sysvinit e rview Vim e rvim Vim e s2p Perl Anhang B Index aller Programme und Bibliotheken 230 Linux From Scratch e script Util linux e sdiff Diffutils e sed Sed e sendsignals LFS Bootscripts e seq Coreutils e setclock LFS Bootscripts e setfdprm Util linux e setfont Kbd e setkeycodes Kbd e setleds Kbd e setlogcons Kbd e setmetamode Kbd e setsid Util linux e setterm Util linux e setvesablank Kbd e sfdisk Util linux e sg Shadow e sh Bash e shalsum Coreutils e showconsolefont Kbd e showkey Kbd e shred Coreutils e shtags pl Vim e shutdown Sysvin
241. r Festplatte Zweitens Wenn viele Programme die gleichen Bibliotheksfunktionen gleichzeitig nutzen wird dennoch nur eine Kopie der Funktion geladen das spart Arbeitsspeicher Drittens Wenn in einer Bibliotheksfunktion ein Fehler behoben wird oder sie auch einfach nur verbessert erweitert wird m ssen sie nur die eine Bibliothek neu kompilieren anstatt alle Programme neu zu kompilieren die die Bibliothek benutzen Wenn der dynamische Linker so viele Vorteile hat warum linken wir die ersten beiden Pakete in diesem Kapitel dann statisch Das hat drei Gr nde historische den Lerneffekt und technische Hintergr nde Historische Gr nde deshalb weil in fr heren LFS Versionen alle Pakete in diesem Kapitel statisch verlinkt wurden Lerntechnische Gr nde weil es Sinn macht den Unterschied zu kennen Technische weil wir durch diesen Schritt einen weiteren Punkt unabh ngiger vom Host System werden Das bedeutet diese Programme k nnen unabh ngig vom Host System eingesetzt werden Nat rlich k nnten wir auch dann noch ein gut funktionierendes LFS System erstellen wenn diese Pakete dynamisch gelinkt werden Erstellen des Verzeichnisses LFS tools Alle in diesem Kapitel kompilierten Programme werden unter LFS too1s installiert Dadurch trennen wir sie von den Programmen die im n chsten Kapitel installiert werden Die hier kompilierten Programme sind nur tempor re Hilfsmittel und werden kein Teil des endg ltigen LFS Systems Wenn wir diese P
242. r triviale Dinge aus Das beinhaltet das reservieren von Speicher durchsuchen von Verzeichnissen lesen und schreiben von Dateien bearbeiten von Zeichenketten Mustersuche Arithmetik und viele andere Dinge Anstatt Programme zu zwingen das Rad neu zu erfinden stellt das GNU System all diese Basisfunktionen in fertigen Bibliotheken zur Verf gung Die wichtigste dieser Bibliotheken auf jedem Linux System ist die Glibc Es gibt zwei elementare Wege wie man Funktionen einer Bibliothek in ein Programm einbinden kann statisch oder dynamisch Beim statischen linken eines Programmes wird der Code der genutzten Funktionen in die ausf hrbare Datei eingebettet das resultiert in einem relativ umfangreichen und klobigen ausf hrbaren Programm Beim dynamischen linken eines Programmes wird in der ausf hrbaren Datei nur eine Referenz auf den dynamischen Linker den Namen der Bibliothek und den Namen der Funktion eingebettet daraus ergibt sich eine wesentlich kleinere ausf hrbare Datei Ein dritter m glicher Weg ist die Programmierschnittstelle des dynamischen Linkers zu benutzen Schauen sie f r weitere Informationen bitte in die Manpage von dlopen Dynamisches linken ist unter Linux der Standard und hat drei grosse Vorteile gegen ber dem statischen linken Erstens braucht man nur eine Kopie der ausf hrbaren Bibliothek anstatt viele Kopien in allen m glichen ausf hrbaren Dateien eingebettet zu haben nebenbei spart das auch Speicherplatz auf de
243. r EEN eege 46 Installieren von GCC 3 3 1 Durchlauf LN 47 Inh lbyonGCE amp 282 a oases sve eee aie 48 GCC Tostallatopsabh neieketen AE 48 Installieren von GOCE a dt O da ea een 48 Installieren der Linux 2 4 22 Header 49 IO E EE 49 Linux lnstallationsabh ngigkeiten sise 50 Installation der Kernel Header een ege deeg green EAR 50 Inst llierenivonGlbc 2 diia 50 Tala Gl ENEE 51 Glbc Installationsabh ngigkeiten ss 51 Cibe Installations deeg Ee EE 51 RES elle 54 Inst llicrenvon TB A A Ss 55 Inhalt von T l nn nn ARE D Te EE E Be 55 Icl Installationsabh ngigkeiten ss 55 Installi ren von Tech 222er rin rn ee Kee nr Reste 55 Installieren von Expect 5390 282 221 nal nent E E E a a a 56 Inhalt von SE ONO 58 Expect Installationsabh ngigkeiten E 57 Installieren von Expect E 57 Installieren von D j Gn L4 EE 58 Inhalt zon AE EE 58 DejaGnu nstallationsabh ngigkeiten 58 Linux From Scratch Table of Contents Kapitel 5 Erstellen eines tempor ren Systems Installieren VOM DEM Ee dee EE 58 Installieren von GUCC 3 3 1 Durchlaut 7 58 Neuinstallation von E E EE 58 Installieren von Binutils 2 14 Durchlauf 2 no nro rconannan cn no nconononos 61 Neuinstallation von Bin tils no nono nono non nono nono a esr a iEn 61 Installieren von GAWk J a ltda ita dee ataca 62 Inh lt yan Gawk hs esse a E E E E arte ee ee 62 Gawk Installa
244. r Faktor im Regelfall zwischen 2 und 5 Da die meisten Leute vermutlich niemals einen Debugger mit ihrer Systemsoftware einsetzen kann hier eine Menge Platz gespart werden indem wir die debugging Symbole entfernen Um debugging Symbole aus einer Bin rdatei zu entfernen diese muss eine a out oder ELF Bin rdatei sein f hren sie strip strip debug Dateiname aus Um mehrere Dateien gleichzeit zu behandeln k nnen sie Platzhalter verwenden benutzen sie z B strip strip debug LFS tools bin Der Einfachheit halber finden sie in Kapitel 9 ein einziges Kommando mit dem sie alle debugging Symbole von allen Programmen und Bibliotheken auf Ihrem System entfernen k nnen Weitere Informationen zum Thema Optimierung finden sie in einer Anleitung unter http www linuxfromscratch org hints downloads files optimization txt Betreten der chroot Umgebung Es ist nun an der Zeit die chroot Umgebung zu betreten um mit dem installieren der ben tigten Pakete zu beginnen Bevor sie chroot en k nnen m ssen sie erst root werden denn nur root kann das chroot Kommando benutzen So wie schon einmal berpr fen sie das die LFS Umgebungsvariable korrekt ist indem sie echo LFS ausf hren und sicherstellen das sie den Pfad zum Mount Punkt ihrer LFS Partition zeigt Das ist mnt 1 fs wenn sie unserem Beispiel gefolgt sind Werden sie root und f hren sie das folgende Kommando aus um die chroot Umgebung zu betreten chroot LFS tools bin env i
245. r Verf gung so das die Software damit laufen kann Installierte Dateien Der Kernel und die Kernel Header Installieren der Linux 2 4 22 Header 85 Linux From Scratch Linux Installationsabh ngigkeiten Linux ist abh ngig von Bash Binutils Coreutils Findutils GCC Glibc Grep Gzip Make Modutils Perl Sed Installation der Kernel Header Wir werden jetzt noch keinen neuen Kernel kompilieren das erledigen wir wenn wir die Installation aller Pakete abgeschlossen haben Da aber einige Pakete die Kernel Header ben tigen entpacken wir nun das Kernel Archiv bereiten es vor und kopieren die Header Dateien damit sie von diesen Paketen gefunden werden Beachten sie bitte das die Dateien im Kernel Quellverzeichnis nicht root geh ren Immer wenn sie ein Paket als root Benutzer entpacken so wie wir es hier im chroot tun erhalten die entpackten Dateien die Benutzer und Gruppen ID desjenigen der das Archiv erstellt hat Das ist blicherweise f r normale Pakete kein Problem weil sie das Quellverzeichnis nach der Installation l schen Aber die Linux Quellen liegen normalerweise sehr lange auf ihrem Computer daher ist die Chance gross das ein zuk nftiger Benutzer auf ihrem System die Benutzer ID erh lt die ihre Kernel Quellen nun haben und damit w re er der Besitzer dieser Dateien und hat dann auch Schreibrechte darauf Unter diesem Aspekt m chten sie vielleicht chown R 0 0 auf das linux 2 4 22 Verzeichnis anwenden d
246. rch Util linux e arp Net tools e as Binutils e attrs Perl e autoconf Autoconf e autoheader Autoconf e autom4te Autoconf e automake Automake e autopoint Gettext e autoreconf Autoconf e autoscan Autoconf e autoupdate Autoconf e awk Gawk e badblocks E2fsprogs e basename Coreutils e bash Bash e bashbug Bash e bigram Findutils e bison Bison e blkid E2fsprogs e blockdev Util linux e bunzip2 Bzip2 e bzcat Bzip2 e bzcmp Bzip2 e bzdiff Bzip2 e bzegrep Bzip2 e bzfgrep Bzip2 e bzgrep Bzip2 e bzip2 Bzip2 e bzip2recover Bzip2 e bzless Bzip2 e bzmore Bzip2 e c GCC e c filt Binutils Anhang B Index aller Programme und Bibliotheken 221 Linux From Scratch e c2ph Perl e cal Util linux e captoinfo Ncurses e cat Coreutils e catchsegv Glibc e cc GCC e ccl GCC e cclplus GCC e cfdisk Util linux e chage Shadow e chattr E2fsprogs e checkfs LFS Bootscripts e chfn Shadow e chgrp Coreutils e chkdupexe Util linux e chmod Coreutils e chown Coreutils e chpasswd Shadow e chroot Coreutils e chsh Shadow e chvt Kbd e cksum Coreutils e cleanfs LES Bootscripts e clear Ncurses e cmp Diffutils e code Findutils e col Util linux e colcrt Util linux e collect2 GCC e colrm Util linux e column Util linux e comm Coreutils e compile Automake
247. ren von GCC 3 3 1 Installieren von Coreutils 5 0 Installieren von Zlib 1 1 4 Installieren von Lfs Utils 0 3 Installieren von Findutils 4 1 20 Installieren von Gawk 3 1 3 Installieren von Ncurses 3 3 Installieren von Vim 6 2 Installieren von M4 1 4 Installieren von Bison 1 875 Installieren von Less 381 Installieren von Groff 1 19 Linux From Scratch Installieren von Sed 4 0 7 Installieren von Flex 2 5 4a Installieren von Gettext 0 12 1 Installieren von Net tools 1 60 Installieren von Inetutils 1 4 2 Installieren von Perl 5 8 0 Installieren von Texinfo 4 6 Installieren von Autoconf 2 57 Installieren von Automake 1 7 6 Installieren von Bash 2 05b Installieren von File 4 04 Installieren von Libtool 1 5 Installieren von Bzip2 1 0 2 Installieren von Diffutils 2 8 1 Installieren von Ed 0 2 Installieren von Kbd 1 08 Installieren von E2fsprogs 1 34 Installieren von Grep 2 5 1 Installieren von Grub 0 93 Installieren von Gzip 1 3 5 Installieren von Man 1 5m2 Installieren von Make 3 80 Installieren von Modutils 2 4 25 Installieren von Patch 2 5 4 Installieren von Procinfo 18 Installieren von Procps 3 1 11 Installieren von Psmisc 21 3 Installieren von Shadow 4 0 3 Installieren von Sysklogd 1 4 1 Installieren von Sysvinit 2 85 Installieren von Tar 1 13 25 Installieren von Util linux 2 12 Installieren von GCC 2 95 3 Ein neues chroot Kommando Installieren von LES Bootscripts 1 12 Kon
248. rg blfs e 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 e Mailing Listen Es gibt einige Mailing Listen die sie abonnieren k nnen wenn sie mal Hilfe ben tigen Schauen sie f r weitere Informationen unter_Kapitel 1 Mailinglisten e Das Linux Documentation Project Das Ziel des Linux Documentation Project ist es in allen Fragen zu Linux zusammenzuarbeiten Das LDP verf gt ber jede Menge an HOWTOs Anleitungen und Man pages Sie finden es unter http www tldp org Was nun 156 IV Teil IV Anh nge Inhaltsverzeichnis A Paketbeschreibungen und abh ngigkeiten B Index aller Programme und Bibliotheken IV Teil IV Anh nge 157 Anhang A Paketbeschreibungen und abh ngigkeiten Einf hrung Dieser Anhang beschreibt zu jedem installierten Paket die folgenden Details e die offizielle Download Adresse f r das Paket e was das Paket beinhaltet f r was die Programme in dem Paket zust ndig sind e die Voraussetzungen um das Paket kompilieren zu k nnen Die meisten Informationen ber die Pakete vor allem die Beschreibungen wurden den man pages entnommen Wir geben nur die Eckpunkte mit an nicht die gesamte man page so das man einen berblick erh lt was jedes Programm macht Die restlichen Details entnehmen sie b
249. rogramme in Bemerkungen zum statischen linken 43 Linux From Scratch einem separaten Verzeichnis installieren k nnen sie sp ter leichter gel scht werden Falls sie sp ter ihre ausf hrebaren Dateien des Systems durchsuchen m chten um zum Beispiel herauszufinden welche Dateien sie benutzen oder wogegen sie verlinkt sind dann k nnen sie die Suche vereinfachen indem sie einen eindeutigen Namen vergeben Statt dem einfachen tools k nnen sie etwas wie tools fuer Ifs benutzen Erstellen sie das Verzeichnis mit diesem Kommando mkdir LFS tools Im n chsten Schritt erstellen sie auf ihrem Host System einen symbolischen Link nach tools Er zeigt auf das Verzeichnis das wir gerade auf der LFS Partition erstellt haben In s LFS tools Dieser symbolische Link erm glicht es uns die toolchain so zu kompilieren das sie immer tools referenziert das bedeutet f r uns das Compiler Assember und Linker sowohl in diesem Kapitel in dem wir immer noch einige Programme vom Host System benutzen und im n chsten Kapitel wenn wir in die LFS Partition chrooted haben funktionieren werden weil wir immer den gleichen g ltigen Pfad haben Anmerkung Schauen sie sich das obige Kommando genau an Es kann auf den ersten Blick verwirrend sein Das In Kommando hat verschiedene Syntax Variationen also berpr fen sie erst die In manpage bevor sie einen vermeintlichen Fehler berichten Erstellen des Benutzers Ifs Als root Benutzer eingelog
250. rtition Im folgenden Beispiel nehmen wir an das ihre root Partition hda4 ist Sagen sie Grub zuerst wo er seine stage 1 2 Dateien findet sie k nnen die Tabulator Taste verwenden damit Grub Alternativen anzeigt root hd0 3 Das n chste Kommando berschreibt ihren jetzigen Boot loader Wenn das nicht ist was sie wollen f hren sie das Kommando nicht aus Zum Beispiel wenn sie einen Boot loader von einem Dritthersteller benutzen m chten um ihren MBR zu verwalten Master Boot Record In dem Fall w rde es Sinn machen Grub in den Boot Sektor ihrer LFS Partition zu installieren das Kommando w rde dann lauten setup hd0 3 Sagen sie Grub nun das er sich in den MBR von hda installieren soll setup hd0 Wenn alles in Ordnung ist wird Grub nun berichten das er seine Dateien in boot grub findet Das ist alles soweit Das LFS System bootf hig machen 152 Linux From Scratch quit Nun miissen wir die Datei menu lst erstellen welche das Grub Boot Menii definiert 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 tirer Smery as for LES cells mg 5 0 Foot hay 3 kernel boot lfskernel root dev hda4 ro EOF Vielleicht m chten sie einen weiteren Eintrag f r ihr Host System vornehmen Dieser k nnte so aussehen
251. rund ihres Namens und anderer Attribute pkill signalisiert Prozesse basierend auf ihrem Namen oder anderen Attributen pmap gibt eine Speicher bersicht des angegebenen Prozesses aus ps zeigt eine bersicht der laufenden Prozesse an skill sendet Signale an Prozesse die den angegebenen Kriterien entsprechen snice ndert die Priorit t von Prozessen die auf die angegebenen Kriterien passen sysctl ndert Kernelparamter zur Laufzeit tload gibt eine Grafik der aktuellen durchschnittlichen Systemlast aus top zeigt die obersten CPU Prozesse an Es erm glicht eine bersicht ber laufende Prozesse in Echtzeit uptime gibt aus wie lange das System l uft wieviele Benutzer eingeloggt sind und wie hoch die durchschnittliche Systemlast ist vmstat erzeugt Statistiken zur Ausnutzung des virtuellen Speichers gibt Informationen zu Prozessen Speicher Paging Block IO trapsm und CPU Aktivit t aus w zeigt 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 meisten Programmen in diesem Paket benutzt werden Procps Installationsabh ngigkeiten Procps ist abh ngig von Bash Binutils Coreutils GCC Glibc Make Ncurses Psmisc Eine Installationsanleitung finden sie im_Abschnitt namens Installieren von Psmisc 2 3 in Kapitel 6
252. rzeichnis und sucht nach blichen Portabilit tsproblemen und erzeugt eine configure scan Datei die als Basis f r eine configure in Datei zu dem Softwarepaket dienen kann autoupdate ver ndert eine configure in Datei so dass sie nicht mehr die alten Namen der autoconf Makros aufruft sondern die neuen ifnames kann beim schreiben einer configure in Datei f r ein Paket hilfreich sein Es gibt die Bezeichner aus die ein Paket in Preprozessor Konditionen benutzt Wenn ein Paket bereits f r Portabilit t konfiguriert ist kann dieses Kleine Werkzeug helfen herauszufinden welche Tests configure durchf hren muss Es kann einige L cken in autoscan generierten configure in Dateien f llen Autoconf Installationsabh ngigkeiten Autoconf ist abh ngig von Bash Coreutils Diffutils Grep M4 Make Perl Sed Automake Eine Installationsanleitung finden sie im_Abschnitt namens Installieren von Automake 1 7 6 in Kapitel 6 Inhalt von Autoconf 159 Linux From Scratch Offizielle Download Adresse Automake 1 7 6 ftp ftp gnu org gnu automake Inhalt von Automake Automake generiert Makefile in Dateien die danach von Autoconf benutzt werden k nnen Installierte Programme acinstall aclocal aclocal 1 7 automake automake 1 7 compile config guess config sub depcomp elisp comp install sh mdate sh missing mkinstalldirs py compile ylwrap Kurze Beschreibungen acinstall ist ein Skript welches M4 Dateien im aclocal S
253. s ist zwar nicht ideal aber unsere Tests haben gezeigt das die resultierenden Programme identisch zu sein scheinen Von nun an wird jedes kompilierte Programme nur gegen die Bibliotheken in usr 1ib und 1ib gelinkt Das zus tzliche INSTALL tools bin install wird ben tigt weil das Makefile aus dem zweiten Durchlauf immer noch die Referenz auf usr bin install enth lt welches wir noch nicht installiert haben Einige Distributionen enthalten einen Symlink ginstall der Vorrang im Makefile hat und hier Probleme verursachen kann Das obige Kommando k mmert sich auch darum Sie k nnen nun die Binutils Quell und Kompilierverzeichnisse l schen Als n chstes passen sie die GCC Specs Datei an so das sie auf den neuen dynamischen Linker zeigt Wie schon zuvor benutzen wir dazu sed SPECFILE to01s lib gcc 1ib specs amp amp sed e s tools lib ld linux so 2 lib ld linux so 2 g SSPECFILE gt newspecfile amp amp mv f newspecfile SPECFILE amp amp unset SPECFILE Auch hier empfehlen wir den Befehl zu kopieren und einzuf gen Und auch hier ist es wieder sinnvoll die Specs Datei zu berpr fen ob die nderungen tats chlich gemacht wurden Wichtig Wenn sie an einer Plattform arbeiten wo der Name des Linkers nicht ld linux so 2 ist m ssen sie in den obigen Kommandos 1d linux so 2 durch dem Namen des Linkers f r ihre Plattform ersetzen Wenn n tig schlagen sie nochmal im Abschnitt namens Technische Anmerkungen zur
254. s bin strip strip debug Es werden einige Dateien gemeldet deren Format nicht erkannt wurde Die meisten dieser Dateien sind Skripte und keine Bin rdateien Die Warnungen k nnen einfach ignoriert werden Es k nnte sinnvoll sein die Datei etc 1fs release zu erstellen Mit dieser Datei ist es f r sie und f r uns wenn sie uns bei etwas um Hilfe bitten sollten einfach herauszufinden welche LFS Version sie haben Erstellen sie die Datei mit diesem Kommando Kapitel 9 Das Ende 154 Linux From Scratch echo 5 0 gt etc lfs release Werden sie gez hlt M chten sie nun wo sie das Buch durchgearbeitet haben als LFS Benutzer gez hlt werden Dann gehen sie zu http linuxfromscratch org cgi bin Ifscounter cgi und registrieren sie sich als LFS Benutzer indem sie ihren Namen und die Versionsnummer ihre ersten LFS Systems dort eintragen Lassen sie uns nun in ihr LFS booten Neustarten des Systems Jetzt wo s mtliche Software installiert wurde wird es Zeit die chroot Umgebung zu verlassen und den Computer neu zu starten Bevor wir die chroot Umgebung verlassen sollten wir noch die eingeh ngten virtuellen Dateisystem entmounten umount proc umount dev pts Verlassen sie die chroot Umgebung logout Desweiteren k nnen sie nun nach der Installation das too1s Verzeichnis l schen Da das auch die tempor ren Kopien von Tel Expect und DejaGnu l scht die zum ausf hren der toolchain test installiert wurd
255. s die korrekte Wahl auf Glibc basierten Systemen Version 2 2 5 oder h her ist Die zugrundeliegende locale Unterst tzung in der GNU C Bibliothek ist besser als das ansonsten Installieren von DejaGnu 1 4 3 60 Linux From Scratch gew hlte Modell generic welches anwendbar w re wenn sie zum Beispiel Newlibc Sun libc oder eine sonstige libc verwenden w rden Die libstdc Test suite erwartet anscheinend das generic Modell daher wird nicht erwartet das dieses Tests erfolgreich durchlaufen Unerwartete Fehler lassen sich oftmals gar nicht vermeiden Die GCC Entwickler kennen diese blicherweise bereits aber hatten noch keine Zeit diese Fehler zu beheben Kurz gesagt solange ihre Test Ergebnisse nicht grob von denen unter der obigen URL abweichen ist es in Ordnung einfach fortzufahren Schlussendlich installieren sie das Paket make install Anmerkung An diesem Punkt empfehlen wir dringend die Gesamtpr fung die wir fr her in diesem Kapitel gemacht haben noch einmal durchzuf hren Schlagen sie im_Abschnitt namens Die Glibc integrieren nach und wiederholen sie die Pr fung Wenn die Ergebnisse nicht in Ordnung sind haben sie h chstwahrscheinlich vergessen den obig erw hnten GCC Specs Patch anzuwenden Installieren von Binutils 2 14 Durchlauf 2 Gesch tzte Kompilierzeit 1 8 Sen Ungef hr ben tigter Festplattenplatz 108 MB Neuinstallation von Binutils Erstellen sie erneut ein separates Verzeichnis zum komp
256. s gemountet mount proc proc t proc Sie k nnten unter Umst nden Warnungen erhalten besonders eine wie diese warning can t open etc fstab No such file or directory not enough memory Ignorieren sie die Warnung sie ist normal weil das System noch nicht vollst ndig installiert ist und noch einige Dateien fehlen Das einh ngen selbst wird erfolgreich sein und das ist das einzig wichtige zu diesem Zeitpunkt Das devpts Dateisystem wurde schon fr her erw hnt es ist der bliche Weg um Pseudo Terminals PTYs zu implementieren Das devpts Dateisystem wird mit dem folgenden Kommando in das dev pts Verzeichnis eingeh ngt mount devpts dev pts t devpts Falls dieser Befehl mit dieser Meldung fehlschl gt Anmerkung zur FHS Konformit t 82 Linux From Scratch filesystem devpts not supported by kernel dann ist der wahrscheinlichste Grund dafiir das der Kernel des Host Systems ohne devpts Dateisystemunterst tzung kompiliert wurde Sie k nnen mit diesem Kommando berpr fen welche Dateisysteme ihr Kernel unters tzt cat proc filesystems Wenn dort ein Dateisystem mit dem Namen devpts aufgelistet ist k nnen wir das Problem umgehen indem wir das devfs Dateisystem des Host Systems ber unsere dev Verzeichnisstruktur mounten diese erzeugen wir sp ter im Abschnitt Erzeugen der Ger tedateien Makedev Wenn devfs nicht aufgelistet wurde machen sie sich keine Sorgen es gibt noch einen dritten Weg um PTYs in der chroot
257. s vielleicht bereits eine neuere bessere Version Das k nnen sie berpr fen indem sie einen unserer Spiegel aus der Liste von_http www linuxfromscratch org besuchen Konventionen in diesem Buch 13 Linux From Scratch Anderungsprotokoll 5 0 5 November 2003 e Upgrade zu automake 1 7 6 bash 2 05b binutils 2 14 e2fsprogs 1 34 file 4 04 findutils 4 1 20 gawk 3 1 3 gcc 3 3 1 gettext 0 12 1 glibc 2 3 2 glibc 2 3 2 sscanf 1 patch grep 2 5 1 groff 1 19 gzip 1 3 5 less 381 lfs bootscripts 1 12 libtool 1 5 linux 2 4 22 man 1 5m2 man 1 5m2 80cols patch man 1 5m2 manpath patch man 1 5m2 pager patch man pages 1 60 modutils 2 4 25 procps 3 1 11 procps 3 1 11 patch psmisc 21 3 sed 4 0 7 sysvinit 2 85 tar 1 13 25 texinfo 4 6 util linux 2 12 vim 6 2 e Hinzugef gt bash 2 05b 2 patch bison 1 875 attribute patch coreutils 5 0 coreutils 5 0 uname patch coreutils 5 0 hostname 2 patch dejagnu 1 4 3 expect 5 39 0 expect 5 39 0 patch Anderungsprotokoll Linux From Scratch gawk 3 1 3 patch gcc 2 95 3 gcc 2 95 3 2 patch gcc 2 95 3 no fixinc patch gcc 2 95 3 returntype fix patch gcc 3 3 1 no_fixincludes 2 patch gcc 3 3 1 specs 2 patch gcc 3 3 1 suppress libiberty patch grub 0 93 grub 0 93 gcc33 1 patch 4 inetutils 1 4 2 Ifs utils 0 3 ncurses 5 3 etip
258. s zu 5Mb oder weniger schrumpfen Versuchen sie das mit einer herk mmlichen Linux Distribution Man k nnte die verschiedenen Linux Distributionen mit einem Hamburger vergleichen den man in einer Fast Food Kette kauft man weis nie genau was man iBt LFS auf der anderen Seite w re kein Hamburger sondern vielmehr das Rezept wie man einen Hamburger macht Das erm glicht einem das Rezept zu berpr fen ungewollte Zutaten wegzulassen und eigene Zutaten nach Geschmack und Belieben hinzuzuf gen Wenn man dann mit dem Rezept zufrieden ist kann man es zubereiten Dies tut man dann so wie man es gerne h tte braten backen tiefgefrieren grillen oder roh essen ganz wie man will Wir k nnen noch eine weitere Analogie zum Vergleich heranziehen Vergleichen wir LFS mit einem Fertighaus LFS ist der Grundrissplan vom Haus aber bauen m ssen sie es schon selbst Jeder hat die Freiheit den Plan ganz nach Belieben zu ver ndern Nicht zuletzt ist auch Sicherheit ein Vorteil eines selbstgebauten Linux Systems Wer ein Linux System selber aus den Quellen kompiliert hat kann die gesamten Quelltexte sichten und alle Sicherheitspatches installieren die man f r wichtig h lt Man muss nicht darauf warten das jemand anders Bin rpakete zum beheben von Sicherheitsl chern bereitstellt Solange man Patches nicht selber berpr ft und installiert gibt es keine Garantie das das Bin rpaket korrekt kompiliert wurde und das es auch wirklich das Problem behebt Es
259. sdateien bez glich Netzwerkkarten einrichten Falls das der Fall ist m ssen sie alle symbolischen Links mit Namen network aus allen Runlevel Verzeichnissen entfernen etc rc d rc d Konfiguration des Standard Gateway Wenn sie in einem Netzwerk sind m ssen sie wahrscheinlich das Standard Gateway f r diesen Rechner konfiguieren F gen sie den korrekten Wert in die Datei etc sysconfig network ein cat gt gt etc sysconfig network lt lt EOF GATEWAY 192 168 1 2 GATEWAY_IF eth0 EOF Die Werte f r GATEWAY und GATEWAY_IF m ssend angepasst werden sodass sie mit ihrem Netzwerk funktionieren GATEWAY enth lt die IP Adresse f r das Standard Gateway und GATEWAY_IF enth lt das Netzwerkger t ber welches das Standard Gateway erreicht werden kann Erstellen der Netzwerkger te Konfigurationsdateien Welche Netzwerkger te von den Skripten gestartet und gestoppt werden h ngt von den Dateien in etc sysconfig network devices ab Dieses Verzeichnis soll Dateien der Form ifconfig xyz enthalten wobei xyz der Name eines Netzwerkger tes ist wie zum Beispiel ethO oder eth0 1 Wenn sie das Verzeichnis etc sysconfig network devices umbenennen oder verschieben m chten aktualisieren sie auch in der Datei etc sysconfig rc den Pfad zu network_devices Nun erzeugen wir neue Dateien mit dem folgenden Inhalt Das folgende Kommando erzeugt eine Beispieldatei ifconfig eth0 cat gt etc sysconfig network devices ifconfig
260. ser Art haben mich gest rt Wenn ich vollends mit meinem Linux zufrieden sein wollte musste ich es nur mit Hilfe der Quellen selbst von Grund auf erstellen Ich beschloss weder vorkompilierte Pakete noch eine Cdrom oder Bootdisk f r die Installation der Basiswerkzeuge zu benutzen Ich w rde mein gerade laufendes Linux System verwenden um mein eigenes Linux zu entwickeln Diese Idee schien zu diesem Zeitpunkt sehr schwierig und oft schien sie sogar unm glich umzusetzen zu sein Nachdem ich jedoch alle m glichen Probleme wie Abh ngigkeiten und Kompilierfehler aus der Welt geschafft hatte war mein eigenes Linux System gebaut und voll funktionsf hig Ich nannte es Linux From Scratch System kurz LFS Ich hoffe sie haben viel Freude beim erstellen ihres eigenen LFS Gerard Beekmans gerard linuxfromscratch org Die Zielgruppe Wer dieses Buch wahrscheinlich lesen m chte Es gibt viele Gr nde warum jemand dieses Buch m glicherweise lesen m chte Der Hauptgrund ist ein Linux System direkt aus den Quelltexten erstellen zu wollen Eine Frage die viele Leute stellen ist Warum soll ich mir die gro e M he machen ein Linux System von der Basis an zu erstellen wenn ich einfach ein existierendes Linux herunterladen und installieren kann Das ist nat rlich eine berechtigte Frage und gleichzeitig auch der Ansto f r dieses Kapitel des Buches Ein wichtiger Grund f r die Existenz von LFS ist dem Leser beizubringen wie Linux von
261. setzungskatalog einen bin ren Katalog msggrep extrahiert alle Nachrichten aus einem Katalog die auf ein bestimmtes Muster passen oder zu einer bestimmten Quelldatei geh ren msginit erzeugt eine neue po Datei und initialisiert die Meta Informationen mit Werten aus der Umgebung des Benutzers msgmerge kombiniert zwei rohe bersetzungen in eine einzige Datei msgunfmt macht aus einem bin ren Katalog einen rohen Nachrichtenkatalog in Textform msguniq vereinheitlicht doppelte bersetzungen in einem Nachrichtenkatalog ngettext zeigt die bersetzung einer Textnachricht an deren Grammatik von einer Zahl abh ngt xgettext extrahiert alle bersetzbaren Nachrichten aus den angegebenen Quelldateien um eine erste Nachrichtenkatalogvorlage zu erstellen libasprintf definiert die autosprintf Klasse sie macht C formatierte Routinen in C Programmen verf gbar vor allem zur Verwendung mit lt string gt Strings und den lt iostream gt Streams libgettextlib ist eine private Bibliothek die die allgemeinen Routinen der verschiedenen gettext Programme enth lt Sie sind nicht zur normalen Verwendung gedacht libgettextpo wird zum schreiben von spezialisierten Programmen verwendet die PO Dateien verarbeiten sollen Diese Bibliothek wird benutzt wenn die mitgelieferten Standardprogramme von gettext nicht ausreichen so wie msgcomm msgcmp msgattrib und msgen libgettextsre ist eine private Bibliothek die die allgemeinen Routinen der verschi
262. st rende Meldung mkdir tools etc touch tools etc ld so conf Zus tzlich hat die Glibc ein Problem wenn sie mit GCC 3 3 1 kompiliert wird Wenden sie den folgenden Patch an um das Problem zu beheben Inhalt von Glibc 51 Linux From Scratch patch Npl i glibc 2 3 2 sscanf 1 patch Die Glibc Dokumentation empfiehlt nicht im Quellenverzeichnis sondern in einem daf r dedizierten Verzeichnis zu kompilieren mkdir glibc build cd glibc build Als n chstes bereiten sie Glibc zum kompilieren vor glibc 2 3 2 configure prefix tools disable profile enable add ons with headers tools include with binutils tools bin without gd Die Bedeutung der configure Optionen e disable profile Dies sorgt daf r das Bibliotheken ohne profiling Informationen erzeugt werden Lassen sie diese Option weg wenn sie mit den erzeugten Bibliotheken profiling betreiben m chten e enable add ons Dies aktiviert alle Zus tze die zu Glibc installiert wurden in unserem Fall Linuxthreads e with binutils tools bin und with headers tools include Genaugenommen werden diese Optionen nicht ben tigt Aber sie stellen sicher das in Bezug auf die Kernel Header und Binutils Programme nichts schiefgehen kann e without gd Diese Option stellt sicher das wir nicht das memusagestat Programm erzeugen welches seltsamerweise immer gegen die Host Bibliotheken libgd libpng libz und so weiter verlinkt wird W
263. stallieren sie die Module make CC opt gcc 2 95 3 bin gcc modules_install Weil ohne Dokumentation nichts komplett ist erzeugen sie die Man pages die mit dem Kernel kommen make mandocs Und installieren sie diese cp a Documentation man usr share man man9 Kernel kompilieren ist nun abgeschlossen aber einige der erzeugten Dateien befinden sich noch im Quellverzeichnis Um die Installation abzuschliessen m ssen zwei Dateien in das boot Verzeichnis kopieren Der Pfad zu der Kerneldatei variiert abh ngig von der benutzten Plattform auf der sie arbeiten Geben sie das folgende Kommando ein um den Kernel zu installieren cp arch i386 boot bzImage boot lfskernel System map ist eine Symboldatei 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 System map boot Installieren von Linux 2 4 22 151 Linux From Scratch Das LFS System bootfahig machen Ihr frisches LFS System ist beinahe komplett Eines der letzten Dinge ist sicherzustellen das es booten kann Die untenstehende Anleitung gilt nur auf Computern mit IA 32 Architektur dazu geh ren alle handels blichen PCs Informationen zum boot loading auf anderen Architekturen finden sie and den blichen Dokumentationsquellen zu diesen Architekturen Das booten kann ein komplexes Thema sein Hier erstmal ein paar warnende Worte Si
264. stplattenplatz 2 9 MB Inhalt von Modutils Das Modutils Paket enth lt diverse Programme zur Verwaltung von Kernel Modulen Installierte Programme depmod genksyms insmod insmod_ksymoops_clean kallsyms Link auf insmod kernelversion ksyms Link aus insmod Ismod Link auf insmod modinfo modprobe Link auf insmod und rmmod Link auf insmod Modutils Installationsabh ngigkeiten Modutils ist abh ngig von Bash Binutils Bison Coreutils Diffutils Flex GCC Glibc Grep M4 Make Sed Installation von Modutils Bereiten sie Modutils zum kompilieren vor configure Kompilieren sie das Paket make Und installieren es make install Installieren von Patch 2 5 4 Gesch tzte Kompilierzeit OPS Ungef hr ben tigter Festplattenplatz 1 9 MB Inhalt von Patch Patch manipuliert Dateien auf Basis einer Patch Datei Eine Patch Datei ist blicherweise eine Liste mit Anderungsanweisungen die mit Hilfe des Programms diff erzeugt wurde Installiertes Programm patch Installieren von Modutils 2 4 25 130 Linux From Scratch Patch Installationsabh ngigkeiten Patch ist abh ngig von Bash Binutils Coreutils Diffutils GCC Glibc Grep Make Sed Installation von Patch Bereiten sie Patch zum kompilieren vor CPPFLAGS D_GNU_SOURCE configure prefix usr Auch hier wird die Preprozessor Option D_GNU_SOURCE nur auf PowerPC ben tigt Auf anderen Architekturen k nnen sie sie weglassen Kompilieren sie
265. swapoff Link auf swapon swapon test bash test tcsh tunelp ul umount vidmode Link auf rdev whereis und write Util linux Installationsabhangigkeiten Util linux ist abh ngig von Bash Binutils Coreutils Diffutils GCC Gettext Glibc Grep Make Ncurses Sed Zlib Installieren von Util linux Util linux verwendet nicht die gerade frisch installierten Header und Bibliotheken im tools Verzeichnis Das korrigieren wir durch anpassen des configure Skriptes cp configure configure backup sed s usr include tools include g configure backup gt configure Bereiten sie Util linux zum kompilieren vor configure Kompilieren sie einige Subroutinen make C lib Da wir nur ein paar ausgew hlte Werkzeuge aus diesem Paket ben tigen kompilieren wir auch nur diese Installieren von Util linux 2 12 75 Linux From Scratch make C mount mount umount make C text utils more Nun kopieren wir diese Programme in unser tempor res tools Verzeichnis cp mount u mount text utils more tools bin Installieren von Perl 5 8 0 Gesch tzte Kompilierzeit UL SEO Ungef hr ben tigter Festplattenplatz 74 MB Inhalt von Perl Das Perl Paket enth lt die Skriptsprache Perl Practical Extraction and Report Language Perl kombiniert einige der besten Merkmale von C sed awk und sh in einer einzigen m chtigen Skriptsprache Installierte Programme a2p c2ph dprofpp enc2xs find2perl h2ph h2xs libnetcfg perl perl5
266. t Lfs Utils e iconv Glibc e iconvconfig _Glibc e id Coreutils e ifconfig Net tools e ifdown LES Bootscripts e ifnames Autoconf e ifup LFS Bootscripts e igawk Gawk e indxbib Groff e info Texinfo e infocmp Ncurses e infokey Texinfo e infotocap Ncurses e init Sysvinit e insmod Modutils e insmod_ksymoops_clean Modutils e install Coreutils e install info Texinfo e install sh Automake e iperm Util linux e ipcs Util linux e isosize Util linux e join Coreutils e kallsyms Modutils e kbdrate Kbd e kbd_mode Kbd e kernelversion Modutils e kill Procps e kill Coreutils e kill Util linux e killall Psmisc e killall5 Sysvinit e klogd Sysklogd e ksyms Modutils e last Sysvinit e lastb Sysvinit e lastlog Shadow e ld Binutils e ld so Glibc e Idconfig Glibc e Idd Glibc Anhang B Index aller Programme und Bibliotheken 225 Linux From Scratch e lddlibc4 Glibc e less Less e less sh _Vim e lessecho Less e lesskey Less e lex Flex e libanl Glibc e libasprintf Gettext e libbfd Binutils e libblkid E2fsprogs e libBrokenLocale _Glibc e libbsd compat Glibc e libbz2 Bzip2 e libe Glibc e libcom_err E2fsprogs e liberypt Glibe e libcurses Ncurses e libc_nonshared Glibc e libdl Glibc e libe2p E2fsprogs e libext2fs E2fsprogs e libfl Flex e libform Ncurses
267. t abh ngig von Bash Binutils Bison Coreutils Diffutils Flex GCC Gettext Glibc Grep Gzip M4 Make Sed Less Eine Installationsanleitung finden sie im_Abschnitt namens Installieren von Less 381 in Kapitel 6 Offizielle Download Adresse Less 381 ftp ftp gnu org gnu less Inhalt von Less Less ist ein Textanzeigeprogramm Es zeigt den Inhalt von Dateien oder Datenstr men an Less hat einige Merkmale die more nicht hat wie zum Beispiel die M glichkeit r ckw rts zu scrollen Installierte Programme less lessecho und lesskey Kurze Beschreibungen less ist ein Dateibetrachter Er zeigt den Inhalt einer Datei an und l sst sie darin scrollen Zeichenketten finden und zu Markierungen springen lessecho wird zum expandieren von Metazeichen in Unix Dateinamen ben tigt sowie und p H lesskey wird zum angeben der Tastenbindungen f r less benutzt Kbd Installationsabh ngigkeiten 191 Linux From Scratch Less Installationsabh ngigkeiten Less ist abh ngig von Bash Binutils Coreutils Diffutils GCC Glibc Grep Make Ncurses Sed LFS Bootskripte Eine Installationsanleitung finden sie im_Abschnitt namens nstallieren von LES Bootscripts 1 12 in Kapitel 6 Offizielle Download Adresse LFS Bootskripte 1 12 http downloads linuxfromscratch org Inhalt der LFS Bootskripte Die LFS Bootskripte enthalten Shell Skripte im SysV init Stil Diese Skripte erf llen verschiedene Aufgaben wie zum Be
268. t eine Sammlung von Software Entwicklungswerkzeugen zum Beispiel Linker Assembler und weitere Programme f r die Arbeit mit Objektdateien und Archiven Installierte Programme addr2line ar as c filt gprof ld nm objcopy objdump ranlib readelf size strings und strip Installierte Bibliotheken libiberty a libbfd a so und libopcodes a so Binutils Installationsabh ngigkeiten Binutils ist abh ngig von Bash Coreutils Diffutils GCC Gettext Glibc Grep Make Perl Sed Texinfo Installation von Binutils Jetzt ist ein guter Zeitpunkt um zu berpr fen das pseudo Terminals PTYs in ihrer chroot Umgebung funktionieren Mit dem folgenden schnellen Test berpr fen wir ob alles korrekt konfiguriert ist expect c spawn 1s Wenn sie die Nachricht The system has no more ptys Ask your system administrator to create more erhalten sind PTYs nicht korrekt konfiguriert In dem Fall macht es keinen Sinn die Tests f r Binutils und GCC laufen zu lassen solange sie das Problem nicht behoben haben Schlagen sie bitte im_Abschnitt namens Einh ngen des proc und devpts Dateisystems und mm Abschnitt namens Erstellen der Ger tedateien Installieren von Binutils 2 14 93 Linux From Scratch Makedev 1 7 nach und f hren sie die empfohlenen Schritte durch um das Problem zu beseitigen Anmerkung Die Binutils Test suite in diesem Abschnitt wird als kritisch eingestuft Wir raten ihnen die Tests unter keinen Umst nden z
269. tallation von Net tools Wenn sie nicht wissen was sie w hrend dem ausf hren von make config auf die Fragen antworten sollten dann akzeptieren sie einfach den Vorgabewert Das ist in den meisten F llen richtig Sie werden einige Fragen gestellt bekommen welche Netzwerkprotokolle sie im Kernel aktiviert haben Die Standardantworten aktivieren die Programme mit den g ngigen Protokollen TCP PPP und einigen anderen Sie m ssen diese Protokolle dann noch im Kernel aktivieren was sie hier tun ist nur die Vorbereitung der Programme damit sie diese Protokolle sp ter benutzen K nnen aber es ist immer noch Sache des Kernels diese Protokolle auch wirklich zur Verf gung zu stellen Beheben sie zuerst ein kleines Problem in den Quellen des mii Hilfsprogramm patch Npl i net tools 1 60 miitool gcc33 1 patch Bereiten sie nun Net tools zum kompilieren vor make config Wenn sie generell die Standardwerte annehmen m chten die ihnen von make config vorgeschlagen werden dann k nnen sie stattdessen auch yes make config ausf hren Kompilieren sie das Paket make Und installieren sie es make update Installieren von Inetutils 1 4 2 Gesch tzte Kompilierzeit 0 2 SBU Ungef hr ben tigter Festplattenplatz 11 MB Inhalt von Inetutils Inetutils enth lt verschiedene Netzwerk Clients und Server Installierte Programme ftp ping rcp rlogin rsh talk telnet und tftp Net tools Installationsabh ngigkeiten 112 Linux Fro
270. te Informationen ber die Ger tedateien finden sie in der Datei Documentation devices txt in den Linux Kernel Quellen Installiertes Skript MAKEDEV MAKEDEV Installationsabh ngigkeiten Make ist abh ngig von Bash Coreutils Erstellen von Ger tedateien Beim entpacken von MAKEDEV 1 7 bz2 wird keine neues Verzeichnis erstellt in welches sie cd en k nnten da es nur ein Shell Skript enth lt Installieren sie das MAKEDEV Skript bzcat MAKEDEV 1 7 bz2 gt dev MAKEDEV chmod 754 dev MAKEDEV Erstellen der Ger tedateien Makedev 1 7 84 Linux From Scratch F hren sie das Skript aus um die Ger tedateien zu erzeugen cd dev MAKEDEV v generic nopty Die Bedeutung der Argumente e v Dadurch wird das Skript gespr chiger der sogenannte verbose Modus e generic nopty Das weist MAKEDEV an die bliche Auswahl der g ngigen Spezialdateien zu erstellen ausser der ptyXX und ttyXX Dateien Wir brauchen diese Dateien nicht weil wir Unix98 PTYs ber das devpts Dateisystem benutzen werden Falls sich herausstellen sollte das ihnen z B die Spezialdatei zzz fehlt f hren sie einfach MAKEDEV v zzz aus Alternativ k nnen sie auch das mknod Programm dazu benutzen Bitte lesen sie seine Manpage wenn sie dazu mehr Informationen ben tigen Falls sie desweiteren im Kapitel Einh ngen des proc und devpts Dateisystem Schwierigkeiten beim mounten hatten ist jetzt eine gute Gelegenheit die Alternativen zu
271. ten mit Bibliotheken die dlopen verwenden Kurze Beschreibungen 194 Linux From Scratch Libtool Installationsabh ngigkeiten Libtool ist abh ngig von Bash Binutils Coreutils Diffutils GCC Glibc Grep Make Sed Linux der Kernel Eine Installationsanleitung finden sie im_Abschnitt namens Installieren von Linux 2 4 22 in Kapitel 8 Offizielle Download Adresse Linux 2 4 22 ftp ftp kernel org pub linux kernel Inhalt von Linux Der Linux Kernel ist der Kern eines jeden Linux Systems Er ist sozusagen der Herzschlag von Linux Wenn der Computer eingeschaltet wird und ein Linux System startet dann ist der Kernel das erste St ck Software das gestartet wird Der Kernel initialisiert die Ger te und Hardware Komponenten serielle Schnittstellen parallele Schnittstellen Soundkarten Netzwerkkarten IDE und SCSI Controller und vieles mehr Zusammenfassend kann man sagen der Kernel stellt dem System die Hardware zur Verf gung so das die Software damit laufen Kann Installierte Dateien Der Kernel und die Kernel Header Kurze Beschreibungen Der kernel ist der Motor ihres GNU Linux Systems Nach dem einschalten ihres Rechners ist der Kernel der erste Teil des Betriebssystems der geladen wird Er erkennt und initialisiert alle Komponenten ihrer Computer Hardware und macht diese Komponenten f r die Software verf gbar Er verwandelt eine CPU in eine Multitasking Maschine die unz hlige Programme scheinbar zur gleichen Zeit ausf
272. ter http linuxfromscratch org Ifs print oder noch besser sie probieren eine alternative Download Methode aus beschrieben auf der Seite http linuxfromscratch org lfs packages html Sie m ssen alle heruntergeladenen Pakete und Patche an einem Ort speichern auf den sie w hrend des gesamten Buch einfachen Zugriff haben Weiterhin brauchen sie ein Arbeitsverzeichnis in dem sie die Quellen entpacken und kompilieren k nnen Eine gute Vorgehensweise ist das Verzeichnis SLFS sources zum speichern der Quellen und Patche und als Arbeitsverzeichnis zu benutzen So ist alles was sie ben tigen immer auf der LFS Partition abgelegt und in allen Arbeitsschritten des Buches verf gbar Wie empfehlen ihnen daher folgendes Kommand als root auszuf hren bevor sie mit dem herunterladen der Pakete beginnen mkdir LFS sources Machen sie dieses Verzeichnis f r normale Benutzer beschreibbar und sticky denn sie werden das downloaden der Pakete nicht als root durchf hren Wir schlagen folgendes Kommando vor chmod a wt LES sources Alle Pakete Laden sie die folgenden Pakete herunter Autoconf 2 57 792 KB http freshmeat net projects autocont Automake 1 7 6 545 KB http freshmeat net projects automake Bash 2 05b 1 910 KB Kapitel 4 Das Material Pakete und Patche 33 Linux From Scratch http freshmeat net projects gnubash Binutils 2 14 10 666 KB http freshmeat net projects binutils Bison
273. til installiert aclocal erzeugt basierend auf dem Inhalt von configure in Dateien entsprechende aclocal m4 Dateien automake ist ein Werkzeug zum automatischen erzeugen von Makefile in s aus sog Makefile am Dateien Um alle Makefile in Dateien eines Pakets zu erzeugen lassen sie dieses Programm im Hauptverzeichnis des Pakets laufen Durch das scannen von configure in findet es automatisch jede n tige Makefile am Datei und erzeugt die entsprechende Makefile in Datei compile ist ein Wrapper fiir Compiler config guess ist ein Skript das versucht kanonische Triplets fiir das Build den Host oder die Zielarchitektur zu erraten config sub ist ein Sub Skript zum validieren der Konfiguration depcomp ist ein Skript zum kompilieren eines Programmes so das nicht nur die gew nschte Ausgabe erzeugt wird sondern auch Informationen zu Abh ngigkeiten elisp comp kompiliert Emacs Lisp Code install sh ist ein Skript welches ein Programm Skript oder eine Datendatei installiert mdate sh ist ein Skript welches die Ver nderungszeigt einer Datei oder eines Verzeichnisses ausgibt missing ist ein Skript f r fehlende GNU Programme w hrend der Installation mkinstalldirs ist ein Skript zum erzeugen eines Verzeichnisbaumes py compile kompiliert ein Python Programm ylwrap ist ein Wrapper f r lex und yacc Offizielle Download Adresse 160 Linux From Scratch Automake Installationsabh ngigkeiten Automake ist abh ngig von Autoco
274. tils e free Procps e fsck E2fsprogs e fsck cramfs Util linux Anhang B Index aller Programme und Bibliotheken 223 Linux From Scratch e fsck ext2 E2fsprogs e fsck ext3 E2fsprogs e fsck minix Util linux e ftp Inetutils e functions LES Bootscripts e fuser Psmisc e g GCC e gawk Gawk e gcc GCC e gccbug GCC e gcov GCC e gencat Glibc e senksyms Modutils e geqn Groff e getconf _Glibc e getent _Glibc e getkeycodes Kbd e getopt Util linux e gettext Gettext e gettextize Gettext e setunimap Kbd e glibcbug _Glibc e gpasswd Shadow e gprof Binutils e grcat Gawk e grep Grep e grn Groff e grodvi Groff e groff Groff e groffer Groff e grog Groff e grolbp Groff e srolj4 Groff e grops Groff e grotty Groff e groupadd Shadow e groupdel Shadow e groupmod Shadow e groups Shadow e groups Coreutils e grpck Shadow e srpconv Shadow e grpunconv Shadow e gtbl Groff e sunzip Gzip e gzexe Gzip e gzip Gzip e h2ph Perl e h2xs Perl e halt LES Bootscripts e halt Sysvinit Anhang B Index aller Programme und Bibliotheken 224 Linux From Scratch e head Coreutils e hexdump Util linux e hostid Coreutils e hostname Gettext e hostname Net tools e hostname Coreutils e hpftodit Groff e http get Lfs Utils e hwclock Util linux e jana ne
275. tils Diffutils GCC Gettext Glibc Grep Make Perl Sed DejaGnu Eine Installationsanleitung finden sie im_Abschnitt namens Installieren von DejaGnu 1 4 3 in Kapitel 5 Offizielle Download Adresse DejaGnu 1 4 3 ftp ftp gnu org gnu dejagnu Inhalt von DejaGnu Das Paket DejaGnu enth lt ein Grundgeriist zum testen anderer Programme Installiertes Programm runtest Kurze Beschreibung runtest ist das Wrapper Skript das die korrekte expect Shell findet und DejaGnu ausfiihrt DejaGnu Installationsabh ngigkeiten Dejagnu ist abh ngig von Bash Binutils Coreutils Diffutils GCC Glibc Grep Make Sed Diffutils Eine Installationsanleitung finden sie im_Abschnitt namens Installieren von Diffutils 2 8 1 in Kapitel 6 Offizielle Download Adresse Diffutils 2 8 1 ftp ftp gnu org gnu diffutils Inhalt von Diffutils Die Programme dieses Pakets k nnen die Unterschiede zwischen zwei Dateien oder Verzeichnissen anzeigen Die haufigste Anwendung ist das erstellen von Software Patches Installierte Programme cmp diff diff3 und sdiff Coreutils Installationsabhangigkeiten 170 Linux From Scratch Kurze Beschreibungen cmp vergleicht zwei Dateien und berichtet ob und an welchen Bytes sie sich unterscheiden diff vergleicht zwei Dateien oder Verzeichnisse und berichtet welche Zeilen sich in den Dateien unterscheiden diff3 vergleicht drei Dateien Zeile f r Zeile sdiff verschmelzt interaktiv zwei Dateie
276. tils Diffutils Gawk GCC Glibc Grep Make Ncurses Sed Automake Installationsabh ngigkeiten 161 Linux From Scratch Binutils Eine Installationsanleitung finden sie im_Abschnitt namens Installieren von Binutils 2 14 in Kapitel 6 Offizielle Download Adresse Binutils 2 14 ftp ftp gnu org gnu binutils Inhalt von Binutils Binutils ist eine Sammlung von Software Entwicklungswerkzeugen zum Beispiel Linker Assembler und weitere Programme fiir die Arbeit mit Objektdateien und Archiven Installierte Programme addr2line ar as c filt gprof ld nm objcopy objdump ranlib readelf size strings und strip Installierte Bibliotheken libiberty a libbfd a so und libopcodes a so Kurze Beschreibungen addr2line bersetzt Programmadressen in Dateinamen und Zeilennummern Mithilfe der Adresse und dem Namen der ausf hrbaren Datei benutzt es die debugging Informationen in der Datei um die korrespondierende Quelldatei und Zeilennummer zu der Adresse herauszufinden ar erzeugt bearbeitet und extrahiert von Archiven Ein Archiv ist eine einzige Datei die eine Sammlung anderer Dateien enth lt Die Struktur des Archivs macht es m glich einzelne originale Dateien aus dem Archiv zu erhalten auch Member eines Archivs genannt as ist ein Assembler Er assembliert die Ausgabe von GCC zu Objektdateien c filt wird vom Linker benutzt um verstiimmelte C und Java Symbole zu reparieren und so Konflikte mit berladenen Funkt
277. tionalisierung von GNU Programmen funktioniert mithilfe der sogenannten locales Wir installieren nun die Glibc locales make localedata install locales Als Alternative zu dem vorigen Kommando k nnen sie auch nur die locales installieren die sie brauchen oder wollen Das erreichen sie mit dem localedef Kommando Informationen dazu finden sie in der Datei INSTALL in den Quellen zu glibc 2 3 2 Jedoch gibt es einige locales die essentiell f r die Tests von weiteren Paketen sind im einzelnen die libstdc Tests von GCC Die folgenden Anweisungen anstelle des install locales target oben installieren einen minimalen Satz an locales die notwendig sind um die nachfolgenden Tests erfolgreich abschliessen zu k nnen mkdir p tools 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 es_MX f ISO 8859 1 es_MX localedef i fr_FR f ISO 8859 1 fr_FR localedef i fr_FR euro f ISO 8859 15 fr_FR euro localedef i it_IT f ISO 8859 1 it_IT localedef i ja_JP f EUC JP ja_JP Inhalt von Glibc 53 Linux From Scratch Die Glibc integrieren Jetzt wo die tempor ren C Bibliotheken installiert sind wollen wir alle Werkzeuge im Rest des Kapitels gegen diese Bibliotheken verlinken Um das zu erreichen m ssen wir den Linker und die Spec Datei des Compilers anpassen
278. tionen bearbeiten swapdev setzt ein Swap Ger t in einem bootf higen Abbild swapoff deaktiviert Auslagerungsdateien und ger te swapon aktiviert Auslagerungsdateien und ger te Texinfo Installationsabh ngigkeiten 217 Linux From Scratch tunelp justiert Parameter eines Zeilendruckers ul ist ein Filter zum bersetzen von unterstrichen in Escape Sequenzen zum unterstreichen die ein verwendetes Terminal versteht umount l st ein Dateisystem aus dem System Verzeichnisbaum vidmode kann zum setzen des Videomodus in einem bootf higen Abbild benutzt werden whereis gibt den Ort einer Bin rdatei der Quellen und der Man page f r ein Kommando an write sendet eine Nachricht an einen Benutzer Zumindest solange der Benutzer solche Nachrichten nich deaktiviert hat Util linux Installationsabh ngigkeiten Util linux ist abh ngig von Bash Binutils Coreutils Diffutils GCC Gettext Glibc Grep Make Ncurses Sed Zlib Vim Eine Installationsanleitung finden sie im_Abschnitt namens Installieren von Vim 6 2 in Kapitel 6 Offizielle download Adresse Vim 6 2 ftp ftp vim org pub editors vim unix Inhalt von Vim Vim enth lt einen sehr anpassungsf higen Text Editor extra programmiert zum effizienten bearbeiten von Text 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 teltags vi Link auf vim v
279. tionsabh ngigkeiten ss 161 EE EE 161 Oftizielle Download Adresse dirt ads Eed 161 RA O O 161 Kurze Beschreibungen dd da 161 Bash Installationsabh ngigkeiten ss 161 A re ne sot sa ne EE 162 Offizielle Download Adresse 162 Inh lt yan Bin tils geseet see Esingen 162 K rze Beschreibungen etre ire nie raie ler need annees 162 Binutils Installationsabhangigkeiten nc nana nc cnnccnnnnnnns 163 SA A ERE enone 163 Offizielle Download Adresse 163 Inhalt On BSO A RR IN sie en dak teens 163 K urze Beschreibungen eege ee e Dee a ee dee 164 Bison Iostallapopnsabb noeketen ss 164 BZiP2 1 old ubuntu E DIT palio lisas 164 Offizielle Download Adresse 164 Inhaltvon BAP ento ntm nl en Era AEE Ea eea 164 Kurze Beschreibungen ne nn iii hernie ere entente 164 Bzip2 Installationsabh ngigkeiten ss 165 Corus son Ei a E 165 Offizielle Download Adresse 165 Inhalt Yon COLSUT S tee Weien Edel de 166 Kurze Beschreibungen EE 186 Coreutils Iosollaponsabb negketen nc cnnn nc nn ccnnnnnnns 170 Deja tii aiii E E E EEE EE 170 Offizielle Download Ree 170 Inhalt von DeaGnn u 2 0 a A A a 170 BEE siens da tai lea ada cad 170 DejaGnu Iostallaponsabb netekeuen nc cnnn cc nnnccnnnnn ns 170 A tn AR SNOET em 170 Linux From Scratch Table of Contents Anhang A Pak
280. tionsabh ngigkeiten AE 62 Installi ren Von Gawk A eege 63 Installieren Von Coreutpls 30 nana na nena nn rra nana NEAS 63 dobausen 63 Coreutils Installationsabh ngigkeiten ss 63 Installi r n von Cor Uli te EEN 63 Inst llieren von B21P2 1 02 12 de tee e ege EE der 64 Inhalt von BAD en en nt nee een te Nele es ire et 64 Bzip2 Installationsabh ngigkeiten ss 64 Installieren von BP tee Mann men ENEE EE 64 T stallieren von GZip L3 S inicial ef end Reegele degkeet dee 65 IAE yon E 65 Gzip Inst ll tions bbh ngigkeiten AA 65 Installation von GZip EEN 65 Installieren von Diffutils 2 8 T eiee anna sn nein e ea S 65 Inh lt yan Diffutils A Gs co edad dan sate ta ra E Eed e 66 Diffutils Installationsabhangigkeiten ss 66 Installi ren von Dit S tee A nn en Er tie 66 Installieren von Findutils 4 L2D oooonnonocununuuoononononononoconononononnnnononononononanononononanananananana nana na nena NEEE ENES 66 Ibal von EMOS 2 2 22 A EENS 66 Eindutils Installationsabh ngigkeiten ss 66 Installi ren Von Find tils nn inner d she 66 Installiereni von Make 3 O tii tt ass teen ns tt de 67 Inhalt von Make a are en nen nest aie ee 67 Make Installationsabh ngigkeiten E 67 Installation von Make serge t euge Sege E EEN EENS aid 67 Installieren von Orpesa gid E E 8 deis TE NEE ARTERE EE NRT 68 Inhalt von EE 68 GrepInstal tonsabh ngigkeiten AE 68 Installation v n Giep soei a de WE Aas ni ee a aa DEE 68 Inst lieren von Sed EE 69 EMS EE 6
281. tomatisch benutzen Die Umgebungsvariablen CC CXX CPP LD_LIBRARY_PATH und LD_PRELOAD verursachen Probleme mit unserer toolchain in Kapitel 5 Daher setzen wir sie zur ck um jegliche Schwierigkeiten zu vermeiden Nun nach dem sog sourcen also einlesen des gerade erstellen Profils ist alles vorbereitet Wir k nnen mit dem bauen der Werkzeuge beginnen diese werden uns dann in den weiteren Kapiteln von Nutzen sein Installieren von Binutils 2 14 Durchlauf 1 Gesch tzte Kompilierzeit iOS EU Ungef hr ben tigter Festplattenplatz 194 MB Vorbereiten der Installationsumgebung 45 Linux From Scratch Inhalt von Binutils Binutils ist eine Sammlung von Software Entwicklungswerkzeugen zum Beispiel Linker Assembler und weitere Programme f r die Arbeit mit Objektdateien und Archiven Installierte Programme addr2line ar as c filt gprof ld nm objcopy objdump ranlib readelf size strings und strip Installierte Bibliotheken libiberty a libbfd a so und libopcodes a so Binutils Installationsabh ngigkeiten Binutils ist abh ngig von Bash Coreutils Diffutils GCC Gettext Glibc Grep Make Perl Sed Texinfo Installieren von Binutils Es ist wichtig das Binutils als erstes Paket kompiliert wird weil Glibc und GCC verschiedene Tests bez glich Linker und Assembler durchf hren und daraufhin erst diverse Features einschalten Anmerkung Auch wenn Binutils ein wichtiges Paket in der toolchain ist werde
282. toolchain in Kapitel 5 nach Achtung Es ist an diesem Punkt zwingend notwendig die grundlegenden Funktionen kompilieren und linken der angepassten toolchain zu berpr fen Aus diesem Grund f hren wir folgenden Test durch echo main gt dummy c gcc dummy c readelf l a out grep lib Wenn alles richtig funktioniert sollte es keine Fehlermeldungen geben und die Ausgabe des letzten Kommandos sollte dann so aussehen Requesting program interpreter lib ld linux so 2 Konfigurieren des dynamischen Laders 92 Linux From Scratch Wenn sie eine andere Ausgabe erhalten oder berhaupt keine Ausgabe erscheint ist etwas ernsthaft schiefgelaufen Sie m ssen das berpr fen und alle Schritte noch einmal nachvollziehen um das Problem zu finden und zu beheben Machen sie nicht weiter solange das Problem nicht behoben ist Am wahrscheinlichsten ist das etwas beim anpassen der Specs Datei weiter oben nicht funktioniert hat Achten sie besonders darauf das 1ib nun als Prefix zu unserem dynamischen Linker angezeigt wird Wenn sie an einer Plattform arbeiten an der der Name des dynamischen Linkers nicht 1d linux so 2 ist sieht die Ausgabe nat rlich ein klein wenig anders aus Wenn sie mit dem Ergebnis zufrieden sind l schen sie die Test Dateien rm dummy c a out Installieren von Binutils 2 14 Gesch tzte Kompilierzeit L Sen Ungef hr ben tigter Festplattenplatz 167 MB Inhalt von Binutils Binutils is
283. tz 48 4 MB Inhalt von E2fsprogs E2fsprogs stellt die Dateisystemwerkzeuge f r die Benutzung des ext2 Dateisystems zur Verf gung Auch ext3 wird unterst tzt das ist ein Journaling Dateisystem Installierte Programme badblocks blkid chattr compile_et debugfs dumpe2fs e2fsck e2image e2label findfs fsck fsck ext2 fsck ext3 logsave lsattr 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 E2fsprogs Installationsabh ngigkeiten E2fsprogs ist abh ngig von Bash Binutils Coreutils Diffutils Gawk GCC Gettext Glibc Grep Make Sed Texinfo Installation von E2fsprogs Es wird empfohlen E2fsprogs ausserhalb des Quellverzeichnisses zu kompilieren mkdir e2fsprogs build cd e2fsprogs build Bereiten sie E fsprogs zum kompilieren vor e2fsprogs 1 34 configure prefix usr with root prefix enable elf shlibs Die Bedeutung der configure Optionen e with root prefix Bestimmte Programme so wie z B e2fsck sind absolut essentielle Programme Wenn zum Beispiel usr nicht gemountet ist m ssen diese Programme trotzdem verf gbar sein Sie geh ren in Verzeichnisse wie 1ib und sbin Wenn diese Option nicht an E2fsprogs configure Skript bergeben wird w rden die Programme entgegen unserem Willen im usr Verzeichnis installiert
284. u berspringen Es ist bekannt das dieses Paket nicht gut funktioniert wenn sie die standard Optimierungen inklusive der march und mcpu Optionen ge ndert haben Wenn sie Umgebungsvariablen wie CFLAGS oder CXXFLAGS gesetzt haben empfehlen wir diese zum installieren von Binutils zur ckzusetzen Die Binutils Dokumentation empfiehlt Binutils nicht im Quell sondern in einem dedizierten Kompilierverzeichnis zu kompilieren mkdir binutils build cd binutils build Bereiten sie Binutils jetzt zum kompilieren vor binutils 2 14 configure prefix usr enable shared Kompilieren sie das Paket make tooldir usr Normalerweise ist tooldir das Verzeichnis wo die ausf hrbaren Dateien hineininstalliert werden auf exec_prefix target_alias gesetzt welches dann zum Beispiel zu usr i1686 pc linux gnu erweitert wird Da wir aber nur f r unser eigenes System installieren brauchen wir dieses spezielle Verzeichnis in usr nicht Diese Konfiguration w rde benutzt werden wenn das System zum Querkompilieren genutzt w rde zum Beispiel um auf einer Intel Maschine Code zu generieren der auf einem PowerPC ausgef hrt werden kann Testen sie das Ergebnis make check Die Anmerkungen zur Test suite aus dem_Abschnitt namens Installieren von Binutils 2 14 Durchlauf 2 in Kapitel 5 sind hier immer noch g ltig Schlagen sie nach falls sie irgendwelche Bedenken oder Zweifel haben Installieren sie das Paket make too
285. u setzen und um den Z hler zur ckzusetzen verwendet Kurze Beschreibung 209 Linux From Scratch gpasswd wird zum hinzuf gen und l schen von Mitgliedern in Gruppen verwendet groupadd erzeugt eine Gruppe mit dem angegebenen Namen groupdel l scht eine Gruppe mit dem angegebenen Namen groupmod ndert den Namen oder die GID einer Gruppe groups zeigt die Gruppenzugeh rigkeit eines Benutzers an grpck pr ft die Integrit t der group Dateien etc group und etc gshadow grpconv erzeugt oder aktualisiert die shadow group Datei aus der normalen group Datei grpunconv aktualisiert etc group aus etc gshadow und l scht die letztere dann lastlog berichtet die letzten Anmeldungen aller Benutzer oder eines bestimmten Benutzers login wird vom System benutzt um einen Benutzer anzumelden logoutd ist ein D mon der Beschr nkungen auf die Login Zeit und Ports durchsetzt mkpasswd verschl sselt ein Passwort mit einer angegebenen St rung newgrp wird zum ndern der aktuellen GID in einer login Sitzung benutzt newusers wird zum erzeugen oder aktualisieren einer Serie von Benutzerkonten in einem Durchlauf verwendet passwd ndert das Passwort f r einen Benutzer oder eine Gruppe pwek pr ft die Integrit t der Passwort Dateien etc passwd und etc shadow pwconv erzeugt oder aktualisiert die shadow Passwort Datei aus der normalen password Datei pwunconv aktualisiert etc passwd aus etc shadow und l scht letztere danach sg f hrt
286. u unerw nschten Effekten f hren Beheben sie das Problem mit diesem Patch patch Npl i bash 2 05b 2 patch Bereiten sie Bash zum kompilieren vor configure prefix usr bindir bin Kompilieren sie das Paket make Dieses Paket hat eine Test suite mit der sie pr fen k nnen ob alles korrekt kompiliert wurde Wenn sie die Tests durchlaufen m chten f hren sie dieses Kommando aus make tests Installieren sie das Paket make install Und starten sie die frisch installierte bash exec bin bash login h Installieren von File 4 04 Gesch tzte Kompilierzeit OMES BU Ungef hr ben tigter Festplattenplatz 6 3 MB Inhalt von File File ist ein kleines Werkzeug zum identifizieren von Dateitypen Installiertes Programm file Installierte Bibliotheken libmagic a so Bash Installationsabh ngigkeiten 118 Linux From Scratch File Installationsabh ngigkeiten File ist abh ngig von Bash Binutils Coreutils Diffutils GCC Glibc Grep Make Sed Zlib Installation von File Bereiten sie File zum kompilieren vor configure prefix usr Kompilieren die das Paket make Und installieren sie es make install Installieren von Libtool 1 5 Gesch tzte Kompilierzeit 1 5 Sein Ungef hr ben tigter Festplattenplatz 20 MB Inhalt von Libtool GNU Libtool ist ein Skript zur unterst tzung von Bibliotheken Libtool versteckt die Komplexit t von gemeinsam benutzten Bibliotheken hinter einer Konsistent
287. uensselig der Logd mon konfiguriert wurde Sysklogd Installationsabh ngigkeiten Sysklogd ist abh ngig von Binutils Coreutils GCC Glibc Make Sysvinit Eine Installationsanleitung finden sie im_Abschnitt namens nstallieren von Sysvinit 2 85 in Kapitel 6 Offizielle download Adresse Sysvinit 2 85 ftp ftp cistron nl pub people miquels sysvinit Shadow Installationsabh ngigkeiten 211 Linux From Scratch Inhalt von Sysvinit Das Sysvinit Paket enh lt Programme mit denen sie das starten ausf hren und beenden aller anderen Programme kontrollieren k nnen Installierte Programme halt init killall5 last lastb Link auf last mesg pidof Link auf killall5 poweroff Link auf halt reboot Link auf halt runlevel shutdown sulogin telinit Link auf init utmpdump und wall Kurze Beschreibungen halt ruft blicherweise shutdown mit dem h Schalter auf ausser wenn der aktuelle Runlevel 0 ist dann teilt es dem Kernel mit das System anzuhalten Vorher notiert es in var log wtmp das das System nun heruntergefahren wird init ist die Mutter aller Prozesse Es liest seine Kommandos aus etc inittab die ihm normalerweise sagt welche Skripte in einem Runlevel gestartet werden sollen und wieviele gettys hochgefahren werden sollen killall5 sendet ein Signal an alle Prozesse ausser denen in der eigenen Sitzung so t tet es nicht die Programme die das Skript ausf hren welches es aufgerufen hat last ze
288. ufen Wenn ein S Link ausgef hrt werden soll wird das Skript mit dem start Parameter aufgerufen Es gibt eine Ausnahme S Links in den Verzeichnissen rcO d und rc6 d starten keine Dienste Sie werden Kapitel 7 Aufsetzen der System Boot Skripte 144 Linux From Scratch stattdessen mit dem stop Parameter aufgerufen um etwas zu beenden Die Logik dahinter ist das sie wohl kaum einen Dienst starten wollen wenn sie rebooten oder das System anhalten wollen Hier einige Beschreibungen welche Parameter zu einem Skript was bewirken e start Der Dienst wird gestartet e stop Der Dienst wird gestoppt e restart Der Dienst wird gestoppt und dann erneut gestartet e reload Die Konfiguration des Dienstes wird neu eingelesen Das verwendet man nachdem die Konfigurationsdatei eines Dienstes ge ndert wurde und man nicht den ganzen Dienst neu starten muss e status Gibt aus ob der Dienst l uft und wenn ja mit welchen PIDs Sie k nnen den Bootprozess ruhig nach ihren W nschen anpassen schlussendlich ist es ja auch ihr eigenes LFS System Die Dateien hier sind nur Beispiele wie man es gut erledigen kann nun wir halten es f r gut sie m gen es aber vielleicht hassen Konfigurieren des setclock Skript Das setclock Skript liest die Zeit aus der Hardware Uhr des Computers auch bekannt als BIOS oder CMOS Uhr und konvertiert sie mithilfe von etc localtime falls die Hardware Uhr auf GMT gestellt ist in lokale Zeit Wenn die Hardw
289. umentation Installierte Programme info infokey install info makeinfo texi2dvi und texindex Texinfo Installationsabh ngigkeiten Texinfo ist abh ngig von Bash Binutils Coreutils Diffutils GCC Gettext Glibc Grep Make Ncurses Sed Installieren von Texinfo Bereiten sie Texinfo zum kompilieren vor configure prefix tools Kompilieren sie die Programme make Installieren von Tar 73 Linux From Scratch Dieses Paket enth lt eine Test suite zum berpr fen ob alles korrekt kompiliert wurde Wenn sie die Test suite ausf hren m chten f hren sie folgendes Kommando aus make check Dann installieren sie sie und die Dokumentation make install Installieren von Bash 2 05b Gesch tzte Kompilierzeit JL SU Ungef hr ben tigter Festplattenplatz 27 MB Inhalt von Bash Bash ist die Bourne Again SHell ein auf Unix Systemen weit verbreiteter Befehlsinterpreter Die Bash liest Befehle von der Standard Eingabe der Tastatur Ein Anwender gibt etwas ein und die Bash wertet die Eingabe aus Je nach Eingabe reagiert die Bash entsprechend und f hrt zum Beispiel ein Programm aus Installierte Programme bash sh Link auf bash und bashbug Bash Installationsabh ngigkeiten Bash ist abh ngig von Binutils Coreutils Diffutils Gawk GCC Glibc Grep Make Ncurses Sed Installieren von Bash Die Bash enth lt einige bekannte Fehler Beheben sie diese mit dem folgenden Patch patch Npl i bash 2 05b 2
290. und warum der Benutzer oder das System sie ben tigen Aus diesem Grund steht vor den eigentlichen Installationsanweisungen jeweils eine kurze Zusammenfassung des Paketinhalts F r eine kurze Beschreibung eines jeden Programmes schauen sie bitte in Anhang A Die Anweisungen zum kompilieren setzen voraus das sie die Bash Shell benutzen Ausserdem wird grunds tzlich vorausgesetzt das sie die Archive bereits entpackt haben und mit cd bereits in das jeweilige Quellverzeichnis gewechselt haben bevor sie die Kompilieranleitung umsetzen Einige der Pakete werden vor dem kompilieren gepatcht aber nur um ein potentielles Problem zu umgehen Meist wird ein Patch sowohl in diesem als auch im folgenden Kapitel ben tigt manchmal aber auch nur in einem W hrend der Installation der meisten Pakete werden sie alle m glichen Compiler Warnungen vorbeirollen sehen Das ist normal und kann einfach ignoriert werden Sie sind wirklich nur Warnungen meistens ber missbilligte aber nicht ung ltige Benutzung von C oder C Syntax Die C Standards haben sich im laufe der Zeit oft ver ndert und einige Pakete benutzen immer noch alte Standards aber das ist kein wirkliches Problem Solange nicht anders angegeben k nnen sie die Quell und Kompilierverzeichnisse nach dem installieren des jeweiligen Paketes l schen zum Beispiel um aufzur umen oder Platz zu sparen Bevor sie fortfahren stellen sie bitte mit folgenden Kommando sicher das die LFS Umgebungsv
291. ungen berschreiben w rden Bereiten sie nun GCC zum kompilieren vor gec 3 3 1 configure prefix tools with local prefix tools enable clocale gnu enable shared enable threads posix enable cxa atexit enable languages c c Die Bedeutung der neuen configure Optionen e enable threads posix Das schaltet die Behandlung von C exceptions f r Threads ein Installieren von DejaGnu 1 4 3 59 Linux From Scratch e enable _ cxa atexit Diese Option erlaubt die Benutzung von __cxa_atexit anstelle von atexit um C Destruktoren f r lokale statics und globale Objekte zu registrieren Ausserdem ist die Option f r eine vollst ndig Standard konforme Behandlung von Destruktoren erforderlich Das beeinflusst auch die C ABI das Ergebnis sind C shared libraries und C Programme die interoperabel mit anderen Linux Distributionen sind e enable clocale gnu Diese Option stellt sicher das 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 von gnu w hlen Falls aber de_DE nicht installiert ist besteht das Risiko aufgrund des f lschlicherweise ausgew hlten Modells generic ABI inkompatible C Bibliotheken zu erzeugen e enable languages c c Diese Option wird ben tigt damit sowohl C als auch C Compiler erzeugt werden Kompilieren sie das Paket make Diesmal m ssen sie nicht das
292. ungen autopoint kopiert die Dateien einer standard 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 gettext bersetzt Nachrichten in nat rlicher Sprache in die Sprache des Anwenders Daf r benutzt es einen bersetzungsnachrichten Katalog gettextize kopiert alle standard Gettext Dateien in das Hauptverzeichnis eines Pakets um so den Beginn der internationalisierung zu erleichtern hostname zeigt den Netzwerk Hostnamen in verschiedenen Forman an msgattrib filtert Nachrichten in einem bersetzungskatalog nach ihren Attributen und manipuliert diese Attribute GCC Installationsabh ngigkeiten 179 Linux From Scratch msgcat f gt die angegebenen po Dateien aneinander und verschmelzt sie msgcmp vergleich zwei po Dateien um zu pr fen das beide den gleichen Satz an msgid Zeichenketten enthalten msgcomm findet die Nachrichten die die angegebenen po Dateien gemeinsam haben msgconv konvertiert den bersetzungskatalog in einen anderen Zeichensatz msgen erzeugt einen englischen bersetzungskatalog msgexec f hrt ein Kommando auf allen bersetzungen in einem Katalog aus msgfilter wendet einen Filter auf alle bersetzungen in einem Katalog an msgfmt erzeugt aus einem ber
293. unset CC CXX CPP LD_LIBRARY_PATH LD_PRELOAD EOF source bash_profile Das Kommando set h schaltet die Hash Funktion der Bash ab Normalerweise ist das sog hashing der Bash ein n tzliches Feature bash benutzt eine Hash Tabelle um sich die Pfade zu ausf hrbaren Dateien zu merken und so ein st ndiges Durchsuchen aller Verzeichnisse zu vermeiden Jedoch m ssen wir alle neu installierten Werkzeuge sofort nutzen k nnen Durch abschalten der Hash Funktion wird f r interaktive Kommandos make patch sed cp und so weiter immer die neueste verf gbare Version benutzt Das setzen der Dateierzeugungs Maske auf 022 stellt sicher das neu erzeugte Dateien nur durch ihren Besitzer beschreibbar sind aber les und ausf hrbar f r jeden Die LFS Variable sollte nat rlich auf den von ihnen gew hlten Einh ngepunkt der LFS Partition gesetzt sein Die Variable LC_ALL beeinflusst die lokalisierung einiger Programme so das ihre 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 Wenn LC_ALL auf POSIX oder C die beiden Werte haben die gleiche Wirkung gesetzt ist sollte es beim hin und herwechseln in der chroot Umgebung keine Probleme geben Wir setzen tools bin an den Anfang der PATH Variable so das wir beim durcharbeiten dieses Kapitels die erzeugten Werkzeuge und Programme auch au
294. us bzmore f hrt more auf bzip2 Dateien aus libbz2 ist die Bibliothek die verlustlose blocksortierende Datenkompression mit Hilfe des Burrows Wheeler Algorythmus implementiert Bzip2 Installationsabh ngigkeiten Bzip2 ist abh ngig von Bash Binutils Coreutils Diffutils GCC Glibc Make Coreutils Eine Installationsanleitung finden sie im_Abschnitt namens Installieren von Coreutils 5 0 in Kapitel 6 Offizielle Download Adresse Coreutils 5 0 ftp ftp gnu org gnu coreutils Coreutils Hostname Patch http www linuxfromscratch org patches lfs 5 0 coreutils 5 0 hostname 2 patch Coreutils Uname Patch http www linuxfromscratch org patches Ifs 5 0 coreutils 5 0 uname patch Inhalt von Coreutils Das Paket Coreutils enth lt eine gro e Anzahl von Shell Werkzeugen 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 kill link In logname Is md3sum mkdir mkfifo mknod mv nice nl nohup od paste pathchk pinky pr printenv printf ptx pwd readlink rm rmdir seq shalsum shred sleep sort split stat stty su sum sync tac tail tee test touch tr true tsort tty uname unexpand uniq unlink uptime users vdir wc who whoami und yes Bzip2 Installationsabh ngigkeiten 165 Linux From Scr
295. utils e nm Binutils e nohup Coreutils e nroff Groff Anhang B Index aller Programme und Bibliotheken 228 Linux From Scratch e nscd Glibe e nscd_nischeck Glibc e objcopy Binutils e objdump Binutils e od Coreutils e oldps Procps e openvt Kbd e parse bash Util linux e parse tcsh Util linux e passwd Shadow e paste Coreutils e patch Patch e pathchk Coreutils e pcprofiledump _Glibc e perl Perl e perlbug Perl e perlcc Perl e perldoc Perl e perlivp Perl e pfbtops Groff e pg Util linux e pgawk Gawk e pgrep Procps e pic Groff e pic2graph Groff e piconv Perl e pidof Sysvinit e ping Inetutils e pinky Coreutils e pivot_root Util linux e pkill Procps e pl2pm Perl e plipconfig Net tools e pltags pl Vim e pmap Procps e pod2html Perl e pod2latex Perl e pod2man Perl e pod2text Perl e pod2usage Perl e podchecker Perl e podselect Perl e post grohtml Groff e poweroff Sysvinit e pr Coreutils e pre grohtml Groff e printenv Coreutils e printf Coreutils e procinfo Procinfo e project id Gettext e ps Procps Anhang B Index aller Programme und Bibliotheken 229 Linux From Scratch e psed Perl e psfaddtable Kbd e psfgettable Kbd e psfstriptable Kbd e psfxtable Kbd e pstree Psmisc e pstruct Perl e ptx Coreutils e
296. v a so librpcsvc a librt a so libthread_db so und libutil a so Glibc Installationsabh ngigkeiten Glibc ist abh ngig von Bash Binutils Coreutils Diffutils Gawk GCC Gettext Grep Make Perl Sed Texinfo Glibc Installation Bevor sie mit der Installation von Glibc beginnen m ssen sie mit ed in das glibc 2 3 2 Verzeichnis wechseln und dort Glibc linuxthreads entpacken Entpacken sie Glibc linuxthreads nicht dort wo sie sonst die Archive entpacken w rden sondern in das Glibc Verzeichnis hinein Anmerkung In diesem Kapitel werden wir die Test suite f r Glibc durchlaufen lassen Wir sollten allerdings erw hnen das die Test suite in diesem Kapitel nicht als kritisch eingestuft wird und nicht so wichtig ist wie in_Kapitel 6 Dieses Paket funktioniert nicht gut wenn nicht die Standard Optimierungseinstellungen inklusive der march und mcpu Optionen benutzt werden Deshalb sollten event gesetzte Umgebungsvariablen die die Standard Optimierung berschreiben zum Beispiel CFLAGS und CXXFLAGS f r den Kompiliervorgang von Glibc zur ckgesetzt oder entsprechend abge ndert werden Grunds tzlich kann man sagen wenn sie von dem in diesem Buch beschriebenen Weg zum kompilieren von Glibc abweichen riskieren sie die Stabilit t ihres gesamten LFS Systems Auch wenn es nur eine harmlose Meldung ist die Installationsphase von Glibc wird sich ber das fehlen von tools etc 1ld so conf beschweren Verhindern sie diese
297. var log btmp lastlog wtmp Die Datei var run utmp listet die gerade angemeldeten Benutzer auf var log wtmp wer eingloggt war und wann var log lastlog speichert f r jeden Benutzer wann er das letzte Mal angemeldet war und var log btmp listet die fehlgeschlagenen Login Versuche auf Shadow baut den Pfad zu passwd in die Bin rdatei selbst fest ein aber macht das leider nicht ganz korrekt Wenn die Datei passwd beim installieren von Shadow nicht vorhanden ist nimm das Paket an das es nach bin passwd geh rt installiert es dann aber nach usr bin passwd Das f hrt zu dem Fehler das bin passwd nicht gefunden werden kann Um diesen Fehler zu umgehen erstellen sie eine dymmy passwd Datei damit der Pfad korrekt eingebunden wird touch usr bin passwd Die aktuelle Shadow suite hat ein Problem das dazu f hrt das newgrp fehlschl gt Der folgende Patch der auch in Shadow s CNS Code vorhanden ist behebt dieses Problem patch Npl i shadow 4 0 3 newgrp fix patch Bereiten sie Shadow nun zum kompilieren vor Installieren von Shadow 4 0 3 134 Linux From Scratch configure prefix usr libdir usr lib enable shared Kompilieren sie das Paket make Und installieren sie es make install Shadow benutzt zwei Dateien zur Konfiguration der Authentifizierungseinstellungen Installieren sie diese beiden Konfigurationsdateien cp etc limits login access etc Wir m chten die Methode auf MDS ndern welche theoretisch sic
298. versuchen Wenn ihr Kernel das devfs Dateisystem unterst tzt f hren sie folgendes Kommando aus mount t devfs devfs dev Das mountet das devfs Dateisystem ber die statische Struktur des etc Verzeichnisses Das ist kein Problem denn die erstellen Ger tedateien werden dadurch nicht gel scht das devfs Dateisystem versteckt sie lediglich Wenn auch das nicht funktioniert bleibt ihnen nur die M glichkeit mittels dem MAKEDEV Skript auch die ptyXX und ttyXX Dateien zu ereugen die nat rlich sonst nicht ben tigt werden w rden Stellen sie erst sicher das sie sich noch im dev Verzeichnis befinden und f hren sie dann MAKEDEV v pty aus Das unsch ne daran ist das wir zus tzliche 512 spezielle Ger tetreiber Dateien erzeugen die dann sp ter nach dem fertigstellen des LFS Systems nicht mehr ben tigt werden Installieren der Linux 2 4 22 Header Gesch tzte Kompilierzeit OMSBU Ungef hr ben tigter Festplattenplatz 186 MB Inhalt von Linux Der Linux Kernel ist der Kern eines jeden Linux Systems Er ist sozusagen der Herzschlag von Linux Wenn der Computer eingeschaltet wird und ein Linux System startet dann ist der Kernel das erste St ck Software das gestartet wird Der Kernel initialisiert die Ger te und Hardware Komponenten serielle Schnittstellen parallele Schnittstellen Soundkarten Netzwerkkarten IDE und SCSI Controller und vieles mehr Zusammenfassend kann man sagen der Kernel stellt dem System die Hardware zu
299. von Ed 0 2 Gesch tzte Kompilierzeit dl BU Ungef hr ben tigter Festplattenplatz 3 1 MB Inhalt von Ed GNU ed ist ein 8bit f higer POSIX konformer Editor Installierte Programme ed und red Link auf ed Ed Installationsabh ngigkeiten Ed ist abh ngig von Bash Binutils Coreutils Diffutils GCC Glibc Grep Make Sed Installation von Ed Anmerkung Ed wird nicht von vielen Leuten benutzt Ed wird installiert weil er von dem Patch Programm verwendet wird wenn sie einen Ed basierten Patch installieren m chten Das passiert allerdings sehr selten heutzutage werden fast ausschliesslich diff basierte Patches bevorzugt Ed verwendet die mktemp Funktion um tempor re Dateien in tmp zu erstellen doch diese Funktion ist verwundbar schauen sie in die Sektion br tempor re Dateien in http en tldp org HOWTO Secure Programs HOWTO avoid race html Der folgende Patch l sst Ed die mkstemp Funktion verwenden das ist der bevorzugte Weg um tempor re Dateien zu erzeugen Wenden sie den Patch an patch Npl i ed 0 2 mkstemp patch Bereiten sie Ed nun zum kompilieren vor configure prefix usr Kompilieren sie das Paket make Dieses Paket enth lt eine Test suite um zu pr fen ob alles korrekt kompiliert wurde Wenn sie sie ausf hren m chten erledigt dies das folgende Kommando f r sie make check Installieren sie das Paket Installieren von Ed 0 2 122 Linux From Scratch make install Un
300. w re einfacher wenn wir hier nur eine generelle Installationsanleitung geben w rden um dann bei davon abweichenden Paketen eine vollst ndige Erkl rung zu geben Auch wenn wir dieser berlegung im Grunde zustimmen haben wir uns entschlossen f r jedes Paket eine vollst ndige Anleitung zu geben einfach um die Fehlerwahrscheinlichkeit so gering wie m glich zu halten Falls sie vorhaben in diesem Kapitel Compiler Optimierungen zu verwenden lesen sie bitte die Anleitung unter http www linuxfromscratch org hints downloads files optimization txt Compiler Optimierungen k nnen ein Programm ein wenig schneller ablaufen lassen aber sie k nnen auch zu Schwierigkeiten beim kompilieren oder sogar beim ausf hren von Programmen f hren Wenn sich ein Paket nicht kompilieren l sst versuchen sie es erstmal ohne Optimierungen und schauen ob das Problem dann weg ist Selbst wenn das Paket mit Compiler Optmierungen kompilierbar ist besteht die Gefahr das es falsch kompiliert wurde zum beispiel wegen komplexer Iterationen zwischen Code und den Compilerwerkzeugen Kurz gesagt der potientelle Geschwindigkeitsvorteil wird durch das hohe Risiko aufgehoben Wenn sie das erste mal ein LFS erstellen sollten sie keine Compiler Optimierungen benutzen Ihr System wird trotzdem sehr Schnell sein und gleichzeitig auch noch stabil Die Installationsreihenfolge in diesem Kapitel muss auf jeden Fall eingehalten werden sonst k nnten einige Programme eventuell fest
301. weise nicht sehr hilfreiche aber sie wird von POSIX vorausgesetzt Bison Installationsabh ngigkeiten Bison ist abh ngig von Bash Binutils Coreutils Diffutils GCC Gettext Glibc Grep M4 Make Sed Bzip2 Eine Installationsanleitung finden sie im_Abschnitt namens Installieren von Bzip2 1 0 2 in Kapitel 6 Offizielle Download Adresse Bzip2 1 0 2 http sources redhat com bzip2 Inhalt von Bzip2 Bzip2 ein Block sortierendes Kompressionsprogramm und erreicht blicherweise bessere Kompressionsraten als das herk mmliche gzip Installierte Programme bunzip2 Link auf bzip2 bzcat Link auf bzip2 bzcmp bzdiff bzegrep bzfgrep bzgrep bzip2 bzip2recover bzless und bzmore Installierte Bibliotheken libbz2 a libbz2 so Link auf libbz2 so 1 0 libbz2 so 1 0 Link auf libbz2 so 1 0 2 und libbz2 so 1 0 2 Kurze Beschreibungen bunzip2 dekomprimiert bzip2 Dateien bzcat dekomprimiert zur Standard Ausgabe bzcmp f hrt cmp auf bzip2 Dateien aus bzdiff f hrt diff auf bzip2 Dateien aus Kurze Beschreibungen 164 Linux From Scratch bzgrep f hrt grep auf bzip2 Dateien aus bzip2 komprimiert Dateien mit dem Burrows Wheeler Blocksortierendem Textkompressionsalgorythmus und Huffman Kodierung Die Kompressionsrate ist merkbar besser als die von herk mmlichen Kompressoren mit LZ77 LZ78 wie zum Beispiel gzip bzip2recover versucht Daten aus besch digten bzip2 Dateien zu reparieren bzless f hrt less auf bzip2 Dateien a
302. wenn sie nicht Sysvinit verwenden m chten k nnen sie die Installtion von Psmisc durch erstellen dieses Links komplettieren In s killall bin pidof Installieren von Psmisc 21 3 133 Linux From Scratch Installieren von Shadow 4 0 3 Gesch tzte Kompilierzeit i BO Ungef hr ben tigter Festplattenplatz 11 MB Inhalt von Shadow Das Shadow Paket wurde zur verst rkung der Sicherheit von System Passw rtern eingef hrt Installierte Programme chage chfn chpasswd chsh dpasswd expiry faillog gpasswd groupadd groupdel groupmod groups grpck grpconv grpunconv lastlog login logoutd mkpasswd newgrp newusers passwd pwck pwconv pwunconv sg Link auf newgrp useradd userdel usermod vigr Link auf vipw und vipw Shadow Installationsabh ngigkeiten Shadow ist abh ngig von Bash Binutils Bison Coreutils Diffutils GCC Gettext Glibc Grep Make Sed Installation von Shadow Die Programme login getty und init ein einige andere pflegen eine Reihe Logdateien in denen sie aufzeichnen wer in das System eingloggt ist und wer eingeloggt war Diese Programme erzeugen die Logdateien jedoch nicht wenn sie nicht existieren wenn sie also diese Art Protokollierung m chten m ssen sie die Dateien selber anlegen Das Shadow Paket muss diese Dateien an der richtigen Stelle finden deshalb erstellen wir sie nun mit den korrekten Rechten touch var run utmp var log btmp lastlog wtmp chmod 644 var run utmp
303. wichtig zu wissen das unsere allerwichtigsten Programme und Werkzeuge richtig Installieren von Tcl 8 4 4 55 Linux From Scratch funktionieren Bereiten sie Tel zum kompilieren vor cd unix configure prefix tools Kompilieren sie das Paket make Dieses Paket enth lt eine Test suite um zu berpr fen das alles korrekt kompiliert wurde Es ist jedoch bekannt das die Tcl Test suite unter bestimmten Bedingungen fehlschl gt Daher sind Fehler in der Test suite nicht berraschend wir betrachten diese Fehler nicht als kritisch Wenn sie die Test suite dennoch ausf hren m chten erledigt das folgende Kommando dies f r sie TZ UTC make test Die bedeutung des make Parameters e TZ UTC Setzt die Zeitzone f r die dauer des Test suite Durchlauf auf Coordinated Universal Time UTC auch als Greenwhich Mean Time GMT bekannt Dadurch werden zeitbezogene Tests korrekt ausgewertet Mehr Informationen zu der TZ Umgebungsvariable finden sie Sp ter in_Kapitel Z Manchmal erzeugt eine Test suite falschen Alarm Schlagen sie im LFS Wiki unter http wiki linuxfromscratch org nach um zu berpr fen das m gliche Fehler normal sind Das gilt f r s mtliche Test suiten im gesamten Buch Installieren sie das Paket make install Wichtig Sie sollten das tc18 4 4 Quellverzeichnis noch nicht entfernen weil das n chste Paket die internen Header Dateien ben tigt Erstellen sie einen n tigen symbolischen Link In s tclsh8 4 tools bin
304. wird Entfernen sie die Binutils Kompilier und Quellverzeichnisse noch nicht Sie ben tigen sie sp ter in dem jetzigen Zustand Installieren von GCC 3 3 1 Durchlauf 1 Gesch tzte Kompilierzeit 4 4 SBU Ungef hr ben tigter Festplattenplatz 300 MB Installieren von GCC 3 3 1 Durchlauf 1 47 Linux From Scratch Inhalt von GCC Das Paket GCC enth lt die Gnu Compiler Sammlung inklusive dem C und C Compiler Installierte Programme c cc Link auf gcc cel cclplus collect2 cpp g gcc gccbug und gcov Installierte Bibliotheken libgcc a libgcc_eh a libgcc_s so libstdc a so und libsupc a GCC Installationsabh ngigkeiten GCC ist abh ngig von Bash Binutils Coreutils Diffutils Findutils Gawk Gettext Glibc Grep Make Perl Sed Texinfo Installieren von GCC Entpacken sie nur das GCC core Tar Archiv wir werden erstmal keinen C Compiler brauchen Anmerkung Auch wenn GCC ein wichtiges toolchain Paket ist werden wir die Test suite in diesem fr hen Stadium nicht durchlaufen lassen Erstens ist die Test Umgebung noch nicht entsprechend vorbereitet und zweitens werden die nun kompilierten Programme sowieso von denen des zweiten Durchlaufes berschrieben Es ist bekannt das dieses Paket nicht richtig funktioniert wenn die standard Optimierungseinstellungen inklusive der march und mcpu Optionen ver ndert wurden Deshalb sollten sie event gesetzte Umgebungsvariablen die die Standard
305. working Added section Create a basic etc hosts files and create etc services and etc protocols from IANA Fixes bugs 359 amp 515 Anderungsprotokoll 21 Linux From Scratch May 11th 2003 winkie Upgrading to Ifs utils 0 2 2 This adds two files needed for proper networking configuration May 11th 2003 winkie Removed Netkit base 0 17 Added Inetutils 1 4 2 Fixes bug 490 May 11th 2003 winkie Added Ifs utils 0 2 1 Fixes bug 493 May 11th 2003 winkie Chapter 06 Installing Ncurses Fix up the symlinks so that they follow suit of other library symlinks No more weirdness here May 11th 2003 winkie Chapter 06 Installing Procps Removed XSCPT cruft and its corresponding paragraph This stuff isn t needed anymore May 11th 2003 winkie Chapter 06 Installing Ncurses Pass without debug to the configure script It seems to have gotten lost at some point May 11th 2003 timothy Chapter 5 amp 6 Installing Bzip2 Installing Zlib Modified build commands per bug 524 May 11th 2003 winkie Chapter 06 Installing Glibc Install the linuxthreads man pages too This got lost somewhere May 11th 2003 winkie Chapter 06 Installing Grep Added with included regex to prevent Grep from using Glibc s somewhat bugged regex May 11th 2003 winkie Chapter 06 Installing Coreutils Fix some functionality of the uname command with a patch May 11th 2003 winkie
306. x From Scratch mcookie erzeugt magische Cookies 128 bit hexadezimale Zufallszahlen f r xauth mkfs erzeugt ein Dateisystem auf einem Ger t blicherweise einer Festplattenpartition mkfs bfs erzeugt ein SCO bfs Dateisystem mkfs cramfs erzeugt ein cramfs Dateisystem mkfs minix erzeugt ein Minix Dateisystem mkswap initialisiert ein Ger t oder eine Datei als Auslagerungsbereich more ist ein Filter zum seitenweisen anzeigen von Text Less ist jedoch besser mount bindet ein Dateisystem auf einem Ger t an ein Verzeichnis im Verzeichnisbaum namei zeigt die symbolischen Links ein Pfadnamen an pg zeigt eine Textdatei seitenweise an pivot_root macht ein Dateisystem zu dem neuen root Dateisystem f r einen bestimmten Prozess ramsize kann benutzt werden um die Gr e einer RAM Disk in einem bootbaren Abbild zu setzen rdev kann ein root Ger t abfragen und setzen und noch weitere Dinge in einem bootf higen Abbild readprofile liest profiling Informationen aus dem Kernel rename benennt eine Datei um und ersetzt ein Zeichenkette durch eine andere renice ver ndert die Priorit t eines Prozesses rev dreht die Zeilen einer Datei um rootflags kann die root Schalter eines bootf higen Abbilds setzen script erstellt eine Abschrift einer Terminalsitzung setfdprm setzt benutzerdefinierte Floppy Disk Parameter setsid f hrt ein Kommando in einer neuen Sitzung aus setterm setzt Terminal Attribute sfdisk kann Festplattenparti
307. xpand Coreutils e unicode_start Kbd e unicode_stop Kbd e uniq Coreutils e unlink Coreutils e updatedb Findutils e uptime Coreutils e uptime Procps e urlget Gettext e user email Gettext e useradd Shadow e userdel Shadow Anhang B Index aller Programme und Bibliotheken 232 Linux From Scratch e usermod Shadow e users Coreutils e utmpdump Sysvinit e uuidgen E2fsprogs e vdir Coreutils evi Vim e vidmode Util linux e view Vim e vigr Shadow e vim Vim e vim132 Vim e vim2html pl Vim e vimdiff Vim e vimm Vim e vimspell sh Vim e vimtutor Vim e vipw Shadow e vmstat Procps e w Procps e wall Sysvinit e watch Procps e wc Coreutils e whatis Man e whereis Util linux e who Coreutils e whoami Coreutils e write Util linux e xargs Findutils e xgettext Gettext e xsubpp Perl e xtrace Glibc e xxd Vim e yacc Bison e yes Coreutils e ylwrap Automake e ypdomainname Net tools e zcat Gzip e zcmp Gzip e zdiff Gzip e zdump Glibc e zegrep Gzip e zfgrep Gzip e zforce Gzip e zgrep Gzip e zic Glibc e zless Gzip e zmore Gzip e znew Gzip e zsoelim Groff Anhang B Index aller Programme und Bibliotheken 233
308. ysvinit Installationsabh ngigkeiten nro canon na cono nc cnnn cnn ncnnnnss 213 ELE 213 Offizielle download Adresse dEE ne ner te lent 213 Blau EE 213 Ee E NRO 213 Tar IostGllaponsabb ngetekeren no cnnncnn anar a nc cnn ieS 213 Tr e En ar id ee a lo AS ee He nr Se 213 Offizielle download Adressen a a a ae aa iia 213 lee E e E 214 Kurze Beschreibung rauen een Besen dee ete te nette este et 214 Tel Installationsabhangigkeiten no cnn E E E E na ENSEN taSs 214 TO 214 Offizielle download Adresse ikea 214 ES SN EE 214 Kurze RESCH re DUD LE cd s 213 Texinfo Iostallaoonsabb ngteketen non nannn conan cc nnnccnnncnnns 215 UE EEN 215 Oftizielle download AdressE iiss scscccssecssvovenecveseoedevonedencvadertcvennanebicedacedacoseacesessecedsscocvencdssdnevavevdeas 215 Tal von ITA adelaida id 215 Kurze Beschreibungen ke nisse reise rasca cias 218 Util linux Installationsabh ngigkeiten ss 218 EE E 218 Offizielle download Adresse 218 Bd EI EE 218 EE ar ae Te ART Ne ae 218 Vim Insallatonsabb neeketen nc ss 219 Ke rte PAL E Official Download Locapnon eeceeeeseseesssssesessssscseseeeeecaeaeececscecscscscseseseseseesesesesesesesesenesence 220 Inhaltyan Zib ser and tada ec atari 220 K rze Beschreibung NE 220 Zlib Installationsabh ngigkeiten ss 220 Anhang B Index aller Programme und Bibliotheken oocomoss 221 XV Linux From Scratch Version 5 0 Gerard
309. zsoelim In s eqn usr bin geqn In s tbl usr bin gtbl Installieren von Sed 4 0 7 Gesch tzte Kompilierzeit ORS BU Ungef hr ben tigter Festplattenplatz 5 2 MB Inhalt von Groff 108 Linux From Scratch Inhalt von Sed Sed ist ein Stream Editor Mit einem Stream Editor kann man einfache Textmanipulationen an einem Eingabestream vornehmen z B einer Datei oder einer Pipe Installiertes Programm sed Sed Installationsabh ngigkeiten Sed ist abh ngig von Bash Binutils Coreutils Diffutils GCC Gettext Glibc Grep Make Texinfo Installation von Sed Bereiten sie Sed zum kompilieren vor configure prefix usr bindir bin Kompilieren sie das Paket make Dieses Paket enth lt eine Test suite um zu pr fen ob alles korrekt kompiliert wurde Wenn sie sie ausf hren m chten erledigt dies das folgende Kommando f r sie make check Und installieren sie das Paket make install Installieren von Flex 2 5 4a Gesch tzte Kompilierzeit Oi Sey Ungefahr ben tigter Festplattenplatz 3 4 MB Inhalt von Flex Das Programm Flex wird benutzt um Programme zu generieren die Muster in Texten erkennen k nnen Installierte Programme flex flex Link auf flex und lex Installierte Bibliothek libfl a Inhalt von Sed 109 Linux From Scratch Flex Installationsabh ngigkeiten Flex ist abh ngig von Bash Binutils Bison Coreutils Diffutils GCC Gettext Glibc Grep M4 Make Sed Installation vo
Download Pdf Manuals
Related Search
Related Contents
Lifepak 20 Defibrillator/monitor Operating WARRANTY - Sundance Spas Triarch 31909 User's Manual Owner`s Manual – Dri-Eaz TurboDryers Philips IS-F7000 User's Manual PowerVent® Renesas Starter Kit for RX113 Boot Loader Application Note iR 3300i / iR 2200i Handbuch Mailboxfunktionen Operating instructions Copyright © All rights reserved.
Failed to retrieve file