Home

LFS-BUCH-6.4

image

Contents

1. Ste 7 eleva _mesg IP variable missing from IFCONFIG cannot continue S FAILUR RSS il US PIG ID Ye El ip Jp Chen _mesg n PREFIX variable missing from IFCONFIG S WARNING _mesg assuming 24 _ warning IX 24 S args S IP S PREFIXJ a SPRAY a m WS fein I2 then _mesg PREFIX and PEER both specified in S IFCONFIG cannot continue FAILURE echo_ exit eli args eli args ie ak ase ar args iE aL case S up failure JL n S PREFIX then S args S IP S PREFIXJ m SA PEER Tasa args S IP peer PEER S BROADCAST then S args broadcast BROADCAST 2 sm Door mesg YAdding TEVA address S iP tothe SA ante rtace ip addr add S args dev 1 evaluate_retval ie a VS Caria qe Tasa if ip route grep q default then boot_mesg Gateway already setup skipping WARNING echo_warning else boot_mesg Setting up default gateway ip route add default via GATEWAY dev 1 evaluate retval Ei t age a VO Jg then boot mesg Removing default gateway ip route del default evaluate retval Bal boot mesg Removing IPv4 address IP from the 1 interface ipsaddrrdeiss aros eva Wie evaluate retval echo Usage 0 interface up down 240 w Linux From Scratch Version 6 4 exit 1 Pr esac End ne
2. 216 Linux From Scratch Version 6 4 case S 1 in start Exit if there s no modules file or there are no valid entries r etc sysconfig modules amp amp egrep qv etc sysconfig modules exit 0 boot mesg n Loading modules S INFO Only try to load modules if the user has actually given us f some modules to load while read module args do Ignore comments and blank lines case module in UN weswssy eraaeiuaille 27 esac Attempt to load the module making sure to pass any arguments provided modprobe module args gt dev null Print the module name if successful otherwise take not af 2 3G 0 lg chen boot mesg n module NORMAL else failedmod failedmod module inal done lt etc sysconfig modules boot_mesg S NORMAL Print a message about successfully loaded modules on the correct line echo_ok Print a failure message with a list of any modules that may have failed to load af ma S farledmod then boot_mesg Failed to load modules failedmod FAILUR echo_failure En El adas Usages S90 Tarere exit 1 eSI eue End rc base init d modules D 6 etc rc d init d udev bin sh a EEE HE HEE HE HEHE HH HE HEE HE HE HE EE HEE HE EE HE HE HE HE EEE HEE HE HEE HEH HE HH Begin rc_base init d udev 217 Linux From Scratch Version 6 4 Descript
3. Die Bedeutung der neuen Parameter zu configure libexecdir usr lib glibc Dadurch wird das Programm pt chown in usr 1lib glibc anstelle von usr libexec installiert Kompilieren Sie das Paket make Wichtig In diesem Abschnitt wird die Testsuite von Glibc als absolut kritisch betrachtet Sie sollten diesen Schritt unter keinen Umst nden berspringen 76 Linux From Scratch Version 6 4 Bevor Sie die Tests durchlaufen lassen kopieren Sie eine Datei aus den Quellen in den Kompilierordner Dadurch werden eine Menge Testfehler vermieden Anschlie end Testen Sie die Ergebnisse ep v glibc 2 8 20080929 iconvdata gconv modules iconvdata make k check 2 gt amp 1 tee glibc check log grep Error glibc check log Wahrscheinlich werden Sie einen erwarteten ignorierten Fehler im Test posix annexc bemerken Des Weiteren ist die Glibc Testsuite ein wenig vom Host System abh ngig Dies ist eine Liste der h ufigsten Fehler Der nptl tst cancell Test wird fehlschlagen wenn die 4 1 Serie von GCC zum Einsatz kommt Die Tests nptl tst clock2 und tst attr3 schlagen manchmal fehl Der Grund daf r ist nicht v llig klar die Ursache k nnte mit hoher Systemlast zusammenh ngen Der math Test schl gt manchmal fehl wenn Sie ein System mit einer lteren Intel oder AMD CPU verwenden Falls Sie die LFS Partition mit der Option noat ime eingeh ngt haben wird der atime Test fehlschlagen Wie schon unter Abschn
4. make install Falls gew nscht installieren Sie nun die Dokumentation mkdir v usr share doc gawk 3 1 6 cp v doc awkforai txt eps pdf jpg A usr share doc gawk 3 1 6 6 34 2 Inhalt von Gawk Installierte Programme awk Link auf gawk gawk gawk 3 1 6 grcat igawk pgawk pgawk 3 1 6 und pwcat Kurze Beschreibungen awk Ein Link auf gawk gawk Ein Programm zur Manipulation von Textdateien Es ist die GNU Implementierung von awk gawk 3 1 6 Ein harter Link auf gawk grcat Zeigt die Gruppendatenbank etc group an igawk Erm glicht gawk das Einbinden von Dateien pgawk Die Profiling Version von gawk pgawk 3 1 6 Ein harter Link auf pgawk pwcat Zeigt die Passwortdatenbank etc passwd an 120 Linux From Scratch Version 6 4 6 35 Findutils 4 4 0 Das Paket Findutils enth lt Programme zum Auffinden von Dateien durch rekursive Suche in einer Ordnerstruktur oder ber den Zugriff auf eine Datenbank Die Suche ber eine Datenbank ist normalerweise schneller aber es besteht nat rlich die Gefahr dass die Datenbank zum Zeitpunkt der Suche veraltet ist Gesch tzte 0 4 SBU Kompilierzeit Etwa Ben tigter 22 MB Speicherplatz 6 35 1 Installation von Findutils Bereiten Sie Findutils zum Kompilieren vor configure prefix usr libexecdir usr lib findutils localstatedir var lib locate Die Bedeutung der configure Parameter localstatedir Der obige Parameter n
5. Erstellen Sie nun die Datei etc nsswitch conf cat gt etc nsswitch conf lt lt EOF Begin etc nsswitch conf passwd files group files shadow files hosts files dns networks files protocols files services files ethers files Woes les End etc nsswitch conf EOF Mit diesem Skript finden Sie heraus in welcher Zeitzone Sie sich befinden tzselect Nachdem Sie ein paar Fragen zu Ihrem Aufenthaltsort beantwortet haben wird das Skript den Namen Ihrer Zeitzone ausgeben Die Ausgabe k nnte z B Europe Berlin lauten Erstellen Sie dann mit dem folgenden Kommando die Datei etc localtime cp v remove destination usr share zoneinfo xxx etc localtime Anstelle von xxx m ssen Sie nat rlich den Namen der Zeitzone einsetzen der Ihnen von tzselect ausgegeben wurde z B Europe Berlin Die Bedeutung der Option zu cp remove destination Dadurch wird das Entfernen des bereits vorhandenen symbolischen Links erzwungen Sie ersetzen den Link durch eine Kopie der echten Datei weil wir den Fall abdecken wollen dass usr auf einer separaten Partition liegen k nnte Das w rde z B dann problematisch werden wenn der Single User Modus gebootet wird 6 9 3 Einrichten des dynamischen Laders Per Voreinstellung sucht der dynamische Lader 1ib 1d linux so 2 in lib und usr lib nach den dynamischen Bibliotheken die zur Laufzeit von ausf hrbaren Programmen ben tigt wer
6. Installieren Sie das Paket make install Details zu diesem Paket finden Sie in Abschnitt 6 46 2 Inhalt von Make 59 Linux From Scratch Version 6 4 5 27 Patch 2 5 4 Das Paket Patch enth lt ein Programm zum Erzeugen oder Modifizieren von Dateien indem eine sogenannte Patch Datei angewendet wird Einen Patch erzeugt man blicherweise mit diff und er beschreibt in maschinenlesbarer Form die Unterschiede zwischen zwei Versionen einer Datei Gesch tzte weniger als 0 1 SBU Kompilierzeit Etwa Ben tigter 1 6 MB Speicherplatz 5 27 1 Installation von Patch Bereiten Sie Patch zum Kompilieren vor configure prefix tools Kompilieren Sie das Paket make Dieses Paket enth lt keine Testsuite Installieren Sie das Paket make install Details zu diesem Paket finden Sie in Abschnitt 6 49 2 Inhalt von Patch 60 Linux From Scratch Version 6 4 5 28 Perl 5 10 0 Das Paket Perl enth lt die Skriptsprache Perl Practical Extraction and Report Language Gesch tzte 0 9 SBU Kompilierzeit Etwa Ben tigter 108 MB Speicherplatz 5 28 1 Installation von Perl Zun chst m ssen Sie einige Patches installieren um Sicherheitsl cken zu schlie en und einige fest eingestellte Pfade zur C Bibliothek anpassen patch Npl i perl 5 10 0 consolidated 1 patch Bereiten Sie Perl nun zum Kompilieren vor passen Sie auf dass Sie Da
7. e 7 9 2007 10 Linux From Scratch Version 6 4 manuel Added sectlinfo metainformation blocks to packages pages to help adding package manager support into jhalfs Ver ffentlichung von LFS 6 3 am 28 August 2007 1 4 Ressourcen 1 4 1 FAQ Wenn Sie beim Erstellen von LFS Schwierigkeiten oder Fragen haben oder wenn Sie einen Rechtschreib Fehler im Buch finden dann lesen Sie bitte die FAQ Frequently Asked Questions h ufig gestellte Fragen unter http www linuxfromscratch org faq 1 4 2 Mailinglisten Auf dem Server linuxfromscratch org werden einige Mailinglisten f r die Entwicklung des LFS Projektes betrieben Unter anderem befinden sich dort auch die Entwickler und Support Mailinglisten Falls die FAQ Ihnen mit Ihrem Problem nicht helfen kann sollten Sie im n chsten Schritt die Mailinglisten unter http www linuxfromscratch org search html durchsehen Welche Listen es gibt wie Sie eine Liste abonnieren k nnen wo Sie die Archive finden und vieles mehr erfahren Sie unter http www linuxfromscratch org mail html 1 4 3 IRC Viele Mitglieder aus der LFS Gemeinschaft bieten ihre Hilfe ber unseren IRC Server an Bevor Sie hier Hilfe suchen lesen Sie bitte zumindest die FAQ und die Archive unserer Mailinglisten und suchen dort nach einer Antwort auf Ihre Frage Der IRC Server hat die Adresse irc linuxfromscratch org Der Support Chatraum hei t LFS support 1 4 4 Softwarespiegel Das LFS Projekt hat viele
8. 5 31 1 Installation von Texinfo Bereiten Sie Texinfo zum Kompilieren vor configure prefix tools Kompilieren Sie das Paket make Der Kompiliervorgang ist nun abgeschlossen Wie bereits erw hnt wird empfohlen die Testsuite f r das tempor re System in diesem Kapitel nicht durchlaufen zu lassen Falls Sie die Testsuite dennoch laufen lassen m chten f hren Sie dieses Kommando aus make check Installieren Sie das Paket make install Details zu diesem Paket finden Sie in Abschnitt 6 55 2 Inhalt von Texinfo 64 Linux From Scratch Version 6 4 5 32 Util linux ng 2 14 1 Das Paket Util linux ng enth lt verschiedene Werkzeuge Darunter befinden sich Programme zum Umgang mit Dateisystemen Konsolen Partitionen und System Meldungen Gesch tzte weniger als 0 1 SBU Kompilierzeit Etwa Ben tigter 19 MB Speicherplatz 5 32 1 Installation von Util linux ng Bereiten Sie Util linux ng zum Kompilieren vor configure prefix tools Aus diesem Paket m ssen nur wenige Programme kompiliert werden make BLKID LIBS lblkid luuid C mount mount umount make C text utils more Die Bedeutung des make Parameters BLKID LIBS lIblkid luuid Wenn nur ein Teil des Pakets erstellt wird so wird die Bibliothek 1ibuuid a f lschlicherweise nicht mit einbezogen Mit diesem Kommando bergehen Sie die Voreinstellung im Makefile Dieses Paket en
9. 6 36 2 Inhalt von Flex Installierte Programme flex und lex Installierte Bibliothek libfl a Kurze Beschreibungen flex Ein Werkzeug zum Erzeugen von Programmen die Muster in Text erkennen k nnen Mustererkennung ist in vielen Programmen n tzlich Flex erzeugt aus einem Satz an Suchregeln ein Programm das nach diesen Mustern sucht lex Ein Skript welches flex im lex Emulationsmodus startet libfl a Die flex Bibliothek 122 Linux From Scratch Version 6 4 6 37 GRUB 0 97 Das Paket Grub enth lt den GRand Unified Bootloader Gesch tzte 0 2 SBU Kompilierzeit Etwa Ben tigter 10 2 MB Speicherplatz 6 37 1 Installation von GRUB Dieses Paket funktioniert unter Umst nden nicht fehlerfrei wenn die voreingestellten Optionen f r Compiler Optimierungen bergangen werden Dazu geh ren auch march und mcpu Daher sollten die entsprechenden Umgebungsvariablen wie z B CFLAGS und CXXFLAGS f r den Kompiliervorgang zur ckgesetzt oder entsprechend abge ndert werden Beginnen Sie mit dem folgenden Patch zur besseren Erkennung von Laufwerken Behebung einiger Probleme mit GCC 4 x und zur besseren SATA Unterst tzung f r einige Festplattencontroller patch Npl i grub 0 97 disk geometry 1 patch In der Voreinstellung unterst tzt GRUB keine ext2 Dateisysteme mit 256 Byte Inodes Diese Einstellung k nnen Sie aber mit dem folgenden Patch korrigieren patch Npl i grub 0 97 256byte inode 1
10. 6 8 2 Inhalt von Man pages Installierte Dateien verschiedene Hilfeseiten Man pages Kurze Beschreibungen Hilfeseiten Sie beschreiben z B Funktionen der Programmiersprache C und wichtige Ger te und Konfigurationsdateien 75 Linux From Scratch Version 6 4 6 9 Glibc 2 8 20080929 Glibc enth lt die C Bibliothek Sie stellt Systemaufrufe und grundlegende Funktionen zur Verf gung z B das Zuweisen von Speicher Durchsuchen von Ordnern ffnen und Schlie en sowie Schreiben von Dateien Zeichenkettenverarbeitung Mustererkennung Arithmetik etc Gesch tzte 17 7 SBU inkl Testsuite Kompilierzeit Etwa Ben tigter 801 MB inkl Testsuite Speicherplatz 6 9 1 Installation von Glibc Anmerkung Einige Pakete au erhalb von LFS empfehlen die GNU Software libiconv zu installieren um Daten von einer Kodierung in eine andere umzuwandeln Auf der Webseite des Projektes unter http www gnu org software libiconv wird gesagt This library provides an iconv implementation for use on systems which don t have one or whose implementation cannot convert from to Unicode Glibc enth lt eine iconv Funktion und kann auch von nach Unicode konvertieren deshalb wird libiconv auf einem LFS System nicht ben tigt Das Installationssystem der Glibc ist sehr eigenst ndig und l sst sich perfekt installieren selbst wenn die specs Datei unseres Compilers und der Linker immer noch auf tools verweisen Sie k nnen die specs Dat
11. Fahren Sie mit Installieren Sie das Paket fort wenn Sie die Testsuite berspringen m chten Um alles f r die Tests vorzubereiten stellen Sie sicher dass die Locale Einstellungen f r Ihr System benutzt werden und dass der Benutzer nobody von der Standard Eingabe lesen und in den Quellordner schreiben kann sed i s LANG LC_ALL tests intl tests sed i s tests amp lt dev tty tests run test chown Rv nobody F hren Sie nun die Tests als Benutzer nobody aus su tools nobody s bin bash c make tests Installieren Sie das Paket make install Starten Sie die frisch installierte bash ersetzt die gerade laufende Version exec bin bash login h Anmerkung Die verwendeten Parameter machen bash zu einer interaktiven Login Shell Hashing bleibt weiterhin abgeschaltet so dass frisch installierte Programme sofort verf gbar sind 6 30 2 Inhalt von Bash Installierte Programme bash bashbug und sh Link auf bash 114 Linux From Scratch Version 6 4 Kurze Beschreibungen bash bashbug sh Ein weit verbreiteter Befehlsinterpreter Er f hrt alle m glichen Arten von Erweiterungen und Ersetzungen an einer Kommandozeile durch bevor diese dann ausgef hrt wird Das macht diesen Befehlsinterpreter zu einem m chtigen Werkzeug Ein Shell Skript welches dem Benutzer helfen soll einen Fehlerbericht zur bash in einem standardisierten Format zu erstellen und per E Mail
12. In vs bash tools bin sh Details zu diesem Paket finden Sie in Abschnitt 6 30 2 Inhalt von Bash 48 Linux From Scratch Version 6 4 5 16 Bzip2 1 0 5 Das Paket Bzip2 enth lt Programme zum Komprimieren und Dekomprimieren von Dateien Bzip2 erreicht vor allem bei Textdateien eine wesentlich bessere Kompressionsrate als das traditionelle gzip Gesch tzte weniger als 0 1 SBU Kompilierzeit Etwa Ben tigter 4 8 MB Speicherplatz 5 16 1 Installation von Bzip2 Das Paket Bzip2 enth lt kein configure Skript Kompilieren Sie es einfach make Installieren Sie das Paket make PREFIX tools install Details zu diesem Paket finden Sie in Abschnitt 6 31 2 Inhalt von Bzip2 49 Linux From Scratch Version 6 4 5 17 Coreutils 6 12 Das Paket Coreutils enth lt viele Shell Werkzeuge zum Einstellen der grundlegenden Systemeigenschaften Gesch tzte 0 7 SBU Kompilierzeit Etwa Ben tigter 83 MB Speicherplatz 5 17 1 Installation von Coreutils Es gibt einen internen Fehler in Coreutils der bei einigen Programmen zu abnormalem Verhalten f hrt wenn Sie f r den Bau einen lteren Kernel verwenden Wenden Sie den folgenden Patch an um das Problem zu beheben patch Npl i coreutils 6 12 old build kernel 1 patch Bereiten Sie Coreutils zum Kompilieren vor configure prefix tools enable install program hostname Die Bedeutung der configure Para
13. Installieren Sie das Paket make install Verschieben Sie einige Programme die sich nicht in den Basis Ordnern befinden m ssen mv v bin gzexe uncompress zcmp zdiff zegrep usr bin mv v bin zfgrep zforce zgrep zless zmore znew usr bin 6 41 2 Inhalt von Gzip Installierte Programme gunzip gzexe gzip uncompress zcat zcmp zdiff zegrep zfgrep zforce zgrep zless zmore und znew Kurze Beschreibungen gunzip Dekomprimiert gzip Dateien gzexe Erzeugt selbstextrahierende ausf hrbare Dateien gzip Komprimiert Dateien mit dem Lempel Ziv LZ77 Algorithmus uncompress Entpackt komprimierte Dateien zcat Dekomprimiert gzip Dateien zur Standardausgabe zcmp F hrt cmp auf gzip Dateien aus zdiff F hrt diff auf gzip Dateien aus zegrep F hrt egrep auf gzip Dateien aus zfgrep F hrt fgrep auf gzip Dateien aus zforce Erzwingt eine gz Erweiterung an die komprimierten Dateien damit gzip diese Dateien nicht erneut komprimiert Das kann sinnvoll sein wenn Dateinamen bei einer Daten bertragung abgeschnitten wurden zgrep F hrt grep auf gzip Dateien aus zless F hrt less auf gzip Dateien aus zmore F hrt more auf gzip Dateien aus znew Konvertiert Dateien im compress Format in das gzip Format Z zu gz 129 Linux From Scratch Version 6 4 6 42 Inetutils 1 5 Inetutils enth lt verschiedene Programme zur grundlegenden Netzwerkunterst tzung Gesch tzte 0 3 SBU Kompilierzeit
14. Kurze Beschreibungen apropos Durchsucht die whatis Datenbank und gibt kurze Beschreibungen zu den Kommandos aus die die angegebene Zeichenkette enthalten catman Erzeugt oder aktualisiert die vorformatierten Hilfeseiten convert mans Wandelt Man pages in die angegebene Kodierung um lexgrog Zeigt eine einzeilige Zusammenfassung ber eine Hilfeseite an man Formatiert die angeforderte Hilfeseite und zeigt sie an mandb Erzeugt und aktualisiert whatis Datenbanken 140 manpath whatis zsoelim Linux From Scratch Version 6 4 Zeigt den Inhalt von MANPATH oder falls MANPATH nicht festgelegt ist einen passenden Suchpfad basierend auf den Einstellungen in man conf und der Umgebung des Benutzers an Durchsucht die whatis Datenbank und zeigt eine kurze Beschreibung zu den Systemkommandos an die das bergebene Stichwort als separates Wort enthalten Liest Dateien und ersetzt Zeilen der Form so lt Datei gt gt mit dem tats chlichen Inhalt von lt Datei gt 141 Linux From Scratch Version 6 4 6 48 Module Init Tools 3 4 1 Das Paket Module Init Tools enth lt diverse Programme zur Verwaltung von Kernel Modulen f r Kernelversionen gt 2 5 47 Gesch tzte weniger als 0 1 SBU Kompilierzeit Etwa Ben tigter 8MB Speicherplatz 6 48 1 Installation von Module Init Tools Die gepackte Datei enth lt nur die SGML Quellen f r die Man pages Der folgende Patch enth lt die Ergebnisse von docbook2man siehe At
15. Limitation on Liability EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE LAW IN NO EVENT WILL LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY FOR ANY SPECIAL INCIDENTAL CONSEQUENTIAL PUNITIVE OR EXEMPLARY DAMAGES ARISING OUT OF THIS LICENSE OR THE USE OF THE WORK EVEN IF LICENSOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES Termination a This License and the rights granted hereunder will terminate automatically upon any breach by You of the terms of this License Individuals or entities who have received Derivative Works or Collective Works from You under this License however will not have their licenses terminated provided such individuals or entities remain in full compliance with those licenses Sections 1 2 5 6 7 and 8 will survive any termination of this License b Subject to the above terms and conditions the license granted here is perpetual for the duration of the applicable copyright in the Work Notwithstanding the above Licensor reserves the right to release the Work under different license terms or to stop distributing the Work at any time provided however that any such election will not serve to withdraw this License or any other license that has been or is required to be granted under the terms of this License and this License will continue in full force and effect unless terminated as stated above Miscellaneous a Each time You distribute or publicly digitally perform the Work or a Collective Work
16. Ryan Oliver lt ryan linuxfromscratch org gt CLFS Co Betreuer Alexander E Patrakov lt alexander linuxfromscratch org gt LFS Buchautor LFS Internationalisierung LFS Live CD Betreuer Zahllose weitere Personen aus den verschiedenen LFS und BLFS Mailinglisten die mit Vorschl gen Tests und Fehlerberichten Anleitungen und Installationserfahrungen zu diesem Buch beitragen bersetzer Manuel Canales Esparcia lt macana macana es com gt Spanisches LFS bersetzerprojekt e Johan Lenglet lt johan linuxfromscratch org gt Franz sisches LFS bersetzerprojekt e Anderson Lizardo lizardo Olinuxfromscratch org gt Portugiesisches LFS bersetzerprojekt Thomas Reitelbach tr erdfunkstelle de Deutsches LFS bersetzerprojekt Betreuer der Softwarespiegel Nordamerikanische Spiegel e Scott Kveton scott osuosl org lfs oregonstate edu e William Astle lt lost 21 w net gt ca linuxfromscratch org e Eujon Sellers lt jpolen rackspace com gt Ifs introspeed com e Justin Knierim lt tim idge net gt Ifs matrix net S damerikanische Spiegel e Manuel Canales Esparcia lt manuel linuxfromscratch org gt Ifsmirror lfs es info Luis Falcon Luis Falcon torredehanoi org Europ ische Spiegel Guido Passet guido primerelay net gt nl linuxfromscratch org Bastiaan Jacques lt baafie Oplanet nl gt Ifs pagefault net Sven Cranshoff lt sven cranshoff lineo be gt Ifs
17. Upgrade to DB 4 6 21 Fixes 2086 e 25 9 2007 manuel More updates in dependencies list Thanks to Chris Staub for the patch e 23 9 2007 manuel Updated dependencies list Thanks to Chris Staub for the patch e 21 9 2007 manuel Fixed glibc libidn tarball extension 18 9 2007 manuel Added remap attributes to userinput tags in packages pages to help adding package manager support and other extensions into jhalfs Made all testsuite commands screen blocks for consistency 16 9 2007 manuel Updated Ncurses contents list and fixes some typos Thanks to Chris Staub for the patch e 15 9 2007 e matthew Add latest upstream patches for Vim Upgrade to Sysklogd 1 5 Fixes 72055 Add latest upstream patches for Readline Fixes 72068 matthew matthew matthew Upgrade to Man pages 2 64 Fixes 2061 matthew Upgrade to Linux 2 6 22 6 Fixes 2070 e jhuntwork Upgrade to Glibc 2 6 1 Fixes 72016 Thanks to Matthew Burgess for preparing a discrete patch Robert Connolly and Dan Nicholson for investigating how best to adjust CFLAGS and Greg Schafer for showing the technical benefits of using CFLAGS with Glibc jhuntwork Upgrade to GCC 4 2 1 Fixes 2002 Thanks to Matthew Burgess for preparing a discrete patch matthew Upgrade to DB 4 6 19 Fixes 42051 matthew Upgrade to Binutils 2 18 Fixes 72069 matthew Add latest upstream patches for Bash Fixes 72067
18. dummy log readelf 1 a out grep lib Wenn alles korrekt funktioniert sollten keine Fehler auftreten und die Ausgabe des letzten Kommandos ist Requesting program interpreter lib ld linux so 2 berpr fen Sie nun dass die korrekten Startdateien verwendet werden grep o usr lib crt lin succeeded dummy log Wenn alles korrekt funktioniert sollten keine Fehler auftreten und die Ausgabe des letzten Kommandos sieht so oder so hnlich aus use IL3 9 eye 3 8696 1 3 9 bx opa d o 352 ss sf ss Cetl succeecleel fuse 1 319 eec 1 686 19 1 1 0 05 6 4 4352 7 sofachoafCEEL suceeclsel Jine J 3 19 eye 3 86 9x6 limte opa dl 3 2 S5 ss oo Creta O succeecleel Stellen Sie sicher dass der Compiler nach den korrekten Header Dateien sucht grep B4 usr include dummy log Dieses Kommando sollte erfolgreich mit den folgen Ausgaben beendet werden include search starts here usr local include usr lib gcc i686 pc linux gnu 4 3 2 include usr lib gcc i686 pc linux gnu 4 3 2 include fixed usr include Anmerkung Seit Version 4 3 0 installiert GCC die Datei 1imits h in den privaten Ordner include fixed dieser muss vorhanden sein Stellen Sie als n chstes sicher dass der neue Linker mit den korrekten Suchpfaden verwendet wird grep SEARCH usr lib dummy log sed s nlg Wenn alles korrekt funktioniert sollten keine Fehler auf
19. 0 start stoplreload restart status exit 1 Pr SS eue End rc base init d sysklogd D 17 etc rc d init d hetwork bin sh HEH EH HH HH EE HEHE HE EE HE EE HE HE RERE EE EE EE EE HE HH HH HE HE EE EE EE EE Begin rc_base init d network Description Network Control Script Authors Gerard Beekmans gerard linuxfromscratch org Nathan Coulson nathan linuxfromscratch org Kevin P Fleming kpfleming linuxfromscratch org Version 2 00 08 Notes AE AE AE E AE AE E AE AE E AE AE E AE AE AE AE AE E AE AE AE E AE E AE AE AE E AE E AE AE AE E AE AE AE FE AE E AE AE E FE AE E AE AE AE HE AE AE AE AE E HE AE E AE AE AE FE AE TE AE AE E FE F H etc sysconfig rc rc functions etc sysconfig network case WS qi sm start Start all network interfaces cor rile sim S asumo devices recon ico do interface file ifconfig skip if file is because nothing was found aie p We fsuenErweie eS e 7 then continue il IN BOOT 1 network_devices ifup interface done ir stop Reverse list FILES for file in network_devices ifconfig do FILES file S FILES done Stop all network interfaces or iile ia S PIIS do 231 Linux From Scratch Version 6 4 interface file ifconfig skip if file is because nothing was found ae p Maira pl WE 1 then continue ial IN_BOOT 1 network_de
20. 2 143 KB Download http ftp gnu org gnu bash bash doc 3 2 tar gz MD5 Pr fsumme 0e904cb46ca873fcfa65df19b024bec9 Berkeley DB 4 7 25 13 124 KB Webseite http www oracle com technology software products berkeley db index html Download Attp download east oracle com berkeley db db 4 7 25 tar gz MD5 Pr fsumme ec2b87e833779681a0c3a814aa71359e Binutils 2 18 14 612 KB Webseite http sources redhat com binutils Download http ftp gnu org gnu binutils binutils 2 18 tar bz2 MDS5 Pr fsumme 9d22ee4dafa3al194457caf4706 9c 01 17 Bison 2 3 1 055 KB Webseite http www gnu org software bison Download http ftp gnu org gnu bison bison 2 3 tar bz2 MD5 Pr fsumme c18640c6ec31a169d351e3117ecce3ec Bzip2 1 0 5 8 228 KB Webseite http www bzip org Download http www bzip org 1 0 5 bzip2 1 0 5 tar gz MDS5 Pr fsumme 3c15a0c8d1d3ee1c46a1634d00617b1la Coreutils 6 12 9 001 KB Webseite http www gnu org software coreutils Download http ftp gnu org gnu coreutils coreutils 6 12 tar gz MD5 Pr fsumme 2ca9ac69823dbd567b905a9e9 53c4f6 DejaGNU 1 4 4 1 056 KB Webseite http www gnu org software dejagnu Download http ftp gnu org gnu dejagnu dejagnu 1 4 4 tar gz MD5 Pr fsumme 053 18f d5d00873de365413cab17a666 Diffutils 2 8 1 762 KB Webseite http www gnu org software diffutils Download http ftp gnu org gnu diffutils diffutils 2 8 1 tar gz MD5 Pr
21. Abh ngigkeiten Muss installiert werden vor Grep Installations Abh ngigkeiten Testsuite Abh ngigkeiten Muss installiert werden vor Groff Installations Abh ngigkeiten Testsuite Abh ngigkeiten Muss installiert werden vor GRUB Installations Abh ngigkeiten Testsuite Abh ngigkeiten Muss installiert werden vor Gzip Installations Abh ngigkeiten Testsuite Abh ngigkeiten Muss installiert werden vor lana Etc Installations Abh ngigkeiten Testsuite Abh ngigkeiten Muss installiert werden vor Inetutils Installations Abh ngigkeiten Testsuite Abh ngigkeiten Muss installiert werden vor Linux From Scratch Version 6 4 Bash Binutils Coreutils Diffutils Gawk GCC Glibc Grep M4 Make Sed und Texinfo Keine MPFR GCC Bash Binutils Coreutils Diffutils GCC Gettext Glibc Grep Make Patch Sed und Texinfo Gawk Man DB Bash Binutils Bison Coreutils Gawk GCC Glibc Grep Make Patch Sed und Texinfo Enth lt keine Testsuite Man DB und Perl Bash Binutils Coreutils Diffutils GCC Glibc Grep Make Ncurses Sed und Texinfo Keine Keine Bash Binutils Coreutils GCC Glibc Grep Make Sed und Texinfo Diffutils Man DB Coreutils Gawk und Make Enth lt keine Testsuite Perl Bash Binutils Coreutils GCC Glibc Grep Make Ncurses Patch Sed und Texinfo Enth lt keine Testsuite Tar 195 IProute2 Installations Ab
22. ENSE wedge Zehen echo warning boot mesg n WARNING n nFile system errors WARNING Kos mas i W boot mesg n NOMS o i were found and have been corrected You may want to double check that everything was fixed properly boot mesg S NORMAL t ir Sferror value 2 o Sferror value 3 then echo_warning boot_mesg n WARNING n nFile system errors WARNING boot_mesg n were found and have been been boot_mesg n corrected i IS lies Ox ae boot_mesg n errors require this system to be boot_mesg n rebooted n nAfter you press enter boot_mesg n this system will be rebooted boot mesg a n nPress Enter to continue S INFO boot mesg S NORMAL read ENTER reboot f al ie WSferrorz swedbue cw 3 a Slereoe welus ke 16 5 chen echo_failure boot_mesg n FAILURE n nFile system errors FAILURE boot mesg n wer ncountered that could not be boot mesg n fixed automatically This system lod nase A Y cannot COMICS o So uoo wiii boot_mesg n therefore be halted until those boot mesg n errors are fixed manually by a boot mesg n System Administrator n nAfter you boot mesg n press Enter this system will be oo miese a W Ineillicexcl enel Domereel qQuri o boot mesg A n nPress Enter to continue S INFO boot mesg S NORMAL read ENTER rc_base init d halt sto
23. Eric S Raymond hat zu diesem Thema einen sehr guten Artikel geschrieben Sie finden ihn unter http catb org esr fags smart questions html Lesen und befolgen Sie bitte seine Tipps So erh hen Sie Ihre Chance dass Sie auf Ihre Frage eine Antwort erhalten mit der Sie auch etwas anfangen k nnen 12 Linux From Scratch Version 6 4 Teil Il Vorbereitungen zur Installation Linux From Scratch Version 6 4 Kapitel 2 Vorbereiten einer neuen Partition 2 1 Einf hrung In diesem Kapitel bereiten Sie die Partition vor die sp ter Ihr neues LFS System enthalten wird Sie erstellen die Partition erzeugen darauf ein Dateisystem und h ngen sie anschlie end ein mounten 2 2 Erstellen einer neuen Partition Wie die meisten Betriebssysteme wird auch LFS auf einer separaten Partition installiert Sie sollten f r LFS bereits eine leere Partition haben oder eine neue Partition anlegen Ein LFS kann aber auch in einer bereits belegten Partition installiert werden sodass mehrere Betriebssyteme nebeneinander existieren Das Dokument Attp www linuxfromscratch org hints downloads files lfs next to existing systems txt erkl rt wie man dies einrichtet Im Buch gehen wir allerdings nur darauf ein wie man LFS auf eine leere dedizierte Partition installiert F r ein Minimal System ben tigen Sie eine Partition mit etwa 1 3 GB Platz Das reicht aus um die Quellpakete zu speichern und alle Pakete zu installieren Wenn Sie Ihr LFS sp ter al
24. Etwa Ben tigter 12 MB Speicherplatz 6 42 1 Installation von Inetutils Sie werden nicht alle Programme aus diesem Paket installieren Dennoch w rde Inetutils die Man pages zu diesen Programmen installieren Der folgende Patch behebt das Problem patch Npl i inetutils 1 5 no server man pages 2 patch Inetutils enth lt einen kleinen Fehler in Bezug auf GCC 4 3 2 Diesen k nnen Sie mit dem folgenden Kommando beheben sed i s lt sys types h gt lt sys types h gt n include lt stdlib h gt libicmp icmp timestamp c Bereiten Sie Inetutils zum Kompilieren vor configure prefix usr libexecdir usr sbin sysconfdir etc localstatedir var disable ifconfig disable logger disable syslogd disable whois disable servers Die Bedeutung der configure Parameter disable ifconfig Diese Einstellung verhindert die Installation des Programms ifconfig zur Konfiguration von Netzwerkschnittstellen In LFS wird stattdessen das Programm ip aus dem Paket IPRoute2 verwendet disable logger Das verhindert die Installation des Programmes logger welches Nachrichten an den System Log Daemon bergibt Logger wird hier ausgelassen weil etwas sp ter durch Util Linux eine bessere Version installiert wird disable syslogd Dieser Parameter verhindert die Installation des System Log Daemon weil Sie sp ter einen anderen mit dem Paket Sysklogd installieren werden disable whois Dies ver
25. ber die ganze Welt verteilte Softwarespiegel Diese stellen die Website zur Verf gung und vereinfachen das Herunterladen der ben tigten Programme Bitte besuchen Sie http Avww linuxfromscratch org mirrors html dort k nnen Sie eine Liste der aktuellen Softwarespiegel einsehen 1 4 5 Kontakt Bitte senden Sie alle Fragen und Kommentare direkt an eine der LFS Mailinglisten siehe oben 1 5 Hilfe Wenn Sie beim Lesen des Buches auf ein Problem sto en sollten Sie als erstes in der FAQ unter http www linuxfromscratch org faq generalfaq nachlesen die meisten Fragen werden hier schon beantwortet Falls nicht versuchen Sie die Ursache des Problems zu finden Die folgende Anleitung k nnte Ihnen bei der Fehlersuche behilflich sein http www linuxfromscratch org hints downloads files errors txt Falls Sie Ihr Problem nicht in der FAQ finden dann durchsuchen Sie am besten die Mailinglisten unter http www linuxfromscratch org search html Wenn das nicht hilft ist man im Internet Relay Chat IRC und auf den Mailinglisten Abschnitt 1 4 Ressourcen gern bereit Ihnen zu helfen Allerdings erhalten wir jeden Tag viele Anfragen die durch einfaches Lesen der FAQ oder Durchlesen der Mailinglisten beantwortet werden k nnten Wir k nnen Ihnen am besten helfen wenn Sie zuerst selbst ein wenig auf Fehlersuche gehen Dadurch k nnen wir uns besser auf die wirklich schwierigen Fragen konzentrieren Wenn Ihre eigenen Recherchen keine E
26. blicherweise auch noch den Namen des Programms Dies ist aber davon abh ngig wie vertrauensselig der Daemon eingestellt wurde 148 6 53 Sysvinit 2 86 Das Sysvinit Paket enh lt Programme mit denen Sie das Starten Ausf hren und Beenden des Systems kontrollieren k nnen Gesch tzte Kompilierzeit Etwa Ben tigter 1MB Speicherplatz 6 53 1 Installation von Sysvinit weniger als 0 1 SBU Linux From Scratch Version 6 4 Wenn Runlevel gewechselt werden zum Beispiel beim Herunterfahren des Systems sendet init Beenden Signale an alle Programme die von init gestartet wurden und im neuen Runlevel nicht laufen sollen Init gibt dabei die Meldung Sending processes the TERM signal auf dem Bildschirm aus Diese Meldung suggeriert allerdings das init Beenden Signale an alle Prozesse sendet Das ist so aber nicht korrekt denn es geht hier nur um Prozesse die von init gestartet wurden Um Missverst ndnisse zu vermeiden k nnen Sie die Quellen so modifizieren dass es sich besser liest Sending processes configured via etc inittab the TERM signal sre init c sed i s Sending processes amp configured via etc inittab g Im weiteren Verlauf des Buches wird im Rahmen von Util linux ng eine gepflegte Version des Programms wall installiert Verhindern Sie daher die Installation des Programms und seiner Man page an dieser Stelle sed i e s utmpdump wall utmpdump e s mountpoint 1 wall 1 moun
27. de und CC mit dem zweistelligen Code f r das gew nschte Land z B DE oder AT lt charmap gt sollte durch den korrekten Zeichensatz ersetzt werden z B iso8859 15 Auch optionale Parameter wie euro k nnen angeh ngt werden Mit dem folgenden Kommando erhalten Sie eine Liste aller von Glibc unterst tzten Locales locale a Locales haben h ufig mehrere Synonyme Beispielsweise wird ISO 8859 1 h ufig auch als iso8859 1 und iso88591 geschrieben Einige Programme k nnen nicht mit den verschiedenen Synonymen umgehen daher ist es das sicherste den korrekten Namen f r ein Locale anzugeben Um den kanonischen Namen f r ein Locale herauszufinden f hren Sie das folgende Programm aus wobei lt locale name die Ausgabe von locale a f r Ihr bevorzugtes Locale ist in diesem Beispiel de_DE iso88591 LC ALL locale Name locale charmap F r das Locale de_DE iso88591 ergibt das obige Kommando LSO 89 59 1 Das endg ltige Ergebnis lautet also de_DE ISO 8859 1 Bevor Sie diese Locale Einstellung allerdings in eine der Startdateien der Bash eintragen sollten Sie sie testen LC_ALL lt locale name gt locale language LC_ALL lt locale name gt locale charmap LC_ALL lt locale name gt locale int_curr_symbol LC_ALL lt locale name gt locale int_prefix 173 Linux From Scratch Version 6 4 Das obige Kommando sollte Ihnen folgende Date
28. enable shared enable threads posix enable cxa atexit enable languages c c disable libstdcxx pch disable bootstrap Die Bedeutung der neuen Parameter zu configure enable clocale gnu Dieser Parameter stellt sicher dass unter allen Umst nden das korrekte locale Modell f r die C Bibliotheken ausgew hlt wird Falls das configure Skript de_DE Locales findet wird es das korrekte Modell gnu w hlen Falls aber de_DE nicht installiert ist besteht das Risiko dass aufgrund des f lschlicherweise ausgew hlten Modells generic ABI inkompatible C Bibliotheken erstellt werden enable threads posix Das schaltet die Behandlung von C Exceptions f r Code mit Threads ein enable cxa atexit Dieser Parameter erm glicht die Verwendung von__cxa_atexit anstelle von atexit um C Destruktoren f r lokale Statics und globale Objekte zu registrieren Au erdem ist die Option f r eine vollst ndig standardkonforme Behandlung von Destruktoren erforderlich Das beeinflusst auch die C ABI das Ergebnis sind gemeinsame C Bibliotheken und C Programme die interoperabel mit anderen Linux Distributionen sind enable languages c c Dieser Parameter stellt sicher dass sowohl der C als auch der C Compiler erzeugt werden disable libstdcxx pch Verhindert das Erzeugen der vorkompilierten Header Dateien PCH pre compiled header f r libstdc Diese Funktion verbraucht viel Platz und wir ben tigen sie nicht disable
29. ignore_device Video devices KERNEL fb 0 9 GROUP Uvadeow Storage memory devices override make group writable SUBSYSTEM block MODE 0660 dmsetup and lvm2 related programs create devicemapper devices so we prevent udev from creating them KERNEL dm OPTIONS ignore device Tape devices override all these RER Mage 109 4 GROUP tape KERNEL nht E 0 9 551 7 GROUP tape KERNS Mo OS I GROUP tape KERNEL npt 0 9 GROUP tape KERNEL st 0 9 GROUP tape KERNEL nst 0 9 GROUP tape Override floppy devices KERNEL fd 0 9 ACTION add change ATTRS cmos RUN create_floppy_devices c t Sattr cmos m M M 0660 G floppy Sroot k E 2 61 cdrom rules etc udev rules d 61 cdrom rules Set CD ROM permissions INCTILOINS erclo SUUIBSSNCS TEM No OC INN BRENNER ee EROUE eroe 244 Linux From Scratch Version 6 4 Anhang F LFS Lizenzen Dieses Buch steht unter der Lizenz Creative Commons Attribution NonCommercial ShareAlike 2 0 Rechner Anweisungen und Befehle d rfen unter den Bedingungen der MIT Lizenz entnommen werden F 1 Creative Commons Lizenz Creative Commons Lizenztext Attribution NonCommercial ShareAlike 2 0 Anmerkung Eine deutsche Version der Lizenzbedingungen finden Sie unter h
30. ww T8 chen echo Usage 0 runlevel gt amp 2 exit 1 iB aL previous S PREVLEVEL US even MuU EE Drevi ovs ir 1 ed Stre basel lrs runlevel cl 17 ichen boot mesg rc_base rc runlevel d does not exist S WARNING boot mesg flush exit 1 nal Attempt to stop all service started by previous runlevel and killed in this runlevel ad YVSforewiews Vw Jg ie for i in 1s v rc_base rcS runlevel d K 2 dev null do check_script_status suffix i rc_base rc runlevel d K 0 9 0 9 200 Linux From Scratch Version 6 4 prev_start rc_base rc previous d S 0 9 0 9 suffix sysinit_start rc_base rcsysinit d S 0 9 0 9 suffix if S runlevel 0 amp amp S runlevel 6 then ie ef S prew susct ee E Siseyvsimie_scare lg chen boot mesg n WARNING n n i can t be WARNING boot_mesg n executed because it was not boot_mesg n not started in the previous boot mesg n runlevel previous boot mesg S NORMAL boot mesg flush continue ia iE al Si stoy error_value mis Meca value ku ex WOW js acia print_error_msg 1r aL done cal Start all functions in this runlevel for i in ls v rc_base rc runlevel d S 2 dev null do xi W Simpsewiousj I UN Is ise suffix if rc base rc runlevel d S 0 9 0 9 stop rc_base rc runlevel d K 0 9 0 9 suffix prev_start rc_base rc prev
31. www linuxfromscratch org hints downloads files optimization txt 6 60 Erneutes Stripping Da Sie Ihre Systemsoftware vermutlich nicht debuggen m chten k nnen Sie hier ca 90 MB Platz sparen Dazu entfernen Sie die Debugging Symbole Das zieht keine Probleme nach sich aber Sie k nnen die verkleinerten Programme danach nicht mehr vollst ndig debuggen Normalerweise gibt es mit dem folgenden Kommando keine Schwierigkeiten Aber Sie k nnten z B einen Tippfehler machen und dadurch das System unbrauchbar machen Bevor Sie strip ausf hren sollten Sie ein Backup machen Wenn Sie strip ausf hren m chten ist besondere Vorsicht geboten damit Sie strip nicht auf Programme anwenden die gerade ausgef hrt werden inklusive der Bash Shell Daher m ssen Sie die chroot Umgebung vorerst verlassen logout Und dann erneut betreten chroot LFS tools bin env i HOME root TERM STERM PS1 u w PATH bin usr bin sbin usr sbin tools bin bash login Nun k nnen die Debugging Symbole sicher aus Bin rdateien und Bibliotheken entfernt werden tools bin find usr bin lib sbin type f exec tools bin strip strip debug Es werden viele Dateien gemeldet deren Format nicht erkannt wurde Die meisten dieser Dateien sind Skripte und keine Bin rdateien Die Warnungen k nnen einfach ignoriert werden Wenn Sie sehr wenig Platz auf der Festplatte haben k nnen Sie strip all auf die B
32. Beispiel ist das angezeigte Men von make menuconfig des Kernels Enth lt Funktionen zum Implementieren von Formularen Enth lt Funktionen zum Implementieren von Men s Enth lt Funktionen zum Implementieren von Schaltfl chen 104 Linux From Scratch Version 6 4 6 23 Procps 3 2 7 Procps enth lt Programme zur berwachung und Steuerung von Systemprozessen Die Informationen zu den Prozessen erh lt Procps aus dem Ordner proc Gesch tzte 0 1 SBU Kompilierzeit Etwa Ben tigter 2 3 MB Speicherplatz 6 23 1 Installation von Procps Wenden Sie einen Patch an um ein Unicode Problem im Programm watch zu beheben patch Npl i procps 3 2 7 watch unicode 1 patch Kompilieren Sie das Paket make Dieses Paket enth lt keine Testsuite Installieren Sie das Paket make install 6 23 2 Inhalt von Procps Installierte Programme free kill pgrep pkill pmap ps pwdx skill slabtop snice sysctl tload top uptime vmstat w und watch Installierte Bibliothek libproc so Kurze Beschreibungen free Gibt die Menge an freiem und benutzten Arbeitsspeicher aus sowohl physischem als auch Swap kill Sendet Signale an Prozesse pgrep Findet Prozesse aufgrund ihres Namens und anderer Attribute pkill Signalisiert Prozesse basierend auf ihrem Namen oder anderen Attributen pmap Gibt eine Speicher bersicht des angegebenen Prozesses aus ps Listet zur Zeit laufende Prozesse auf pwdx G
33. Diffutils 2 8 1 Die Programme dieses Pakets k nnen Unterschiede zwischen Dateien oder Ordnern anzeigen Gesch tzte 0 1 SBU Kompilierzeit Etwa Ben tigter 6 2 MB Speicherplatz 5 18 1 Installation von Diffutils Bereiten Sie Diffutils zum Kompilieren vor configure prefix tools Kompilieren Sie das Paket make Dieses Paket enth lt keine Testsuite Installieren Sie das Paket make install Details zu diesem Paket finden Sie in Abschnitt 6 32 2 Inhalt von Diffutils 51 Linux From Scratch Version 6 4 5 19 E2fsprogs 1 41 3 E2fsprogs stellt die Werkzeuge zur Verwendung mit dem ext 2 Dateisystem zur Verf gung Auch ext3 wird unterst tzt ein Journaling Dateisystem Gesch tzte 0 4 SBU Kompilierzeit Etwa Ben tigter 37 MB Speicherplatz 5 19 1 Installation von E2fsprogs Die Dokumentation empfiehlt E2fsprogs in einem Unterordner des Quellordners zu kompilieren mkdir v build cd build Bereiten Sie E2fsprogs zum Kompilieren vor configure prefix tools Kompilieren Sie das Paket make Installieren Sie die von Util linux ng ben tigten statischen Bibliotheken und Header make install libs Vergeben Sie das Schreibrecht auf die installierten Bibliotheken damit sp ter die Debug Symbole entfernt werden k nnen chmod v u w tools lib libblkid libcom_err libe2p libext2fs libss libuuid a Details zu die
34. E irn A ve de debbaa iii ee vs 11 1 5 Hilfe idet ON 11 II Vorbereitungen zur Installation 5 2 ERE rail RIEDL EI 13 2 Vorbereiten einer neuen Partition eiecit an enter une yh ona Une Ee Neo e Ys E NURe gres Ore eR xe ee rien 14 p ES du ei ern binnen pin ewe des tard 14 2 2 Erstellen emer nenen Par c icio tete eet ve ood esta vente eS E anus Brehm eei ea En vot one Se ieee oe 14 2 3 Erstellen eines Dateisystems auf der neuen Partition 2 0 0 0 cee ee cee cece eee ceeeceeeea teen seca eeseeeae eens eeneeeeeeeeeeeees 14 2 4 Einh ngen mounten der neuen Partition sass eese oieri E E A VEEE E EO TEE S a E EN 15 3 Pakete und Patches sist eie ue HR N A A EE dads E e REN EN 17 EMI DID T TP 17 3 2 Alle Pakete ra REOR ONSE EID PR ele ts ele seth Gee OT os Ou wean 17 3 3 Ertorderliche Patches vis sec sa avg pete Eo ERR Pr ESO NOU one ee E Ree pee te eon eet Uto eter oper Ren ine PRESS 22 4 Abschluss der Vorbereitungen ci ri nm sl E A S eR PECES TE e eve suede ea E ehe 24 4 T Die Variable SEES u usa esfellape ie Pine elle eee dose ae lan pen di vh aED OAA HANE ELLE ERE d 24 4 2 Erstellen des Ordners LES tools egere Lanes oe 24 4 3 Hmzut gen des LES BenutzZers incest ne erre ted Uer ex deberse petere bee vod ipeo ord Pets 24 4 4 Vorbereiten der Arbeitsumgebung sssr E EE E E I EEA E SEE aS EREE 25 4 5 Informationen ZU BUS ns sts te ue deemed a a a ten a e a enaa e E Ne 26 AiG ber de Teste Annas een 26 5
35. Updated Tcl to 8 5 4 randy Updated the Linux kernel to 2 6 26 5 randy Updated Glibc to a 2 8 snapshot taken on 9 29 2008 The tarball of this snapshot includes the libidn data that previously was separately packaged randy Added the GMP and MPFR packages to the list of packages in Chapter 3 Thanks to Lefteris Dimitroulakis for pointing out the omission 3 10 2008 bdubbs Added version check for Perl in Host System Requirements randy Updated GCC to 4 3 2 which includes adding the GMP 4 2 4 and MPFR 2 3 2 packages This new version of GCC requires the added packages Thanks to DJ Lucas for the stimulus and initial work resulting in this and all of the other package updates coming up 11 7 2008 ken Belatedly fixed known vulnerabilities in perl 3 6 2008 Linux From Scratch Version 6 4 bdubbs Added udev config scripts to appendices bdubbs Added Ifs bootscripts to appendices bdubbs Updated license to Creative Commons with extracted code under the MIT license 23 5 2008 bryan Install a few extra rules from the etc udev packages directory in udev Thanks to Dan Nicholson for noticing the issue 22 5 2008 e bryan Updated Udev to 122 udev config to 20080522 and Ifs bootscripts to 20080522 Also made persistent net rules able to be pre generated using udevadm test Fixes 2057 2079 I think 2170 and 2186 23 4 2008 jhuntwork Use mtune native for g
36. as requested b You may distribute publicly display publicly perform or publicly digitally perform a Derivative Work only under the terms of this License a later version of this License with the same License Elements as this License or a Creative Commons iCommons license that contains the same License Elements as this License e g Attribution NonCommercial ShareAlike 2 0 Japan You must include a copy of or the Uniform Resource Identifier for this License or other license specified in the previous sentence with every copy or phonorecord of each Derivative Work You distribute publicly display publicly perform or publicly digitally perform You may not offer or impose any terms on the Derivative Works that alter or restrict the terms of this License or the recipients exercise of the rights granted hereunder and You must keep intact all notices that refer to this License and to the disclaimer of warranties You may not distribute publicly display publicly perform or publicly digitally perform the Derivative Work with any technological measures that control access or use of the Work in a manner inconsistent with the terms of this License Agreement The above applies to the Derivative Work as incorporated in a Collective Work but this does not require the Collective Work apart from the Derivative Work itself to be made subject to the terms of this License c You may not exercise any of the rights granted to You in Section 3 above in any manner
37. etc Kompilieren Sie das Paket make Dieses Paket enth lt keine Testsuite 145 Linux From Scratch Version 6 4 Installieren Sie das Paket make install Verschieben Sie ein Programm an die korrekte Stelle mv v usr bin passwd bin 6 51 2 Einrichten von Shadow Dieses Paket enth lt Werkzeuge zum Bearbeiten Hinzuf gen und L schen von Benutzerpassw rtern Wir werden hier nicht erl utern was genau password shadowing bedeutet Eine vollst ndige Erkl rung finden Sie in der Datei doc HOWTO in der entpackten Shadow Ordnerstruktur Eines gilt es allerdings zu beachten Programme die Passw rter berpr fen m ssen z B xdm ftp und pop3 Server m ssen shadow konform sein Das hei t sie m ssen mit Shadow Passw rtern umgehen k nnen Um Shadow Passworter zu aktivieren benutzen Sie dieses Kommando pwconv Und um Shadow Gruppenpassw rter zu aktivieren benutzen Sie dieses Kommando grpconv Die Voreinstellungen von Shadow f r das Werkzeug useradd bed rfen einigen Erkl rungen Wenn Sie mit useradd einen neuen Benutzer anlegen wird per Voreinstellung der Benutzer sowie eine Gruppe gleichen Namens erstellt Die Benutzer Kennungen UID sowie die Gruppen Kennungen GID beginnen bei 1000 Das bedeutet Wenn Sie keine Parameter an useradd bergeben wird jeder angelegte Benutzer Mitglied einer einmaligen Gruppe gleichen Namens auf dem System Falls diese Vorgehe
38. f ISO 8859 15 de DE euro localedef i de DE f UTF 8 de DE UTF 8 localedef i en HK f ISO 8859 1 en HK localedef i en PH f ISO 8859 1 en PH localedef i en US f ISO 8859 1 en US localedef i en US f UTF 8 en US UTF 8 localedef i es MX f ISO 8859 1 es MX localedef i fa IR f UTF 8 fa IR localedef i fr FR f ISO 8859 1 fr FR localedef i fr FR euro f ISO 8859 15 fr FR euro localedef i fr FR f UTF 8 fr FR UTF 8 localedef i it IT f ISO 8859 1 it IT localedef i ja JP f EUC JP ja JP localedef i tr TR f UTF 8 tr TR UTF 8 Installieren Sie zudem auch noch die Locale f r Ihr Land Ihre Sprache und Ihren Zeichensatz Alternativ k nnen Sie auch alle Locales auf einmal installieren die in g1ibc 2 8 20080929 10caledata SUPPORTED aufgelistet werden die Liste enth lt die obigen Locales und noch viele weitere Dieses Kommando ben tigt allerdings ein wenig Zeit make localedata install locales Im unwahrscheinlichen Fall dass Sie noch weitere Locales ben tigen verwenden Sie das Kommando localedef um die nicht in glibc 2 8 20080929 10caledata SUPPORTED gelisteten Locales zu installieren 77 Linux From Scratch Version 6 4 6 9 2 Einrichten von Glibc Sie m ssen die Datei etc nsswitch conf erstellen Glibc gibt zwar Standardwerte vor wenn die Datei fehlt oder besch digt ist aber diese funktionieren nicht besonders gut mit Netzwerken Au erdem m ssen Sie die Zeitzone korrekt einstellen
39. http www linuxfromscratch org patches Ifs 6 4 grep 2 5 3 upstream_fixes 1 patch MD5 Pr fsumme 44 9c5e7d 7746e6115be47e5a068ab8 Groff Debian Patch 379 KB Download http www linuxfromscratch org patches lfs 6 4 groff 1 18 1 4 debian_fixes 1 patch MDS5 Pr fsumme 05607e7 c d6e5091 020bf 44ddca10b GRUB Disk Geometry Patch 28 KB Download Attp www linuxfromscratch org patches lfs 6 4 grub 0 97 disk geometry l patch MD5 Pr fsumme b 1594e82940e25d089feca74c6 1879 GRUB 256 Byte Inodes Patch 4 8 KB Download http www linuxfromscratch org patches lfs 6 4 grub 0 97 256byte_inode 1 patch MD5 Pr fsumme 2482bef9c1866b4045767a56268ba673 Inetutils No Server Man Pages Patch 5 3 KB Download http www linuxfromscratch org patches lfs 6 4 inetutils 1 5 no_server_man_pages 2 patch MD5 Pr fsumme ec83aa00fb111f6f9d9aca04de9cb753 Kbd Backspace Delete Fix Patch 13 KB Download http www linuxfromscratch org patches lfs 6 4 kbd 1 14 1 backspace 1 patch MD5 Pr fsumme fe51ec685687ce9d294634786ba0c2d4 Module init tools Man Pages Patch 35 KB Download http www linuxfromscratch org patches Ifs 6 4 module init tools 3 4 manpages 1 patch MD5 Pr fsumme 227104758698lae23adf01cc13d97791 Ncurses Coverity Patch 16 8 KB Download http www linuxfromscratch org patches Ifs 6 4 ncurses 5 6 coverity_fixes 1 patch MD5 Pr fsumme aa2 a9d0e89bbfdb4ce7e0e6b4b46670 Perl Consolidated Patch 7 1 KB
40. pic pic2graph post grohtml pre grohtml refer soelim tbl tfmtodit und troff Kurze Beschreibungen addftinfo Liest eine troff Schriftdatei und f gt einige schriftmetrische Informationen hinzu die vom groff System benutzt werden afmtodit Erzeugt eine Schrift Datei zur Verwendung mit groff und grops eqn Kompiliert in troff Eingabedateien enthaltene Beschreibungen von Gleichungen zu Kommandos die troff versteht eqn2graph Konvertiert eine EQN Gleichung zu einem beschnittenen Bild geqn Ein Link auf gawk 127 grn grodvi groff groffer grog grolbp grolj4 grops grotty gtbl hpftodit indxbib Ikbib lookbib mmroff neqn nroff pfbtops pic pic2graph post grohtml pre grohtml refer soelim tbl tfmtodit troff Linux From Scratch Version 6 4 Ein groff Pr prozessor f r gremlin Dateien Ein Treiber f r groff der das TeX dvi Format erzeugt Eine Benutzerschnittstelle f r das groff Dokumentenformatierungssystem Normalerweise f hrt es das Programm troff und einen f r das Ausgabeger t passenden Postprozessor aus Zeigt groff Dateien und Man pages unter X und im tty an Liest Dateien ein und sch tzt welche der groff Optionen e man me mm ms p s und t zum Drucken ben tigt werden und gibt das n tige groff Kommando aus Ein groff Treiber f r Canon CAPSL Drucker Laserdrucker der Serie LBP 4 und LBP 8 Ein Treiber f r groff der Ausgaben im PCL5 Format pass
41. s in Sichtweite 7 4 2 Udev Implementierung 7 4 2 1 Sysfs Das Dateisystem sysfs wurde oben schon kurz erw hnt Man fragt sich vielleicht woher sysfs von den Ger ten und den zu verwendenden Ger tenummern wei Treiber die direkt in den Kernel integriert wurden registrieren sich bei sysfs sobald sie vom Kernel erkannt werden Bei Kernel Modulen geschieht dieser Vorgang beim Laden des Moduls Sobald sysfs in das System eingeh ngt ist unter sys sind die Daten von den mit sysfs registrierten Treibern f r Prozesse aus der Anwenderschicht und damit auch f r udev verf gbar 7 4 2 2 Das Udev Bootskript Das Bootskript S10udev k mmert sich um das Erstellen von Ger tedateien beim Systemstart Das Skript entfernt sbin hotplug als Verantwortliches Skript f r uevents weil der Kernel kein externes Programm mehr ben tigt Stattdessen wartet udevd an einem Netlink Socket auf uevents des Kernels Als n chstes kopiert das Bootskript statische Ger tedateien von lib udev devices nach dev Dies ist wichtig weil einige Ger tedateien Ordner und symbolische Links beim Bootvorgang oder von udevd selbst ben tigt werden bevor die dynamische Ger teerstellung von Udev betriebsbereit ist Durch Einrichten von statischen Ger tedateien in lib udev devices kann man auch Ger tedateien unterst tzen die normalerweise nicht von Udev automatisch angelegt werden w rden Als n chstes startet das Bootskript den Udev Daemon udevd der von nun an auf u
42. tmpfs Dateisystem Dieses Dateisystem existiert nur im Arbeitsspeicher und verbraucht daher keinen Festplattenplatz Ger tedateien ben tigen kaum Platz auf diese Weise wird also nur sehr wenig Arbeitsspeicher verbaucht 7 4 1 Die Entwicklungsgeschichte von Udev Im Februar 2000 wurde ein neues Dateisystem mit dem Namen dev s in den Kernel 2 3 46 integriert und dann in der 2 4er Serie der stabilen Kernel verf gbar gemacht Obwohl es in den Kernelquellen selbst verf gbar war hat diese Methode nie wirkliche Unterst tzung von den Kernel Entwicklern bekommen Das Haupt Problem bei diesem von devfs adaptierten Ansatz war die Art und Weise auf die Ger te erkannt erzeugt und benannt wurden Letzteres Namensvergabe war wohl das kritischste Problem Das Dateisystem dev fs litt au erdem unter sog Race conditions die mit dem Konzept zusammenhingen und nur durch nennenswerte nderungen am Kernel ge ndert werden konnten Des Weiteren war es f r lange Zeit als missbilligt markiert weil es nicht gepflegt wurde schlussendlich wurde es im Juni 2006 ganz aus dem Kernel entfernt Mit der Enticklung der 2 5er Entwickler Kernelserie die sp ter als stabile 2 6er Serie ver ffentlicht wurde wurde ein neues Dateisystem mit dem Namen sysfs eingef hrt Die Aufgabe von sysfs ist es die Betriebssystemstruktur an Anwenderprozesse zu exportieren Mit dieser aus der Anwenderschicht sichtbaren Repr sentation des Betriebssystems kam ein Ersatz f r dev
43. und zeigt sie an Konfiguriert und kontrolliert Loopback Ger te Erzeugt magische Cookies hexadezimale 128 bit Zufallszahlen f r xauth Erzeugt ein Dateisystem auf einem Ger t blicherweise einer Festplattenpartition Erzeugt ein SCO bfs Dateisystem Santa Cruz Operations Erzeugt ein cramfs Dateisystem Erzeugt ein Minix Dateisystem Initialisiert ein Ger t oder eine Datei als Auslagerungsbereich Ein Filter zum seitenweisen Anzeigen von Text Less ist jedoch besser H ngt das auf dem Ger t vorhandene Dateisystem in einem Ordner ein Zeigt die symbolischen Links in Pfadnamen an bermittelt dem Kernel das Vorhandensein und die Nummerierung von Festplatten Partitionen Zeigt eine Textdatei seitenweise an Macht ein Dateisystem zu dem neuen root Dateisystem f r den aktuellen Prozess Liest Profiling Informationen aus dem Kernel Benennt eine Datei um und ersetzt ein Zeichenkette durch eine andere Ver ndert die Priorit t eines Prozesses Dreht die Zeilen einer Datei um 156 rtcwake script scriptreplay setarch setsid setterm sfdisk swapon tailf taskset tunelp ul umount wall whereis write Linux From Scratch Version 6 4 Wird verwendet um in einen System Bereitschafts Zustand einzutreten bis die angegebene Reaktivierungs Zeit gekommen ist Erstellt eine Abschrift einer Terminalsitzung Spielt eine Abschrift einer Terminalsitzung mit Zeitinformationen zur ck ndert die ausgegebe
44. usr lib libncurses a Stellen Sie des Weiteren sicher dass alte Programme die mit 1curses verlinken immer noch kompilierbar sind rm vf usr lib libcursesw so echo INPUT Incursesw gt usr lib libcursesw so ln sfv libncurses so usr lib libcurses so ln sfv libncursesw a usr lib libcursesw a ln sfv libncurses a usr lib libcurses a Falls gew nscht installieren Sie die Dokumentation zu Ncurses 103 Linux From Scratch Version 6 4 mkdir v usr share doc ncurses 5 6 cp v R doc usr share doc ncurses 5 6 Anmerkung Die obigen Kommandos installieren keine nicht Wide Bibliotheken von Ncurses weil kein aus dem Quellcode installierte Paket diese verwenden w rde Wenn Sie allerdings Bin r Programme haben die diese Bibliotheken ben tigen so k nnen die passenden Bibliotheken mit diesen Kommandos installiert werden installi make distclean configure prefix usr with shared without normal without debug without cxx binding make sources libs cp av lib lib so 5 usr lib 6 22 2 Inhalt von Ncurses Installierte Programme captoinfo Link auf tic clear infocmp infotocap Link auf tic ncurses5 config reset Link auf tset tack tic toe tput und tset Installierte Bibliotheken libcursesw a so symlink und das Linker Skript zu libncursesw a so libformw a so libmenuw a so libncurses w a libncursesw a so libpanelw a so und ihre
45. var tmp mkdir pv usr local bin include lib sbin src mkdir pv usr local share doc info locale man mkdir v usr local share misc terminfo zoneinfo mkdir pv usr local share man man 1 8 for dir in usr usr local do In sv share man doc info dir done mkdir v var lock log mail run spool mkdir pv var opt cache 1ib misc locate 1local Normalerweise werden Ordner in der Voreinstellung mit den Rechten 755 erzeugt aber das ist nicht bei allen Ordnern erwiinscht Nehmen Sie bitte zwei Anderungen vor eine f r den Pers nlichen Ordner von root und eine weitere an den Ordnern f r tempor re Dateien 71 Linux From Scratch Version 6 4 Die erste Rechte nderung bewirkt dass nicht jeder den Ordner root betreten darf das gleiche w rde ein normaler Benutzer mit seinem Pers nlichen Ordner auch tun Die zweite nderung sorgt daf r dass jeder Benutzer in die Ordner tmp und var tmp schreiben aber nicht die Dateien anderer Benutzer l schen kann Letzteres wird durch das sticky bit bewirkt dem h chsten Bit 1 in der Bit Maske 1777 6 5 1 Anmerkung zur FHS Konformit t Unsere Ordnerstruktur basiert auf dem FHS Standard siehe http www pathname com fhs Des Weiteren erzeugen wir aus Kompatibilit tsgr nden symbolische Verkn pfungen f r die Ordner man doc und info Viele Programm versuchen leider immer noch ihre Dokumentation nach usr lt ordner gt oder usr local
46. webcast of the Work subject to the compulsory license created by 17 USC Section 114 of the US Copyright Act or the equivalent in other jurisdictions if Your public digital performance is primarily intended for or directed toward commercial advantage or private monetary compensation f Webcasting Rights and Statutory Royalties For the avoidance of doubt where the Work is a sound recording Licensor reserves the exclusive right to collect whether individually or via a performance rights society e g SoundExchange royalties for the public digital performance e g webcast of the Work subject to the compulsory license created by 17 USC Section 114 of the US Copyright Act or the equivalent in other jurisdictions if Your public digital performance is primarily intended for or directed toward commercial advantage or private monetary compensation Representations Warranties and Disclaimer UNLESS OTHERWISE MUTUALLY AGREED TO BY THE PARTIES IN WRITING LICENSOR OFFERS THE WORK AS IS AND MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND CONCERNING THE WORK EXPRESS IMPLIED STATUTORY OR OTHERWISE INCLUDING WITHOUT LIMITATION WARRANTIES OF TITLE MERCHANTIBILITY FITNESS FOR A PARTICULAR PURPOSE NONINFRINGEMENT OR THE ABSENCE OF LATENT OR OTHER DEFECTS ACCURACY OR THE PRESENCE OF ABSENCE OF ERRORS WHETHER OR NOT DISCOVERABLE SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF IMPLIED WARRANTIES SO SUCH EXCLUSION MAY NOT APPLY TO YOU
47. weiteren kompilierten Programme gegen die neue C Bibliothek gelinkt werden Im Grunde ist das fast das Gleiche was Sie im vorigen Kapitel beim Anpassen der Glibc schonmal gemacht haben auch wenn es aussieht als w re es genau umgekehrt Im vorigen Kapitel haben Sie die Toolchain von usr 1ib auf dem Host in den neuen Ordner tools 1ib umgelenkt Nun lenken Sie die Toolchain von diesem Ordner tools lib um auf unsere LFS Ordner usr lib Erstellen Sie zun chst eine Sicherungskopie des Linkers in tools und ersetzen Sie ihn dann mit dem angepassten Linker aus Kapitel 5 Zu seinem Gegenst ck in tools gcc dumpmachine bin werden wir ebenfalls eine symbolische Verkn pfung einrichten mv v tools bin 1d 1d old mv v tools gcc dumpmachine bin 1d 1d old mv v tools bin ld new 1d In sv tools bin ld tools gcc dumpmachine bin 1d Als n chstes m ssen Sie GCCs specs Datei so bearbeiten dass sie den neuen dynamischen Linker referenziert damit GCC die korrekten Header und Startdateien findet Diese Aufgabe wird von einem einfachen sed Kommando erledigt D Wichtig E Wenn Sie mit einer Rechner Plattform arbeiten bei der der Name des Linkers nicht 1d 1inux so 2 lautet m ssen Sie in den obigen Kommandos Id linux so 2 durch den korrekten Namen des Linkers f r Ihre Plattform ersetzen Wenn n tig schlagen Sie nochmal im Abschnitt Abschnitt 5 2 Technische Anmerkungen zur Toolchain na
48. 104 tr 96 99 troff 127 128 true 96 99 tset 103 104 tsort 96 99 tty 96 99 tune2fs 93 95 tunelp 155 157 tzselect 76 79 udevadm 153 154 udevd 153 154 ul 155 157 umount 155 157 uname 96 99 uncompress 129 129 unexpand 96 99 unicode start 134 135 unicode stop 134 135 uniq 96 99 unlink 96 99 updatedb 121 121 uptime 105 105 usb id 153 154 useradd 145 147 userdel 145 147 usermod 145 147 users 96 99 utmpdump 149 150 uuidd 93 95 uuidgen 93 95 vdir 96 99 Linux From Scratch Version 6 4 vi 158 159 view 158 159 vigr 145 147 vim 158 160 vimdiff 158 160 vimtutor 158 160 vipw 145 147 vmstat 105 105 vol id 153 154 w 105 105 wall 155 157 watch 105 105 we 96 99 whatis 138 141 whereis 155 157 who 96 99 whoami 96 99 write 155 157 write_cd_rules 153 154 write_net_rules 153 154 xargs 121 121 xgettext 124 125 xsubpp 108 109 xtrace 76 79 xxd 158 160 yacc 102 102 yes 96 99 ylwrap 112 113 zcat 129 129 zcmp 129 129 zdiff 129 129 zdump 76 79 zegrep 129 129 zfgrep 129 129 zforce 129 129 zgrep 129 129 zic 76 79 zless 129 129 zmore 129 129 znew 129 129 zsoelim 138 141 Bibliotheken ld so 76 79 libanl 76 79 libasprintf 124 125 libbfd 83 84 libblkid 93 95 libBrokenLocale 76 79 libbsd compat 76 79 libbz2 116 117 libc 76 79 libcom err 93 95 libery
49. 25 install Die Bedeutung des make Parameters docdir Diese Variable gibt den korrekten Speicherort f r die Dokumentation an Korrigieren Sie den Besitzer der installierten Dokumentation chown Rv root root usr share doc db 4 7 25 6 15 2 Inhalt von Berkeley DB Installierte Programme db archive db checkpoint db deadlock db dump db hotbackup db load db printlog db recover db stat db upgrade und db verify Installierte Bibliotheken libdb so ar und libdb_cxx r o ar Kurze Beschreibungen db_archive Gibt die Pfade zu Protokolldateien aus die nicht mehr benutzt werden 90 db_checkpoint db_deadlock db_dump db_hotbackup db_load db_printlog db_recover db_stat db_upgrade db_verify libdb so a libdb_cxx so a Linux From Scratch Version 6 4 Ein Daemon zum berwachen von Protokolldateien und Kontrollpunkten darin Ein Daemon zum Unterbrechen von Sperrungen falls eine ununterbrechbare Sperrung deadlock gefunden wird Wandelt eine Datenbankdatei in eine reines Textdatei um so dass sie von db load gelesen werden kann Erzeugt Schnappsch sse einer Berkeley DB Datenbank zum Zweck eines Online Backup oder Online Failover Wird zum Erzeugen einer Datenbank Datei aus einer reinen Text Datei verwendet Wandelt eine Protokolldatei einer Datenbank in ein von Menschen lesbares Format um Stellt eine Datenbank nach einem Fehler wieder in einem konsistenten Zustand her Zeigt S
50. 45 Minuten um das Beispielpaket zu bauen Gl cklicherweise sind die meisten Kompilierzeiten k rzer als die der Binutils Grunds tzlich sind SBUs relativ ungenau weil sie auf vielen Faktoren basieren inklusive der GCC Version des Host Systems Auf Mehrprozessormaschinen k nnen SBUs sogar noch ungenauer sein SBUs sollen Ihnen eine ungef hre Vorstellung davon geben wieviel Zeit das Installieren eines Pakets ben tigt Die Angaben k nnen allerdings unter Umst nden stark abweichen Wenn Sie sich aktuelle Zeitangaben f r bestimmte Computerkonfigurationen ansehen m chten schauen Sie doch mal unter http www linuxfromscratch org sbw 4 6 ber die Testsuites Die meisten Pakete enthalten auch eine Testsuite Es ist prinzipiell immer eine gute Idee eine solche Testsuite f r neu kompilierte Programme auch durchlaufen zu lassen So stellen Sie sicher dass alles korrekt kompiliert wurde Wenn eine Testsuite alle ihre Tests erfolgreich durchl uft k nnen Sie ziemlich sicher sein dass das Paket so funktioniert wie es der Entwickler vorgesehen hat Dennoch ist das nat rlich kein Garant f r absolute Fehlerfreiheit Manche Tests sind wichtiger als andere So zum Beispiel die Tests der Toolchain Pakete GCC Binutils und Glibc die C Bibliothek sind von h chster Bedeutung weil diese Pakete eine absolut zentrale Rolle f r die Funktion des gesamten Systems spielen Aber seien Sie gewarnt die Testsuites von GCC und Glibc brauchen sehr
51. 5 Tar 1 20 TCL 8 5 5 Texinfo 4 13a Udev 130 udev config 20081015 Util Linux NG 2 14 1 Vim 7 2 Hinzugef gt bash 3 2 fixes 8 patch binutils 2 18 configure 1 patch binutils 2 18 GCC43 1 patch coreutils 6 12 old build kernel 1 patch coreutils 6 12 11 8n 2 patch db 4 7 25 upstream fixes 1 patch expect 5 43 0 tcl 8 5 5 fix 1 patch GMP 4 2 4 glibc 2 8 20080929 iconv tests 1 patch glibc 2 8 20080929 ildoubl test 1 patch grep 2 5 3 debian fixes 1 patch Linux From Scratch Version 6 4 grep 2 5 3 upstream fixes 1 patch grub 0 97 256byte inode 1 patch MA f r den Bau in Kapitel 5 module init tools 3 4 1 manpages 1 patch MPFR 2 3 2 perl 5 10 0 consolidated 1 patch procps 3 2 7 watch unicode 1 patch readline 5 2 fixes 5 patch vim 7 2 fixes 3 patch Entfernt 3 nderungsprotokoll bash 3 2 fixes 5 patch coreutils 6 10 118n 1 patch db 4 5 20 fixes 1 patch gawk 3 1 5 segfault fix 1 patch gcc 4 1 2 specs 1 patch grep 2 5 1 redhat_fixes 2 patch kbd 1 12 gcc4_fixes 1 patch man db 2 4 4 fixes 1 patch mktemp 1 5 module init tools 3 2 2 modprobe 1 patch perl 5 8 8 libc 2 patch readline 5 2 fixes 3 patch shadow 4 0 18 1 useradd fix 2 patch sysklogd 1 4 1 8bit 1 patch sysklogd 1 4 1 fixes 2 patch Util linux 2 12r vim 7 1 fixes 6 patch Linux From Scratch Version 6 4 Dies ist Linux From Scratch 6 4 vom 23 November 2008 Wenn dieses Buch lter als ein halbes Jahr ist gibt es vielleicht schon eine neuere bessere Ver
52. 79 rsh 130 131 rtacct 132 133 rtcwake 155 157 rtmon 132 133 rtpr 132 133 rtstat 132 133 runlevel 149 150 runtest 42 42 rview 158 159 rvim 158 159 s2p 108 109 script 155 157 scriptreplay 155 157 scsi id 153 154 sdiff 118 118 sed 92 92 seq 96 98 setarch 155 157 setfont 134 135 setkeycodes 134 135 setleds 134 135 setmetamode 134 135 setsid 155 157 setterm 155 157 sfdisk 155 157 sg 145 147 sh 114 115 shalsum 96 98 sha224sum 96 98 sha256sum 96 98 sha384sum 96 99 sha512sum 96 99 showconsolefont 134 135 showkey 134 135 shred 96 99 shuf 96 99 shutdown 149 150 size 83 84 skill 105 105 slabtop 105 105 sleep 96 99 sIn 76 79 snice 105 105 soelim 127 128 sort 96 99 splain 108 109 split 96 99 sprof 76 79 ss 132 133 stat 96 99 strings 83 84 strip 83 84 stty 96 99 su 145 147 sulogin 149 150 sum 96 99 swapon 155 157 symlink tree 112 112 sync 96 99 sysctl 105 105 syslogd 148 148 tac 96 99 tack 103 104 tail 96 99 tailf 155 157 talk 130 131 tar 151 151 taskset 155 157 tbl 127 128 tc 132 133 telsh 39 39 8 5 39 39 tee 96 99 telinit 149 150 telnet 130 131 test 96 99 texi2dvi 152 152 texi2pdf 152 152 texindex 152 152 tfmtodit 127 128 tftp 130 131 tic 103 104 tload 105 105 toe 103 104 top 105 105 touch 96 99 tput 103
53. AE E AE AE AE AE AE E AE E AE FE AE E AE AE E FE AE E AE AE AE FE AE E AE AE E FE AE AE AE AE AE FE AE AE AE AE AE FE F HE Description File System Check Authors Gerard Beekmans gerard linuxfromscratch org A Luebk luebke users sourceforge net Version 00 00 Notes Based on checkfs script from LFS 3 1 and earlier AE AE aE aE aT AE E AE aE MEE case VS METER start ia E irasiciooere 9 tica boot_mesg n fastboot found will not perform boot_mesg file system checks as requested echo_ok exit 0 al 221 iz 19 l le chen echo_failure boot mesg n FATLURE n nCannot check root FAILURE boot mesg n filesystem because it could not be mounted boot mesg n in read only mode n nAfter you boot mesg n press Enter this system will be ao sme M Ineullced ame noweree qoi boot mesg a n nPress enter to continue S INFO boot mesg S NORMAL read ENTER rc_base init d halt stop if aL ii E rorceteck p cen boort mesg a W roreersecik roune Coreing File SEO S INFO in read only mode Linux From Scratch Version 6 4 boot mesg system checks as requested echo ok O 9E3 ei ges se Ww else Gj9iE 3L ias u cal boot_mesg Checking file systems Note a option used to be p but this fails e g on fsck minix Esck Sloprelioms T error value die ME valuek 0 12 Taca echo_ok ea mie
54. Aktualisierung innerhalb einer Mikro Version ist normalerweise problemlos m glich wenn auch nicht zu 100 garantiert Beispielsweise sollte ein Versionsupdate von glibc 2 3 4 auf glibc 2 3 5 keine Schwierigkeiten bereiten Wenn Sie ein Paket aktualisieren das gemeinsam verwendete Bibliotheken enth lt und sich mit der Aktualisierung der Name der Bibliothek ndert dann m ssen alle Programme die die Bibliothek verwenden neu kompiliert werden Beachten Sie zwischen dem Namen der Bibliothek und der Paketversion besteht grunds tzlich kein Zusammenhang Angenommen Sie haben das Paket foo 1 2 3 mit der gemeinsamen Bibliothek 1ibfoo so 1 Dieses Paket aktualisieren Sie nun auf Version 1 2 4 welche die Bibliothek namens 1ibfoo so 2 installiert In diesem Fall m ssen Sie alle Programme neu kompilieren die 1ibfoo so 1 verwenden damit sie in Zukunft libfoo so 2 referenzieren Beachten Sie auch Sie d rfen die alte Bibliothek erst entfernen wenn alle davon abh ngigen Pakete aktualisiert wurden 6 3 2 Techniken zur Paketverwaltung Im Folgenden werden einige Techniken zur Paketverwaltung beschrieben Bevor Sie sich f r eine entscheiden informieren Sie sich bitte ber die jeweilige Technik insbesondere ber die m glichen Nachteile 6 3 2 1 Ich behalte alles im Kopf Ja auch das ist eine Methode der Paketverwaltung Manche Leute ben tigen einfach keine Software zur Paketverwaltung weil sie alle Pakete gut kennen und wissen welche Date
55. Download Attp www linuxfromscratch org patches lfs 6 4 perl 5 10 0 consolidated 1 patch MD5 Pr fsumme dlbcffb5d671bd659f7ca5c451a0c752 Procps Watch Patch 3 6 KB Download Attp www linuxfromscratch org patches lfs 6 4 procps 3 2 7 watch unicode 1 patch MD5 Pr fsumme 2e5b57608177bd54349c718db9b5843d Readline Fixes Patch 18 KB Download http www linuxfromscratch org patches Ifs 6 4 readline 5 2 fixes 5 patch MD5 Pr fsumme 7390b2296b7b11209829646537294ebb Vim Fixes Patch 29 3 KB Download http www linuxfromscratch org patches lfs 6 4 vim 7 2 fixes 3 patch MD5 Pr fsumme 4b526 493995d2eb6fd415eb62 f43d8 Gesamtgr e der Pakete ungef hr 790 8 KB Die LFS Gemeinschaft hat noch zahlreiche weitere Patches erstellt Die meisten beheben kleine Probleme oder schalten Funktionen ein die in der Voreinstellung abgeschaltet sind Durchst bern Sie ruhig die Patch Datenbank unter http www linuxfromscratch org patches und laden Sie zus tzliche Patche herunter 23 Linux From Scratch Version 6 4 Kapitel 4 Abschluss der Vorbereitungen 4 1 Die Variable LFS Bei der Arbeit mit dem Buch werden Sie h ufig mit der Umgebungsvariable LFS zu tun haben Diese Variable sollte immer definiert sein und den Mountpunkt enthalten den Sie f r die LFS Partition ausgew hlt haben berpr fen Sie mit dem folgenden Kommando bitte nochmals ob LF S korrekt gesetzt ist echo LFS Die Ausgabe muss dem Pfad zu Ihrer L
56. Kompilieren Sie das Paket make Der Kompiliervorgang ist nun abgeschlossen Wie bereits erw hnt wird empfohlen die Testsuite f r das tempor re System in diesem Kapitel nicht durchlaufen zu lassen Falls Sie die Testsuite dennoch laufen lassen m chten f hren Sie dieses Kommando aus make check Installieren Sie das Paket make install Details zu diesem Paket finden Sie in Abschnitt 6 16 2 Inhalt von Sed 62 Linux From Scratch Version 6 4 5 30 Tar 1 20 Das Paket Tar enth lt ein Archivprogramm Gesch tzte 0 3 SBU Kompilierzeit Etwa Ben tigter 19 9 MB Speicherplatz 5 30 1 Installation von Tar Bereiten Sie Tar zum Kompilieren vor configure prefix tools Kompilieren Sie das Paket make Der Kompiliervorgang ist nun abgeschlossen Wie bereits erw hnt wird empfohlen die Testsuite f r das tempor re System in diesem Kapitel nicht durchlaufen zu lassen Falls Sie die Testsuite dennoch laufen lassen m chten f hren Sie dieses Kommando aus make check Installieren Sie das Paket make install Details zu diesem Paket finden Sie in Abschnitt 6 54 2 Inhalt von Tar 63 Linux From Scratch Version 6 4 5 31 Texinfo 4 13a Das Paket Texinfo enth lt Programme zum Lesen Schreiben und Konvertieren von Info Seiten Systemdokumentation Gesch tzte 0 3 SBU Kompilierzeit Etwa Ben tigter 20 MB Speicherplatz
57. Oder Sie fahren ohne das Paket fort und schauen ob die Testsuite auch ohne problemlos durchl uft Kompilieren Sie das Paket make Dieses Paket enth lt zwar eine Testsuite jedoch kann sie noch nicht ausgef hrt werden weil wir derzeit noch keinen C Compiler installiert haben Auch wenn es nur eine harmlose Meldung ist die Installationsroutine von Glibc wird sich ber die fehlende Datei too1s etc ld so conf beschweren Beheben Sie diese st rende Warnung mit mkdir v tools etc touch tools etc ld so conf Installieren Sie das Paket make install Verschiedene L nder und Kulturen haben auch unterschiedliche Konventionen zum Kommunizieren Darunter sind einfache Konventionen wie zum Beispiel das Format f r Datum und Uhrzeit aber auch sehr komplexe Konventionen wie zum Beispiel die dort gesprochene Sprache Die Internationalisierung von GNU Programmen funktioniert mit Hilfe der sogenannten Locales Installieren Sie nun die Glibc Locales Anmerkung Wenn Sie wie empfohlen die Testsuite in diesem Kapitel nicht laufen lassen brauchen Sie auch die Locales nicht zu installieren Sie werden sie dann im n chsten Kapitel installieren Um sie dennoch zu installieren benutzen Sie die Anweisungen aus Abschnitt 6 9 Glibc 2 8 20080929 Details zu diesem Paket finden Sie in Abschnitt 6 9 4 Inhalt von Glibc 36 Linux From Scratch Version 6 4 5 8 Anpassen der Toolchain Jetzt nachdem di
58. Scratch Version 6 4 sbin swapon v dev lt zzz gt Bitte ersetzen Sie lt zzz gt durch den Namen Ihrer Swap Partition Jetzt haben Sie gen gend Platz zum Arbeiten geschaffen und k nnen mit dem Herunterladen der Pakete beginnen Linux From Scratch Version 6 4 Kapitel 3 Pakete und Patches 3 1 Einf hrung Die folgende Liste enth lt alle Pakete die Sie f r ein minimales Linux System ben tigen Die Versionsnummern sind Versionen von denen wir wissen dass Sie funktionieren Wenn Sie noch wenig Erfahrung mit LFS haben sollten Sie lieber keine anderen Versionen probieren Die Anleitungen und Kommandos k nnten evtl mit neueren Versionen nicht mehr funktionieren Oft gibt es auch gute Gr nde daf r nicht die allerneueste Version einzusetzen zum Beispiel bei bekannten Problemen f r die es noch keine L sung gibt Wir k nnen nicht f r die st ndige Verf gbarkeit der Download Ressourcen garantieren Falls sich eine Download Adresse nach Erscheinen des Buches ge ndert haben sollte nutzen Sie bitte Google oder eine andere Suchmaschine und suchen nach dem entsprechenden Paket http Avww google com Sollten Sie auch hier erfolglos sein dann nutzen Sie bitte eine der alternativen Download M glichkeiten wie unter http www linuxfromscratch org lfs packages htmlfpackages beschrieben Sie m ssen alle heruntergeladenen Pakete und Patches an einem Ort speichern auf den Sie w hrend der ganzen Zeit bequemen zugreifen k n
59. Um diese Voraussetzung zu erf llen f hren Sie das folgende Kommando aus mkdir v etc grub ln sv boot grub menu lst etc grub 184 Linux From Scratch Version 6 4 Kapitel 9 Ende 9 1 Ende Herzlichen Gl ckwunsch Sie sind fertig mit der Installation Ihres eigenen LFS Systems Wir w nschen Ihnen viel Freude mit Ihrem brandneuen selbstgebauten Linux Sie sollten nun noch die Datei etc 1fs release erstellen Mit ihr ist es f r Sie und f r uns wenn Sie uns bei etwas um Hilfe bitten sollten einfach herauszufinden welche LFS Version Sie haben Erstellen Sie die Datei mit diesem Kommando echo 6 4 gt etc lfs release 9 2 Lassen Sie sich z hlen Sie haben nun das ganze Buch durchgearbeitet Vielleicht m chten Sie sich jetzt als LFS Benutzer z hlen lassen Besuchen Sie http www linuxfromscratch org cgi bin lfscounter cgi und registrieren Sie sich als LFS Benutzer indem Sie Ihren Namen und die Versionsnummer Ihres ersten LFS Systems dort eintragen Lassen Sie uns nun Ihr LFS booten 9 3 Neustarten des Systems Nachdem nun s mtliche Software installiert ist wird es Zeit den Computer neu zu starten Sie sollten allerdings ein paar Dinge beachten Das bisher erstellte System ist absolut minimal und hat h chstwahrscheinlich nicht gen gend Funktionen um ernsthaft damit arbeiten zu k nnen W hrend Sie weiterhin in der chroot Umgebung sind k nnen Sie Pakete aus dem BLFS Buch installieren Das
60. auch im Pers nlichen Ordner des Benutzers existiert berschreibt sie die globalen Einstellungen Nach einem erfolgreichen Login wird mit bin login eine interaktive Login Shell gestartet Dazu wird die Datei etc passwd eingelesen Eine interaktive nicht Login Shell wird von der Kommandozeile aus gestartet z B prompt bin bash Eine nicht interaktive Shell findet man blicherweise bei laufenden Shell Skripten Sie ist nicht interaktiv weil Sie ein Skript abarbeitet und zwischen den Kommandos nicht auf Eingaben vom Benutzer wartet Weitere Informationen finden Sie mit info bash im Abschnitt Bash Startup Files and Interactive Shells Die Dateien etc profileund bash profile werden gelesen wenn die Shell als interaktive Login Shell aufgerufen wurde Die untenstehende Basisversion der Datei etc profile stellt ein paar notwendige Umgebungsvariablen f r NLS Unterst tzung ein Eine korrekte Einstellung dieser Variablen bewirkt Die Ausgaben von Programmen werden in die Sprache des Anwenders bersetzt Korrekte Einordnung von Zeichen als Buchstaben Zahlen und weiterer Klassen Die bash ben tigt diese Einstellungen um Sonderzeichen in Befehlszeilen in nicht englischen Locales verarbeiten zu k nnen Korrekte landesspezifische alphabetische Sortierung Passende Papiergr e Korrekte Formatierung von W hrungs Zeit und Datumswerten Ersetzen Sie 11 mit dem zweistelligen L ndercode f r die gew nschte Sprache z B
61. boot grub stagel of dev fd0 bs 512 count 1 dd if boot grub stage2 of dev fd0 bs 512 seek 1 Entfernen Sie die Diskette und bewahren Sie sie an einem sicheren Ort auf Starten Sie nun die grub Shell grub Grub verwendet zur Benennung von Festplatten und Partitionen ein eigenes Schema der Form hdn m wobei n die Nummer der Festplatte und m die Nummer der Partition ist Beide Werte beginnen bei Null Das bedeutet dass zum Beispiel die Partition hdal f r GRUB hd0 0 ist und hdb2 ist hd1 1 Anders als Linux betrachtet GRUB CD Rom Laufwerke nicht als Festplatte Wenn Sie also ein CD Rom Laufwerk auf hdb haben und eine zweite Festplatte auf hdc dann ist die zweite Festplatte immernoch hd1 Bestimmen Sie mit den obigen Informationen den Namen Ihrer root Partition Im folgenden Beispiel wird angenommen dass Ihre root Partition hda4 ist Sagen Sie GRUB zuerst wo die stage 1 2 Dateien zu finden sind Sie k nnen die Tabulator Taste verwenden damit Grub Alternativen anzeigt root hd0 3 Warnung Das n chste Kommando berschreibt Ihren bisherigen Bootloader Wenn Sie das nicht wollen f hren Sie das Kommando nicht aus Zum Beispiel wenn Sie einen Bootloader von einem Dritthersteller benutzen m chten um Ihren MBR Master Boot Record zu verwalten In dem Fall w rde es Sinn machen Grub in den Bootsektor Ihrer LFS Partition zu installieren das folgende Kommando w rde dann lauten setup hd0 3 W
62. c trueQ gcc Makefile in orig gt gcc Makefile in Im Bootstrap Durchlauf aus Abschnitt 5 5 GCC 4 3 2 Durchlauf 1 wurde zum Kompilieren von GCC der Compiler Parameter fomit frame pointer verwendet Der Nicht Bootstrap Durchlauf verwendet diesen Parameter jedoch standardm ig nicht Um die Kompilier Durchl ufe von GCC konsistent zu halten sollten Sie den Parameter f r diesen Durchlauf mit dem folgenden sed Kommando einschalten cp v gcc Makefile in tmp sed s XCFLAGS amp fomit frame pointer gcc Makefile in tmp gt gcc Makefile in Der folgende Befehl ndert den Pfad zu GCCs dynamischen Linker so ab dass die Version verwendet wird die wir in tools installiert haben Er entfernt usr include aus dem Include Suchpfad von GCC Die nderung an dieser Stelle anstatt des nachtr glichen Anpassens der specs Datei stellt sicher dass beim Kompilieren von GCC der neue dynamische Linker verwendet wird Dies bedeutet dass alle Bin rdateien beim Kompiliervorgang gegen die neue Glibc gelinkt werden F hren Sie nun diesen Befehl aus for file in find gcc config name linux64 h o name linux h do cp uv file orig sed e s 1lib 64 32 1d tools amp g e s usr tools g file orig gt file echo undef STANDARD INCLUDE DIR define STANDARD INCLUDE DIR 0 gt gt file touch file orig done Falls der obige Befehl etwas zu un bersichtlich scheint hier folgt die Erkl
63. des configure Parameters disable shared Zu diesem Zeitpunkt m ssen keine gemeinsamen Bibliotheken von Gettext installiert werden daher m ssen sie auch nicht kompiliert werden Kompilieren Sie das Paket make C gnulib lib make C src msgfmt Weil nur ein einziges Programm kompiliert wurde kann die Testsuite nicht ausgef hrt werden Daher wird davon abgeraten die Testsuite an diesem Punkt auszuf hren Installieren Sie das Programm msgfmt cp v src msgfmt tools bin Details zu diesem Paket finden Sie in Abschnitt 6 38 2 Inhalt von Gettext 55 Linux From Scratch Version 6 4 5 23 Grep 2 5 3 Das Paket Grep enth lt Programme zum Durchsuchen von Dateien Gesch tzte 0 1 SBU Kompilierzeit Etwa Ben tigter 6 9 MB Speicherplatz 5 23 1 Installation von Grep Bereiten Sie Grep zum Kompilieren vor configure prefix tools disable perl regexp without included regex Die Bedeutung der configure Parameter disable perl regexp Dies stellt sicher dass grep nicht gegen die PCRE Bibliothek verlinkt wird Diese Bibliothek k nnte auf dem Host System installiert sein ist aber sp ter in der chroot Umgebung nicht mehr verf gbar without included regex Die Pr fung in configure f r die regex Bibliothek von Glibc liefert falsche Ergebnisse wenn f r glibc 2 8 kompiliert wird Durch diesen Parameter wird die Verwendung der glibc eigenen regex Bibliothek erzwungen
64. eee e re d ee e e Rd RN 155 6 38 A EAE TE 158 6 59 Informationen zu Debugging Symbolen ooocconcnnccnnccnnconnconnconnconnconnconnrn nro e men me mee hee hee ree ree rent hen trennen 161 6 69 Erneutes Strip pine i t ese os dea Urea e vowed seers setae m obey em dor ero esee Pax Dieppe dose phone dee eb eve dee Pee ee bo eue es 161 6 61 Aufraumen x oe oC s Nue tede o esu EN 161 7 Autsetzen der System Bootsknipte stasira 8 teo ee LS en Ihe 163 7 15 Einf hrung 2 5 5S eI RO n a ue e uit m aie UE MIN 163 1 2 LPS Bo tsktipte 2008103 1 2 2 4 Hans sn sit ste ln oe ole ss ish legen benedi 164 7 3 Wie funktionieren diese Bootskripte esses eee ee eere men e ee hee eee ene ener nene 166 7 4 Umgang mit Ger ten und Modulen an einem LFS System esses HH emere heme 166 7 9 Einrichten des setclock Skripts 2 22 22 28 es a RB elle 169 7 6 Einfichten der Emux Konstantin E S 170 7 7 Einrichten des sysklogd SKipts u n ee RE RE IH tu d esce d eene 172 7 8 Eistellen der Dater etc inp tre 4 22 54 20038 e nee ne aueh ie 172 7 9 Die Startdateren von Bash ara ai ER ee Oe Eee 173 7 19 Einrichten des Jocalnet Sktipts eo 43H er in unsre det been Ce se 174 7 11 Anpassen derD tet etc hosts iD En Be pee epe ERU e ea ee ane desea edi er 174 7 12 Erzeugen von benutzerdefinierten symbolischen Links zu Ger ten esessss nennen nennen 175 7 13 Einrichten des network S kripts se rear ko tinere
65. es nun einfach nur init funktioniert nach dem Konzept der Runlevel Es gibt 7 Runlevel von O bis 6 genaugenommen gibt es sogar noch mehr aber diese sind f r Spezialf lle reserviert und werden blicherweise nicht benutzt init 8 beschreibt diese Details genauer Jeder Runlevel korrespondiert mit Skripten oder Diensten die der Computer beim Hochfahren ausf hren bzw starten oder stoppen soll Der Standard Runlevel ist 3 Hier sehen Sie eine bersicht wie die Runlevel blicherweise eingesetzt werden F hrt den Computer herunter Ein Benutzer Modus Mehr Benutzer Modus ohne Netzwerk Mehr Benutzer Modus mit Netzwerk reserviert f r eigene Anpassungen funktioniert ansonsten wie 3 genauso wie 4 wird normalerweise f r grafischen Login benutzt wie z B Xs xdm oder KDEs kdm Startet den Computer neu CA Satis A in Das Kommando zum Wechseln des Runlevel ist init lt Runlevel gt wobei lt Runlevel gt den Runlevel angibt in den Sie wechseln m chten Zum Neustarten des Computers w rde ein Benutzer zum Beispiel init 6 eingeben Das reboot Kommando ist nur ein Alias darauf genauso wie das Kommando halt ein Alias auf init 0 ist Unter etc rc d befinden sich eine Menge Ordner mit dem Namen rc d wobei das die Nummer eines Runlevels ist Dort liegt auch der Ordner rcsysinit d er enth lt einige symbolische Links Einige beginnen mit einem K andere mit einem S gefolgt von einer zweistelligen Zahl Das K bedeutet bee
66. etc group weil Sie in Kapitel 5 eine vollst ndige Glibc installiert haben exec tools bin bash login h Beachten Sie die Option h Durch sie wird das interne Pfad Hashing der Bash abgeschaltet Ohne diese Anweisung w rde sich bash die Pfade zu ausf hrbaren Dateien merken und wiederverwenden Weil die frisch installierten Programme aber sofort nach deren Installation an ihrem neuen Ort genutzt werden sollen schalten Sie die Funktion f r dieses Kapitel aus Die Programme login agetty und init und einige weitere verwenden Logdateien zum Protokollieren von Informationen Dazu geh rt z B wer sich zu welcher Zeit an das System angemeldet hat Diese Programme protokollieren aber nur wenn die entsprechenden Logdateien bereits existieren Daher m ssen Sie die Logdateien nun anlegen und die richtigen Recht vergeben touch var run utmp var log btmp lastlog wtmp chgrp v utmp var run utmp var log lastlog chmod v 664 var run utmp var log lastlog Die Logdateien haben folgenden Zweck var run utmp protokolliert zur Zeit angemeldete Benutzer var log wtmp protokolliert alle An und Abmeldungen var log lastlog protokolliert die letzte Anmeldung f r jeden Benutzer var 1log btmp protokolliert fehlgeschlagene Anmeldeversuche 73 Linux From Scratch Version 6 4 6 7 Linux 2 6 27 4 API Header Die Linux API Header ver ffentlichen die Programmierschnittstelle der Kernels zur Verwendung durch die Glibc Gesch
67. etes ados esee e sl 236 15 25 etc syscontig metwork devices TUp sssrin te teres mel ihleifsle shit 236 D 26 etc sysconfig network devices ifdown sess e ee he ee me hen hen m ent en he nre tenere nene 238 D 27 etc sysconfig network devices services ipv4 static esses me e mee ee here 239 D 28 etc sysconfig network devices services ipv4 static route essesesesee HH eem emere 241 E SRIE up REPE 243 A S de E cT E 243 E 2 61 cdrom f leS Heels Son deo fe So Po peo ss duced el ops seh eyes Shops since peo Nep Suisse 244 E LES LIZOOZ SA E E E 245 Fil Creative Commons LE1zenz intet euer Aie tissime hcg ein Dessen 245 E 2 DIE2MILT Eizen7 nce SEM EE IET 248 S chwortverzelchnis se ei ans Sys ah u Lin D ee ero oro beh rin Rodas shed sane sedet oerte deed eus 249 vi Linux From Scratch Version 6 4 Einleitung Vorwort Meine Abenteuer mit Linux begannen 1998 als ich meine erste Distribution herunterlud und installierte Nach einer Weile Arbeit mit dem neuen System fielen mir jedoch Dinge auf die ich verbessern wollte Zum Beispiel gefielen mir weder die Zusammenstellung der Bootskripte noch die Voreinstellungen vieler Programme Ich probierte ein paar alternative Distributionen aus aber alle hatten neben ihren Vorteilen auch Nachteile Schlussendlich wurde mir klar dass ich mein eigenes Linux von Grund auf selbst erstellen musste um wirklich zufrieden zu sein Im Einzelnen bedeutete d
68. exit 1 dt at args args via S GATEWAY dta ii m V S S90UmECER p then os SES cce SIS LU at aL Case STR ha up boor mese Adelia S ese oire eo mas STi abmestieeSS es ip route add args dev 1 evaluate retval down boot mesg Removing S desc route from the 1 interface ip route del args dev 1 evaluate retval echo Usage 0 interface up down exit 1 esac End network devices services ipv4 static route 242 Anhang E Udev Regels tze Die Regeln aus udev config 20081015 tar bz2 werden in diesem Anhang nochmal aufgelistet Die Installation dieser Regeln wird unter Abschnitt 6 56 Udev 130 beschrieben Linux From Scratch Version 6 4 E 1 55 Ifs rules NNN NN AA NANKRAAAN HE ON 20 09 KAKA KAKA KAKA AKA A HE AA A Core kernel devices override both of these ERNEL random MODE 0444 ERNEL urandom MODE 0444 ERNEL aio MODE 0444 ERNEL kmsg MODE 0600 ERNEL rtc MODE 0666 Comms devices ERNEL rfcomm 0 9 GROUP uucp ERNEL ippp 0 9 GROUP uucp ERNEL isdn 0 9 GROUP uucp ERNEL isdnctrl 0 9 GROUP uucp ERNEL capi NAME capi
69. fix randy Added a patch to the Procps instructions to fix a unicode related issue in the watch program randy Added documentation installation commands to the Chapter 6 Kbd instructions randy Modified the IPRoute2 installation command so that the docs are installed in a versioned directory randy Modified the Groff installation command so that the docs are installed in a standardized versioned directory randy Added documentation installation commands to the Chapter 6 Gawk instructions randy Added commands to the Chapter 6 Flex instructions to install a pdf doc file randy Added a parameter to the configure command in the Automake instructions so that docs are installed in a versioned directory randy Updated Module Init Tools to 3 4 1 randy Added documentation installation commands to the Chapter 6 Readline instructions randy Added documentation installation commands to the Chapter 6 Ncurses instructions 10 10 2008 randy Added documentation enhancements to the E2fspfbgs package Linux From Scratch Version 6 4 randy Removed an unnecessary parameter from the Util linux ng Chapter 6 make command Thanks to Greg Schafer for pointing it out randy Updated the Perl instructions Thanks to Greg Schafer for pointing out the issues This change also required that the Zlib package is built right before the Perl package in Chapter 6 randy Updated Vim to 7 2
70. folgen Ausgaben beendet werden jamella 5552 serca seemes eres usr include Stellen Sie als n chstes sicher dass der neue Linker mit den korrekten Suchpfaden verwendet wird 81 Linux From Scratch Version 6 4 grep SEARCH usr lib dummy log sed s nlg Wenn alles korrekt funktioniert sollten keine Fehler auftreten und die Ausgabe des letzten Kommandos sieht so oder so hnlich aus SEARCH DIR tools i686 pc linux gnu lib SEARCH DIR usr lib SHVAIRNKC IEE IDNR 9 TE e Danach pr fen Sie ob die korrekte libc eingesetzt wird grep lib libc so 6 dummy log Wenn alles korrekt funktioniert sollten keine Fehler auftreten und die Ausgabe des letzten Kommandos sieht so oder so hnlich aus attempt to open lib libc so 6 succeeded Und zum Schluss kontrollieren Sie noch ob GCC den richtigen dynamischen Linker benutzt grep found dummy log Wenn alles korrekt funktioniert sollten keine Fehler auftreten und die Ausgabe des letzten Kommandos ist found ld 1Emuxrsor 2 ae Ep Ald EmUR so 2 Wenn Sie eine andere oder berhaupt keine Ausgabe erhalten ist etwas ernsthaft schiefgelaufen Sie m ssen das berpr fen und alle bisherigen Schritte noch einmal nachvollziehen um das Problem zu finden und zu beheben Machen Sie nicht weiter solange das Problem nicht behoben ist Am wahrscheinlichsten ist dass etwas beim Anpassen der specs Datei w
71. fsumme 71 9c5ae19b60608 6c7 162da86a428 E2fsprogs 1 41 3 4 276 KB Webseite http e2fsprogs sourceforge net Download http prdownloads sourceforge net e2fsprogs e2fsprogs 1 41 3 tar gz MD5 Pr fsumme b21d26 c46c584021dc9c444933ee1c2 Expect 5 43 0 514 KB Webseite http expect nist gov Download http expect nist gov src expect 5 43 0 tar gz MD5 Pr fsumme 43e1dc0e0bc9492cf2ela6f59f 276bc3 File 4 26 584 KB Webseite http www darwinsys com file Download ftp ftp astron com pub file file 4 26 tar gz MD5 Pr fsumme 74cd5466416136da30a4e69 74dbc7a0 Anmerkung Linux From Scratch Version 6 4 Wenn Sie diese Anmerkung lesen ist File 4 26 m glicherweise nicht mehr in dieser Version verf gbar Der Hauptdownloadserver ist daf r bekannt alte Versionen zu l schen sobald neuere verf gbar sind Bitte nutzen Sie eine der alternativen Download Adressen wie z B http www linuxfromscratch org lfs download htmi ftp Findutils 4 4 0 2 029 KB Webseite http www gnu org software findutils Download http ftp gnu org gnu findutils findutils 4 4 0 tar gz MD5 Pr fsumme 49e769ac4382fae6 f104f99d54d0all2 Flex 2 5 35 1 229 KB Webseite http flex sourceforge net Download Attp prdownloads sourceforge net flex flex 2 5 35 tar bz2 MD5 Pr fsumme 10714e50cea54dc7a227e3eddcd44d57 Gawk 3 1 6 1 818 KB Webseite http www gnu org software gawk Download http ftp gn
72. hO und die Realtek Karte eth1 hei en In manchen F llen k nnten die Karten nach einem Neustart aber genau umgekehrt zugewiesen worden sein Um diesem Problem zu begegnen enth lt das Udev Paket ein Skript und einige Regeln die eine stabile Namensvergabe f r Netzwerkkarten basierend auf deren MAC Adresse sicherstellen sollen Erzeugen Sie die Regeln vorab und stellen Sie so sicher dass schon ab dem ersten Neustart immer die gleichen Namen zugewiesen werden for NIC in sys class net do INTERFACE S NIC udevadm test action add subsystem net NIC done Sehen Sie nun die Datei etc udev rules d 70 persistent net rules durch und finden Sie heraus welcher Name f r welche Netzwerkkarte zugewiesen wurde cat etc udev rules d 70 persistent net rules Am Anfang der Datei findet sich ein Kommentarblock gefolgt von zwei Zeilen je Netzwerkger t Die jeweils erste Zeile ist eine kommentierte Beschreibung aus der Sie die Hardware ID entnehmen k nnen z B PCI Hersteller und Ger te ID falls es sich um eine PCI Karte handelt und in Klammern den Treiber sofern er gefunden wird Aber weder die Ger te ID noch der Treiber entscheiden ber die Namensvergabe der Netzwerkschnittstellen diese Informationen werden nur zu Referenzzwecken verwendet Die zweite Zeile ist die Udev Regel die auf diese Netzwerkkarte passt und den Namen daf r zuweist Alle Udev Regeln bestehen aus mehreren Schl sseln die durch Komma und opti
73. halten sollten Sie den Parameter f r diesen Durchlauf mit dem folgenden sed Kommando einschalten sed i s XCFLAGS amp fomit frame pointer gcc Makefile in Das Skript fixincludes versucht manchmal die bereits installierten Header Dateien des Systems zu reparieren Es ist uns allerdings bekannt dass weder die Header von GCC 4 3 2 noch die von Glibc 2 8 20080929 eine Reparatur ben tigen Daher verhindern Sie den Start des fixincludes Skriptes mit diesem Kommando sed i s fixinc sh c true gcc Makefile in Die Dokumentation zu GCC empfiehlt GCC au erhalb des Quellordners zu kompilieren mkdir v gcc build cd gcc build Bereiten Sie GCC zum Kompilieren vor gec 4 3 2 configure prefix usr libexecdir usr lib enable shared enable threads posix enable cxa atexit enable clocale gnu enable languages c c disable bootstrap F r andere Sprachen gelten Voraussetzungen die an dieser Stelle nicht erf llt sind Im BLFS Buch finden Sie Anleitungen zur Installation aller unterst tzten Programmiersprachen von GCC Kompilieren Sie das Paket make D Wichtig In diesem Abschnitt wird die Testsuite als absolut kritisch betrachtet Sie sollten diesen Schritt unter keinen Umst nden berspringen Testen Sie die Ergebnisse aber halten Sie bei Fehlern nicht an make k check Um eine Zusammenfassung der Testergebnisse zu sehen verwenden S
74. if SERVICE is set if n S SERVICE a x network_devices services S SERVICE then if ip link show 1 gt dev null 2 gt 6 amp 1 then IFCONFIG file network_devices services SERVICE 1 down else boot_mesg Interface 1 doesn t exist S WARNING echo_warning Fi else boot mesg n Unable to process file Either FAILURE boot mesg n the SERVICE variable was not set boot mesg or the specified service cannot be executed echo failure Es continue Bi done ate eo ae tasa link status ip link show 1 ie a YS ilimk sicacus lg then ie echo SIR sccis susp e Ws ilem boor meso VisestiavelioGy Cowra The ST Tacerea sst ip link set 1 down evaluate_retval ie ab Bil ita End network devices ifdown D 27 etc sysconfig network devices services ipv4 static bin sh Hat a a a ae a a a AAA AAA AAA AAA AAA RE RE ERE RE E Begin network_devices services ipv4 static Descripcion 2 Meya Susuia Boer Ser Authors Nathan Coulson nathan linuxfromscratch org Kevin P Fleming kpfleming linuxfromscratch org Version amp 00 08 Notes E AE aE aE AE AE aE aE aE aE AE EE ES etc sysconfig rc S rc functions 239 Linux From Scratch Version 6 4 S IFCONFIG air boot echo exit ita aki b boot boot echo PREF args slar boot
75. into the desired mode is true S UNICODE amp amp MODE_COMMAND S ECHO en 033 G amp amp kbd mode u MODE_COMMAND ECHO en 033 033 K amp amp kbd mode a das uo lei see Ee esca wie ala in non UTF 8 mode also On framebuffer consoles fon 4 UTF 8 mode This doesn t hur abs crue VUSTUSE MET SONS f MODE COMMAND S MODE COMMAND amp amp setfont FONT E Apply that command to all consoles mentioned in etc inittab Important in the UTF 8 mode this should happen before setfont otherwise a kernel bug will show up and the unicode map of the font will not be used FIXME Fedora Core also initializes two spare consoles do we want that for TTY in grep f respawn sbin agetty etc inittab Gee 0 Vorwiey aigres Wo do osa E Ay A MI ace bin sh c MODE_COMMAND failed 1 done 227 see End Src_base init d console Linux From Scratch Version 6 4 Set the font if not already set above iS cite VSAUSE me q WS One hj setfont SFONT failed 1 SENA and the keymap Z z loadkeys KEYMAP gt dev null 2 gt amp 1 failed 1 z S KEYMAP CORRECTIONS loadkeys KEYMAP_CORRECTIONS gt dev null 2 gt amp 1 failed 1 Convert the keymap from SLEGACY_CHARSET to UTF 8 ez WEG Cip SA JJ dumpkeys c SLE
76. kernel runtime parameters Authors Nathan Coulson nathan linuxfromscratch org Matthew Burgress matthew linuxfromscratch org Version amp 00 00 Notes AE aE aE E AE AE E eae AE AE AE aE aE aE AE HEHE aE HEE aaa aaa etc sysconfig rc S rc functions case WSL Sha start A E SS CA come p chen boot_mesg Setting kernel runtime parameters SS Cl O evaluate retval Cal rm status SIS el 229 Linux From Scratch Version 6 4 echo Usage S10 ees sitas exit 1 ri esac f End rc base init d sysctl D 16 etc rc d init d sysklogd bin sh EL HEE HEE HE HEE HE HE HE EEE HEE EE HE HE EE HEE HE HE HEHE HEE HE E E E Begin rc_base init d sysklogd Description Sysklogd loader Authors Gerard Beekmans gerard linuxfromscratch org Version amp 09 90 Notes AE aE aE aE AE AE AE aE aE aE AE E ES etc sysconfig rc S rc functions case WS Gal ha start boot_mesg Starting system log daemon loadproc syslogd m 0 boot_mesg Starting kernel log daemon loadproc klogd vv stop boot_mesg Stopping kernel log daemon killproc klogd boot_mesg Stopping system log daemon killproc syslogd vv reload boot_mesg Reloading system log daemon config file reloadproc syslogd rm restart 0 stop Sexe 1 STOI ieu rm status statusproc syslogd statusproc klogd 230 Linux From Scratch Version 6 4 echo Usage
77. killall bin pidof 6 50 2 Inhalt von Psmisc Installierte Programme fuser killall oldfuser peekfd pstree und pstree x11 Link auf pstree Kurze Beschreibungen fuser Zeigt die PIDs von Prozessen an die gerade eine bestimmte Datei oder ein Dateisystem verwenden killall Beendet Prozesse aufgrund ihres Namens Es sendet ein Signal an alle Prozesse die ein bestimmtes Kommando ausf hren oldfuser Zeigt die PIDs von Prozessen an die gerade eine bestimmte Datei oder ein Dateisystem verwenden peekfd Ermittelt die Dateideskriptoren eines mit PID bergebenen Programms pstree Zeigt laufende Prozesse als Baumstruktur an pstree x11 Das gleiche wie pstree wartet allerdings vor dem Beenden auf eine Best tigung 144 Linux From Scratch Version 6 4 6 51 Shadow 4 1 2 1 Das Paket Shadow enth lt Programme zur sicheren Verwaltung von Kennwortern Gesch tzte 0 3 SBU Kompilierzeit Etwa Ben tigter 28 MB Speicherplatz 6 51 1 Installation von Shadow Anmerkung Wenn Sie sichere Passw rter erzwingen m chten sollten Sie vor der Installation von Shadow unter http www linuxfromscratch org blfs view svn postlfs cracklib html nachlesen und CrackLib installieren F gen Sie dann den Parameter with libcrack zu dem unten folgenden configure Kommando hinzu Verhindern Sie die Installation des Programmes groups und der zugeh rigen Hilfeseite da Coreutils eine bessere Version enth lt sed i s groups EXEEXT s
78. linux ng 2 14 1 Das Paket Util linux ng enth lt verschiedene Werkzeuge Darunter befinden sich Programme zum Umgang mit Dateisystemen Konsolen Partitionen und System Meldungen Gesch tzte 0 3 SBU Kompilierzeit Etwa Ben tigter 29 MB Speicherplatz 6 57 1 Anmerkung zur FHS Konformit t FHS empfiehlt var lib hwclock anstelle des eigentlich blichen Ordners etc als Speicherort f r die Datei adjtime zu benutzen F hren Sie das folgende Kommando aus um das Programm hwelock FHS Konform zu machen sed e s etc adjtime var lib hwclock adjtime g i grep rl etc adjtime mkdir pv var lib hwclock 6 57 2 Installation von Util linux ng configure enable arch enable partx enable write Die Bedeutung der configure Parameter enable arch Aktiviert die Erzeugung des Programms arch enable partx Aktiviert die Erzeugung der Programme addpart delpart und partx enable write Aktiviert die Erzeugung des Programms write Kompilieren Sie das Paket make Dieses Paket enth lt keine Testsuite Installieren Sie das Paket make install 6 57 3 Inhalt von Util linux ng Installierte Programme addpart agetty arch blockdev cal cfdisk chkdupexe chrt col colcrt colrm column ctrlaltdel cytune ddate delpart dmesg fdformat fdisk flock fsck cramfs fsck minix getopt hexdump hwclock 1386 ionice ipcrm ipcs isosize Idattach line linux32 linux64 l
79. linuxfromscratch org blfs LFS Hints Die LFS Hints sind eine Sammlung von n tzlichen Anleitungen und Tipps die von Freiwilligen aus der LFS Gemeinschaft eingereicht wurden Die Anleitungen sind verf gbar unter http Avww linuxfromscratch org hints list html Mailinglisten Es gibt einige Mailinglisten die Sie abonnieren k nnen wenn Sie mal Hilfe ben tigen Weitere Informationen finden Sie in Kapitel 1 Mailinglisten Das Linux Documentation Project Das Ziel des Linux Documentation Project ist es in allen Fragen zu Linux zusammenzuarbeiten Das LDP verf gt ber viele HOWTOs Anleitungen und Man pages Sie finden es unter http vww tldp org 186 Linux From Scratch Version 6 4 Teil IV Anh nge Anhang A Akronyme und Begriffe ABI ALFS ALSA API ASCH BIOS BLFS BSD chroot CMOS COS CPU CRC CVS DHCP DNS EGA ELF EOF EQN EVMS ext2 ext3 FAQ FHS FIFO FQDN FTP GB GCC GID GMT GPG HTML IDE IEEE IO IP IPC IRC ISO ISP KB LED Application Binary Interface Automated Linux From Scratch Advanced Linux Sound Architecture Application Programming Interface American Standard Code for Information Interchange Basic Input Output System Beyond Linux From Scratch Berkeley Software Distribution change root Complementary Metal Oxide Semiconductor Class Of Service Central Processing Unit Cyclic Redundancy Check Concurrent Versions System Dynamic Host Configuration Protocol Domain Name Ser
80. lt ordner gt anstelle von usr share lt ordner gt bzw usr local share lt ordner gt zu installieren Zus tzlich zu den oben erstellten Ordnern sieht der FHS Standard auch das Vorhandensein von usr local games und usr share games vor Zur Struktur in usr local share macht FHS keine pr zisen Angaben daher haben wir nur die Ordner erstellt die wir f r n tig halten 6 6 Erstellen notwendiger Dateien und symbolischer Verkn pfungen Einige Programme verwenden einprogrammierte Pfade zu Programmen die zum jetzigen Zeitpunkt aber noch nicht installiert sind Deshalb erstellen Sie eine Reihe symbolischer Links die im weiteren Verlauf des Kapitels beim Installieren der restlichen Software durch echte Dateien ersetzt werden In In In In In sv tools bin bash cat echo grep pwd stty bin sv tools bin perl usr bin sv tools lib libgcc s so 1 usr lib sv tools lib libstdc sof 6 usr lib sv bash bin sh Ein korrekt eingerichtetes Linux h lt in etc mtab eine Liste der derzeit eingebundenen Dateisysteme vor Ist die Datei nicht vorhanden so wird sie beim ersten Einbinden eines Dateisystems automatisch erzeugt Da wir aber innerhalb der chroot Umgebung keine Dateisysteme einbinden werden m ssen wir die Datei selbst erstellen weil einige Programme deren Vorhandensein voraussetzen tou ch etc mtab Damit root sich am System anmelden kann und damit der Name root der richtigen Benutzer ID zugeordnet
81. not set to yes if S IN_HOTPLUG 1 a S ONHOTPLUG yes a S HOSTNAME none J then continue iE aL stir x VS Sinaia SENOS CASAS CI E SASTRE 9 then axi x WS Cisne INKY Se SCC JEDE M UAG N ca S CHECK RINK ves cocto TOHSOKSRINKQU MAN then if ip link show 1 gt dev null 2 gt amp 1 then link_status ip link show 1 adt a Slim stecws g then aif echo YSilimk sesius eme e Wes then ajo Jie see Ss wp ie al Ta else boot mesg Interface 1 doesn t exist S WARNING echo warning continue gal El IFCONFIG file network_devices services SERVICE 1 up else boot mesg Unable to process file Either FAILURE boot mesg the SERVICE variable was not set boot mesg or the specified service cannot be executed echo failure continue iB aL Linux From Scratch Version 6 4 237 Linux From Scratch Version 6 4 f End network devices ifup D 26 etc sysconfig network devices ifdown bin sh Re HEH aH eH HH HH HE HE EE EE EE HEH EH HH EH EE EE HE EE EE EE EE HE HE HH EE HE EE EE EE EE EE Begin network devices ifdown Description Interface Down Authors Nathan Coulson nathan linuxfromscratch org Kevin P Fleming kpfleming linuxfromscratch org Version 8 00 5 Oil Notes the IFCONFIG variable is passed to the scripts found in the services directory to indicate what file th
82. oder beinhalten Modifikationen und Anpassungen an unser LFS Die folgenden Patches werden zum Erstellen von LFS ben tigt Automake Test Suite Patch 3 KB Download Attp www linuxfromscratch org patches Ifs 6 4 automake 1 10 1 test fix 1 patch MD5 Pr fsumme 4d8aa269951bb3cd876d2bb663cb04cc Bash Upstream Fixes Patch 66 KB Download http www linuxfromscratch org patches lfs 6 4 bash 3 2 fixes 8 patch MD5 Pr fsumme 7729e8bbladb57c8d3c4c3a34a5bbab0 Berkeley DB Upstream Fixes Patch 1 9 KB Download http www linuxfromscratch org patches lfs 6 4 db 4 7 25 upstream_fixes 1 patch MDS5 Pr fsumme dfe0d2a27439454fbafdeeef65fefade e Binutils GCC 4 3 Patch 1 1 KB Download http www linuxfromscratch org patches lfs 6 4 binutils 2 18 GCC43 1 patch MD5 Pr fsumme d77 a789b4cae8b1ef7bc10e6220a529 Binutils Texinfo Version Patch 1 KB Download http www linuxfromscratch org patches lfs 6 4 binutils 2 18 configure 1 patch MD5 Pr fsumme 83877c299e3e3080952214e479396 23 Bzip2 Dokumentations Patch 1 6 KB Download Attp www linuxfromscratch org patches lfs 6 4 bzip2 1 0 5 install docs 1 patch MD5 Pr fsumme 6a85ac7e89b791aae556de0 745916 7f Coreutils Internationalization Fixes Patch 104 KB Download Attp www linuxfromscratch org patches lfs 6 4 coreutils 6 12 i1 6n 2 patch MD5 Pr fsumme 2b6182 77 8b575e27d7743dd403104e Coreutils Old Kernel Patch 3 3 KB Download http www linuxfromscrat
83. prog name 1d herausfinden Detaillierte Informationen erh lt man von gcc indem man den Parameter v beim Kompilieren eines Dummy Programmes bergibt gcc v dummy c zum Beispiel gibt Informationen ber den Pr prozessor Komilierungs und Assemblierungsphasen inklusive gecs Suchpfaden und der Reihenfolge aus Das n chste zu installierende Paket ist Glibc Die wichtigsten berlegungen zum Kompilieren von Glibc besch ftigen sich mit dem Compiler Binutils und den Kernel Headern Der Compiler ist normalerweise kein Problem weil Glibc immer den gcc nimmt der in den PATH Ordnern gefunden wird Die Binutils und die Kernel Header k nnen da schon etwas schwieriger sein Daher gehen wir kein Risiko ein und benutzen die verf gbaren configure Optionen um die korrekten Entscheidungen zu erzwingen Nach dem Durchlauf von configure k nnen Sie den Inhalt von config make im Ordner g1ibc build nach den Details durchsuchen Sie werden ein paar interessante Dinge finden wie zum Beispiel CC gcc B tools bin zum Kontrollieren der verwendeten Binutils oder die Parameter nostdincund isystemzum Kontrollieren des Suchpfades des Compilers Diese Besonderheiten heben einen wichtigen Aspekt von Glibc hervor Sie ist kompiliertechnisch gesehen eigenst ndig und nicht von Voreinstellungen der Toolchain abh ngig Nach der Installation von Glibc nehmen Sie noch ein paar Anpassungen vor dadurch stellen Sie sicher dass Suchen und Verlinken nur innerhalb unseres Pr
84. sed Gibt C Strukturen aus die von cc g S erzeugt wurden Konvertiert sed Skripte zu perl Erzwingt die ausf hrliche Analyse von Warnungen in Perl Konvertiert Perl XS Code zu C Code 109 Linux From Scratch Version 6 4 6 27 Readline 5 2 Das Paket Readline enth lt Bibliotheken die Unterst tzung f r einen Verlauf und das Bearbeiten von Kommandozeilen bereitstellen Gesch tzte 0 1 SBU Kompilierzeit Etwa Ben tigter 10 2 MB Speicherplatz 6 27 1 Installation von Readline Durch die Neuinstallation von Readline werden die alten Bibliotheken nach lt bibliothek gt old umbenannt Normalerweise ist das kein Problem kann aber in einigen wenigen F llen zu Linkerproblemen in Idconfig f hren Das Problem l sst sich mit den folgenden beiden seds umgehen sed i MV old d Makefile in sed i OLDSUFF c support shlib install Readline enth lt einen Fehler bei der Verarbeitung von Mehrbyte Zeichen der zu falsch errechneten Terminal Ausma en und daher zu Fehldarstellungen f hren kann Beheben Sie den Fehler mit dem folgenden Patch der Upstream Entwickler patch Npl i readline 5 2 fixes 5 patch Bereiten Sie Readline zum Kompilieren vor configure prefix usr libdir lib Kompilieren Sie das Paket make SHLIB LIBS lncurses Die Bedeutung der make Option SHLIB LIBS l1ncurses Dieser Parameter zwingt Readline gegen die Bilbiothek 1ibncurses zu linken in Wirklichke
85. self fd lib udev devices fd ln sv proc self fd O lib udev devices stdin In sv proc self fd 1 lib udev devices stdout ln sv proc self fd 2 lib udev devices stderr ln sv proc kcore lib udev devices core Bereiten Sie das Paket zum Kompilieren vor configure prefix usr exec prefix sysconfdir etc Kompilieren Sie das Paket make Dieses Paket enth lt keine Testsuite Installieren Sie das Paket make install Udev muss vor der ersten Verwendung eingerichtet werden weil die Installationsroutine nicht alle Ger tedateien ber cksichtigt Installieren Sie zuerst zwei zus tzliche Regeln von Udev die f r die Unterst tzung von device mapper und RAID wichtig sind install m644 v rules packages 64 rules lib udev rules d Installieren Sie nun eine Datei zur Erstellung symbolischer Verkn pfungen f r bestimmte mobile Handger te install m644 v rules packages 40 pilot links rules lib udev rules d Installieren Sie nun die LFS spezifischen benutzerdefinierten Regel Dateien cd udev config 20081015 make install Installieren Sie die Dokumentation Sie erkl rt die LFS spezifischen Udev Regeln make install doc Installieren Sie die Dokumentation Sie erkl rt die allgemeinen Udev Regeln die mit Udev mitgeliefert werden make install extra doc 153 Linux From Scratch Version 6 4 Installieren Sie die Dokumentation
86. that is primarily intended for or directed toward commercial advantage or private monetary compensation The exchange of the Work for other copyrighted works by means of digital file sharing or otherwise shall not be considered to be intended for or directed toward commercial advantage or private monetary compensation provided there is no payment of any monetary compensation in connection with the exchange of copyrighted works d If you distribute publicly display publicly perform or publicly digitally perform the Work or any Derivative Works or Collective Works You must keep intact all copyright notices for the Work and give the Original Author credit reasonable to the medium or means You are utilizing by conveying the name or pseudonym if applicable of the Original Author if supplied the title of the Work if supplied to the extent reasonably practicable the Uniform Resource Identifier if any that Licensor specifies to be associated with the Work unless such URI does not refer to the copyright notice or licensing information for the Work and in the case of a Derivative Work a credit identifying the use of the Work in the Derivative Work e g French translation of the Work by Original Author or Screenplay based on original Work by Original Author Such credit may be implemented in any reasonable manner provided however that in the case of a Derivative Work or Collective Work at a minimum such credit will appear where any other compa
87. und Bildschirmschriften Lesen Sie die Hilfeseiten Loadkeys 1 und setfont 8 und bestimmen Sie die korrekten Parameter zu diesen Programmen Die Datei etc sysconfig console sollte Zeilen in der Form VARIABLE Wert enthalten Die folgenden Variablen sind m glich LOGLEVEL Dieses Variable legt die Protokollierstufe f r Kernelnachrichten fest die mittels dmesg an die Konsole bergeben werden G ltig sind Angaben zwischen 1 keine Nachrichten und 8 Die Standard Stufe ist 7 KEYMAP 2 KEYMAP CORRECTIONS Diese wenig eingesetzte Variable gibt die Argumente f r den zweiten Aufruf von loadkeys an Sie ist n tzlich wenn die ausgelieferte Tastaturlayouttabelle nicht zufriedenstellend ist und kleinere Anderungen daran vorgenommen werden sollen Um z B das Euro Zeichen zu unterst tzen obwohl es normalerweise im Tastaturlayout nicht vorgesehen ist benutzen Sie den Wert euro2 FONT Diese Variable bernimmt die Argumente f r das Programm setfont Dies sind blicherweise der Name der Schrift m und der Name der zu ladenden Kodierung Um beispielsweise die Schrift latl 16 zusammen mit der Kodierung 8859 1 zu laden so ist es in den USA blich setzen Sie diese Variable auf latl 16 m 8859 1 Im UTF 8 Modus verwendet der Kernel den Anwendungs Zeichensatz zur Umwandlung von zusammengesetzten 8 Bit Tastenkodes in der Zeichentabelle zu UTF 8 Daher sollte das Argument zum Parameter m auf die Kodierung de
88. ver ndern die zur Zeit installierten Programme wodurch sie f r zuk nftige Installation unbrauchbar werden 66 Linux From Scratch Version 6 4 Teil Ill Installation des LFS Systems Linux From Scratch Version 6 4 Kapitel 6 Installieren der grundlegenden System Software 6 1 Einf hrung In diesem Kapitel begeben Sie sich an den eigentlichen Ort des Geschehens und beginnen mit dem Bau des endg ltigen LFS Systems Im einzelnen chroot en Sie in Ihr tempor res Mini Linux erzeugen einige Hilfsmittel und beginnen dann alle Pakete der Reihe nach zu installieren Die Installation der Software ist sehr gradlinig Auch wenn die Installationsanweisungen an einigen Stellen sicherlich k rzer h tten ausfallen k nnen haben wir uns f r die ausf hrliche Variante entschieden Wenn Sie lernen m chten wie Linux intern funktioniert dann sollten Sie wissen wof r die jeweiligen Pakete benutzt werden und warum ein Benutzer oder das System auf sie angewiesen sind Deshalb finden Sie zu jedem Paket eine Zusammenfassung seines Inhalts und eine kurze Beschreibung zu den installierten Programmen und Bibliotheken Falls Sie in diesem Kapitel Compiler Optimierungen einsetzen m chten lesen Sie bitte die Anleitung unter http www linuxfromscratch org hints downloads files optimization txt Compiler Optimierungen k nnen ein Programm etwas schneller ablaufen lassen aber sie k nnen auch zu Schwierigkeiten beim Kompilieren oder Ausf hren von Prog
89. viel Zeit vor allem auf langsamer Hardware Dennoch wird dringend empfohlen sie durchlaufen zu lassen Anmerkung Die Erfahrung hat gezeigt dass man in Kapitel 5 vom Durchlaufen lassen der Testsuites im Grunde nicht viel gewinnt Das Host System hat immer einen gewissen Einfluss auf die Tests in dem Kapitel und das verursacht seltsame und unerkl rliche Fehler Und nicht nur das die in Kapitel 5 erzeugten Werkzeuge sind ohnehin nur tempor r und werden sp ter wieder gel scht Daher empfehlen wir Ihnen die Testsuites in Kapitel 5 nicht durchlaufen zu lassen Die Anleitungen daf r sind dennoch vorhanden um Testern und Entwicklern eine Hilfe zu sein aber f r alle anderen Anwender sind sie nur optional Ein weit verbreitetes Problem beim Durchlaufen der Testsuites von Binutils und GCC sind zu wenig zur Verf gung stehende Pseudo Terminals PTYs Ein typisches Symptom daf r sind ungew hnlich viele fehlgeschlagene Tests Das kann verschiedene Ursachen haben Die h ufigste Ursache ist dass das devpt s Dateisystem des Host Systems nicht funktioniert Dies wird sp ter in Kapitel 5 ausf hrlicher behandelt Manchmal verursachen Testsuites eines Pakets auch falschen Alarm Sehen Sie im LFS Wiki unter http www linuxfromscratch org lfs build logs 6 4 nach und pr fen Sie ob diese Fehler normal sind Das gilt f r alle Tests im gesamten Buch 26 Linux From Scratch Version 6 4 Kapitel 5 Erstellen eines tempor ren Systems 5 1 Einf h
90. werden kann m ssen die entsprechenden Eintr ge in etc passwd und etc group vorhanden sein Erze ugen Sie etc passwd mit dem folgenden Kommando cat gt etc passwd lt lt EOF roo nob EOF ie SSO 810 e moor root IpaLim levem ody x 99 99 Unprivileged User dev null bin false Das tats chliche Passwort f r root Das x ist hier nur Platzhalter wird erst sp ter gesetzt Erstellen Sie etc group mit dem folgenden Kommando cat roo kme tap dae t 1 dis Lg uuc aud vid usb Ioab e sys IY S gt etc group lt lt EOF E3203 Seals ae ME He 3g x 4 e x 5 mon e z 8 83 ous SHES 78 EX S x8 Ge jose LO TOSK Salis eo x 12 EMI 82 2 ILS 3 Bondi 72 Linux From Scratch Version 6 4 Corong ss 1138 menos 548 mos omo 992 EOF Die erzeugten Gruppen sind nicht Teil irgendeines Standards es sind die Gruppen die Udev in diesem Kapitel benutzt Neben der Gruppe root mit der GID 0 schl gt die LSB Linux Standard Base nur die Gruppe bin mit der GID 1 vor Alle anderen Gruppennamen und GIDs k nnen durch den Anwender frei gew hlt werden weil gut geschriebene Pakete sich nicht auf GID Nummern verlassen sollten sondern den Gruppennamen verwenden Die Meldung I have no name werden Sie los indem Sie eine neue Shell starten Die Aufl sung der Benutzer und Gruppennamen funktioniert sofort nach dem Erstellen von etc passwd und
91. zu diesem Paket finden Sie in Abschnitt 6 11 2 Inhalt von Binutils 46 Linux From Scratch Version 6 4 5 14 Ncurses 5 6 Das Paket Ncurses enth lt Bibliotheken f r den Terminal unabh ngigen Zugriff auf Textbildschirme Gesch tzte 0 7 SBU Kompilierzeit Etwa Ben tigter 30 MB Speicherplatz 5 14 1 Installation von Ncurses Bereiten Sie Ncurses zum Kompilieren vor configure prefix tools with shared without debug without ada enable overwrite Die Bedeutung der configure Parameter without ada Dies stellt sicher dass Ncurses ohne Unterst tzung f r Ada Compiler erzeugt wird Auf dem Host System k nnte Unterst tzung f r Ada installiert sein Sie w re dann aber sp ter in der chroot Umgebung nicht mehr verf gbar enable overwrite Dadurch werden die Header Dateien von Ncurses in tools include anstelle von tools include ncurses installiert Das stellt sicher dass andere Pakete die Header Dateien problemlos finden k nnen Kompilieren Sie das Paket make Dieses Paket enth lt zwar eine Testsuite jedoch kann sie erst nach der Installation ausgef hrt werden Die Tests befinden sich im Unterordner test Lesen Sie dort bitte die Datei README f r weitere Informationen Installieren Sie das Paket make install Details zu diesem Paket finden Sie in Abschnitt 6 22 2 Inhalt von Ncurses 47 Linux From Scratch Version 6 4 5 15 Bash 3 2 Das Paket B
92. zu versenden Ein symbolischer Link auf das Programm bash Wenn die bash als sh aufgerufen wird versucht sie das Verhalten der historischen Versionen von sh so gut wie m glich nachzuahmen und bleibt dabei trotzdem POSIX Konform 115 Linux From Scratch Version 6 4 6 31 Bzip2 1 0 5 Das Paket Bzip2 enth lt Programme zum Komprimieren und Dekomprimieren von Dateien Bzip2 erreicht vor allem bei Textdateien eine wesentlich bessere Kompressionsrate als das traditionelle gzip Gesch tzte weniger als 0 1 SBU Kompilierzeit Etwa Ben tigter 6 5 MB Speicherplatz 6 31 1 Installation von Bzip2 Wenden Sie einen Patch an um auch die Dokumentation zu diesem Paket zu installieren patch Npl i bzip2 1 0 5 install docs 1 patch Bereiten Sie Bzip2 zum Kompilieren vor make f Makefile libbz2 so make clean Die Bedeutung des make Parameters f Makefile libbz2 so Dieser Parameter veranlasst Bzip2 dazu ein alternatives Makefile in diesem Fall Makefile libbz2_so zu verwenden Dieses erzeugt eine dynamische Bibliothek 1ibbz2 so und verlinkt die Bzip2 Werkzeuge damit Kompilieren und testen Sie das Paket make Installieren Sie die Programme make PREFIX usr install Installieren Sie die ausf hrbare Datei bzip2 nach bin Dann erzeuen Sie ein paar n tige symbolische Links und r umen auf cp v bzip2 shared bin bzip2 cp av libbz2 so lib ln sv lib libbz2 so 1 0 usr lib l
93. 123 gtbl 127 128 gunzip 129 129 gzexe 129 129 gzip 129 129 h2ph 108 109 h2xs 108 109 halt 149 150 head 96 98 hexdump 155 156 hostid 96 98 hostname 96 98 hostname 124 124 hpftodit 127 128 hwclock 155 156 1386 155 156 iconv 76 79 iconvconfig 76 79 id 96 98 ifcfg 132 132 ifnames 111 111 ifstat 132 132 igawk 120 120 indxbib 127 128 info 152 152 infocmp 103 104 infokey 152 152 infotocap 103 104 init 149 150 insmod 142 142 insmod static 142 142 install 96 98 install info 152 152 install sh 112 112 instmodsh 108 109 ionice 155 156 ip 132 132 ipcrm 155 156 ipcs 155 156 isosize 155 156 join 96 98 kbdrate 134 135 kbd mode 134 135 kill 105 105 killall 144 144 killall5 149 150 klogd 148 148 last 149 150 lastb 149 150 lastlog 145 147 ld 83 84 Idattach 155 156 ldconfig 76 79 ldd 76 79 lddlibc4 76 79 less 136 136 lessecho 136 136 lesskey 136 136 lex 122 122 lexgrog 138 140 Ifskernel 2 6 27 4 181 182 libnetcfg 108 109 libtool 106 106 libtoolize 106 106 line 155 156 link 96 98 linux32 155 156 linux64 155 156 Ikbib 127 128 In 96 98 Instat 132 133 loadkeys 134 135 loadunimap 134 135 locale 76 79 localedef 76 79 locate 121 121 logger 155 156 login 145 147 logname 96 98 logoutd 145 147 logsave 93 94 look 155 156 lookbib 127 128 loset
94. 1inux so 2 lautet m ssen Sie statt ld linux so 2 den korrekten Namen des Linkers f r Ihre Plattform einsetzen Falls n tig schauen Sie nochmal im Abschnitt Abschnitt 5 2 Technische Anmerkungen zur Toolchain nach gcc dumpspecs sed s lib ld linux so 2 tools amp g gt dirname gcc print libgec file name specs W hrend dem Installationsvorgang durchsucht GCCs fixincludes Skript Ihr System nach m glicherweise zu reparierenden Header Dateien sie k nnten z B Syntaxfehler enthalten und installiert die reparierten Dateien dann in einen privaten Include Ordner Es kann vorkommen dass das Skript einige Header Dateien von Ihrem Host System repariert und diese dann in den privaten GCC Include Ordner kopiert Weil Sie im Rest dieses Kapitels wirklich nur auf die Header Dateien von GCC und Glibc angewiesen sind und diese bereits installiert sind k nnen alle reparierten Header Dateien problemlos gel scht werden Dadurch verhindern Sie dass Header Dateien von Ihrem Host System Einfluss auf das neue LFS System nehmen k nnen F hren Sie bitte das folgende Kommando aus um die Header Dateien in GCCs privatem Include Ordner zu l schen Am besten verwenden Sie dazu Kopieren und Einf gen anstatt die Befehle von Hand abzuschreiben GCC FIXED dirname gcc print libgcc file name include fixed amp amp find GCC FIXED maxdepth 0 xtype d exec rm rvf WV amp amp rm vf grep 1 DO NOT E
95. 2 18 rhe Colorcode ios ile console Omer nme Se Standard Output Dependencies sed for parsing strings grep for counting string length CKCkCk CkCk ck kCk ck kCk ck kCck ck ck ck k kk k ck ck k ck ck k ck ck k ck ck k ck ck ck ck ck kk ck k ck ck kk ck ck ck k ck ck ck ck ck k ck ck k ck ck k ck ck k ck ck kk k kk kk RAKA case YE alia n ECHOPARM Em Sakre Al FK echo Wakaona yoxcstrums STILE certcn di esac done Figure out the length of what is to be printed to be used for warning messages STRING LENGTH Sii e 1 Print the message to the screen UY na boot_mesg_flush Reset STRING_L STRING_LENGTH 0 boot log ECHO ECHOPARM e S 2 S 1 ENGTH for next message 203 Linux From Scratch Version 6 4 Left in for backwards compatibility echo ok S ECHO n e S CURS UP S SET COL BRACKET SUCCESS OK S BRACKET S ECHO e S NORMAL boot mesg flush ce omes dsl ca SECO i Ee OURS MURS SECON BRA CREIS ET REN eyed 1S BRACKET S ECHO e S NORMAL boot mesg flush echo warning S ECHO n e S CURS UP S SET COL S BRACKET S WARNING WARN BRACKET S ECHO e S NORMAL boot mesg flush print error msg echo_failure i Sal Se inherit ly las e schalte boot_mesg n FAILURE n nYou should not be reading this erro
96. 20 ERNEL capi NAME capi n ERNEL dcbri 0 9 GROUP uucp ALSA devices go in their own subdirectory ERNEL controlC 0 9 GROUP audio RNE A OO SE GROUP audio HAN LS Bene L0 9 1 71D 0 91 7 ep GROURS ailiclLo ERNEL midiC 0 9 D 0 9 GROUP audio ERNEL timer GROUP audio ERNEL seq GROUP audio Sound devices ERNEL admmidi GROUP audio ERNEL adsp GROUP audio ERNEL aload GROUP audio ERNEL amidi GROUP audio ERNEL amixer GROUP audio ERNEL audio GROUP audio ERNEL dmfm GROUP audio ERNEL dmmidi GROUP audio ERNEL dsp GROUP audio ERNEL midi GROUP audio ERNEL mixer GROUP audio ERNEL music GROUP audio ERNEL sequencer GROUP audio Input devices override MODE on these four ERNEL mice MODE 0644 SYMLINK mouse ERNEL mouse MODE 0644 ERNEL event MODE 0644 etc udev rules d 55 1fs rules 243 NAM NAM NAM NAM NAM NAM Ei pi Bd fe Rule Cerin cions Boj LES SYMLINK isdn capi20 GROUP uucp Tagney ele V snd k snd k snd k snd k snd k Linux From Scratch Version 6 4 KERNEI T ts MODE 0644 KERNEL T psaux MODE 0644 DRI devices are managed by the X server so prevent udev from creating them KERNEL card OPTIONS
97. 321 6 ra REL RE de ded e te etc Risse 54 25 22 Gettext OIT tidie RN 55 23 23 Orep 2 5 O PII e EI 56 3 24 G21P d 57 RAPERE PERS 58 lil Linux From Scratch Version 6 4 X204 Make z SL a ERE 59 O CIPIT 60 3 28 Perl 5 10 0 asado a RE Re kg 61 A EET 62 2 30 Tar 1 205 c ieri oem eb rne hmc esi Ii 63 SESS lilio A MICI EE 64 25 92 Utl n x ng 2 14 ies tee eae dee etd tse te o er e te eee ee dede 65 3 33 SPPN E nn T LEE 66 3 34 Anden des Bestfzers oss dieci n A ONE 66 I Installation des LES Systems ositos 67 6 Installieren der grundlegenden System Software oocooocnnccnnocnncnnncnnncnnnonnron nono nor e e m e me men mene nee hee ren rene hen trennen 68 6 LS BIHF hrung RON 68 6 2 Vorbereiten der virtuellen Kernel Dateisysteme 0 0 0 0 cece cece cece cece cece cece cena e m emm eee mee men ene hee ree rennen 68 6 3 Paketverw altun ge as TV 69 6 4 Betreten der chroot Um sebum peso s2 ieee aim des nos Seams beatae OE ees abe ee EL eR 71 6 3 Erstellen der Ordnerstruktur eu beer uses aede ert eer tee es He das cies Ue es che ener nennen 71 6 6 Erstellen notwendiger Dateien und symbolischer Verkn pfungen 0 cece ee cence ence eeceeeceeeeneeeaeeea sean scans 72 6 1 1 100X 2 6 27 4 API He der 1 80 408 NO 74 6 8 Man pages 3 Tli es ES EEUU eR ee ahead ade ead siet dvi do estre DA eS 75 6 9 Glibc 2 8 20080929 He Erlen etnthebe qes c eot dese ce odere teet lee eee ei er tieu 76 6 10 Erneutes
98. 386 eingestellt hat empfehlen die Entwickler die Verwendung des Kompilier Parameters march i486 zum Kompilieren f r x86 Rechner Hier f hren viele Wege zum Ziel jedoch haben Tests ergeben dass der Parameter am besten in der Umgebungsvariable CFLAGS eingebracht wird Anstatt alles zu berschreiben was Glibc im internen Build System f r CFLAGS verwendet h ngen wir den neuen Parameter an den bestehenden Inhalt von CFLAGS an und verwenden dazu die Spezialdatei configparams Des Weiteren ist der Parameter mtune native n tig um einen sinnvolleren Wert vorzugeben als den der sonst durch die Verwendung von march eingestellt werden w rde echo CFLAGS march i486 mtune native gt configparms Als n chstes bereiten Sie Glibc zum Kompilieren vor glibc 2 8 20080929 configure prefix tools disable profile enable add ons enable kernel 2 6 0 with binutils tools bin without gd with headers tools include without selinux Die Bedeutung der configure Parameter disable profile Dadurch werden die Bibliotheken ohne Profiling Informationen kompiliert Lassen Sie diesen Parameter weg wenn Sie mit den tempor ren Werkzeugen Profiling betreiben m chten enable add ons Dadurch verwendet Glibc NPTL als die Threading Bibliothek enable kernel 2 6 0 Dadurch wird die Glibc mit Unterst tzung f r Kernel der Serie 2 6 x gebaut with binutils tools bin Dieser Parameter wird nicht wirkl
99. 5 chage 145 146 chattr 93 94 chfn 145 146 chgpasswd 145 146 chgrp 96 97 chkdupexe 155 155 chmod 96 97 chown 96 97 chpasswd 145 146 chroot 96 97 chrt 155 155 chsh 145 146 chvt 134 135 cksum 96 97 clear 103 104 cmp 118 118 code 121 121 col 155 156 colcrt 155 156 collect 153 154 colrm 155 156 column 155 156 comm 96 97 compile 112 112 compile et 93 94 config charset 124 124 config guess 112 112 config rpath 124 124 config sub 112 112 convert mans 138 140 cp 96 97 250 Linux From Scratch Version 6 4 cpan 108 109 cpp 87 89 create floppy devices 153 154 esplit 96 97 ctrlaltdel 155 156 ctstat 132 132 cut 96 97 cytune 155 156 date 96 97 db_archive 90 90 db_checkpoint 90 91 db_deadlock 90 91 db_dump 90 91 db_hotbackup 90 91 db_load 90 91 db_printlog 90 91 db_recover 90 91 db_stat 90 91 db_upgrade 90 91 db_verify 90 91 dd 96 97 ddate 155 156 deallocvt 134 135 debugfs 93 94 delpart 155 156 depcomp 112 112 depmod 142 142 df 96 97 diff 118 118 diff3 118 118 dir 96 97 dircolors 96 97 dirname 96 97 dmesg 155 156 dprofpp 108 109 du 96 97 dumpe2fs 93 94 dumpkeys 134 135 e2fsck 93 94 e2image 93 94 e2label 93 94 e2undo 93 94 echo 96 97 edd id 153 154 egrep 126 126 elisp comp 112 112 enc2xs 108 109 env 96 97 envsubst 124 124 eqn 12
100. 5fb583fed2b3d86fcb Udev 130 442 KB Webseite Attp www kernel org pub linux utils kernel hotplug udev html Download http www kernel org pub linux utils kernel hotplug udev 130 tar bz2 MDS5 Priifsumme eaaac3c45b8c87d81a82fed254ecee25 Udev Einrichtung UDEV SIZE KB Download http www linuxfromscratch org lfs downloads 6 4 udev config 20081015 tar bz2 MDS5 Pr fsumme UDEV MD5SUM Util linux ng 2 14 1 2 929 KB Webseite http userweb kernel org kzak util linux ng Download Attp www kernel org pub linux utils util linux ng v2 1 4 util linux ng 2 14 1 tar bz2 MD5 Pr fsumme 9a3ab772ee9b1f4e67dff98169 3cb380 Vim 7 2 7 203 KB Webseite http www vim org Download ftp ftp vim org pub vim unix vim 7 2 tar bz2 MD5 Pr fsumme 0901284b338e448bfd79ccca0041254 Vim 7 2 Sprachdateien optional 1 365 KB Webseite http www vim org Download ftp ftp vim org pub vim extra vim 7 2 lang tar gz MD5 Pr fsumme d8884786979e0e520c112faf2e176 05 Zlib 1 2 3 416 KB Webseite http www zlib net Download http www zlib net zlib 1 2 3 tar bz2 MD5 Pr fsumme dee233b 288ee795ac96a98cc2e369b6 21 Linux From Scratch Version 6 4 Linux From Scratch Version 6 4 Gesamtgr e der Pakete ungef hr NaN MB 3 3 Erforderliche Patches Zus tzlich brauchen Sie auch einige Patches Diese beheben z B kleine Fehler die vom jeweiligen Betreuer des Pakets noch nicht behoben wurden
101. 6 59 Informationen zu Debugging Symbolen Die meisten Programme und Bibliotheken werden in der Voreinstellung mit Debugging Symbolen kompiliert mit der Option gcc 9 Wenn Sie ein Programm oder eine Bibliothek debuggen die mit debugging Symbolen kompiliert wurde kann Ihnen der Debugger nicht nur die Speicheradressen sondern auch die Namen der Funktionen und der Variablen im Programm anzeigen Doch das Einbinden dieser Debugging Symbole vergr ert das Programm bzw die Bibliothek deutlich Das folgende Beispiel soll Ihnen einen Eindruck ber den von Debugging Symbolen ben tigten Speicher geben Eine bash Bin rdatei mit Debugging Symbolen 1200 KB Eine bash Bin rdatei ohne Debugging Symbole 480 KB Glibc und GCC Dateien 1ib und usr 1ib mit Debugging Symbolen 87 MB Glibc und GCC Dateien ohne Debugging Symbole 16 MB Die Gr en variieren ein wenig abh ngig vom Compiler und der eingesetzten C Bibliothek Aber wenn man Programme mit und ohne Debugging Symbole vergleicht liegt der Faktor normalerweise zwischen 2 und 5 Vermutlich werden Sie niemals einen Debugger mit Ihrer Systemsoftware einsetzen daher k nnen Sie durch das Entfernen der Symbole eine Menge Platz sparen Der Einfachheit halber finden Sie im n chsten Kapitel ein Kommando mit dem Sie alle debugging Symbole von allen Programmen und Bibliotheken auf Ihrem System entfernen k nnen Weitere Informationen zum Thema Optimierung finden Sie in der Anleitung unter http
102. 64 Spezifikation RFC 3548 nach basename Entfernt den Pfad und Suffix von einem angegebenen Dateinamen cat Gibt Dateien an der Standardausgabe aus bzw f gt sie zusammen chgrp ndert die Gruppenzugeh rigkeit von Dateien und Ordnern chmod ndert die Zugriffsrechte der angegebenen Dateien Der Modus kann entweder symbolisch in Form der durchzuf hrenden Anderungen oder als Oktalzahl angegeben werden repr sentiert die absoluten neuen Rechte chown ndert Besitzer und oder Gruppenzugeh rigkeit der angegebenen Dateien und Ordner chroot Macht den angegebenen Ordner tempor r zum neuen Basisordner f r den bergebenen Befehl z B bash Der Befehl wird dann in diesem Gef ngnis ausgef hrt cksum Gibt die CRC Pr fsumme Cyclic Redundancy Check und die Anzahl der Bytes einer angegebenen Datei aus comm Vergleicht zwei sortierte Dateien und gibt in drei Spalten die Zeilen aus die jeweils einzigartig bzw gleich sind cp Kopiert Dateien esplit Teilt eine Datei in mehrere neue Dateien Dazu wird ein bestimmtes Muster oder Zeilennummern verwendet Au erdem gibt csplit die Anzahl Bytes der neuen Dateien aus cut Gibt Ausschnitte von Zeilen aus Die Ausschnitte werden nach Feldern oder Positionsangaben gew hlt date Gibt die aktuelle Zeit im angegebenen Format aus oder stellt die Systemzeit ein dd Kopiert eine Datei mit der angegebenen Blockgr e und anzahl Optional kann w hrenddessen eine Konvertierung durchgef h
103. 7 127 eqn2graph 127 127 ex 158 159 expand 96 98 expect 40 41 expiry 145 147 expr 96 98 factor 96 98 faillog 145 147 false 96 98 fdformat 155 156 fdisk 155 156 fgconsole 134 135 fgrep 126 126 file 119 119 filefrag 93 94 find 121 121 find2perl 108 109 findfs 93 94 firmware sh 153 154 flex 122 122 flock 155 156 fmt 96 98 fold 96 98 frcode 121 121 free 105 105 fsck 93 94 fsck cramfs 155 156 fsck ext2 93 94 fsck ext3 93 94 fsck ext4 93 94 fsck ext4dev 93 94 fsck minix 155 156 fstab_import 153 154 ftp 130 131 fuser 144 144 g 87 89 gawk 120 120 gawk 3 1 6 120 120 gcc 87 89 gccbug 87 89 gcov 87 89 gencat 76 79 generate modprobe conf 142 142 genl 132 132 geqn 127 127 getconf 76 79 getent 76 79 getkeycodes 134 135 getopt 155 156 gettext 124 124 gettext sh 124 124 gettextize 124 124 gpasswd 145 147 gprof 83 84 grcat 120 120 grep 126 126 grn 127 128 grodvi 127 128 groff 127 128 groffer 127 128 grog 127 128 grolbp 127 128 grolj4 127 128 grops 127 128 grotty 127 128 groupadd 145 147 groupdel 145 147 groupmems 145 147 groupmod 145 147 groups 96 98 grpck 145 147 grpconv 145 147 251 Linux From Scratch Version 6 4 grpunconv 145 147 grub 123 123 grub install 123 123 grub md5 crypt 123 123 grub set default 123 123 grub terminfo 123
104. 9 15 euro durch de_DE euro ersetzen damit Xlib Ihre Locale versteht M glicherweise haben noch weitere Programme Schwierigkeiten mir Ihrer Locale und geben vielleicht noch nicht einmal eine Fehlermeldung aus falls der Name der Locale nicht den Annahmen des Programmierers entspricht In solchen F llen kann man versuchen herauszufinden wie andere Linux Distributionen mit dem Problem umgehen Wenn Sie die korrekten Locale Einstellungen herausgefunden haben erstellen Sie die Datei etc profile cat gt etc profile lt lt EOF f Begin etc profile export LANG lt 11 gt _ lt CC gt lt charmap gt lt modifiers gt End etc profile EOF Die Locale C Standard und en_US empfohlene Locale f r englische Benutzer in den USA unterscheiden sich C verwendet den Zeichensatz US ASCII mit 7 Bit und behandelt Zeichen mit gesetztem hohen Bit als ung ltig Das ist auch der Grund daf r dass z B Is diese Zeichen mit einem Fragezeichen darstellt Auch der Versuch eine E Mail mit solchen Zeichen mit Mutt oder Pine zu versenden ergibt eine nicht RFC konforme Mail der Zeichensatz in einer solchen Mail ist dann unknown 8 bit Sie k nnen die Locale C also nur einsetzen wenn Sie sicher sind dass Sie niemals 8 Bit Zeichen ben tigen UTF 8 basierte Locales werden leider von vielen Programmen nicht richtig unterst tzt Das Programm watch zeigt in UTF 8 Locales nur ASCII Zeichen an diese Beschr nk
105. An dieser Stelle sollten Sie au erdem nochmals berpr fen ob LFS korrekt eingestellt ist Im Augenblick geh rt der Ordner LFS tools dem Benutzer 1fs Dieser existiert aber nur auf dem Host System Wenn Sie den Ordner SLFS tools in seinem jetzigen Zustand behalten geh ren die Dateien einer Benutzer ID zu der es kein Benutzerkonto gibt Das ist gef hrlich denn ein sp ter erstelltes Konto k nnte genau diese ID erhalten und w re damit der Besitzer von SLFS tools und aller darin enthaltenen Dateien Dieser Benutzer k nnte alle Dateien unbemerkt manipulieren Um dieses Problem zu vermeiden k nnen Sie Ihrem LFS System den Benutzer 1fs sp ter beim Erzeugen der etc passwd hinzuf gen und ihm die gleiche Benutzer ID und Gruppen ID wie auf Ihrem Host System geben Besser ist es jedoch jetzt den Benutzer root zum Besitzer des Ordners machen Benutzen Sie dazu dieses Kommando chown R root root LFS tools Obwohl Sie LFS tools nach Fertigstellung dieses LFS l chen k nnen entscheiden Sie sich vielleicht den Ordner dennoch aufzuheben Dies kann z B sinnvoll sein um weitere LFS Systeme der selben Buchversion zu installieren Wie Sie am besten eine Sicherungskopie von LFS tools erstellen ist Ihnen als lehrreiches Experiment selber berlassen d Achtung Wenn Sie die tempor ren Werkzeuge f r weitere LFS Installationen behalten m chten ist genau jetzt der richtige Zeitpunkt f r das Backup Die weiteren Kommandos in Kapitel 6
106. Anpassen der Toolchain oooooccnnccnnconoconconcnnncnnnnnnnnnnrnnnrnnconnrrn nro hem ente the n e hene e eme ehe rennen 81 A R 83 6 12 GMP 4 2 4 anni A NIS VN oda ad 85 6 13 MPEREZS 2 i iei tette RR Eo Debe fe sedent eene ie tds 86 6 147 0C 64 312 ct eri e Oen ep ede eredi p Ec bes 87 6 15 Berkeley DBA TD st torre ei Rr erae tee deed ie eod yon t doo roe trata EP ECE RENS 90 6 16 Sed 4 1 5 sr A En V AS SUM o d dedito Ee d seus 92 6 17 A A A A er eco E UE e oo Ub oe eae EA Sep endo d ese Coo itee ed SUE deo Rte 93 6 18 Coreutils 6 12 7 i ER ES AA ede ot aree ble elei eine 96 6 19 Tana Ete O RN 100 6 20 MALA LR ERU ORE DEREN Ret d Ke eb Dn eo A e dote eode 101 A A IEEE 102 0722 NOSE Oi a 103 6 23 NN 105 6 24 Tabto0E 2 2 60 a EARN e de RE AS AS SR Neu 106 6 25 Zub 2 3 sent eise e tee eot dese OD AS 107 6 26 Pr AO 0 2 rtm EE eq ete aset 108 6 27 A E 110 6 28 Autocont 2 63 uti ra De EUER VS SUR Ee RU SET 111 6 29 Automake l A ERI 112 6 30 Bash 372 2 ee RE Bes is doe EE Ie TU Sb aves ie dott ee ts ee SUM eke its AAC 114 A m 116 6 32 Diffutilss2 8 ts ch er e vele m vedi opcre Da et m evo te eter i e e E EM RE vo GER eure ee 118 6 33 File 4 26 am ee e ler ein vus es oie ties ec ET Se Sayeed azn dee d dest ene des eee E etae eet ieh 119 6 32 Gawk 32106 nite TREE BEEN MID dne 120 ES A er ans Re Home penton Uo e MR osevedob ender eee lesen 121 6 30 EH ex 2 5 39 o e LA D OUI Ue M S To boi
107. BINDIR sbin MANDIR usr share man DOCDIR usr share doc iproute2 2 6 26 install Das Programm arpd verlinkt gegen die Berkely DB Bibliotheken die in usr liegen und verwendet eine Datenbank in var lib arpd arpd db Nach FHS muss es aber in usr sbin liegen also verschieben Sie es mv v sbin arpd usr sbin 6 43 2 Inhalt von IPRoute2 Installierte Programme arpd ctstat Link auf Instat genl ifcfg ifstat ip Instat nstat routef routel rtacct rtmon rtpr rtstat Link auf Instat ss und tc Kurze Beschreibungen arpd Ein Userspace ARP Daemon Er ist in sehr gro en Netzwerken n tzlich wenn der Kernel ARP Daemon nicht ausreicht oder wenn man einen Honeypot f r Sicherheitszwecke einrichten m chte ctstat Ein Werkzeug f r den Verbindungsstatus genl ifefg Eine Shellskript Ummantelung f r das Kommando ip Es ben tigt die Programme arping und rdisk aus dem Paket iputils http www skbuff net iputils ifstat Zeigt Schnittstellenstatistiken an inklusive der Menge der gesendeten und empfangenen Pakete pro Schnittstelle ip Dies ist die eigentliche ausfiihrbare Datei Sie hat viele Funktionen ip link lt Ger t gt zeigt den Ger testatus an und erm glicht nderungen an den Einstellungen ip addr zeigt Adressen und ihre Eigenschaften an f gt neue Adressen hinzu und l scht alte ip neighbor zeigt Bindungen und Eigenschaften von benachbarten Ger ten an f gt neue Nachbarger tebindungen hinzu und l sc
108. DIT THIS FILE GCC FIXED amp amp unset GCC FIXED 37 Linux From Scratch Version 6 4 Achtung An diesem Punkt ist es unbedingt notwendig die korrekte Funktion der Toolchain Kompilieren und Linken zu berpr fen Darum f hren Sie nun einen kleinen Gesundheitscheck durch echo main gt dummy c cc dummy c readelf 1 a out grep tools Wenn alles korrekt funktioniert sollten keine Fehler auftreten und die Ausgabe des letzten Kommandos sieht so oder so hnlich aus Requesting program interpreter Aic OMS Meloy MITES Oneal Achten Sie besonders darauf dass tools 1ib als Prefix zu Ihrem dynamischen Linker angegeben ist Wenn Sie keine oder eine andere als die obige Ausgabe erhalten haben ist etwas schiefgelaufen Sie miissen alle Ihre Schritte noch einmal berpr fen und den Fehler finden und korrigieren Fahren Sie nicht fort bevor Sie den Fehler nicht beseitigt haben Als erstes f hren Sie nochmals den Gesundheitscheck durch und benutzen gcc anstelle von ec Wenn das funktioniert fehlt der Link von tools bin cc Gehen Sie zur ck zu Abschnitt 5 5 GCC 4 3 2 Durchlauf 1 und reparieren Sie den symbolischen Link Als zweites stellen Sie bitte sicher dass Ihre Umgebungsvariable PATH richtig gesetzt ist Sie k nnen die Variable mit dem Kommando echo PATH anzeigen lassen pr fen Sie dass too1s bin am Anfang der Liste steht Wenn die PATH Variable falsch gesetzt ist sind Sie
109. Dateien zusammen Sequenziell zusammengeh rende Zeilen werden Seite an Seite durch Tabulatoren getrennt zusammengef gt Pr ft ob Dateinamen g ltig und portierbar sind Eine abgespeckte Version von finger Es gibt ein paar Informationen ber den angegebenen Benutzer aus Bereitet Dateien seiten oder spaltenweise f r den Ausdruck vor Gibt die Umgebungsvariablen aus Gibt die angegebenen Argumente in einem bestimmten Format aus dies ist der C Funktion printf sehr hnlich Erzeugt aus dem Inhalt von Dateien einen vertauschten Index mit jedem Stichwort im Kontext Gibt den Namen des aktuellen Arbeits Ordners aus Gibt das Ziel eines symbolischen Links aus L scht Dateien oder Ordner L scht leere Ordner Gibt eine Zahlenreihe in einem bestimmten Wertebereich und mit einem bestimmten Inkrement aus Pr ft 160 Bit SHA1 Priifsummen oder gibt sie aus Pr ft 224 Bit SHA Pr fsummen oder gibt sie aus Pr ft 256 Bit SHA Pr fsummen oder gibt sie aus 98 sha384sum sha512sum shred shuf sleep sort split stat stty sum sync tac tail tee test touch tr true tsort tty uname unexpand uniq unlink users vdir wc who whoami yes Linux From Scratch Version 6 4 Pr ft 384 Bit SHA Pr fsummen oder gibt sie aus Pr ft 512 Bit SHA Pr fsummen oder gibt sie aus berschreibt eine Datei mehrfach mit zuf lligen Mustern um das Wiederherstellen der Daten zu erschweren Mischt Textzeilen Pausi
110. Der Modus nach Pfad verwendet den Wert von ID_PATH Wenn der Standard Modus f r Ihre Situation unpassend zu sein scheint k nnen Sie folgende nderung an der Datei etc udev rules d 75 cd aliases generator rules vornehmen Ersetzen Sie mode entsprechend durch by id oder by path sed i e s write_cd_rules amp mode etc udev rules d 75 cd aliases generator rules Es ist nicht n tig die Regel Dateien oder symbolischen Links jetzt zu erstellen weil Sie den Ordner dev per bind in Ihr LFS System eingebunden haben und wir davon ausgehen dass die symbolischen Links auf dem Host System vorhanden sind Die Regeln und Links werden automatisch erzeugt wenn Sie Ihr neues System das erste mal neustarten Falls Sie allerdings mehrere CD Rom Laufwerke haben k nnen die dann erzeugten symbolischen Links auf andere Ger te verweisen als es auf Ihrem Host System der Fall war weil die Reihenfolge der Ger teerkennung nicht vorhersehbar ist Die Zuordnung wie sie beim ersten Neustart von LFS vorgenommen wird bleibt jedoch stabil so dass dies nur ein Problem ist wenn die symbolischen Links des Host Systems mit denen in Ihrem LFS bereinstimmen sollen auf die gleichen Ger te zeigen sollen Falls die Links auf beiden Systemen auf die gleichen Ger te zeigen m ssen untersuchen und bearbeiten Sie die Datei etc udev rules d 70 persistent cd rules nach dem Neustart und stellen Sie sicher dass die symbolischen Links Ih
111. E HE EE EE EE HEH EH EE EE EE EE HE EE EE EE EE HE HE HH EH EE EE EE EE EE EE Begin etc sysconfig createfiles Description Createfiles script config file Authors Version s 00 00 Notes S as syare O tais Tile ats as ollowss ie uy 18 equal wo Elle or Ulises lt filename gt lt type gt lt permissions gt lt user gt lt group gt if type is equal to dev lt filename gt lt type gt lt permissions gt lt user gt lt group gt lt devtype gt lt major gt lt minor gt lt filename gt is the name of the file which is to be created lt type gt is either file dir or dev file creates a new fil dir creates a new directory dev creates a new devic lt devtype gt is either block char or pipe block creates a block device char creates a character deivce pipe creates a pipe this will ignore the lt major gt and lt minor gt fields lt major gt and lt minor gt are the major and minor numbers used for the device AE AE AE E AE AE E AE AE E AE AE AE AE FE AE E AE E AE AE AE E AE E FE FE AE E AE E FE AE AE E AE AE AE FE AE E AE AE E FE AE E AE AE AE FE AE E AE AE E HE AE E AE AE AE AE AE AE AE AE AE E F FE End etc sysconfig createfiles D 25 etc sysconfig network devices ifup bin sh Hae a a aE aE az Begin network_devices ifup Description Interface Up Authors Nathan Coulson nathan linuxfromscratch org Kevin P Fleming kpfleming linuxfromscratch org Vers
112. EE ES etc sysconfig re rc_functions set the default loglevel LOGLEVEL 7 ii em jere eyscantig eonsole lp mew etc sysconfig console iE aL 215 Linux From Scratch Version 6 4 case S 1 in start case SLOGLEVEL in BIO boot mesg Setting the console log level to LOGLEVEL dmesg n SLOGLEVEL evaluate_retval Pr gt boot mesg Console log level S LOGLEVEL is invalid FAILURE echo_failure Pr esac Pr status Read the current value if possible if r proc sys kernel printk then read level line proc sys kernel printk else boot mesg Can t read the current console log level FAILURE echo failure Ed Print the value die p o Mile Je ehen S ECHO e S INFO The current console log level is level NORMAL echo Usage 0 start status exit 1 Pr eSI End rc_base init d consolelog D 5 etc rc d init d modules bin sh Hae a a a ae a a a aE a a aE a aE a EE RARA EE EE EEE EE EEE EE EEE EEE EH HH Begin rc_base init d modules Description Module auto loading script Authors Zack Winkles Version o 00 00 Notes HE AE E HE AE E AE AE E FE AE E E AE E AE FE AE E AE E FE FE AE E AE AE E FE AE E SEE etc sysconfig rc Size runctions i Assure that the kernel has module support e proc ksyms o e proc modules exit 0
113. Erstellen eines tempor ren Systems 2428 ser ones eee eph ne sh in ieinnlishroirsrisnshspsnsge 27 S I Einf hrung still ee Ner c ege e ade pel ss AA O e s 27 5 2 Technische Anmerkungen zur Toolchain sssessessese IH He mee hee hee hen ment ent entren 27 5 3 Allgemeine Anweisungen zum Kompilieren sss e Ie mee me men en he mee hee ree rennen 28 As Binutils 2 18 Durchlauf Fonran oerte eerte vende euer e cameos elite elle eaae dee ee oe deem d ee ede eo Poe ute 30 25 54 GCC4 3 2 Durchlaut Li Ra RR LEE RER 32 2 6 LE1nux 2 6 27 4 API Headet 223 220 22er ed ver SuSE LEER shaun EE NEUE e LONE Iove RE VE lerne he 34 25 7 GUDE 2 8 200809 29 2 32 roto RR e e ur m ni qaem eU eue 35 3 8 Anpassen A eisen ner N Sen ore pp 37 23 9 T61 8 5 5 E ran ns tire p ries aep c ed tire ioo aedi es eoe n eI Us e REESE 39 5 10 Du ADEM 40 De DEJAGNUSI AA DUI EE 42 D312 GCE 4 322 A a E a a a E AN E AEE E E EE E EEES 43 5 13 Bmutils 2 18 Durchlauf 22 ere les Bin RB beein AR 46 De U INGuESeS 3 0 sees sie diese tee seek bte E REN TORE rebote oS e be Tees te bb PER Eier ten de Men Sore dete e E ex EE TEN 47 255 Bash 32 nn dm te ux a tee Startle tot O Et aN a art 48 3 16 B21P21 05 nern O RO 49 3 17 Corts O 12 yes Dac cte reve exe e e deuce pee cos ono ER 50 9 185 Diff tils 28 len tohat as pU 51 23519 E2fsprops 1 41 34 ni NOS 52 5 20 Fandutils 4 4 0 a ee sn sich utes eee ure ie Bm t ese Semmes rue O 53 3 21 GaWK
114. FS Partition entsprechen Wenn Sie unserem Beispiel gefolgt sind lautet der Pfad mnt 1fs Wenn hier etwas nicht stimmt k nnen Sie die Variable jederzeit neu setzen export LFS mnt lfs Durch diese Variable haben Sie den Vorteil dass Sie ein Kommando wie z B mkdir LFS tools genau so eingeben k nnen wie Sie es im Buch lesen W hrend die Shell den Befehl verarbeitet wird sie LFS durch den echten Wert mnt lfs ersetzen Wenn Sie Ihre Arbeitsumgebung verlassen haben m ssen Sie anschlieBend den Inhalt von LFS nochmals pr fen Das gilt auch wenn Sie z B su zu root oder einem anderen Benutzer ausf hren 4 2 Erstellen des Ordners SLFS tools Alle kompilierten Programme aus Kapitel 5 werden unter LFS tools installiert Dadurch werden sie von den Programmen getrennt die sp ter in Kapitel 6 installiert werden Die hier kompilierten Programme sind nur bergangsweise Hilfsmittel und sollen nicht Teil des endg ltigen LFS Systems werden Durch die Installation in einen gesonderten Ordner lassen sie sich sp ter leichter wieder entfernen Au erdem wird so sichergestellt dass die Programme nicht versehentlich in Ihrem produktiven Host System enden in Kapitel 5 k nnte das sehr leicht passieren Erstellen Sie den Ordner indem Sie als root dieses Kommando ausf hren mkdir v LFS tools Im n chsten Schritt erstellen Sie auf Ihrem Host System einen symbolischen Link nach tools Er zeigt auf den Ordner den Si
115. FS installieren W hrend Sie also warten bis alle Pakete kompiliert sind k nnen Sie einfach auf ein anderes VT Virtuelles Terminal oder auf den X Desktop wechseln und dort wie gewohnt weiterarbeiten Zum Abschluss der Installation werden in Kapitel 7 die Bootskripte eingerichtet der Kernel sowie der Bootloader werden in Kapitel 8 behandelt Wenn Sie das Buch zuende gelesen haben finden Sie in Kapitel 9 Links auf weiterf hrende Hilfeseiten Abschlie end ist der Computer bereit f r einen Neustart mit dem neuen LFS System Nun kennen Sie die allgemeine Vorgehensweise in stark zusammengefasster Form Die jeweiligen Kapitel beinhalten nat rlich detailliertere Informationen Machen Sie sich keine Gedanken falls hier noch etwas unklar sein sollte alle offene Fragen werden sich im weiteren Verlauf kl ren 1 2 Neuigkeiten seit der letzten Version Im Folgenden sind alle Paket Aktualisierungen seit der Ver ffentlichung der Vorg ngerversion aufgelistet Aktualisierung der Version auf Autoconf 2 63 Automake 1 10 1 Berkeley DB 4 7 25 Binutils 2 18 Bzip2 1 0 5 Coreutils 6 12 E2fsprogs 1 41 3 File 4 26 Findutils 4 4 0 Flex 2 5 35 Gawk 3 1 6 GCC 4 3 2 Gettext 0 17 Glibc 2 8 20080929 Grep 2 5 3 IANA Etc 2 30 IPRoute2 2 6 26 Kbd 1 14 1 Less 418 LFS Bootskripte 20081031 Libtool 2 2 6a Linux 2 6 27 4 MA 1 4 12 Man DB 2 5 2 Man pages 3 11 Module Init Tools 3 4 1 Perl 5 10 0 Psmisc 22 6 Shadow 4 1 2 1 Sysklogd 1
116. GACY CHARSET loadkeys u gt dev null 2 gt amp 1 failed 1 If any of the commands abov 4 top would set failed to 1 exit failed evaluate retval failed th trap at the Fg echo Usage exit 1 810 eue FE D 14 etc rc d init d localnet case VERE dai M ME T M T Begin rc base init d localnet Description Loopback device Authors Gerard Beekmans gerard linuxfromscratch org Version 00 00 Notes HEE aE aE aE AE aE aE AE aE HE AE E HE AE E EE HE aE HE EEE HEE EEE EEE aaa aaa etc sysconfig re Sire amp f netions etc sysconfig network ENT x start boot mesg Bringing up the loopback interface ip addr add 127 0 0 1 8 label lo dev lo io link sec lo wp evaluate_retval boot mesg Setting hostname to HOSTNAME hostname HOSTNAME D 228 Linux From Scratch Version 6 4 evaluate_retval EF stop boot_mesg Bringing down the loopback interface ip link set lo down evaluate_retval rm restart 0 stop slesa 1 SO rarr EE status echo Hostname is hostname ajo Link show lo iR echo Usage 0 start stop restart status exit 1 vr esac End rc base init d localnet D 15 etc rc d init d sysctl bin sh HEHE EEE HE HEE HE HEE HEE HE HE HH BEE HE HE HE HE HEE HE EH HEE HE HA HEE HE HEH Begin rc_base init d sysctl Description File uses etc sysctl conf to set
117. Ger t ndern wird z B die Anschl sse Steckpl tze an denen es angeschlossen ist weil Sie ein Ger t an einen anderen IDE Bus oder USB Anschluss anschlie en m chten dann sollten Sie die Methode nach ID verwenden Wenn Sie jedoch damit rechnen m ssen dass sich das Identifikationsmerkmal eines Ger tes ndert und sie es mit einem gleichwertigen Ger t ersetzen m chten dann sollten Sie die nach Pfad Methode einsetzen Wenn beide Arten Ger te nderungen m glich sind w hlen Sie die Methode anhand der wahrscheinlich h ufigeren nderung aus 175 Linux From Scratch Version 6 4 D Wichtig Externe Ger te z B CD Rom Laufwerke ber USB sollten nicht mit Regeln nach Pfad angesteuert werden weil sich der physikalische Ger te Pfad mit jedem Anschlie en ndert Dieses Problem besteht mit allen extern angeschlossenen Ger ten die mit Udev ber den physikalischen Pfad angesteuert werden es ist nicht nur auf CD und DVD Laufwerke beschr nkt Wenn Sie sehen m chten welche Werte die Udev Skripte verwenden suchen Sie f r Ihr CD Rom Laufwerk den zugeh rigen Ordner in sys dies k nnte z B sys block hdd sein und f hren Sie dieses Kommando aus udevadm test sys block hdd Sehen Sie sich die Ausgabe der verschiedenen _id Programme an Der Modus nach ID verwendet den Wert ID_SERIAL sofern er verf gbar und nicht leer ist Ansonsten wird eine Kombination aus ID_MODEL und ID_REVISION verwendet
118. HE etc sysconfig re rc_functions case WS Gal ibm stop boot_mesg Restarting system ze C a rm echo Usage 0 stop exar dL rm esac End Src_base init d reboot D 20 etc rc d init d halt bin sh a HHH HHH HHH HHH HHH HHH HH HH EH EH EH EH EE EE EE EEE Begin rc base init d halt 233 Linux From Scratch Version 6 4 Desersipelone ts Ca Authors Gerard Beekmans gerard linuxfromscratch org Version amp 00 00 Notes AE AE AE E AE AE E FE AE E AE AE AE FE AE AE E AE E AE AE AE E AE E FE AE AE E AE E FE AE AE E AE E AE FE AE E AE AE E AE AE E AE AE E FE AE E AE AE E AE AE E AE AE AE AE AE E AE AE E AE F HE etc sysconfig rc Sire Tacos case WS iu tal stop male el me 9 vr echo Usage stop exit 1 vr esac End rc base init d halt D 21 etc rc d init d template bin sh EE FE E a HH FE E FE HH EH EH FE AE TE AE HH FE HE FE FE FE FE FE FE FE FE FE FE FE EE EEE EE EEE ARRAS Begin rc_base init d n Description Authors Version amp 00 08 Notes AE AE IE E AE AE AE FE FE E AE AE E FE AE AE AE AE E AE AE AE E AE E AE AE AE E AE E AE FE AE E AE AE AE FE AE E AE AE E FE AE E AE AE E FE AE E AE AE AE FE AE E AE AE AE AE AE AE AE AE E FE F H etc sysconfig rc S rc functions SAS IA start boot_mesg Starting loadproc EE stop boot_mesg Stopping koroe rm reload boot_mesg R
119. ID erh lt die Ihre Kernel Quellen derzeit haben und damit w re er der Besitzer dieser Dateien und h tte dann auch Schreibrechte darauf Wenn Sie die Kernelquellen aufbewahren m chten sollten Sie chown R 0 0 auf den Ordner 1inux 2 6 27 4 anwenden So stellen Sie sicher dass alle Dateien dem Benutzer root geh ren Warnung Einige Kerneldokumentationen empfehlen das Erzeugen eines Links von usr src linux auf den Ordner mit den Kernelquellen Dies bezieht sich aber nur auf Kernel vor der 2 6er Serie zu und darf nicht in einem LFS System angewendet werden Es verursacht Probleme beim Kompilieren von Paketen die Sie vielleicht im Nachhinein noch installieren m chten E Warnung Die Header in dem Systemordner include sollten immer diejenigen sein mit denen die Glibc kompiliert wurde also die bereinigten Linux Kernel Header und d rfen daher bei der Aktualisierung des Kernels keinesfalls durch die neuen Kernel Header ersetzt werden 8 3 2 Inhalt von Linux Installierte Dateien config 2 6 27 4 lfskernel 2 6 27 4 und System map 2 6 27 4 Kurze Beschreibungen config 2 6 27 4 Enth lt alle ausgew hlten Konfigurationsoptionen f r den Kernel lfskernel 2 6 27 4 Dies ist der Kernel der Motor Ihres GNU Linux Systems Nach dem Einschalten Ihres Rechners ist der Kernel der erste Teil des Betriebssystems der geladen wird Er erkennt und initialisiert alle Komponenten Ihrer Computer Hardware und macht diese Komponenten f r die Software v
120. Installation von GCC Nun ben tigt GCC die Pakete GMP und MPFR Da diese Pakete vermutlich nicht Teil Ihrer Host Distribution sind werden sie nun mit Hilfe von GCC erstellt tar jxf mpfr 2 3 2 tar bz2 mv mpfr 2 3 2 mpfr tar jxf gmp 4 2 4 tar bz2 mv gmp 4 2 4 gmp Die Dokumentation zu GCC empfiehlt GCC au erhalb des Quellordners zu kompilieren mkdir v gcc build cd gcc build Bereiten Sie GCC zum Kompilieren vor CC gcc B usr bin gcc 4 3 2 configure prefix tools A with local prefix tools disable nls disable shared disable libssp enable languages c Die Bedeutung der configure Parameter CC gcc B usr bin Dadurch wird gee gezwungen den Linker des Host Systems in usr bin zu bevorzugen Auf einigen Systemen ist dies notwendig weil der neue Linker ld inkompatibel mit dem gcc des Host Systems ist with local prefix tools Der Sinn dieses Parameters ist es usr local include aus dem Suchpfad von gcc zu entfernen Dies ist nicht absolut zwingend erforderlich jedoch sollen m gliche Einfl sse aus dem Host System vermieden werden daher ist dieser Parameter hier durchaus empfehlenswert disable shared Mit diesem Parameter wird GCC gezwungen die internen Bibliotheken statisch zu verlinken Dies verhindert m gliche Probleme mit dem Host System disable libssp Dieser Parameter beugt einem Konflikt mir lteren Versionen von Glibc vor der die korrekte Installa
121. KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK Function killproc p pidfile pathname signal Purpose Inputs p pidfile uses the specified pidfile pathname pathname to the specified program Signal send this signal to pathname ice ibis S retur Invalid of excessive number of arguments warning in stdout U nknown Status Selen 4 it should call evaluate_retval will be removed after BLFS 6 0 211 Linux From Scratch Version 6 4 Steh Linux From Scratch Version 6 4 Hf KK Ck Ck Ck Ck Kk kk KK KH KK KK KK KK HK KK HK k Ck Ck k KK KK KK kk killproc local pidfile local killsig TERM default signal is SIGTERM pidlist E This will ensure compatibility with previous LFS Bootscripts ide su S DD a pu qe then Pate male S 100 TE TE den JU El while true do case IE sa p Presse V S 2 p Simi 2 e log failure msg Unknown Option 1 return 2 5 break esac done air Stay V2 12 tasa Heat al abe SZ N EXE LESS Geos viel a y then Slr 2 log_failure_msg Usage killproc p pidfile pathname signal return 2 iE aL Is the process running ie po USguoutille w 1 then Palo pro ee San rel else pidororoe e Den erteilen d al Remove stale pidfile abr Sew Zehen boot mesg Removing stale pid file pidfile S WARNING mun E YS onolta de iE a If running send the signal ais o VSijoncllis
122. Kompilieren Sie das Paket make Der Kompiliervorgang ist nun abgeschlossen Wie bereits erw hnt wird empfohlen die Testsuite f r das tempor re System in diesem Kapitel nicht durchlaufen zu lassen Falls Sie die Testsuite dennoch laufen lassen m chten f hren Sie dieses Kommando aus make check Installieren Sie das Paket make install Details zu diesem Paket finden Sie in Abschnitt 6 39 2 Inhalt von Grep 56 Linux From Scratch Version 6 4 5 24 Gzip 1 3 12 Das Paket Gzip enth lt Programme zum Komprimieren und Dekomprimieren von Dateien Gesch tzte weniger als 0 1 SBU Kompilierzeit Etwa Ben tigter 2 2 MB Speicherplatz 5 24 1 Installation von Gzip Die von Gzip verwendete Funktion fultimens ist nicht kompatibel mit der Version die mit der aktuellen Glibc mitgeliefert wird daher benennen wir sie um for file in gzip c lib utimens c h do cp v file orig sed s futimens gl amp file orig gt file done Bereiten Sie Gzip zum Kompilieren vor configure prefix tools Kompilieren Sie das Paket make Der Kompiliervorgang ist nun abgeschlossen Wie bereits erw hnt wird empfohlen die Testsuite f r das tempor re System in diesem Kapitel nicht durchlaufen zu lassen Falls Sie die Testsuite dennoch laufen lassen m chten f hren Sie dieses Kommando aus make check Installieren Sie das Paket make i
123. Linux From Scratch Version 6 4 Gerard Beekmans Linux From Scratch Version 6 4 von Gerard Beekmans Copyright 1999 2008 Gerard Beekmans Copyright 1999 2008 Gerard Beekmans Alle Rechte vorbehalten Dieses Buch steht unter der Lizenz Creative Commons License Rechner Anweisungen und Befehle d rfen unter den Bedingungen der MIT License entnommen werden Linux ist ein eingetragenes Warenzeichen von Linus Torvalds Linux From Scratch Version 6 4 Inhaltsverzeichnis Einleitt ne ses che hs avaeeeueded gher wasedee A oe vii Te VOIWOLL san neh ec ub re dede Une re Pre ae E E ER NO RN NA vii ns Warum sollte man dieses Buch lesen 5 e vane caves couacadece ecw exeo e uh ne Oro Ore be e tae ba vk Lose ee eR ren POPE RENE tae eee vii lii Voraussetzungen MP viii iv Mindestanforderungen an das Host System sese eee hee hene hne e eene hen hes hee enne n eren viii v Konyentionen in diesem Buch u nn in ni ear e e eR E ERES x V1 AUTDAU 5 eie ei Leon odores inet qe e ua veo abate dawn E dere Riu eru deed ees ta AE xi VIL Errata SM RH MED een xi Ns Einf hrung m 1 LEIOA mE 2 1 1 Vorgehensweise zur Installation von LES sssssssssseee II e me memet ent entre the nre nennen nenne 2 1 2 Neuigkeiten seit der letzten Version onecie a E ne ne he me hehehe me hens ee rinse rinse tense tense rennen eene 2 L3 Anderungspretek ll A orat tie mmt den poto A edet 4 1 4 Ressourcen
124. Nicht Wide Character Gegenst cke ohne w im Namen der Bibliothek Kurze Beschreibungen captoinfo clear infocmp infotocap ncurses5 config reset tack tic toe tput tset libcurses libncurses libform libmenu libpanel Konvertiert termcap Beschreibungen zu terminfo Beschreibungen L scht den Bildschirminhalt wenn m glich Vergleicht terminfo Beschreibungen oder gibt sie aus Konvertiert terminfo Beschreibungen zu termcap Beschreibungen Stellt Konfigurations Informationen f r Ncurses zur Verf gung Setzt ein Terminal auf seine Voreinstellungen zur ck Wird benutzt um die Korrektheit eines Eintrages in der terminfo Datenbank zu berpr fen Der Compiler f r Beschreibungen zu terminfo Eintr gen Er bersetzt terminfo Dateien aus dem Quellformat in das bin re Format das von den ncurses Bibliotheksroutinen ben tigt wird Eine terminfo Datei enth lt Informationen ber die F higkeiten eines bestimmten Terminals Listet alle verf gbaren Terminaltypen auf und gibt zu jedem den Namen und die Beschreibung aus Macht der Shell die Werte von Terminal abh ngigen F higkeiten zug nglich Es kann auch zum Zur cksetzen oder Initialisieren eines Terminals oder zum Anzeigen seines vollst ndigen Namens verwendet werden Kann zum Initialisieren eines Terminals verwendet werden Ein Link auf 1ibncurses Enth lt Funktionen zum Anzeigen von Text auf einem Terminal in vielen komplizierten Variationen Ein gutes
125. Ordners Au erdem setzen wir voraus dass Sie grunds tzlich wissen wie man Linux Software benutzt und installiert Weil das LFS Buch dieses Vorwissen als absolutes Minimum voraussetzt werden Sie in den verschiedenen LFS Support Foren h chstwahrscheinlich keine Hilfe bekommen wenn Sie Fragen ohne das notwendige Basiswissen stellen M glicherweise bleiben Ihre Fragen einfach nur unbeantwortet oder man verweist Sie auf diesen Text Bevor Sie ein LFS System erstellen lesen Sie bitte die folgenden HOWTOs e Software Building HOWTO hitp www tldp org HOWTO Software Building HOWTO html Das Software Building HOWTO ist ein umfangreiches Handbuch zum Erstellen und Installieren allgemeiner UNIX Software unter Linux e The Linux Users Guide http www linuxhq com guides LUG guide html Dieses Handbuch erkl rt die Verwendung ausgew hlter Linux Software The Essential Pre Reading Hint http Avww linuxfromscratch org hints downloads files essential_prereading txt Dies ist eine LFS Anleitung die speziell f r neue Linux Anwender geschrieben wurde Sie enth lt eine Linksammlung sehr guter Informationsquellen zu allen m glichen Themen Jeder der LFS installieren m chte sollte zumindest den Gro teil der dort behandelten Themen verstehen Mindestanforderungen an das Host System Ihr Host System sollte ber die folgende Software mit den angegebenen Minimalversionen verf gen F r die meisten modernen Linux Distributionen sollte
126. Prefix zu Ihrem dynamischen Linker angegeben ist Wenn Sie keine oder eine andere als die obige Ausgabe erhalten haben ist etwas schiefgelaufen Sie m ssen alle Ihre Schritte noch einmal berpr fen und den Fehler finden und korrigieren Fahren Sie nicht fort bevor Sie den Fehler nicht beseitigt haben Als erstes f hren Sie nochmals den Gesundheitscheck durch und benutzen gcc anstelle von ec Wenn das funktioniert fehlt der Link von tools bin cc Gehen Sie zur ck zu Abschnitt 5 5 GCC 4 3 2 Durchlauf 1 und reparieren Sie den symbolischen Link Als zweites stellen Sie bitte sicher dass Ihre Umgebungsvariable PATH richtig gesetzt ist Sie k nnen die Variable mit dem Kommando echo PATH anzeigen lassen pr fen Sie dass too1s bin am Anfang der Liste steht Wenn die PATH Variable falsch gesetzt ist sind Sie m glicherweise nicht als 1 s eingeloggt oder in Abschnitt 4 4 Vorbereiten der Arbeitsumgebung ist etwas schiefgelaufen Vielleicht hat auch beim Anpassen der specs Datei etwas nicht richtig funktioniert In diesem Fall wiederholen Sie die Anpassung Wenn Sie mit dem Ergebnis zufrieden sind r umen Sie auf rm v dummy c a out Details zu diesem Paket finden Sie in Abschnitt 6 14 2 Inhalt von GCC 45 Linux From Scratch Version 6 4 5 13 Binutils 2 18 Durchlauf 2 Binutils ist eine Sammlung von Software Entwicklungswerkzeugen Dazu geh ren zum Beispiel Linker Assembler und weitere Programme f r di
127. Privater Adressbereich Normaler Prefix 10 0 0 1 10 2595 2955 294 8 LIZ Ri gt LIZ eo ABI S 2A 16 192 168 3 1 192 108 5294 24 x kann eine Zahl zwischen 16 31 sein y kann zwischen 0 255 liegen Eine g ltige private IP Adresse w re 192 168 1 1 Ein vollqualifizierter Dom nenname w re beispielsweise Ifs beispiel de Selbst wenn Sie keine Netzwerkkarte einrichten m ssen Sie einen voll qualifizierten Dom nennamen eintragen Er wird zur korrekten Funktion vieler Programme ben tigt Erzeugen Sie etc hosts mit dem folgenden Kommando cat etc hosts EOF Begin etc hosts network card version 127405043 lhocallaosic 192 168 1 1 lt HOSTNAME beispiel de gt aliasl alias2 4 End etc hosts network card version EOF Nat rlich m ssen Sie 192 168 1 1 und HOSTNAME beispiel de nach Ihrem Belieben ndern bzw die IP Adresse und Hostnamen eintragen die Sie von Ihrem Netzwerkadministrator bekommen haben falls Ihr Rechner an ein bestehendes Netzwerk angeschlossen wird Die optionalen Aliasnamen k nnen weggelassen werden Wenn Sie keine Netzwerkkarte einrichten erzeugen Sie etc hosts mit diesem Kommando cat etc hosts EOF Begin etc hosts no network card version 127 0 0 1 lt HOSTNAME beispiel de gt lt HOSTNAME gt localhost 4 End etc hosts no network card version EOF 7 12 Erzeugen von benutzerdefinierten symbolischen Links zu Ger te
128. Q Alex Groenewoud Technischer Autor f r LFS Marc Heerdink Mark Hymers Seth W Klein Betreuer der FAQ Nicholas Leippe lt nicholas linuxfromscratch org gt Wiki Betreuer Anderson Lizardo lt lizardo linuxfromscratch org gt Betreuer der Website Skripte Simon Perreault Scot Mc Pherson lt scot linuxfromscratch org gt LFS NNTP Gateway Betreuer Greg Schafer lt gschafer zip com au gt Technischer Autor f r LFS Jesse Tie Ten Quee Technischer Autor f r LFS James Robertson lt jwrober linuxfromscratch org gt Bugzilla Betreuer Tushar Teredesai lt tushar linuxfromscratch org gt BLFS Buchautor Betreuer des Hints und Patches Projekts Jeremy Utley jeremy linuxfromscratch org gt LFS Buchautor Bugzilla Betreuer Betreuer der LFS Bootskripte Zack Winkles zwinkles gmail com LFS Buchautor Ein besonderer Dank gilt all unseren Spendern Dean Benson dean Q vipersoft co uk f r etliche Geldspenden 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 SEO Company Canada unterst tzt Open Source Projekte und verschiedene Linux Distributionen VA Software die im Namen von Linux com eine VA Linux 420 ehem StartX SP2 Workstation gespendet haben Mark Stone f r die Spende von Belgarath dem ersten linuxfromscratch org Server 191 Linux From Scratch Version 6 4 Anhang C Abh ngigkeiten Jedes in LFS installierte Pake
129. Regeln der IEEE Institute of Electrical and Electronic Engineers zur Fehlerbehandlung mathematischer Funktionen Standard sind die POSIX 1 Regeln zur Fehlerbehandlung Die mathematische Bibliothek Das Einbinden verlinken dieses Moduls schaltet Pr fungen der Speicherzuordnungen ein Wird von memusage verwendet und hilft beim Sammeln von Informationen ber die Speichernutzung eines Programms Dies ist die Bibliothek f r Netzwerkdienste Die Name Service Switch Bibliotheken Sie enthalten Funktionen zum Aufl sen von Hostnamen Benutzernamen Gruppennamen Aliasen Diensten Protokollen und so weiter Enth lt Profiling Funktionen die zum Verfolgen der CPU Benutzung einzelner Quelltextzeilen verwendet werden k nnen Die POSIX Threads Bibliothek Enth lt Funktionen zum Erzeugen Senden und Auswerten von Paketen an Internet Domain Name Server DNS Enth lt Funktionen die verschiedene RPC Dienste zur Verf gung stellen Diese Bibliothek enth lt Funktionen mit Schnittstellen f r die meisten POSIX 1b Echtzeiterweiterungen Enth lt Funktionen die zum Erzeugen von Debuggern f r Multi Thread Programme n tzlich sind Enth lt Code f r Standard Funktionen die in vielen verschiedenen Unix Werkzeugen genutzt werden 80 Linux From Scratch Version 6 4 6 10 Erneutes Anpassen der Toolchain Nachdem die neue C Bibliothek nun installiert ist muss die Toolchain erneut angepasst werden Modifizieren Sie sie so dass alle
130. S NORMAL merida 0 4 End rc base init d functions D 3 etc rc d init d mountkernfs bin sh HEHE EEE HE HEE HE HE HE HE HEE HE HEE EEE HE HE HEE EH HEE HE HE HEHE HEE HE HEE Begin rc_base init d mountkernfs Description Mount proc and sysfs Authors Gerard Beekmans gerard linuxfromscratch org Version 8 00 OC 214 Linux From Scratch Version 6 4 Notes EEE 2 2 2 HH HF etc sysconfig rc S rc functions aise USTIENW am Seene boot mesg n Mounting kernel based file systems INFO if mountpoint proc dev null then boot mesg n proc S NORMAL mount A gros Fatled l dpa if mountpoint sys dev null then boot mesg n sys S NORMAL mount n sys failed 1 ipa boot mesg S NORMAL exit failed evaluate retval EF echo Usage 510 eeu p al exit 1 esac End Sre base init d mountkernfs D 4 etc rc d init d consolelog bin sh Begin rc_base init d consolelog AE AE AE E AE AE AE FE FE E AE AE E AE AE AE AE AE E AE AE AE AE AE E AE AE AE E AE E AE FE AE E AE AE AE FE AE E AE AE E FE AE E AE AE E FE AE AE AE AE E FE AE E AE AE AE AE AE AE AE AE E FE F H Description Set the kernel log level for the console Authors Dan Nicholson dnicholson linuxfromscratch org Version amp 00 00 Notes proc must be mounted before this can run AE aE aE E AE AE AE aE
131. S Bootskripte aufsetzen Die meisten Skripte funktionieren ohne Anpassungen aber ein paar ben tigen eine Konfigurationsdatei weil sie beispielsweise mit Hardware an Ihrem Computer zu tun haben LFS verwendet Bootskripte im sehr gebr uchlichen System V Stil Es gibt auch andere M glichkeiten Beispielsweise finden Sie unter http www linuxfromscratch org hints downloads files bsd init txt eine Anleitung f r BSD Init Oder durchsuchen Sie die LFS Mailinglisten nach depinit um eine andere Variante zu versuchen Falls Sie sich f r etwas ganz anderes entscheiden sollten k nnen Sie dieses Kapitel ganz berspringen und direkt bei Kapitel 8 fortfahren 163 Linux From Scratch Version 6 4 7 2 LFS Bootskripte 20081031 Das Paket LFS Bootskripte enth lt die Skripte zum Starten und Stoppen des Systems beim Booten und Herunterfahren Ihres Computers Gesch tzte weniger als 0 1 SBU Kompilierzeit Etwa Ben tigter BOOTSCRIPTS INSTALL KB KB Speicherplatz 7 2 1 Installation von LFS Bootskripte Installieren Sie das Paket make install 7 2 2 Inhalt von LFS Bootskripte Installierte Skripte checkfs cleanfs console consolelog functions halt ifdown ifup localnet modules mountfs mountkernfs network rc reboot sendsignals setclock static swap sysctl sysklogd template udev und udev_retry Kurze Beschreibungen checkfs Pr ft die Integrit t von Dateisystemen bevor sie eingeh ngt werden mit der Ausnah
132. SCSI Festplatte wie gew nscht als auch auf das zugeh rige generische SCSI Ger t unerw nscht nach dem Hersteller passen Sie m ssen die Regel auffinden und genauer ausformulieren dabei hilft Ihnen der Befehl udevadm info 168 Linux From Scratch Version 6 4 7 4 3 5 Udev funktioniert nur unzuverl ssig Dies ist zumeist nur ein weiteres Symptom des zuvor beschriebenen Problems Falls nicht und die betreffende Regel sys f s Attribute verwendet so k nnte es sich um Kernel Zeitprobleme handeln die erst in zuk nftigen Kernelversionen behoben werden Sie k nnen das Problem umgehen indem Sie eine Regel schreiben die erst auf das verwendete sysfs Attribut wartet und f gen Sie an etc udev rules d 10 wait for sysfs rules an erzeugen Sie die Datei falls sie noch nicht existiert Wenn Sie dies tun informieren Sie bitte das LFS Entwicklerteam dar ber und teilen Sie uns auch mit ob dies funktioniert 7 4 3 6 Udev erzeugt eine Ger tedatei nicht Im folgenden Text wird davon ausgegangen dass der Treiber entweder statisch in den Kernel eingebaut ist oder das Modul bereits geladen ist Au erdem sollten Sie berpr ft haben ob nicht m glicherweise nur eine Ger tedatei mit falschen Namen erzeugt wurde Udev hat nicht gen gen Informationen zum Erzeugen einer Ger tedatei wenn der Kerneltreiber seine Daten nicht ins sysfs exportiert Dies ist bei Treibern von Drittherstellern au erhalb des Kernelbaums leider fter der Fall Erze
133. Sie erkl rt unter anderem wie man eigene Udev Regeln schreibt cd install m644 v D docs writing udev rules index html usr share doc udev 130 index html 6 56 2 Inhalt von Udev Installierte Programme Installierte Bibliotheken Installierter Ordner ata id cdrom id collect create floppy devices edd id firmware sh fstab import path id scsi id udevadm udevd usb id vol id write cd rules und write net rules libudev und libvolume id etc udev Kurze Beschreibungen ata_id cdrom_id collect create_floppy_devices edd_id firmware sh fstab_import path_id scsi_id udevadm udevd usb_id vol_id write_cd_rules write_net_rules libudev libvolume_id etc udev Stellt Udev eine einmalige Beschreibung und weitere Informationen uuid label f r ein ATA Laufwerk zur Verf gung Stellt Udev die Ger teeigenschaften von CD Rom und DVD ROM Laufwerken zur Verf gung Wird diesem Programm eine Kennung f r das aktuelle uevent sowie eine Liste aller Kennungen f r alle Ziel uevents bergeben so registriert es die aktuelle Kennung und zeigt an ob alle Ziel uevents registriert wurden Erstellt alle m glichen Diskettenlaufwerks Ger tedateien basierend auf dem CMOS Typ Stellt Udev die EDD ID f r ein BIOS Laufwerk zur Verf gung L dt Firmware in angeschlossene Ger te Findet einen Eintrag in etc fstab der auf das aktuelle Ger t passt und reicht s
134. abetical order as it is installed in Chapter 5 now and therefore doesn t need to precede the Bison installation e randy Moved the Chapter 5 M4 installation to before GCC Pass1 so that the internal GCC build of GMP will not fail in case MA doesn t exist on the host Also updated GCC s dependencies to reflect GMP and MPFR dj Changed Chapter 5 GCC Pass 1 build to static Thanks to Jeremy Huntwork for the suggestion and supporting text dj Added note to Chapter 6 GCC about the new include fixed directory and changed the sample output to match dj Added instruction to keep Chapter 5 Glibc from honoring etc ld so preload Thanks to Alexander Patrakov for the fix randy Added descriptions of the configure options used in the GMP instructions and updated the installed library descriptions 11 10 2008 dj Removed the Chapter 5 Glibc test suite information as it requires a working C compiler to run randy Added three configure parameters to the Chapter 6 Util linux ng instructions so that additional programs are installed Also updated the installed programs list randy Added a sed command to the Sysvinit instructions to suppress the installation of the wall program and its man page as a maintained version of this program is installed by Util linux ng randy Added commands to the Chapter 6 Binutils instructions to suppress the installation of standards info Thanks to Greg Schafer for contributing the
135. age Support Unterst tzung f r die lokale Sprache kompiliert werden Dadurch k nnen Texte und Meldungen in der Sprache des Anwenders ausgegeben werden Gesch tzte Kompilierzeit Etwa Ben tigter Speicherplatz 2 2 SBU 128 MB 6 38 1 Installation von Gettext Bereiten Sie Gettext zum Kompilieren vor configure prefix usr docdir usr share doc gettext 0 17 Kompilieren Sie das Paket make Um die Ergebnisse zu testen ca 3 0 SBUs f hren Sie dieses Kommando aus make check Installieren Sie das Paket make install 6 38 2 Inhalt von Gettext Installierte Programme autopoint config charset config rpath envsubst gettext gettext sh gettextize hostname msgattrib msgcat msgcmp msgcomm msgconv msgen msgexec msgfilter msgfmt msggrep msginit msgmerge msgunfmt msguniq ngettext recode sr latin und xgettext Installierte Bibliotheken libasprintf a so libgettextlib so libgettextpo a so und libgettextsrc so Kurze Beschreibungen autopoint config charset config rpath envsubst gettext gettext sh gettextize hostname msgattrib msgcat msgcmp msgcomm msgconv msgen msgexec msgfilter Kopiert die Dateien einer typischen Gettext Infrastruktur in ein Quellpaket Gibt eine systemabh ngige Tabelle von zeichenkodierenden Aliasen aus Gibt einen systemabh ngigen Satz von Variablen aus die beschreiben wie der Laufzeit Suchpfad v
136. ake Der Kompiliervorgang ist nun abgeschlossen Wie bereits erw hnt wird empfohlen die Testsuite f r das tempor re System in diesem Kapitel nicht durchlaufen zu lassen Falls Sie die Testsuite dennoch laufen lassen m chten f hren Sie dieses Kommando aus TZ UTC make test Es ist bekannt dass die Testsuite von Tcl unter bestimmten Bedingungen fehlschlagen kann Daher sind Fehler in der Testsuite nicht berraschend wir betrachten diese Fehler nicht als kritisch Der Parameter TZ UTC setzt die Zeitzone f r die Dauer des Durchlaufs der Testsuite auf Coordinated Universal Time UTC auch als Greenwhich Mean Time GMT bekannt Dadurch werden zeitbezogene Tests korrekt ausgewertet Mehr Informationen zu der Umgebungsvariable TZ finden Sie sp ter in Kapitel 7 Installieren Sie das Paket make install Geben Sie das Schreibrecht auf die installierte Bibliothek damit sp ter die Debug Symbole entfernt werden k nnen chmod v utw tools lib libtcl8 5 so Installieren Sie die Tcl Header Dateien Das n chste Paket Expect ben tigt Sie zum Kompilieren make install private headers Erstellen Sie einen n tigen symbolischen Link ln sv tclsh8 5 tools bin tclsh 5 9 2 Inhalt von Tcl Installierte Programme tclsh Link auf tclsh8 5 und tclsh8 5 Installierte Bibliothek libtcl8 5 so Kurze Beschreibungen telsh8 5 Die Tcl Kommando Shell tclsh Ein Link auf tclsh8 5 libtcl8 5 so Die Te
137. ameter s bin bash Dies macht die bash zur voreingestellten Shell f r den Benutzer 1fs 24 Linux From Scratch Version 6 4 g lfs Dieser Parameter macht den neuen Benutzer zum Mitglied der Gruppe 1fs m Dadurch wird der Pers nliche Ordner f r 1 s gleich mitangelegt k dev null Dieser Parameter verhindert das Kopieren der Dateien aus einem Skeleton Ordner Voreinstellung ist etc skel Als Quelle f r den Skeleton Ordner wird einfach das Null Ger t eingestellt lfs Dies ist der Name der erzeugten Gruppe und Benutzer Wenn Sie als root angemeldet sind und zum Benutzer 1 s wechseln ben tigen Sie daf r kein Passwort Wenn Sie sich allerdings als Benutzer 1fs richtig anmelden m chten m ssen Sie dem Benutzer zuerst ein Passwort zuweisen passwd lfs Geben Sie 1 s Vollzugriff auf LFS tools Dazu machen Sie fs am besten zum Besitzer des Ordners chown v lfs LFS tools Wenn Sie wie vorgeschlagen einen extra Arbeitsordner eingerichtet haben dann geben Sie dem Benutzer 1fs auch dort die Besitzrechte chown v lfs LFS sources Als n chstes melden Sie sich bitte als 1fs an Dazu k nnen Sie eine virtuelle Konsole den Display Manager oder das folgende Kommando verwenden su lfs Das weist su an eine Login Shell anstelle einer Nicht Login Shell zu starten Der Unterschied zwischen den beiden Arten wird in bash 1 und info bash erkl rt 4 4 Vorbereiten der Arbeitsum
138. ameter to Man db s configure command so that globbing and manconv are installed into usr libexec man db Fixes 2153 Also remove the enable mb groff parameter as this is now detected automatically 19 2 2008 ken Updated Grep to 2 5 3 thanks to Matthew for the fix for automated builds ken Updated Flex to 2 5 34 ken Updated Module Init Tools to 3 4 17 2 2008 matthew Upgraded to latest upstream Vim patches matthew Upgraded to Tcl 8 4 18 Fixes 2146 matthew Upgraded to Man pages 2 78 Fixes 2152 matthew matthew matthew Linux From Scratch Version 6 4 Upgraded to Man DB 2 5 1 Fixes 72148 Upgraded to Linux 2 6 24 2 Fixes 2147 Now that mktemp is installed by Coreutils in chapter 5 there is no need to fix up GCC s geebug in chapter 6 Thanks to Greg Schafer for the report matthew matthew 7 2 2008 matthew matthew matthew matthew matthew Upgraded to Findutils 4 2 33 Fixes 72151 Upgraded to E2fsprogs 1 40 6 Fixes 2149 Added a patch to fix a known issue in the Automake test suite Fixes 2143 Upgraded to Man pages 2 77 Fixes 42142 Upgraded to Libtool 1 5 26 Fixes 72141 Upgraded to GCC 4 2 3 Fixes 2140 Upgraded to Coreutils 6 10 Removed Mktemp 1 5 as Coreutils provides its own implementation now Removed the coreutils binary suppression patch as the configure script can now be given a list of pro
139. ante Ergebnisse vermieden wenn Programme wie z B whatis verwendet werden sed i e N Nt usr man d e N Nt usr local man d src man db conf in Bereiten Sie Man DB zum Kompilieren vor configure prefix usr libexecdir usr lib sysconfdir etc disable setuid enable mb groff with browser usr bin lynx with col usr bin col with vgrind usr bin vgrind Y with grap usr bin grap Die Bedeutung der configure Parameter disable setuid Dadurch wird das Setuid Bit auf dem Programm man f r den Benutzer man deaktiviert enable mb groff Dieses Parameter teilt man db mit dass die von Debian gepatchte Version von groff vorliegt with Diese vier Parameter legen einige Standard Programme fest Das Programm col ist ein Teil von Util Linux ng lynx ist ein textbasierter Web Browser siehe BLFS Installationsanleitung vgrind wandelt Programmquellen in Groff Eingaben um und grap ist n tzlich f r Typographiezeichen in Groff Dokumenten Normalerweise werden vgrind und grap zum Anzeigen von Handbuchseiten nicht ben tigt Sie sind weder Teil von LFS noch von BLFS jedoch sollten Sie in der Lage sein diese nach der Installation von LFS selbst zu installieren Kompilieren Sie das Paket make Dieses Paket enth lt keine Testsuite Installieren Sie das Paket make install 6 47 2 Nicht Englische Hilfeseiten in LFS Einige Pakete enthalten nicht englische Man pages Diese werd
140. as Paket make Um die Ergebnisse zu testen geben Sie folgendes ein make check Installieren Sie die gemeinsamen Bibliotheken make install Das vorige Kommando hat eine so Datei im Ordner 1ib installiert Entfernen Sie sie wieder und erstellen Sie stattdessen einen Link in usr lib rm v lib libz so ln sfv lib libz so 1 2 3 usr lib libz so Kompilieren Sie nun die statische Bibliothek make clean configure prefix usr make Um die Ergebnisse erneut zu testen geben Sie ein make check Installieren Sie die statische Bibliothek make install Und korrigieren Sie die Zugriffsrechte auf die statische Bibliothek chmod v 644 usr lib libz a 6 25 2 Inhalt von Zlib Installierte Bibliotheken libz a so Kurze Beschreibungen libz Enth lt Funktionen zum Komprimieren und Dekomprimieren die von vielen Programmen genutzt werden 107 Linux From Scratch Version 6 4 6 26 Perl 5 10 0 Das Paket Perl enth lt die Skriptsprache Perl Practical Extraction and Report Language Gesch tzte 2 5 SBU Kompilierzeit Etwa Ben tigter 178 MB inkl Testsuite Speicherplatz 6 26 1 Installation von Perl Erstellen Sie nun eine Basisversion der Datei etc hosts Diese wird in einer von Perls Konfigurationsdateien und in der Testsuite verwendet falls Sie diese durchlaufen lassen echo 127 0 0 1 localhost hostname gt et
141. as Sch tzen des Netzwerk Flusses in ein Netzwerk tc filter erm glicht das Erstellen von QOS COS Paketfiltern tc policy erm glicht das Erstellen von QOS COS Regelwerken 133 Linux From Scratch Version 6 4 6 44 Kbd 1 14 1 Kbd enth lt die Dateien f r das Tastaturlayout und entsprechende Werkzeuge dazu Gesch tzte weniger als 0 1 SBU Kompilierzeit Etwa Ben tigter 12 5 MB Speicherplatz 6 44 1 Installation von Kbd Das Verhalten der Tasten Backspace und Entfernen ist in den Tastaturlayouttabellen von Kbd nicht einheitlich geregelt Der folgende Patch behebt das Problem f r die 1386 Tabellen patch Npl i kbd 1 14 1 backspace 1 patch Nach diesem Patch erzeugt die Backspace Taste das Zeichen mit dem Code 127 und die Entfernen Taste eine bekannte Escape Sequenz In dieser Version von Kbd werden die Installationsanweisungen zum Kompilieren von getkeycodes setkeycodes und resizecons nicht in die automatisch erzeugte Datei Make file bergeben so wie es eigentlich korrekt w re Damit diese Programme kompiliert und installiert werden m ssen Sie zwei Zeilen am Anfang von src Makefile in einf gen sed i e 1i KEYCODES_PROGS KEYCODES PROGS e li RESIZECONS_PROGS RESIZECONS_PROGS src Makefile in Des Weiteren Installiert diese Version von Kbd Man pages f r optionale Programme obwohl wir nicht den Parameter enable optional progs verwendet haben Korrigieren Sie diesen Fehler va
142. ash enth lt die Bourne Again SHell Gesch tzte 0 4 SBU Kompilierzeit Etwa Ben tigter 22 MB Speicherplatz 5 15 1 Installation von Bash Die Upstream Entwickler haben seit der ersten Ver ffentlichung von Bash 3 2 viele Fehler behoben Spielen Sie diese Fehlerkorrekturen nun ein patch Npl i bash 3 2 fixes 8 patch Bereiten Sie Bash zum Kompilieren vor ac cv func working mktime yes Be prefix tools without bash malloc Die Bedeutung der configure Parameter without bash malloc Dieser Parameter schaltet Bashs memory allocation malloc Funktion ab sie ist daf r bekannt Speicherzugriffsfehler zu verursachen Durch das Abschalten der Funktion wird Bash die stabilere mal 1oc Funktion von Glibc benutzen ac_cv_func_working_mktime yes Mit diesem Parameter wird die Suche nach mktime in configure bergangen und die Version in glibc wird stattdessen verwendet Die ist wegen einer nderung an GCC n tig die noch nicht in dieses Paket bernommen wurde Kompilieren Sie das Paket make Der Kompiliervorgang ist nun abgeschlossen Wie bereits erw hnt wird empfohlen die Testsuite f r das tempor re System in diesem Kapitel nicht durchlaufen zu lassen Falls Sie die Testsuite dennoch laufen lassen m chten f hren Sie dieses Kommando aus make tests Installieren Sie das Paket make install Und erstellen Sie einen Link f r die Programme die sh als Shell benutzen
143. be von GNU troff zu HTML Kopiert den Inhalt einer Datei zur Standardausgabe au er das Zeilen zwischen und als Zitat interpretiert werden und Zeilen zwischen R und R2 als Kommandos behandelt werden die angeben wie mit Zitaten umgegangen werden soll Liest Dateien und ersetzt Zeilen der Form so Datei gt mit dem tats chlichen Inhalt von Datei Kompiliert in troff Eingabedateien eingebettete Beschreibungen von Tabellen zu Kommandos die von troff unterst tzt werden Erzeugt Schriftdateien zur Verwendung mit groff Tdvi Ist hochkompatibel mit Unix troff blicherweise wird es mit dem Kommando groff aufgerufen welches auch Pr prozessoren und Postprozessoren in der richtigen Reihenfolge und mit den richtigen Optionen aufruft 128 Linux From Scratch Version 6 4 6 41 Gzip 1 3 12 Das Paket Gzip enth lt Programme zum Komprimieren und Dekomprimieren von Dateien Gesch tzte weniger als 0 1 SBU Kompilierzeit Etwa Ben tigter 2 2 MB Speicherplatz 6 41 1 Installation von Gzip Die von Gzip verwendete Funktion fultimens ist nicht kompatibel mit der Version die mit der aktuellen Glibc mitgeliefert wird daher benennen wir sie um sed i s futimens gl amp gzip c lib utimens c h Bereiten Sie Gzip zum Kompilieren vor configure prefix usr bindir bin Kompilieren Sie das Paket make Um die Ergebnisse zu testen geben Sie folgendes ein make check
144. beg ee I E OE EU Pi 122 6 37 GRUB Q 9T ie EI 123 038 GetleX OT 10s ses ean aue po t e eia e UE a eae ee RES 124 6 39 O16D72 9 3 cese eee edite oec oe duce tease tede op Senden heine es oe eo mde dng Sea oet I os thie E t EEE 126 6 40 Groff E481 4o ER wath duo A d ob eio Ce dei aan dol gai oss aue de A A ee hvala 127 GAL Gra IEEE 129 6 42 Inetutilss 5 esses Seles recs Dum EI eno e eue 130 6 43 PROute2 2 0 26 RN 132 6 44 Kbd 1 14 1 in DIC BE Sueno es Dee ac vendue cc ete a peior 134 6 43 Less Alg LI 136 6 46 Make 3 81 22 es oe err qe Ber eb ee OR e Ur sitar cue ss din tica 137 6 47 Man DB 232 orte tede tuto eios Red ort euo esr eo ton OPE EE OR Pe shee tons ro URN oput eoe te es Des vue be es 138 6 48 Module Imt Pools 3 4 1 SR Rh EN RI EEE sn los 142 6 49 o elle epos exor edel ong cedex ot set beo ote dense eot dese ceo dde tese ode 143 6 50 PsmisC 2210 c ode ER seele at eed e rt eq eerie E E EE 144 Linux From Scratch Version 6 4 6 91 5h2d0W 4 1 21 en a en rl re e e geram tede OR UU EUR S 145 632 SYSKIO GELS en ame ss sh es ne su ans eve eo sewed dyed eere ny DER ede side o e Pee dee ee 148 6 53 SysVinit 2 80 c Notes eoo elei a a A E E v e Utd ee ee 149 6 54 T t 1 20 ee ie ten de edt bot dot tee te eoe dre aee et eot en DREHTE LE Sob awn neue idee Meat ot edt best du sext tus 151 6 55 Teximfo 4 138 5 iier ROW eade cn bcr 152 OSEE EE e loreto a er ni RI Elster sbel endende iin 153 6 57 Utd 2 Ale his d Un eode IR
145. ben als Parameter bergeben haben Beachten Sie dass tools bin am Ende der Variable PATH steht Das bewirkt dass ein tempor res Werkzeug nicht mehr benutzt wird sobald seine endg ltige Version installiert ist Zumindest wenn die Shell sich nicht die Speicherorte von ausf hrbaren Dateien merkt aus diesem Grund wird die Hash Funktion der bash mit der Option h abgeschaltet Die Eingabeaufforderung der Bash wird I have no name ausgeben Das ist normal und liegt daran dass die Datei etc passwd derzeit noch fehlt Mit Hilfe dieser Datei findet n mlich auch die Zuordnung von Benutzer IDs zu Benutzernamen statt Anmerkung Sie m ssen alle Kommandos in den folgenden Kapiteln in der chroot Umgebung ausf hren Wenn Sie die chroot Umgebung aus irgendeinem Grund verlassen m ssen zum Beispiel wegen einem Neustart dann denken Sie daran die virtuellen Kernel Dateisysteme wie in Kapitel Abschnitt 6 2 2 Einh ngen und F llen von dev und Abschnitt 6 2 3 Einh ngen der virtuellen Kernel Dateisysteme erneut einzubinden und die chroot Umgebung wieder zu betreten bevor Sie mit der Installation fortfahren 6 5 Erstellen der Ordnerstruktur Nun bringen Sie ein wenig Struktur in das LFS Dateisystem Erzeugen Sie mit dem folgenden Kommando eine standardkonforme Ordnerstruktur mkdir pv bin boot etc opt home lib mnt opt mkdir pv media floppy cdrom sbin srv var install dv m 0750 root install dv m 1777 tmp
146. blem zu umgehen Installieren Sie das Paket make install Viele Benutzer sind es gew hnt vi anstelle von vim zu starten Damit vim gestartet wird obwohl vi eingegeben wurde erzeugen Sie einen symbolischen Link sowohl f r die Bin rdatei als auch f r die Hilfeseite in den verf gbaren Sprachen ln sv vim usr bin vi for L in usr share man manl vim 1 do ln sv vim 1 dirname L vi 1 done In der Voreinstellung wird die Dokumentation zu Vim in usr share vim installiert Durch den folgenden symbolischen Link wird sie unter usr share doc vim 7 2 verf gbar und ist damit konsistent mit der Dokumentation anderer Pakete ln sv vim vim72 doc usr share doc vim 7 2 158 Linux From Scratch Version 6 4 Falls Sie sp ter ein X Window System auf Ihrem LFS installieren m chten sollten Sie nach der Installation von X Ihren Vim erneut installieren Vim bringt eine grafische Oberfl che mit die allerdings X und ein paar weitere Bibliotheken voraussetzt Weitere Informationen finden Sie in der Dokumentation zu Vim und im BLFS Buch unter Attp www linuxfromscratch org blfs view svn postlfs editors html postlfs editors vim 6 58 2 Einrichten von Vim In der Voreinstellung l uft vim im vi inkompatiblen Modus Das ist wahrscheinlich neu f r Leute die in der Vergangenheit andere Editoren verwendet haben Die Einstellung nocompatible ist dennoch unten aufgef hrt um daran zu erinnern dass das
147. bootstrap Das Bootstrapping des Compilers ist nun die Voreinstellung von GCC Unsere Installationsmethode sollte jedoch einen stabilen Compiler hervorbringen ohne dass ein Bootstrapping jedesmal vonn ten ist Kompilieren Sie das Paket make Der Kompiliervorgang ist nun abgeschlossen Wie bereits erw hnt empfehlen wir die Testsuite f r das tempor re System in diesem Kapitel nicht durchlaufen zu lassen Falls Sie die Testsuite dennoch laufen lassen m chten f hren Sie dieses Kommando aus make k check Der Parameter k l sst die Testsuite bis zum Ende durchlaufen selbst wenn Fehler auftreten sollten Die Testsuite von GCC ist sehr umfangreich und es ist beinahe sicher dass Fehler auftreten Eine Information ber die kritischen Fehler finden Sie im Abschnitt 6 14 GCC 4 3 2 44 Linux From Scratch Version 6 4 Installieren Sie das Paket make install D Achtung An diesem Punkt ist es unbedingt notwendig die korrekte Funktion der Toolchain Kompilieren und Linken zu berpr fen Darum f hren Sie nun einen kleinen Gesundheitscheck durch echo main gt dummy c cc dummy c readelf 1 a out grep tools Wenn alles korrekt funktioniert sollten keine Fehler auftreten und die Ausgabe des letzten Kommandos sieht so oder so hnlich aus Requesting program interpreter eco e Lilo ele Lia 80 2 Achten Sie besonders darauf dass tools 1ib als
148. c hosts Der folgende Patch behebt bekannte Schwachstellen und andere Probleme die die Entwickler entdeckt haben patch Npl i perl 5 10 0 consolidated 1 patch Diese Version von Perl kompiliert auch das Modul Compress Raw Zlib Voreingestellt ist dazu die Verwendung einer Perl internen Kopie der Zlib Bibliothek Mit dem folgenden Kommando sorgen Sie daf r dass die auf dem System installierte Version von Zlib verwendet wird sed i e s BUILD_ZLIB s True BUILD ZLIB False N e s INCLUDE s zlib src INCLUDE usr include e s LIB s zlib src LIB usr lib N ext Compress Raw Zlib config in Wenn Sie festlegen m chten wie Perl sich selbst zum Installieren einrichtet dann k nnen Sie stattdessen das interaktive Configure Skript benutzen Wenn Sie mit den normalerweise sinnvollen von Perl automatisch erkannten Voreinstellungen zufrieden sind benutzen Sie das folgende Kommando sh Configure des Dprefix usr Dvendorprefix usr N Dmanldir usr share man manl Dman3dir usr share man man3 Dpager usr bin less isR Die Bedeutung der configure Parameter Dvendorprefix usr Dies stellt sicher dass perl wei wie es Paketen den Pfad f r die Installation der Module bermitteln kann Dpager usr bin less isR Dies korrigiert einen Fehler in der Art und Weise wie perldoc das Programm less aufruft Dmanldir usr share man manl Dman3dir usr share man man3 Da zur Zeit no
149. ch gcc dumpspecs sed e sQ tools lib ld linux so 20 lib ld linux so 28g e A startfile prefix spec n sQ Q usr lib Q e cpp n s isystem usr include gt dirname gcc print libgec file name specs Danach sollten Sie die specs Datei berpr fen und sicherstellen dass alle gew nschten nderungen wirklich durchgef hrt wurden An dieser Stelle ist es zwingend n tig die grundlegenden Funktionen Kompilieren und Linken der angepassten Toolchain zu berpr fen Aus diesem Grund f hren Sie bitte die folgenden Tests durch echo main gt dummy c cc dummy c v Wl verbose amp gt dummy log readelf 1 a out grep lib Wenn alles korrekt funktioniert sollten keine Fehler auftreten und die Ausgabe des letzten Kommandos ist Requesting program interpreter lib ld linux so 2 Beachten Sie dass nun lib der Prefix zum dynamischen Linker ist berpr fen Sie nun dass die korrekten Startdateien verwendet werden grep o usr lib crt lin succeeded dummy log Wenn alles korrekt funktioniert sollten keine Fehler auftreten und die Ausgabe des letzten Kommandos sieht so oder so hnlich aus usr lib crtl o succeeded usr lib crti o succeeded usr lib crtn o succeeded Stellen Sie sicher dass der Compiler nach den korrekten Header Dateien sucht grep Bl usr include dummy log Dieses Kommando sollte erfolgreich mit den
150. ch kein Groff installiert ist geht configure davon aus dass die Man pages nicht erstellt werden sollen Geben Sie diese Parameter ein um die falsche Entscheidung zu bergehen Kompilieren Sie das Paket make Um die Ergebnisse zu testen ca 2 5 SBUs f hren Sie dieses Kommando aus make test Installieren Sie das Paket make install 6 26 2 Inhalt von Perl Installierte Programme a2p c2ph cpan dprofpp enc2xs find2perl h2ph h2xs instmodsh libnetcfg perl perl5 10 0 Link auf perl perlbug perlcc perldoc perlivp piconv pl2pm pod2html pod2latex pod2man pod2text pod2usage podchecker podselect prove psed Link auf s2p pstruct Link auf c2ph s2p splain und xsubpp Installierte Bibliotheken Mehrere hundert die hier nicht alle aufgelistet werden k nnen 108 Linux From Scratch Version 6 4 Kurze Beschreibungen a2p c2ph cpan dprofpp enc2xs find2perl h2ph h2xs instmodsh libnetcfg perl perl5 10 0 perlbug perlec perldoc perlivp piconv pl2pm pod2html pod2latex pod2man pod2text pod2usage podchecker podselect prove psed pstruct s2p splain xsubpp bersetzt awk zu Perl Gibt C Strukturen aus die von cc g S erzeugt wurden Ist die Kommandozeilen Schnittstelle zum Comprehensive Perl Archive Network CPAN Zeigt Perl Profiling Daten an Erzeugt aus Unicode Zeichenzuordnungen oder Tcl Encoding Dateien eine Perl Erweiterung f r das Encode Mod
151. ch org patches Ifs 6 4 coreutils 6 12 old_build_kernel 1 patch MD5 Pr fsumme 5e8622abe6c6d81901b910383c6fb611 Coreutils Uname Patch 4 6 KB Download http www linuxfromscratch org patches Ifs 6 4 coreutils 6 12 uname 1 patch MD5 Pr fsumme c05b735710fbd62239588c07084852a0 Diffutils Internationalization Fixes Patch 18 KB Download http www linuxfromscratch org patches Ifs 6 4 diffutils 2 8 1 i18n 1 patch MD5 Pr fsumme c8d481223db274a33b121fb8c25a 9 7 Expect Spawn Patch 6 8 KB Download http www linuxfromscratch org patches lfs 6 4 expect 5 43 0 spawn 1 patch MDS5 Pr fsumme ef 6d0d0221 c571f b420afb7033b3bbba Expect Tcl Patch 4 1 KB Download http www linuxfromscratch org patches lfs 6 4 expect 5 43 0 tcl_8 5 5_fix 1 patch MD5 Pr fsumme 6904a384960ce0e8 0d0b32 7903d7a1 Glibc Iconv Test Fixes Patch 1 7 KB Download http www linuxfromscratch org patches Ifs 6 4 glibc 2 8 20080929 iconv_tests 1 patch MD5 Pr fsumme cc5e95e418e0b2f8a54b14cf90c7c3b2 Glibc Ildoubl Test Fix Patch 1 0 KB Download http www linuxfromscratch org patches lfs 6 4 glibc 2 8 20080929 ildoubl_test 1 patch MD5 Pr fsumme 4dc864a487eee8426413542591d19edb Grep Debian Patch 27 KB Download Attp www linuxfromscratch org patches lfs 6 4 grep 2 5 3 debian fixes 1 patch MD5 Pr fsumme 337d017202d7e3b08d428a89da3ee572 22 Linux From Scratch Version 6 4 Grep Upstream Fixes Patch 5 8 KB Download
152. ch testen bevor Sie sie produktiv einsetzen Bei dem zweiten Ansatz wird strace verwendet um alle Systemaufrufe zu protokollieren die w hrend der Installation ausgef hrt werden 6 3 2 6 Paket Archive erstellen Bei dieser Methode wird die Installation in einem separaten Unterordner vorgenommen hnlich wie bei der Methode mit symbolischen Verkn pfungen Nach der Installation wird aus der Ordnerstruktur ein Archiv mit den installierten Dateien erzeugt Dieses Archiv kann dann zur Installation benutzt werden Auf diese Weise k nnen Sie ein Archiv auch auf mehreren Rechnern installieren Diese Methode kommt in den meisten kommerziellen Distributionen zum Einsatz Beispiele f r Paketverwaltungen die diese Methode einsetzen sind RPM welches im brigen von der Linux Standard Base Spezifikation erfordert wird pkg utils Debians apt und Gentoos Portage System Eine Anleitung zur Verwendung dieses Paketverwaltungs Systems finden Sie unter Attp www linuxfromscratch org hints downloads files fakeroot txt 70 Linux From Scratch Version 6 4 6 3 2 7 Benutzerbasierte Paketverwaltung Diese f r LFS einmalige Methode hat sich Matthias Benkmann ausgedacht Informationen dazu finden Sie im Hints Projekt Bei der Benutzerbasierten Paketverwaltung wird jedes Paket unter Verwendung einer eigenen Benutzer ID an den Standard Installationsort installiert Alle zu einem Paket geh renden Dateien k nnen anhand der Benutzer ID leicht wiedergefunden we
153. cht es einem Benutzer ohne Systemverwalterrechte seine eigene Gruppenmitgliedschaft zu verwalten ndert den Namen oder die GID einer Gruppe Pr ft die Integrit t der Gruppen Dateien etc group und etc gshadow Erzeugt oder aktualisiert die group Datei von Shadow aus der normalen group Datei Aktualisiert etc group aus etc gshadow und l scht die letztere dann Berichtet ber die letzten Anmeldungen aller oder eines bestimmten Benutzers Wird vom System benutzt um einen Benutzer anzumelden Ein Daemon der Beschr nkungen auf die Login Zeit und Ports durchsetzt Wird zum ndern der aktuellen GID in einer Login Sitzung benutzt Wird zum Erzeugen oder Aktualisieren einer Serie von Benutzerkonten in einem Durchlauf verwendet Zeigt einen Hinweis an dass ein Benutzerkonto nicht verf gbar ist Dies ist als Standard Shell f r deaktivierte Benutzerkonten gedacht ndert das Passwort f r einen Benutzer oder eine Gruppe Pr ft die Integrit t der Passwort Dateien etc passwd und etc shadow Erzeugt oder aktualisiert die Shadow Passwort Datei aus der normalen Passwort Datei Aktualisiert etc passwd aus etc shadow und l scht letztere danach F hrt ein Kommando mit der angegebenen GID aus F hrt eine Shell mit ge nderter Benutzer und Gruppen ID aus Erzeugt einen neuen Benutzer mit dem angegebenen Namen oder aktualisiert die Vorgaben f r neue Benutzer L scht das angegebene Benutzerkonto ndert Loginname UID Shell Gru
154. cure Hash Algorithm 1 Symmetric Multi Processor Das Linux Documentation Project Trivial File Transfer Protocol Thread Local Storage User Identifier user file creation mask Universal Serial Bus Coordinated Universal Time Universally Unique Identifier Virtual Console Video Graphics Array Virtual Terminal 189 Linux From Scratch Version 6 4 Linux From Scratch Version 6 4 Anhang B Danksagungen Wir m chten uns bei allen nachfolgenden Personen und Organisationen f r ihr Mitwirken und die Beitr ge zu Linux From Scratch bedanken e Gerard Beekmans gerard Olinuxfromscratch org gt Gr nder von Linux From Scratch LFS Projektbetreuer Matthew Burgess matthew linuxfromscratch org gt LFS Projektleiter Buchautor Bruce Dubbs lt bdubbs linuxfromscratch org LFS Release Betreuer Manuel Canales Esparcia manuel linuxfromscratch org gt LFS BLFS HLFS XML und XSL Betreuer Jim Gifford jim linuxfromscratch org CLFS Co Betreuer Bryan Kadzban lt bryan linuxfromscratch org gt LFS Buchautor Jeremy Huntwork jhuntwork linuxfromscratch org gt LFS Live CD Betreuer LFS Buchautor Randy McMurchy randy linuxfromscratch org gt BLFS Projektleiter LFS Buchautor Dan Nicholson dnicholson linuxfromscratch org gt LFS und BLFS Buchautor DJ Lucas dj Olinuxfromscratch org gt LFS und BLFS Buchautor Ken Moffat lt ken linuxfromscratch org gt LFS und CLFS Buchautor
155. d patches 18 10 2008 Linux From Scratch Version 6 4 jhuntwork Fixed build locations of m4 so that it links against the glibc built in tools and so that no packages in chapter 6 hard code references to the temporary location Also made m4 a host requirement 15 10 2008 bdubbs Added disable libssp to glibc Pass 1 in Chapter 5 to eliminate a build failure on some systems dj Updated to udev config 20081015 dj Modified udev instructions following upstream recommendations 13 10 2008 randy Modified the Chapter 5 instructions so that instead of building the GMP and MPFR packages separately for GCC Pass2 they are built by GCC internally randy Added a configure option to the Chapter 6 Gettext instructions so that the documentation is installed in a versioned directory 12 10 2008 dj Updated to E2fsprogs 1 41 2 dj Corrected installation prefixes of Iproute2 package with DESTDIR and MANDIR paths Thanks to Steffen Pankratz for the fix randy Modified the Chapter 6 GMP instructions to include a method for determining all the tests in the test suite passed randy Modified the GCC search for correct headers command to account for the new include fixed directory randy Added a patch to the Chapter 6 Binutils instructions to correct some errors in the test suite dj Corrected installation of udev rule files randy Moved the Chapter 6 M4 installation into alph
156. den Wenn die ben tigten Bibliotheken allerdings auDerhalb von libund usr 1ib liegen m ssen Sie diese Ordner in etc 1d so conf eintragen damit der dynamische Lader sie finden kann Zwei Ordner sind daf r bekannt weitere Bibliotheken zu enthalten usr local lib und opt 1lib Diese Ordner f gen Sie gleich mit in den Suchpfad ein Erstellen Sie die neue Datei etc 1d so conf mit dem folgenden Kommando cat etc ld so conf EOF Begin etc ld so conf usr local lib Gygne lala 4 End etc ld so conf EOF 78 Linux From Scratch Version 6 4 6 9 4 Inhalt von Glibc Installierte Programme Installierte Bibliotheken catchsegv gencat getconf getent iconv iconvconfig ldconfig ldd Iddlibc4 locale localedef mtrace nscd pcprofiledump pt_chown rpcgen rpcinfo sln sprof tzselect xtrace zdump und zic ld so libBrokenLocale a so libSegFault so libanl a so libbsd compat a libc a so libcidn so liberypt a so libdl a so libg a libieee a libm a so libmcheck a libmemusage so libnsl a so libnss_compat so libnss_dns so libnss_files so libnss_hesiod so libnss_nis so libnss_nisplus so libpcprofile so libpthread a so libresolv a so librpesvc a librt a so libthread db so und libutil a so Kurze Beschreibungen catchsegv gencat getconf getent iconv iconvconfig Idconfig Idd Iddlibc4 locale localedef mtrace nscd pcprofiledump pt_chow
157. dert den Speicherort der locate Datenbank wie vom FHS Standard verlangt nach var lib locate Kompilieren Sie das Paket make Um die Ergebnisse zu testen geben Sie folgendes ein make check Installieren Sie das Paket make install Einige der LFS Bootskripte sind abh ngig von dem Kommando find Da usr in den fr heren Phasen des Bootvorgangs noch nicht eingh ngt sein k nnte muss sich dieses Programm auf der root Partition befinden Des Weiteren muss updatedb auf den neuen Pfad eingestellt werden mv v usr bin find bin sed i e s find BINDIR find bin usr bin updatedb 6 35 2 Inhalt von Findutils Installierte Programme bigram code find frcode locate updatedb und xargs Kurze Beschreibungen bigram Wurde fr her zum Anlegen von locate Datenbanken benutzt code Wurde fr her zum Anlegen von locate Datenbanken benutzt Es ist der Vorg nger von frcode find Durchsucht eine Ordnerstruktur nach Dateien die einem bestimmten Kriterium entsprechen frcode Wird von updatedb aufgerufen um die Liste der Dateinamen zu komprimieren Durch die sog front Komprimierung wird die Datenbankgr e um den Faktor 4 bis 5 verkleinert locate Durchsucht die locate Datenbank mit Dateinamen und gibt die Dateien aus die eine bestimmte Zeichenkette enthalten oder auf ein bestimmtes Suchmuster passen updatedb Aktualisiert die locate Datenbank Es durchsucht das gesamte Dateisystem inklusive a
158. dev erzeugt Weil das neue System aber bislang noch nicht gebootet wurde m ssen Sie diese Arbeit erstmal selbst erledigen Sie werden nun den dev Ordner des Host Systems mit dern bind Methode einh ngen Es handelt sich dabei um eine besondere Methode zum Einh ngen eines Dateisystems bei der ein Ordner oder Mountpunkt gespiegelt bzw zus tzlich an einer weiteren Stelle des Dateisystems eingeh ngt wird Benutzen Sie dazu das folgende Kommando mount v bind dev LFS dev 68 Linux From Scratch Version 6 4 6 2 3 Einh ngen der virtuellen Kernel Dateisysteme H ngen Sie nun die verbleibenden virtuellen Kernel Dateisysteme ein mount vt devpts devpts LFS dev pts mount vt tmpfs shm LFS dev shm mount vt proc proc LFS proc mount vt sysfs sysfs LFS sys 6 3 Paketverwaltung Paketverwaltung ist eine der am h ufigsten nachgefragten Erweiterungen f r das LFS Buch Mit einer Paketverwaltung k nnen Sie die Installation von Dateien protokollieren und diese dann sp ter leicht wieder deinstallieren oder Pakete aktualisieren Ein Paketmanager k mmert sich grunds tzlich nicht nur um ausf hrbare Bin rdateien und Bibliotheken sondern auch um Einrichtungsdateien Vorab erstmal eine Klarstellung NEIN dieses Kapitel behandelt keine Paketverwaltung im Detail und wird Ihnen auch keine empfehlen Sie werden hier nur Informationen zu den am weitesten verbreiteten Methoden und Techniken erhalten Die f r Sie perfekte Paket
159. dies kein Problem darstellen Bitte beachten Sie allerdings dass die meisten Distributionen die Header Dateien zu Programmen in extra Pakete packen meist mit Namen wie Paketname devel oder lt Paketname gt dev Bitte stellen Sie sicher dass Sie auch die Pakete mit den Headern installiert haben Bash 2 05a bin sh sollte eine symbolische oder harte Verkn pfung zu bash sein Binutils 2 12 Versionen gr fer 2 18 werden nicht empfohlen weil sie nicht getestet wurden Bison 1 875 usr bin yacc sollte eine symbolische oder harte Verkn pfung zu bison sein oder einem Skript welches bison ausf hrt Bzip2 1 0 2 Coreutils 5 0 oder Sh Utils 2 0 Textutils 2 0 und Fileutils 4 1 Diffutils 2 8 Findutils 4 1 20 Gawk 3 0 usr bin awk sollte eine symbolische Verkn pfung zu gawk sein Gcc 3 0 1 Versionen gr fer 4 3 2 werden nicht empfohlen weil sie nicht getestet wurden Glibc 2 2 5 Versionen gr er 2 8 20080929 werden nicht empfohlen weil sie nicht getestet wurden viii Linux From Scratch Version 6 4 Grep 2 5 Gzip 1 2 4 Linux Kernel 2 6 x mit GCC 3 0 oder neuer kompiliert Der Grund f r diese Kernelanforderung liegt darin dass die Unterst tzung f r thread local storage in Binutils nicht einkompiliert wird und die Native POSIX Threading Bibliothek NPTL abst rzt wenn der Host Kernel nicht mindestens Version 2 6 x ist und mit GCC 3 0 oder neuer kompiliert wurde Wenn der Host Kernel lter al
160. dschirmschriften enthalten nicht die Unicode Variante der einfachen Anf hrungszeichen und Bindestriche Stattdessen soll Groff die ASCII Versionen verwenden sed i e s 2010 002D e s 2212 002D e s 2018 0060 e s 2019 0027 font devutf8 R proto Groff erwartet dass die Umgebungsvariable PAGE die Standardpapiergr e enth lt F r Anwender in den Vereinigten Staaten ist PAGE letter korrekt Wenn Ihr Aufenthaltsort woanders liegt ersetzen Sie bitte PAGE letter durch PAGE A4 Die Voreinstellung der Papiergr e wird zwar zum Kompilierzeitpunkt eingestellt werden Jedoch kann man auch sp ter noch in der Datei etc papersize die Papiergr e einstellen Dazu m ssen Sie nur A4 oder letter in die Datei schreiben Bereiten Sie Groff zum Kompilieren vor PAGE paper size configure prefix usr enable multibyte Kompilieren Sie das Paket make Dieses Paket enth lt keine Testsuite Installieren Sie das Paket make docdir usr share doc groff 1 18 1 4 install Einige Dokumentationsprogramme wie zum Beispiel xman funktionieren ohne diese symbolischen Links nicht ln sv eqn usr bin geqn ln sv tbl usr bin gtbl 6 40 2 Inhalt von Groff Installierte Programme addftinfo afmtodit eqn eqn2graph geqn Link auf eqn grn grodvi groff groffer grog grolbp grolj4 grops grotty gtbl Link auf tbl hpftodit indxbib Ikbib lookbib mmroff neqn nroff pfbtops
161. e Speicherplatz 6 17 1 Installation von E2fsprogs Korrigieren Sie einen fest einprogrammierten Pfad zu bin rm in der E2fsprogs Testsuite sed i s bin rm tools amp lib blkid test probe in Die Dokumentation empfiehlt E2fsprogs in einem Unterordner des Quellordners zu kompilieren mkdir v build cd build Bereiten Sie E2fsprogs zum Kompilieren vor configure prefix usr with root prefix enable elf shlibs Die Bedeutung der configure Parameter with root prefix Bestimmte Programme wie z B e2fsck sind absolut essentiell Sie m ssen z B selbst dann verf gbar sein wenn usr noch nicht eingeh ngt ist Diese Programme geh ren in Ordner wie 1ib und sbin Ohne diese Option w rden die Programme entgegen unserem Willen in usr installiert werden enable elf shlibs Das erzeugt die gemeinsamen Bibliotheken die einige Programme in diesem Paket verwenden Kompilieren Sie das Paket make Um die Ergebnisse zu testen geben Sie folgendes ein make check Einer der Tests von E2fsprogs wird 256 MB Arbeitsspeicher beanspruchen Wenn Sie nicht wesentlich mehr als 256 MB Arbeitsspeicher haben sollten Sie zumindest gen gend Auslagerungsspeicher f r diesen Test zur Verf gung haben Lesen Sie unter Abschnitt 2 3 Erstellen eines Dateisystems auf der neuen Partition und Abschnitt 2 4 Einh ngen mounten der neuen Partition nach wie man Auslagerungsspe
162. e kbdrate loadkeys loadunimap mapscrn openvt psfaddtable Link auf psfxtable psfgettable Link auf psfxtable psfstriptable Link auf psfxtable psfxtable resizecons setfont setkeycodes setleds setmetamode showconsolefont showkey unicode start und unicode stop Kurze Beschreibungen chvt deallocvt dumpkeys feconsole getkeycodes kbd mode kbdrate loadkeys loadunimap mapscrn openvt psfaddtable psfgettable psfstriptable psfxtable resizecons setfont setkeycodes setleds setmetamode showconsolefont showkey unicode start unicode stop ndert das aktive Virtuelle Terminal Gibt unbenutzte Virtuelle Terminals wieder frei Gibt Tastatur bersetzungstabellen aus Gibt die Nummer des aktiven Virtuellen Terminals aus Gibt die Scancode zu Keycode Zuweisungstabelle des Kernels aus Setzt den Tastaturmodus bzw zeigt ihn an Setzt die Tastenwiederholrate und pausen oder zeigt sie an L dt Tastatur bersetzungstabellen L dt eine Unicode zu Schrift Zuweisungstabelle des Kernels Ein veraltetes Programm das benutzerdefinierte Zeichenausgabe Zuweisungstabellen in den Konsoletreiber l dt Dies wird heutzutage durch setfont erledigt Startet ein Programm in einem neuen Virtuellen Terminal VT Ein Link auf psfxtable Ein Link auf psfxtable Ein Link auf psfxtable Ein Satz von Werkzeugen zum Umgang mit Unicode Zeichentabellen f r Konsole Schriften ndert die Vorstellung des Kernels ber die Au
163. e service should source to get environmental variables AE aE aE E AE AE aE ae E AE AE E aE aE AE AEE aaa aaa aaa etc sysconfig rc S rc functions i COllece a liste or CoOMErLG WECM riles oi Ol Al aeeneirereie aie i WIND e Elea for file in 1 do All parameters except 1 FILES S FILES network_devices ifconfig 1 file done ali cl Sfmecwork_cevyices irteomrie Shih Jp than FILES echo network_devices ifconfig 1 else FILES network_devices ifconfig 1 fta Reverse the order configuration files are processed in oy erle am SESS lo IP ILE SZ S S le SA Ta Ss Y done FILES S FILES2 Process each configuration file moss alle a SPLINTS he clo f skip backup files aie p Sarn ES A je US pies leew weg qe een continue ei ase p p oes Ele Je een boot mesg file is not a network configuration file or directory WARNING echo warning continue t S file Will not process this service if started by boot and ONBOOT f is not set to yes at p Wedqans BOORI U WW Sa VSIONBOOLT to Wye E then 238 Linux From Scratch Version 6 4 continue fai will not process this service if started by hotplug and ONHOTPLUG is not set to yes ae dp VS iN Bowe noe ce WI NS ONE OUT e Uses E iw continue ie aL This will run the service script
164. e Anzahl von Zeilen einer Datei aus Gibt die numerische ID hexadezimal des Systems aus Setzt den Hostnamen bzw zeigt ihn an Gibt die effektive Benutzer ID Gruppen ID und Gruppenzugeh rigkeit des aktuellen Benutzers oder eines angegebenen Benutzers aus Kopiert Dateien und setzt deren Zugriffsrechte und falls m glich Besitzer und Gruppe F gt aus zwei Dateien die Zeilen mit identischen join Feldern zusammen Erzeugt einen harten Link von der angegebenen Datei zu einer Datei Erzeugt einen harten oder symbolischen Link zwischen Dateien Gibt den Login Namen des aktuellen Benutzers aus Listet den Inhalt des angegebenen Ordners auf Erzeugt eine MD5 Pr fsumme Message Digest 5 bzw zeigt sie an Erzeugt Ordner mit den angegebenen Namen Erzeugt FIFOs First In First Out eine sogenannte named Pipe im UNIX Sprachgebrauch mit dem angegebenen Namen Erzeugt eine Ger tedatei mit dem angegebenen Namen Eine Ger tedatei ist eine spezielle zeichen oder blockorientierte Datei oder ein FIFO Erzeugt tempor re Dateien auf sichere Weise Es wird in Skripten verwendet Verschiebt Dateien und Ordner oder benennt sie um F hrt ein Programm mit ge nderter Priorit t aus Nummeriert die Zeilen der angegebenen Dateien F hrt ein Programm aus so dass es immun gegen hangup s ist Die Ausgaben des Programms werden in eine Protokolldatei umgeleitet Gibt eine Datei oktal oder in anderen Formaten aus F gt angegebene
165. e Arbeit mit Objektdateien Gesch tzte 1 SBU Kompilierzeit Etwa Ben tigter 177 MB Speicherplatz 5 13 1 Neuinstallation von Binutils Bintutils erkennt keine neueren Versionen von Texinfo als 4 9 Dieses Problem kann mit folgendem Patch behoben werden patch Npl i binutils 2 18 configure 1 patch Erstellen Sie erneut einen eigenen Ordner zum Kompilieren mkdir v binutils build cd binutils build Bereiten Sie Binutils zum Kompilieren vor binutils 2 18 configure prefix tools disable nls with lib path tools lib Die Bedeutung der neuen Parameter zu configure with lib path tools lib Dies teilt dem configure Skript mit den Standard Bibliotheksuchpfad des Linkers als tools 1ib vorzugeben Wir m chten im Standard Bibliotheksuchpfad keine Ordner unseres Host Systems haben daher geben Sie den gew nschten Pfad vor Kompilieren Sie das Paket make Der Kompiliervorgang ist nun abgeschlossen Wie bereits erw hnt wird empfohlen die Testsuite f r das tempor re System in diesem Kapitel nicht durchlaufen zu lassen Falls Sie die Testsuite dennoch laufen lassen m chten f hren Sie dieses Kommando aus make check Installieren Sie das Paket make install Nun bereiten Sie Binutils auf das erneute Anpassen der Toolchain im n chsten Kapitel vor make C ld clean make C ld LIB PATH usr lib lib cp v ld ld new tools bin Details
166. e Konfiguration des Dienstes wird neu eingelesen Das verwendet man nachdem die Konfigurationsdatei eines Dienstes ge ndert wurde und man nicht den ganzen Dienst neu starten muss status Gibt aus ob der Dienst l uft und wenn ja mit welchen PIDs Sie k nnen den Bootprozess nat rlich nach Ihren W nschen anpassen schlussendlich ist es ja Ihr eigenes Linux Die Dateien hier sind nur Beispiele daf r wie man es gut erledigen kann 7 4 Umgang mit Ger ten und Modulen an einem LFS System In Kapitel 6 haben Sie Udev installiert Bevor wir zu den Details kommen wie das alles funktioniert m chten wir Ihnen erst einen R ckblick dar ber geben wie man fr her mit Ger ten unter Linux umgegangen ist 166 Linux From Scratch Version 6 4 Traditionell hat man unter Linux eine statische Methode zum Erzeugen von Ger tedateien benutzt Dabei wurden sehr viele Ger tedateien vorab in dev erzeugt manchmal mehrere tausend Dabei war es v llig egal ob die zugeh rige Hardware tats chlich existierte oder nicht Dies wurde typischerweise durch das Skript MAKEDEV erledigt welches eine Menge Systemaufrufe mit dem Programm mknod und den entsprechenden Ger tenummern durchf hrte und so Ger tedateien zu allen erdenklichen Ger ten erzeugte Mit der Udev Methode werden nur die Ger tedateien erzeugt zu denen der Kernel auch ein Ger t gefunden hat Weil diese Ger tedateien bei jedem Systemstart neu erzeugt werden speichert man sie auf einem sog
167. e Partition im weiteren Verlauf als die LFS Partition Wenn Sie nun eine Swap Partition haben merken Sie sich auch deren Bezeichnung Sie werden sie sp ter in die Datei etc fstab eintragen 2 3 Erstellen eines Dateisystems auf der neuen Partition Nun haben Sie eine leere Partition und k nnen darauf ein Dateisystem anlegen Das meistverbreitete Dateisystem unter Linux ist das Second Extended Filesystem ext 2 aber im Zuge der heute blichen gro en Festplatten gewinnen Journal Dateisysteme immer mehr an Beliebtheit Das ext 3 Dateisystem ist eine weit verbreitete Erweiterung von ext 2 und kompatibel mit den E2fsprogs An dieser Stelle erzeugen wir ein ext 3 Dateisystem Unter http www linuxfromscratch org blfs view svn postlfs filesystems html finden Sie Anleitungen zum Einrichten anderer Dateisysteme Zum Erzeugen eines ext 3 Dateisystems auf der LFS Partition f hren Sie bitte das folgende Kommando aus mke2fs jv dev lt xxx gt Ersetzen Sie xxx durch den Namen der LFS Partition wie zum Beispiel hda5 Linux From Scratch Version 6 4 Anmerkung Einige Distributionen haben Zusatzfunktionen in ihre Werkzeuge zum Erzeugen von Dateisystemen E2fsprogs eingebaut Dies kann sp ter beim Booten Ihres neuen LFS zu Probleme f hren weil diese Erweiterungen in den von LFS installierten E2fsprogs nicht installiert sind Sie k nnten z B eine Fehlermeldung wie unsupported filesystem features upgrade your e2fsprogs er
168. e Werte in der Kernelkonfiguration vorzugeben 180 Linux From Scratch Version 6 4 8 3 Linux 2 6 27 4 Das Paket Linux enth lt den Linux Kernel Gesch tzte 1 5 5 0 SBU Kompilierzeit Etwa Ben tigter 350 500 MB Speicherplatz 8 3 1 Installation des Kernels Kompilieren und Installieren des Kernels sind im Grunde nur ein paar Schritte Konfigurieren Kompilieren und Installieren Falls Sie die hier benutzte Methode nicht m gen schauen Sie in der Datei README im Kernel Quellordner nach Alternativen Bereiten Sie den Kompiliervorgang mit dem folgenden Kommando vor make mrproper Hierdurch wird sichergestellt dass der Kernel Baum absolut sauber ist Das Kernel Team empfiehlt dieses Kommando vor jedem Kompilieren des Kernels auszuf hren Sie sollten sich nicht darauf verlassen dass die Quellen nach dem Entpacken sauber sind Richten Sie den Kernel nun mit der men gef hrten Oberfl che ein In BLFS finden Sie unter http www linuxfromscratch org blfs view svn longindex html kernel config index einige Informationen zu bestimmten Kernel Voraussetzungen von Software au erhalb von LFS make LANG host LANG Wert LC ALL menuconfig Die Bedeutung der make Parameter LANG host LANG Wert LC ALL Dies stellt die Locale Einstellung auf die vom Host verwendete ein Ben tigt wird dies zur korrekten Darstellung der Ncurses Fensterrahmen von menuconfig in der UTF 8 basierten Textkonsole E
169. e Work and other pre existing works such as a translation musical arrangement dramatization fictionalization motion picture version sound recording art reproduction abridgment condensation or any other form in which the Work may be recast transformed or adapted except that a work that constitutes a Collective Work will not be considered a Derivative Work for the purpose of this License For the avoidance of doubt where the Work is a musical composition or sound recording the synchronization of the Work in timed relation with a moving image synching will be considered a Derivative Work for the purpose of this License Licensor means the individual or entity that offers the Work under the terms of this License Original Author means the individual or entity who created the Work Work means the copyrightable work of authorship offered under the terms of this License You means an individual or entity exercising rights under this License who has not previously violated the terms of this License with respect to the Work or who has received express permission from the Licensor to exercise rights under this License despite a previous violation License Elements means the following high level license attributes as selected by Licensor and indicated in the title of this License Attribution Noncommercial ShareAlike 2 Fair Use Rights Nothing in this license is intended to reduce limit or restrict any rights arising
170. e at ae ae ae ae a a aE a a aE a aE a aE EE EE EE EE EEE EEE EEE EEE HEHE HEH HEE HH Begin rc_base init d setclock i Description Setting Linux Clock Authors Gerard Beekmans gerard linuxfromscratch org Version 2 00 00 Notes m ERE HEE HEE HEE HE HE ERE EE HEE HE E E E HE E E E E E E HE E E E E E E HE E E E E E EH etc sysconfig rc Sie ribi omg etc sysconfig clock CLOCKPARAMS case VEUC som yes true 1 CLOCKPARAMS CLOCKPARAMS utc PAR no false 0 CLOCKPARAMS S CLOCKPARAMS localtime Pr esac case SI in start boot_mesg Setting system clock hwclock hctosys S CLOCKPARAMS gt dev null evaluate_retval ror stop boot mesg Setting hardware clock hwclock systohc CLOCKPARAMS gt dev null evaluate retval Fx echo Usage 0 start stop rm esac 220 D 9 etc rc d init d checkfs Linux From Scratch Version 6 4 bin sh Begin rc base init d checkfs From man fsck 0 No errors it File system errors corrected 2 System SInewllkel loe iceloyoorsl 4 File system errors left uncorrected 8 Operational error 16 Usage or syntax error 32 Fsck canceled by user request LAS Sh ewm oV MEC TS etc sysconfig rc S rc functions boot mesg Mounting root file system mount n o remount ro gt dev null evaluate retval AE AE AE E AE AE AE FE AE AE AE AE E AE AE AE E AE AE AE AE AE AE AE E AE AE
171. e copyright notice and this permission notice shall be included in all copies or substantial portions of the Software THE SOFTWARE IS PROVIDED AS IS WITHOUT WARRANTY OF ANY KIND EXPRESS OR IMPLIED INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM DAMAGES OR OTHER LIABILITY WHETHER IN AN ACTION OF CONTRACT TORT OR OTHERWISE ARISING FROM OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE 248 Stichwortverzeichnis Pakete Autoconf 111 Automake 112 Bash 114 Werkzeuge 48 Berkeley DB 90 Binutils 83 Werkzeuge Durchlauf 1 30 Werkzeuge Durchlauf 2 46 Bison 102 Bootskripte 164 Anwendung 166 Bzip2 116 Werkzeuge 49 Coreutils 96 Werkzeuge 50 DejaGNU 42 Diffutils 118 Werkzeuge 51 E2fsprogs 52 93 Expect 40 File 119 Findutils 121 Werkzeuge 53 Flex 122 Gawk 120 Werkzeuge 54 GCC 87 Werkzeuge Durchlauf 1 32 Werkzeuge Durchlauf 2 43 Gettext 124 Werkzeuge 55 Glibc 76 Werkzeuge 35 GMP 85 Grep 126 Werkzeuge 56 Groff 127 GRUB 123 Einrichten 183 Gzip 129 Werkzeuge 57 Iana Etc 100 Inetutils 130 IPRoute2 132 Kbd 134 Less 136 Libtool 106 Linux 181 API Header 74 Werkzeuge API Header 34 M4 101 Werkzeuge 58 Make 137 Werkzeuge 59 Man DB 138 249 Linux From Scratch Version 6 4 Man
172. e das mal mit einer herk mmlichen Linux Distribution Man k nnte die verschiedenen Linux Distributionen mit einem Hamburger aus einer Fast Food Kette vergleichen man wei nie genau was man isst LFS auf der anderen Seite w re nicht der Burger sondern vielmehr das Rezept Man kann das Rezept berpr fen ungewollte Zutaten weglassen und eigene Zutaten nach Geschmack und Belieben hinzuf gen Wenn man zufrieden ist bereitet man es zu Und auch hier kann man variieren braten backen tiefgefrieren grillen oder roh essen ganz wie man will vil Linux From Scratch Version 6 4 Es gibt noch weitere Analogien Vergleichen Sie LFS z B mit einem Fertighaus LFS w re in dem Fall der Plan f r den Grundriss aber bauen m ssen Sie das Haus selber Jeder kann den Plan ganz nach Belieben ndern Nicht zuletzt ist auch Sicherheit ein Vorteil eines selbstgebauten Linux Systems Wer ein Linux System selber aus den Quellen kompiliert kann s mtliche Quelltexte sichten und alle f r wichtig erachteten Sicherheitspatches installieren Man muss nicht warten bis jemand anders Bin rpakete zur Behebung von Sicherheitsl chern bereitstellt Solange Sie die Patches nicht selber pr fen und installieren ist auch nicht sichergestellt dass das Bin rpaket korrekt kompiliert wurde und es das Problem auch wirklich behebt Das erkl rte Ziel von Linux From Scratch ist ein vollst ndiges lauff higes und grundsolides System zu erstellen Wenn Sie nur in
173. e gerade auf der LFS Partition erstellt haben F hren Sie dieses Kommando als root aus ln sv LFS tools Anmerkung Das obige Kommando ist in dieser Form korrekt der Befehl In hat verschiedene Syntax Varianten bitte lesen Sie erst info coreutils In und 1n 1 bevor Sie einen vermeintlichen Fehler berichten Dieser symbolische Link erm glicht uns die Toolchain so zu kompilieren dass sie immer tools referenziert Das hat f r uns den Vorteil dass Compiler Assembler und Linker sowohl in diesem Kapitel in dem Sie noch einige Programme vom Host System benutzen als auch im n chsten Kapitel wenn Sie in die LFS Partition chroot ed haben funktionieren werden Das liegt daran dass die Programme immer den gleichen Pfad benutzen k nnen 4 3 Hinzuf gen des LFS Benutzers Als root eingeloggt k nnen selbst kleine Fehler ein System besch digen oder gar zerst ren Daher sollten Sie die Pakete in diesem Kapitel mit Hilfe eines unprivilegierten Benutzers kompilieren Nat rlich k nnen Sie Ihren bisherigen Benutzernamen dazu verwenden aber das Bereitstellen einer sauberen Arbeitsumgebung ist leichter wenn Sie dazu den Benutzer 1fs in der ebenfalls neuen Gruppe lfs anlegen und diesen f r den ganzen Installationsvorgang benutzen Bitte f hren Sie als root dieses Kommando aus um die neue Gruppe und den Benutzer anzulegen groupadd lfs useradd s bin bash g lfs m k dev null lfs Die Bedeutung der Kommandozeilen Par
174. e tempor ren C Bibliotheken installiert sind wollen wir alle im Rest des Kapitels kompilierten Werkzeuge gegen diese Bibliotheken verlinken Um das zu erreichen m ssen Sie den Linker und die specs Datei des Compilers anpassen Der am Ende des ersten Durchlaufes von Binutils angepasste Linker muss umbenannt werden da er sonst nicht korrekt gefunden und benutzt wird Sichern Sie zun chst den urspr nglichen Linker dann ersetzen Sie ihn durch den angepassten Au erdem erzeugen Sie eine Verkn pfung auf das Gegenst ck in tools gcc dumpmachine bin mv v tools bin ld 1d old mv v tools gcc dumpmachine bin 1d 1d old mv v tools bin ld new 1d ln sv tools bin ld tools gcc dumpmachine bin ld Von diesem Punkt an wird alles ausschlie lich gegen die Bibliotheken in tools 1ib verlinkt Der n chste Schritt ist nun GCC auf den neuen dynamischen Linker zu verweisen Legen Sie dazu GCCs specs Datei an einem Ort ab wo GCC standardm ig sucht Dann wird der von GCC verwendete dynamische Linker durch einen einfachen sed Aufruf angepasst Es wird empfohlen das obige Kommando nicht abzuschreiben sondern mittels Kopieren und Einf gen auszuf hren Sie k nnen die specs Datei auch von Hand ndern ersetzen Sie einfach jedes Vorkommen von lib Id linux so 2 durch tools lib Id linux so 2 O Wichtig Wenn Sie mit einer Rechner Plattform arbeiten bei der der Name des dynamischen Linkers nicht 1d
175. e zu passwd an Das w re in diesem Fall usr share man manl passwd 1 Um in diesem Beispiel die richtige Man page aus Sektion 5 anzuzeigen m ssen Sie das Kommando man 5 passwd verwenden Die meisten Man pages haben keine doppelten Seiten Namen in unterschiedlichen Sektionen daher ist man lt Programmname gt meistens ausreichend Aufbau Das Buch ist in die folgenden Abschnitte unterteilt Teil Einf hrung Teil I erl utert einige wichtige Hinweise zur Installation und schafft Grundlagen zur allgemeinen Verwendung des Buches Teil Il Vorbereitungen zur Installation Teil II bereitet den eigentlichen Installationsvorgang vor Anlegen einer Partition Herunterladen der Pakete und Kompilieren der tempor ren Werkzeuge Teil Ill Installation Teil III f hrt Sie Schritt f r Schritt durch die eigentliche Installation von LFS Kompilieren und Installieren aller Pakete Aufsetzen der Bootskripte und Installieren des Kernels Das resultierende Linux System ist die Basis auf der sp ter weitere Software installiert wird und auf der das System ganz nach Ihrem Belieben erweitert werden kann Am Ende des Buches finden Sie zu Referenzzwecken eine Liste aller Programme Bibliotheken und wichtiger Dateien die w hrend der Arbeit mit diesem Buch installiert wurden Errata Die f r LFS verwendete Software wird laufend aktualisiert und erweitert Nach Erscheinen des Buches k nnten Sicherheitshinweise und Fehlerbereinigungen hinzugekommen
176. e zwei Pakete installiert werden Als zweiten Schritt kompilieren Sie Glibc die C Bibliothek Glibc wird mit den Programmen der im ersten Schritt erstellten Basiswerkzeuge kompiliert Im dritten Schritt erstellen Sie dann die zweite Version der Basiswerkzeuge Sie linken die Programme dynamisch gegen die gerade frisch installierte Glibc Die verbleibenden Pakete aus Kapitel 5 werden alle diesen zweiten Durchlauf der Toolchain verwenden und dynamisch gegen die neue hostunabh ngige Glibc gelinkt Wenn dies erledigt ist ist der weitere Installationsvorgang mit Ausnahme des Kernels nicht mehr von der Linux Distribution auf dem Host System abh ngig Dies scheint erstmal eine Menge Arbeit zu sein um sich von der Host Distribution zu l sen Eine vollst ndige Erkl rung finden Sie in Abschnitt 5 2 Technische Anmerkungen zur Toolchain In Kapitel 6 wird das endg ltige LFS System erstellt Wir benutzen das Programm chroot chroot change root wechseln der Basis um eine Shell in einer virtuellen Umgebung zu starten In der neuen Shell ist der Basisordner auf die LFS Partition eingestellt Chrooten ist so hnlich wie Neustarten und Einh ngen der LFS Partition als root Dateisystem Das Erstellen eines bootf higen Systems w rde allerdings zus tzliche Arbeit erfordern und ist an dieser Stelle absolut unn tig Au erdem hat chroot en den Vorteil dass Sie das Host Betriebssystem weiter nebenher verwenden k nnen w hrend Sie in der Shell das L
177. eee ei 177 8 Das LFS Systerm bootf hig machen ende ans nass De sea pe pe Fux epe pr cum vate eec do spo ted dur te Seldon po 179 8T Emf brung onsec e Ne RC Rs ES e NEN pd tede 179 82 Erstellen der Dater etc Istab oido sette ete eterno tie EE e Es Le DI 179 8 3 Tanux 2 6 21 4 sh A ree wt e run 181 8 4 Das LES System bootfahig machen escort Pepe ia sh sp bone dirt ine ster sii 183 UNE its Ue Os Dose es ess tal EU sade ee A sed e TU iii 185 PANINI 185 0 2 Lassen Sie sich z hlen oi Ep expectas po eto A 185 93 Neust rten SACS RE E 185 DAS WAS nun oe eoo tete e m debo NET e ec o Sn e eMe des 185 IS LUDUM 187 A Akronyme und Berries Intr eeu 188 Be Danksagungen zer ernannt ENE 190 C Abh ng pkeiten i Sq e SEE Re Rn er des eR ederet 192 D LFS Sysconfig und Bootskripte 20081031 soanen en ennea es onen mee eene He e ene hene hee hen nennen rhe nhe nennen eene 200 D Jetc rc d mt d t6 ed Ri BE I RR 200 D 2 Jetc rc d imt d f nctions err rre nein she cadens SEE KUE rc Near TRE eoe prays 201 D 3 Jetc rcdanit d mountkernfs ns REC CR Eg I ads asd eie du e e o DC Va ea ed 214 DA Jetc rc dAmt d consolelog steel BE an SL ee Dr 215 DS Jetc rc dmt d modules 2 2 rar RE ri MI 216 D 6 Jetc rc d imt d udev sus ocio E en Bene PEE Anti rey ren Ere Ue Py tHR Re HET 217 DT Jetcircidamtd swapusoa 22 22 A AE de RU saya Sea Reh wee aed UI E e RR SU EE ECC HER 219 D 8 Jetc rc d mt d setelock oie t te
178. efix tools stattfindet Sie installieren einen angepassten ld welcher einen fest angegebenen Suchpfad auf tools 1lib hat Dann bearbeiten Sie die specs Datei von gcc so dass sie auf den neuen Dynamischen Linker in tools lib verweist Der letzte Schritt ist entscheidend f r den gesamten Ablauf Wie oben bereits angemerkt wird ein fest eingestellter Pfad zum Dynamischen Linker in jeder ausf hrbaren ELF Datei eingebettet Sie k nnen das berpr fen indem Sie dieses Kommando ausf hren readelf 1 Name der ausf hrbaren Datei grep interpreter Durch das Anpassen der specs Datei von gcc stellen wir sicher dass jedes von nun an kompilierte Programm bis zum Ende des Kapitels unseren neuen Dynamischen Linker in tools lib benutzt Weil unbedingt der neue Linker verwendet werden muss wird der Specs Patch auch im zweiten Durchlauf von GCC angewendet Hierbei darf kein Fehler passieren denn sonst w rden die GCC Programme selbst den Linker aus 1ib im Host System verwenden Eine saubere Trennung vom Host System w re dann nicht mehr gegeben und unser Ziel w re verfehlt Im zweiten Durchlauf der Binutils k nnen Sie den configure Parameter with lib path benutzen um den Bibliotheksuchpfad von ld 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
179. egin etc fstab file system mount point type options dump fsck order dev lt xxx gt i lt rre gt exei 1 ii dev lt yyy gt swap swap pied 0 0 PROS proc PROS defaults 0 0 sysfs sys sysfs defaults 0 0 devpts dev pts devpts gid 4 mode 620 0 0 tmpfs dev shm tmpfs defaults 0 0 End etc fstab EOF Nat rlich m ssen Sie lt xxx gt lt yyy gt und lt fff gt mit den korrekten Werten fiir Ihr System ersetzen zum Beispiel hda2 hda5 und ext3 Die Details zu den sechs Feldern in dieser Tabelle finden Sie mittels man 5 fstab Der Mountpunkt dev shm f r das tmpfs Dateisystem wird hier eingef gt um POSIX konformes shared memory zu gew hrleisten Ihr Kernel muss Unterst tzung daf r haben damit das funktioniert mehr dar ber finden Sie im n chsten Abschnitt Beachten Sie bitte dass zur Zeit nur wenige Programme POSIX shared memory verwenden Daher k nnen Sie den Mountpunkt dev shm als optional betrachten Mehr Informationen dazu finden Sie in Documentation filesystems tmpfs txt im Quellordner Ihrer Kernel Quellen Dateisysteme die urspr nglich aus MS DOS oder Windows stammen das sind vfat ntfs smbfs cifs 1509660 udf m ssen mit dem mount Parameter iocharset eingebunden werden damit Nicht Ascii Zeichen in Dateinamen korrekt behandelt werden k nnen Der Wert des Parameters sollte Ihrer Locale Einstellung entsprechen so angepasst dass der Kernel ihn verstehen kann Dies funktioniert nur wenn der n tige Z
180. ei und den Linker nicht vor der Installation von Glibc modifizieren weil die Autoconf Tests von Glibc dann falsche Resultate ergeben w rden Unter Verwendung der locale vi_VN TCVN verbleibt die bash beim Start in einer Endlosschleife Ob dies ein Fehler der bash oder von Glibc ist ist derzeit nicht bekannt Verhindern Sie das Problem indem Sie diese locale von der Installation ausschlie en sed i vi VN TCVN d localedata SUPPORTED Spielen Sie zuerst zwei Patches ein diese beheben Fehler die ansonsten Fehler beim Durchlaufen der Testsuite verursachen k nnten patch Npl i glibc 2 8 20080929 iconv_tests 1 patch patch Npl i glibc 2 8 20080929 ildoubl test 1 patch Das Shell Skript Idd enth lt Bash spezifische Syntax ndern Sie daher bitte den Befehlsinterpreter zu bin bash f r den Fall dass ein anderes Kommando f r bin sh installiert wird wie z B im Kapitel shells von BLFS beschrieben sed i s QBASHQ bin bash elf ldd bash in Die Dokumentation von Glibc empfiehlt zum Kompilieren einen gesonderten Ordner zu verwenden mkdir v glibc build cd glibc build F gen Sie erneut die ben tigten Kompilier Paramter zu CFLAGS hinzu echo CFLAGS march i486 mtune native gt configparms Bereiten Sie Glibc zum Kompilieren vor glibc 2 8 20080929 configure prefix usr disable profile enable add ons enable kernel 2 6 0 libexecdir usr lib glibc
181. eichensatz zu finden unter File systems Native Language Support in den Kernel eingebaut oder als Modul kompiliert ist Der Parameter codepage ist des Weiteren f r vfat und smbfs Dateisysteme erforderlich Der Wert sollte der in Ihrem Land unter MS DOS verwendeten Codepage entsprechen Um beispielsweise einen USB Stick in ru RU KOIS R einzubinden muss der Benutzer diese Zeile in etc fstab eintragen noauto user quiet showexec iocharset koi8r codepage 866 Die entsprechenden Optionen f r ru RU UTF 8 lauten noauto user quiet showexec iocharset utf8 codepage 866 Anmerkung Im letzteren Fall wird der Kernel die folgende Meldung ausgeben FAT utf8 is not a recommended IO charset for FAT filesystems filesystem will be case sensitive Diese Meldung sollte einfach ignoriert werden da alle anderen Werte f r iocharset zu einer fehlerhaften Darstellung der Dateinamen in UTF 8 f hren w rden 179 Linux From Scratch Version 6 4 Es ist ebenso m glich die Werte f r codepage und iocharset f r bestimmte Dateisysteme bereits bei der Kernelkonfiguration festzulegen Die n tigen Parameter finden Sie unter Default NLS Option CONFIG_NLS_DEFAULT Default Remote NLS Option CONFIG_SMB_NLS_DEFAULT Default codepage for FAT CONFIG_FAT_DEFAULT_CODEPAGE und Default iocharset for FAT CONFIG_FAT_DEFAULT_IOCHARSET F r das NTFS Dateisystem gibt es derzeit keine M glichkeit di
182. eicherplatz 6 33 1 Installation von File Korrigieren Sie die Man page damit sie aktuelle nderungen am Parameter e exclude korrekt widergibt sed i e 197 1d e 189 1d e s token tokens doc file man Bereiten Sie File zum Kompilieren vor configure prefix usr Kompilieren Sie das Paket make Um die Ergebnisse zu testen geben Sie folgendes ein make check Installieren Sie das Paket make install 6 33 2 Inhalt von File Installierte Programme file Installierte Bibliothek libmagic a so Kurze Beschreibungen file Versucht Dateien zu klassifizieren Dazu f hrt es verschiedene Tests durch Dateisystem Tests Tests mit magischen Nummern und Sprachtests Der erste erfolgreiche Test entscheidet ber das Ergebnis libmagic Enth lt Routinen zur Erkennung von magischen Nummern wird vom Programm file verwendet 119 Linux From Scratch Version 6 4 6 34 Gawk 3 1 6 Gawk ist eine Implementierung von awk und wird zur Textmanipulation verwendet Gesch tzte 0 3 SBU Kompilierzeit Etwa Ben tigter 21 MB Speicherplatz 6 34 1 Installation von Gawk Bereiten Sie Gawk zum Kompilieren vor configure prefix usr libexecdir usr lib ac cv func working mktime yes Kompilieren Sie das Paket make Um die Ergebnisse zu testen geben Sie folgendes ein make check Installieren Sie das Paket
183. eil Glibc 1gcc_eh innerhalb des Konfigurationssystems verwendet Diese Abh ngigkeit kann aufgel st werden indem Sie eine symbolische Verkn pfung auf 1ibgcc a erstellen weil sie normalerweise sowieso die Objekte enth lt die 1ibgcc eh a zur Verf gung stellen w rde ln vs libgcc a gcc print libgcc file name sed s libgcc amp eh Zum Abschluss erstellen Sie noch einen symbolischen Link Viele Programme rufen cc anstelle von gee auf Dadurch werden diese Programme allgemeiner gehalten und sind auch auf anderen Unix Systemen lauff hig Nicht jedes System hat den C Compiler von GNU installiert Der Aufruf von cc l sst dem Administrator die Wahl welchen C Compiler er installieren m chte Er muss dann nur noch den symbolischen Link auf den richtigen Compiler verweisen lassen ln vs gcc tools bin cc Details zu diesem Paket finden Sie in Abschnitt 6 14 2 Inhalt von GCC 33 Linux From Scratch Version 6 4 5 6 Linux 2 6 27 4 API Header Die Linux API Header ver ffentlichen die Programmierschnittstelle der Kernels zur Verwendung durch die Glibc Gesch tzte 0 1 SBU Kompilierzeit Etwa Ben tigter 341 MB Speicherplatz 5 6 1 Installation von Linux API Header Der Kernel muss eine Programmierschnittstelle API ver ffentlichen damit die C Bibliothek Glibc in LFS diese verwenden kann Dazu werden bereinigte Versionen der C Header verwendet die mit den Kernelquellen ausgeliefert werden Stel
184. eine Informationen an Udev weiter Stellt den k rzesten eindeutigen Hardware Pfad zu einem Ger t zur Verf gung Stellt Udev einen einmaligen SCSI Bezeichner zur Verf gung Dieser basiert auf dem R ckgabewert einer SCSI INQUIRY Anfrage an das angegebene Ger t Allgemeins Administrationswerkzeug f r udev kontrolliert den Dienst udevd gibt Informationen aus der Udev Datenbank aus berwacht Ereignisse wartet auf das Beenden von uevents testet die Udev Einrichtung und l st Ereignisse f r bestimmte Ger te aus Dieser Daemon wacht ber uevents an einem netlink Socket erzeugt Ger te Dateien und f hrt bestimmte externe Programme als Reaktion auf diese uevents aus Stellt Udev Informationen zu USB Ger ten zur Verf gung Stellt Udev label und uuid eines Dateisystems zur Verf gung Dieses Skript erzeugt Udev Regeln die stabile Namen f r optische Laufwerke unterst tzen siehe auch Abschnitt 7 12 Erzeugen von benutzerdefinierten symbolischen Links zu Ger ten Dieses Skript erzeugt Udev Regeln die stabile Namen f r Netzwerkschnittstellen unterst tzen siehe auch Abschnitt 7 13 Einrichten des network Skripts Eine Schnittstellen Bibliothek zu Udev Ger teinformationen Eine Schnittstellen Bibliothek zum Auslesen von Volumen Kennungen labels und uuids Enth lt Udev Konfigurationsdateien Ger teberechtigungen und Regeln f r die Namensvergabe von udev 154 Linux From Scratch Version 6 4 6 57 Util
185. einer patch Datei Eine patch Datei ist blicherweise eine Auflistung von Unterschieden die mit dem Programm diff erzeugt wurde Durch Anwenden dieser Unterschiede auf die Originaldateien erstellt patch eine gepatchte Version 143 Linux From Scratch Version 6 4 6 50 Psmisc 22 6 Das Paket Psmisc enth lt Programme zum Anzeigen von Prozessinformationen Gesch tzte weniger als 0 1 SBU Kompilierzeit Etwa Ben tigter 2 2 MB Speicherplatz 6 50 1 Installation von Psmisc Bereiten Sie Psmisc zum Kompilieren vor configure prefix usr exec prefix Die Bedeutung der configure Parameter exec prefix Dies stellt sicher dass die Bin rdateien von Psmisc nach bin anstelle von usr bin installiert werden Lt FHS ist dies der korrekte Ort weil einige der Programme in den LFS Bootskripten verwendet werden Kompilieren Sie das Paket make Dieses Paket enth lt keine Testsuite Installieren Sie das Paket make install pstree und pstree x11 m ssen nicht in bin liegen Daher verschieben Sie sie nach usr bin mv v bin pstree usr bin Normalerweise wird Psmiscs Programm pidof nicht installiert Das ist meistens kein Problem weil wir sp ter das Paket Sysvinit installieren welches eine bessere Version von pidof installiert Aber wenn Sie nicht Sysvinit verwenden m chten k nnen Sie die Installation von Psmisc durch Erstellen dieses Links komplettieren 1n sv
186. eisen Sie GRUB nun an sich in den MBR von hda zu installieren setup hd0 Wenn alles in Ordnung ist wird GRUB nun berichten dass die n tigen Dateien in boot grub gefunden wurden Das ist alles soweit beenden Sie die grub Shell quit Nun m ssen Sie eine Men Liste erstellen Sie definiert das Bootmen von Grub cat boot grub menu lst 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 i Ihe fiet emery is ior I title LFS 6 4 183 Linux From Scratch Version 6 4 Boos acl S kernel boot lfskernel 2 6 27 4 root dev hda4 EOF Vielleicht m chten Sie einen weiteren Eintrag f r Ihr Host System vornehmen Dieser k nnte z B so aussehen cat boot grub menu lst EOF title Red Hat Oo acl 27 kernel boot kernel 2 6 5 root dev hda3 dime Moocit aue 09l 2 s 6 5 EOF Falls Sie Windows dual booten m chten k nnte der folgende Eintrag hilfreich sein cat boot grub menu lst EOF title Windows rootnoverify hd0 0 chainloader 1 EOF Falls Ihnen info grub nicht alle ben tigten Informationen gibt finden Sie mehr dazu auf den GRUB Webseiten unter http www gnu org software grub FHS setzt voraus das GRUBs menu lst nach etc grub menu lst verlinkt sein sollte
187. eiter oben nicht funktioniert hat Wenn Sie mit dem Ergebnis zufrieden sind l schen Sie die Testdateien rm v dummy c a out dummy log 82 Linux From Scratch Version 6 4 6 11 Binutils 2 18 Binutils ist eine Sammlung von Software Entwicklungswerkzeugen Dazu geh ren zum Beispiel Linker Assembler und weitere Programme f r die Arbeit mit Objektdateien Gesch tzte 1 7 SBU inkl Testsuite Kompilierzeit Etwa Ben tigter 186 MB inkl Testsuite Speicherplatz 6 11 1 Installation von Binutils Jetzt ist ein guter Zeitpunkt um sicherzustellen dass die Pseudo Terminals PTYs in Ihrer chroot Umgebung funktionieren Mit dem folgenden schnellen Test sehen Sie ob alles korrekt eingerichtet ist expect c spawn ls Falls die folgende Meldung erscheint ist Ihre chroot Umgebung nicht f r PTYs vorbereitet The system has no more ptys Ask your system administrator to create more Das Problem muss behoben werden bevor Sie die Testsuites von Binutils und GCC laufen lassen Bintutils erkennt keine neueren Versionen von Texinfo als 4 9 Dieses Problem kann mit folgendem Patch behoben werden patch Npl i binutils 2 18 configure 1 patch Wenden Sie den folgenden Patch an um Fehler beim Durchlaufen der Testsuite zu vermeiden patch Npl i binutils 2 18 GCC43 1 patch Verhindern Sie die Installation der veralteten Datei standards info im weiteren Verlauf wird bei de
188. ellen k nnen Sie werden sich so weit wie m glich vom Host System abschotten und eine in sich geschlossene Toolchain erzeugen Bitte beachten Sie dass der gesamte Vorgang daf r ausgelegt ist die Risiken f r neue Leser zu minimieren und gleichzeitig den Lerneffekt zu maximieren D Wichtig Bevor Sie fortfahren sollten Sie den Namen der Plattform kennen auf der Sie LFS installieren diesen bezeichnet man oft auch als das Ziel Tripplet F r die meisten Leser wird das Ziel Tripplet zum Beispiel i686 pc linux gnu sein Sie k nnen Ihr Ziel Tripplet herauszufinden indem Sie das Skript config guess auszuf hren es wird mit den Quellen vieler Pakete mitgeliefert Entpacken Sie die Binutils Quellen und f hren Sie das Skript aus config guess Notieren Sie die Ausgabe Auch den Namen des dynamischen Linkers f r Ihre Plattform sollten Sie kennen manchmal wird der Linker auch als dynamischer Lader bezeichnet Bitte verwechseln Sie den dynamischen Linker nicht mit dem Standard Linker ld aus dem Paket Binutils Der dynamische Linker kommt mit Glibc und seine Aufgabe ist es die von einem Programm ben tigten gemeinsamen Bibliotheken zu finden und zu laden das Programm zur Ausf hrung vorzubereiten und schlie lich das Programm selbst auszuf hren Im Regelfall wird der Name des dynamischen Linkers 1d linux so 2 sein F r weniger g ngige Systeme k nnte der Name auch 1d so 1 sein und auf neueren 64 Bit Plattformen k nnte er sogar v llig verschiede
189. eloading reloadproc rm 234 Linux From Scratch Version 6 4 restart 0 stop sleep 1 S10 usu Fat status SEIS OG EF echo Usage 0 start stop reload restart status exit 1 Pr esac End rc base init d D 22 etc sysconfig rc EL HEE EE EE E Begin etc sysconfig rc Descripcion re Script COMIC enc oa Authors Version 00 00 Notes AE AE AE E AE AE AE AE AE E AE AE AE AE AE AE E AE E AE FE AE E AE E AE AE AE E AE AE AE AE AE E AE E AE AE AE E AE AE AE FE AE E AE AE E AE AE AE AE AE E HE AE E AE AE E AE AE AE AE AE E FE F HE rc_base etc rc d rc_functions rc_base init d functions network_devices etc sysconfig network devices End etc sysconfig rc D 23 etc sysconfig modules Re HEH HH HH HE EE HE HE EE EE EE HE HE HE HH EE HE EE EE EE EE EE HE HE HE HE HE EE EE EE EE HE Begin etc sysconfig modules Description Module auto loading configuration Authors Version e 00 00 Notes The syntax of this file is as follows lt morule gt argo Sarga ooo Each module should be on it s own line and any options that you want passed to the module should follow it The line deliminator is either a space or a tab AE aE aE aE AE AE AE aE aE AE aE E aE aE eae E FE aE aE aaa aaa aaa aaa aaa End etc sysconfig modules 235 Linux From Scratch Version 6 4 D 24 etc sysconfig createfiles Re HE HH HH HH HH H
190. ems umount e 0 r 2 ele ian iL evaluate retval 223 Linux From Scratch Version 6 4 adas Uses S9 stare eec exit 1 SS eue End rc base init d mountfs D 11 etc rc d init d udev retry bin sh EL HE HEHE HEE HE HEE EEE HE HE HE HE HE HEE HE HE HEE HE HEE HE HEE E Begin rc_base init d udev_retry Description Udev cold plugging script retry Authors Alexander E Patrakov Version 8 00 02 Notes AE aE aE aE AE AE AE aE aE aE AE E aE aE E AE HEE aE AE AE AE aaa aaa aaa aaa etc sysconfig rc S rc functions case UBSITNMW ha start boot_mesg Retrying failed uevents if any From Debian copy the rules generated before was mounted f read write for file in dev udev tmp rules do dest file tmp rules SEE MESE cat file gt gt etc udev rules d dest iw i uale done Re trigger the failed uevents in hope they will succeed now sbin udevadm trigger retry failed Now wait for udevd to process the uevents we triggered sbin udevadm settle evaluate retval vv echo Sogar To orere hi exit 1 esac End Sre base init d udev retry 224 Linux From Scratch Version 6 4 D 12 etc rc d init d cleanfs bin sh PREG ERE HEHE EE EE EE EE EE ER HH EA A EA EG EEE EE HERE EE EE EE E E Begin rc_base init d cleanfs Description Clean file system Authors Gerard Beekmans gerard linuxfro
191. en nur dann korrekt angezeigt wenn sie im richtigen Ordner gespeichert sind und die Kodierung verwenden wie man sie erwartet Die verschiedenen Linux Distributionen verwenden diesbez glich allerdings unterschiedliche Richtlinien in Bezug auf die Kodierung in der die Man pages gespeichert werden d h unterschiedliche Versionen von man in verschiedenen Konfigurationen und mit unterschiedlichen Patchen Debian beispielsweise erwartete fr her die russischen Man pages in der Kodierung KOI8 R im Ordner usr share man ru Mittlerweile sucht deren man Programm Man DB zus tzlich nach UTF 8 kodierten russischen Man pages im Ordner usr share man ru UTF 8 Andererseits verwendet Fedora ausschlie lich UTF 8 kodierte Man pages Russische Man pages finden sich unter usr share man ru und Fedoras man Programm ignoriert usr share man ru UTF 8 Viele andere Distributionen ignorieren die Kodierung der Man pages vollst ndig wodurch der Anwender eine Mischung aus unterschiedlich kodierten Man pages erh lt Wenn man nun die angeforderte Man page zur Darstellung verarbeitet stellt es die Inhalte wie eingerichtet dar wodurch sie vollkommen unleserlich werden weil die Kodierung nicht dem entspricht was f r die verwendete Lokalisierung erwartet wird Die Uneinigkeit bez glich der erwarteten Kodierungen von Man pages bei den Distributionen hat bei den Paket Betreuern zu Verwirrung gef hrt So enthalten einige Pakete Man pages in UTF 8 andere wiederum i
192. end f r HP LaserJet 4 Drucker erzeugt bersetzt die Ausgabe von GNU troff zu PostScript bersetzt die Ausgabe von GNU troff in eine passende Form f r schreibmaschinen hnliche Ger te Ein Link auf tbl Erzeugt aus einer HP markierten Schriftmetrik Datei eine Schriftdatei zur Verwendung mit groff T 1j4 Erzeugt mit einer angegebenen Datei einen invertierten Index f r die bibliographischen Datenbanken zur Verwendung mit refer lookbib und Ikbib Durchsucht bibliographische Datenbanken nach Referenzen die bestimmte Schl ssel enthalten und gibt die gefundenen Referenzen aus Gibt einen Prompt auf die standard Fehlerausgabe solange die Standardeingabe kein Terminal ist liest eine Zeile mit Stichw rtern von der Standardeingabe durchsucht eine bibliographische Datenbank nach Referenzen zu diesen Stichw rtern gibt die gefundenen Referenzen aus und wiederholt das so lange bis keine weitere Eingabe mehr vorhanden ist Ein einfacher Pr prozessor f r groff Formatiert Gleichungen f r die ASCII Ausgabe American Standard Code for Information Interchange Ein Skript das nroff Kommandos mit groff emuliert bersetzt eine Postscript Schrift im pfb Format zu ASCII Kompiliert in groff oder TeX Eingabedateien enthaltene Beschreibungen von Bildern zu Kommandos die von TeX oder troff verwendet werden k nnen Konvertiert ein PIC Diagramm zu einem beschnittenen Bild bersetzt die Ausgabe von GNU troff zu HTML bersetzt die Ausga
193. ennt keine neueren Versionen von Texinfo als 4 9 Dieses Problem kann mit folgendem Patch behoben werden patch Npl i binutils 2 18 configure 1 patch Die Dokumentation zu Binutils empfiehlt Binutils au erhalb des Quellordners zu kompilieren mkdir v binutils build cd binutils build Anmerkung Wenn die im Buch angegebenen SBU Werte einen Nutzen haben sollen m ssen Sie nun die Zeit messen die Sie zum Kompilieren von Binutils ben tigen Dies ist mit dem folgenden Kommando relativ einfach time configure amp amp make amp amp make install Bereiten Sie Binutils zum Kompilieren vor CC gcc B usr bin binutils 2 18 configure prefix tools disable nls disable werror Die Bedeutung der configure Parameter CC gcc B usr bin Dadurch wird gee gezwungen den Linker des Host Systems in usr bin zu bevorzugen Auf einigen Systemen ist dies notwendig weil der neue Linker ld inkompatibel mit dem gcc des Host Systems ist prefix tools Dadurch wird das configure Skript die Binutils Programme f r die Installation nach tools vorbereiten disable nls Deaktiviert die Internationalisierung 118n wird f r die tempor ren Werkzeuge nicht ben tigt disable werror Dies verhindert das ungewollte Anhalten des Erstellvorgangs falls der Host Compiler Warnungen ausgibt Fahren Sie mit dem Kompilieren des Pakets fort make Der Kompiliervorgang ist nun abgeschlos
194. er t gefundenes Wiederherstellungs Protokoll undo log f r ein ext2 ext3 ext4 Dateisystem zur ck Dieses kann verwendet werden um eine fehlgeschlagene Operation der Programme von e2fsprogs wiederherzustellen Berichtet ber den Fragmentierungsstatus einer Datei Findet ein Dateisystem mit Hilfe des Label oder einer UUID Universally Unique Identifier Wird zum Pr fen und optional Reparieren eines Dateisystems verwendet In der Voreinstellung pr ft dieses Programm ext 2 Dateisysteme Es handelt sich um eine harte Verkn pfung zu fsck In der Voreinstellung pr ft dieses Programm ext 3 Dateisysteme Es handelt sich um eine harte Verkn pfung zu fsck In der Voreinstellung pr ft dieses Programm ext 4 Dateisysteme Es handelt sich um eine harte Verkn pfung zu fsck In der Voreinstellung pr ft dieses Programm Entwicklungsversionen von ext 4 Dateisystemen Es handelt sich um eine harte Verkn pfung zu fsck Speichert die Ausgabe eines Kommandos in eine Logdatei Listet Dateiattribute eines ext 2 Dateisystems auf Konvertiert eine Tabelle mit Kommando Namen und Hilfemeldungen zu C Quellcode der dann mit der 1ibss Subsystem Bibliothek verwendet werden kann Erzeugt ein ext 2 oder ext 3 Dateisystem auf dem angegebenen Ger t In der Voreinstellung erzeugt dieses Programm ein ext 2 Dateisystem Es handelt sich um eine harte Verkn pfung zu mke2fs In der Voreinstellung erzeugt dieses Programm ein ext 3 Dateisystem Es handelt sich u
195. er Sprache Wenn Sie die Rechtschreibpr fung auch f r Ihre Sprache verf gbar haben m chten laden Sie bitte die sp1 und optional auch die sug Dateien f r Ihre Sprache und Kodierung von fip fftp vim org pub vim runtime spell herunter und speichern Sie sie nach usr share vim vim72 spell Um diese Sprachdateien zu verwenden m ssen Sie in et c vimrc eingerichtet werden Beispiel set spelllang en ru Ger Spell Weitere Informationen finden Sie in der Datei README unter der gleichen Adresse 6 58 3 Inhalt von Vim Installierte Programme ex Link auf vim rview Link auf vim rvim Link auf vim vi Link auf vim view Link auf vim vim vimdiff Link aufo vim vimtutor und xxd Kurze Beschreibungen ex Startet vim im ex Modus rview Eine eingeschr nkte Version von view es gibt keine Shell Kommandos und view kann nicht angehalten werden rvim Eine eingeschr nkte Version von vim es gibt keine Shell Kommandos und vim kann nicht angehalten werden vi Link auf vim view Startet vim im Nur lesen Modus 159 Linux From Scratch Version 6 4 vim Dies ist der Editor vimdiff Editiert zwei oder drei Versionen einer Datei mit vim und zeigt die Unterschiede an vimtutor Bringt Ihnen die wichtigsten Tastenbelegungen und Kommandos von vim bei xxd Erzeugt eine Hex Ausgabe einer Datei Das geht auch umgekehrt und kann zum Patchen von Bin rdateien benutzt werden 160 Linux From Scratch Version 6 4
196. eren Moduls erweitert so erweitert z B das Modul snd pcm oss die Funktionalit t von snd pcm indem es die Soundkarte auch OSS Anwendungen zur Verf gung stellt dann richten Sie modprobe so ein dass es das Wrapper Modul l dt nachdem Udev das Hauptmodul geladen hat Dies erreichen Sie mit einer install Anweisung in etc modprobe conf Beispiel install snd pcm sbin modprobe i snd pcm sbin modprobe snd pcm oss true Wenn es sich bei dem fraglichen Modul nicht um einen Wrapper handelt sondern alleinstehend geladen wird so richten Sie bitte das Bootskript S05modules ein sodass das Modul beim Booten geladen wird Dies erreichen Sie indem Sie den Modulnamen an die Datei etc sysconfig modules in einer eigenen Zeile anh ngen Dies funktioniert nat rlich auch mit Wrapper Modulen ist aber nicht optimal 7 4 3 3 Udev l dt unerw nschte Module Entweder Sie kompilieren das fragliche Modul gar nicht erst oder Sie schlie en es mit Hilfe der schwarzen Liste in etc modprobe conf aus so wie mit dem Modul forte im folgenden Beispiel blacklist forte Module auf der schwarzen Liste k nnen nat rlich weiterhin von Hand mit dem Programm modprobe geladen werden 7 4 3 4 Udev erzeugt eine Ger tedatei falsch oder setzt einen falschen symbolischen Link Dies geschieht f r gew hnlich wenn eine Regel versehentlich auf ein anderes Ger t passt als vorgesehen Eine schlecht geschriebene Regel k nnte z B sowohl auf eine
197. erf gbar Er verwandelt eine einzelne CPU in eine Multitasking Maschine die unz hlige Programme scheinbar zur gleichen Zeit ausf hren kann System map 2 6 27 4 Enth lt eine Liste von Adressen und Symbolen Sie ordnet Einstiegspunkte und Adressen aller Funktionen und Datenstrukturen dem entsprechenden Kernel zu 182 Linux From Scratch Version 6 4 8 4 Das LFS System bootf hig machen Ihr frisches LFS System ist nun beinahe fertig Sie m ssen nun noch sicherstellen dass es booten kann Die untenstehende Anleitung gilt nur f r Computer mit IA 32 Architektur dazu geh ren alle handels blichen PCs Informationen zum boot loading auf anderen Architekturen finden Sie in den blichen Dokumentationsquellen zu diesen Architekturen Booten kann ein sehr komplexes Thema sein Hier erstmal ein paar warnende Worte Sie sollten mit Ihrem jetzigen Bootloader und den Betriebssystemen die Sie weiter verwenden wollen vertraut sein Halten Sie bitte eine Notfalldiskette bereit damit Sie Ihren Computer starten k nnen falls Ihr Computer aus irgendwelchen Gr nden unbrauchbar wird weil er zum Beispiel nicht mehr bootet Den Grub Bootloader haben Sie bereits installiert Jetzt m ssen ein paar Grub Dateien an spezielle Orte auf der Festplatte kopiert werden Bevor Sie das tun sollten Sie eine Boot Diskette mit Grub erstellen nur f r den Fall der F lle Legen Sie eine leere Diskette ein und f hren Sie dieses Kommando aus dd if
198. erste wichtige Paket das Sie nach dem Eintreten in die chroot Umgebung in Kapitel 6 installieren Wenn die Glibc erstmal nach usr installiert ist werden Sie schnell ein paar Voreinstellungen in der Toolchain ndern und dann schreiten Sie mit dem Erstellen des endg ltigen LFS Systems fort 5 3 Allgemeine Anweisungen zum Kompilieren In den Installationsanleitungen von Paketen werden bestimmte Annahmen gemacht 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 der beiden Wundern Sie sich also nicht falls der Eindruck entsteht dass die Installationsanweisungen f r einen Patch zu fehlen scheinen Au erdem werden Sie beim Installieren einiger Patches Warnungen ber offset oder fuzzy bemerken Diese Warnungen sind nicht wichtig der Patch wird dennoch korrekt installiert Beim Kompilieren vieler Pakete werden Sie alle m glichen Compiler Warnungen auf dem Bildschirm bemerken Das ist normal und kann einfach ignoriert werden Es handelt sich eben nur um Warnungen meistens aufgrund der Verwendung veralteter aber dennoch korrekter C oder C Syntax Die C Standards haben sich im Laufe der Zeit oft ver ndert und einige Pakete benutzen immer noch alte Standards aber das ist kein wirkliches Problem p Wichtig E Solange nichts anderes angegeben wird sollten Sie die Quell u
199. ert f r die angegebene Zeit Sortiert die Zeilen einer Datei Teilt eine Datei in St cke nach Gr e oder nach Zeilennummern Zeigt den Datei oder Dateisystemstatus an Setzt Terminal Einstellungen oder zeigt sie an Gibt Pr fsumme und Anzahl der Bl cke einer Datei aus Schreibt den Dateisystempuffer Ge nderte Bl cke werden auf die Festplatte geschrieben und der Superblock wird aktualisiert F gt Dateien r ckw rts zusammen Gibt die letzten zehn oder die angegebene Anzahl von Zeilen einer Datei aus Liest von der Standardeingabe w hrend gleichzeitig auf die Standardausgabe und in eine Datei geschrieben wird Vergleicht Werte und pr ft Dateitypen ndert Zeitstempel von Dateien setzt Zugriffs und nderungszeit einer Datei auf die aktuelle Zeit Dateien die noch nicht existieren werden mit der L nge 0 angelegt bersetzt quetscht oder entfernt Zeichen von der Standardeingabe Macht nichts ist immer erfolgreich Beendet immer mit einem Statuscode der Erfolg bedeutet Sortiert topologisch Schreibt eine vollst ndig sortierte Liste entsprechend der teilweisen Sortierung in einer Datei Gibt den Dateinamen des Terminals aus das mit der Standardeingabe verbunden ist Gibt Systeminformationen aus Konvertiert Leerzeichen zu Tabulatoren Entfernt alle identischen Zeilen bis auf eine Entfernt eine Datei Gibt die Namen der eingeloggten Benutzer aus Macht das Gleiche wie Is l Gibt die Anzahl Zeilen W rte
200. esen Parameter wird Expect mitgeteilt wo die Header von Tcl zu finden sind Dadurch wird ein Fehlschlagen von configure vermieden falls es die Tcl Header nicht automatisch auffinden kann with x no Dies teilt dem configure Skript mit dass es nicht nach Tk der grafischen Oberfl che zu Tcl oder den X Window Bibliotheken suchen soll beide k nnten eventuell auf dem Host System existieren fehlen aber in der tempor ren Arbeitsumgebung Kompilieren Sie das Paket make Der Kompiliervorgang ist nun abgeschlossen Wie bereits erw hnt wird empfohlen die Testsuite f r das tempor re System in diesem Kapitel nicht durchlaufen zu lassen Falls Sie die Testsuite dennoch laufen lassen m chten f hren Sie dieses Kommando aus make test Es ist bekannt dass die Testsuite in diesem Kapitel unter bestimmten Umst nden Schwierigkeiten verursacht auf die wir keinen Einfluss haben Es ist daher nicht berraschend wenn die Testsuite Fehler meldet diese werden jedoch nicht als kritisch betrachtet Installieren Sie das Paket make SCRIPTS install Die Bedeutung des make Parameters SCRIPIS Dies verhindert die Installation der mitgelieferten Expect Skripte sie werden hier nicht gebraucht 5 10 2 Inhalt von Expect Installiertes Programm expect Installierte Bibliothek libexpect 5 43 a 40 Linux From Scratch Version 6 4 Kurze Beschreibungen expect Expect Spricht mit anderen interaktiven Pro
201. events wartet und reagiert Schlussendlich zwingt das Bootskript den Kernel die uevents f r Ger te zu wiederholen die sich vor dem Start von udevd registriert haben 7 4 2 3 Erzeugen von Ger tedateien Udev verl sst sich auf die Informationen von sysfs in sys und liest daraus die Haupt und Unterkennung f r Ger tedateien aus Beispielsweise enth lt sys class tty vcs dev den Text 7 0 Diesen Wert interpretiert udevd und erzeugt eine Ger tedatei mit der Hauptkennung 7 und der Unterkennung 0 Die Namen und Berechtigungen f r die in dev erzeugten Ger tedateien ergeben sich aus den definierten Regeln in etc udev rules d Die dort abgelegten Regeln sind hnlich nummeriert wie die Dateien der LFS Bootskripte Falls udevd keine Regel f r ein erzeugtes Ger t auffinden kann ist die Voreinstellung f r die Berechtigungen 660 und die Ger tedatei geh rt root root Eine genauere Dokumentation zu den Konfigurationsdateien von Udev finden Sie unter usr share doc udev 130 index html 7 4 2 4 Laden von Modulen Als Modul kompilierte Ger tetreiber k nnen Aliase eingebaut haben Diese kann man sich mit dem Kommando modinfo ansehen und h ngen blicherweise mit den Bus Spezifischen Kennmarken eines vom Treiber unterst tzten Ger tes zusammen Beispielsweise unterst tzt der Treiber snd fm801 PCI Ger te mit der Hersteller ID 0x1319 und Ger te ID 0x0801 Der zugeh rige Alias lautet pci v00001319d400000801sv sd bc04sc01i F r die mei
202. from fair use first sale or other limitations on the exclusive rights of the copyright owner under copyright law or other applicable laws 3 License Grant Subject to the terms and conditions of this License Licensor hereby grants You a worldwide royalty free non exclusive perpetual for the duration of the applicable copyright license to exercise the rights in the Work as stated below a to reproduce the Work to incorporate the Work into one or more Collective Works and to reproduce the Work as incorporated in the Collective Works 245 Linux From Scratch Version 6 4 b to create and reproduce Derivative Works c to distribute copies or phonorecords of display publicly perform publicly and perform publicly by means of a digital audio transmission the Work including as incorporated in Collective Works d to distribute copies or phonorecords of display publicly perform publicly and perform publicly by means of a digital audio transmission Derivative Works The above rights may be exercised in all media and formats whether now known or hereafter devised The above rights include the right to make such modifications as are technically necessary to exercise the rights in other media and formats All rights not expressly granted by Licensor are hereby reserved including but not limited to the rights set forth in Sections 4 e and 4 f Restrictions The license granted in Section 3 above is expressly made subject to and lim
203. ft syslogd mit dem Parameter m 0 auf Dieser Parameter schaltet die periodische Zeitmarke ab die sonst von syslogd alle 20 Minuten in die Protokolldateien geschrieben wird Falls Sie diese Zeitmarke wieder einschalten m chten bearbeiten Sie bitte das Skript sysk1ogd und ndern die Option entsprechend F r weitere Informationen schlagen Sie bitte in man syslogd nach 7 8 Erstellen der Datei etc inputrc Die Datei inputrc k mmert sich um das Tastaturmapping in bestimmten Situationen Sie ist die Konfigurationsdatei von Readline der Bibliothek die Eingabe Funktionen f r Bash und die meisten anderen Shells zur Verf gung stellt Normalerweise braucht man keine benutzerspezifischen Tastaturmappings daher erzeugt das folgende Kommando nur die globale Konfigurationsdatei etc inputrc Sie wird von jedem Benutzer bzw der Shell bei der Anmeldung eingelesen und verwendet Falls Sie sp ter doch eine benutzerspezifische Konfiguration ben tigen k nnen Sie einfach eine Datei mit dem Namen inputrc im Pers nlichen Ordner des Benutzers erstellen und dort die angepassten Einstellungen eintragen Weitere Informationen zum Anpassen von inputrc erhalten Sie mit info bash im Abschnitt Readline Init File Eine weitere gute Informationsquelle ist info readline Sie sehen hier eine generische globale Version der Datei input rc Darin finden Sie auch erkl rende Kommentare zu den verschiedenen Optionen Beachten Sie bitte dass sich Kommentare nicht in der
204. gebung Um Ihre Arbeitsumgebung f r die weiteren Schritte vorzubereiten erstellen Sie zwei Dateien f r die bash Geben Sie als Benutzer 1 s das folgende Kommando ein um die neue Datei bash profile zu erzeugen cat bash profile EOF exec env i HOME SHOME TERM STERM PS1 u w bin bash EOF Wenn Sie sich als Benutzer 1 f s anmelden ist die erste Shell blicherweise eine Login Shell Diese liest erst die Datei etc profile Ihres Host Systems ein sie enth lt meistens Einstellungen zu Umgebungsvariablen und danach bash profile Das Kommando exec env i bin bash in der zweiten Datei ersetzt die laufende Shell durch eine neue mit einer vollst ndig leeren Umgebung mit Ausnahme der Variablen HOME TERM und PS1 Daduch wird sichergestellt dass keine ungewollten und potentiell gef hrlichen Umgebungsvariablen vom Host System auf unsere Arbeitsumgebung Einfluss nehmen k nnen Die hier angewendete Technik mag ein wenig befremdlich wirken f hrt aber zu unserem Ziel einer absolut reinen Arbeitsumgebung Die neue Instanz der Shell ist eine Nicht Login Shell diese liest weder etc profile noch bash profile ein Stattdessen liest sie die Datei bashrc erstellen Sie sie nun cat gt bashre lt lt EOF set h umask 022 LFS mnt lfs LC_ALL POSIX PATH tools bin bin usr bin export LES LC_ALL PATH EOF Das Kommando set h schaltet die Hash Funktion der ba
205. gelesen haben Wir hoffen dass Sie es n tzlich fanden und viel ber die Installation von Linux gelernt haben 185 Linux From Scratch Version 6 4 Nachdem Sie nun mit der Installation von LFS fertig sind fragen Sie sich vielleicht Was kommt nun Um diese Frage zu beantworten haben wir eine Reihe von Links f r Sie zusammengestellt Pflege und Wartung F r jede Software werden regelm ig Sicherheitsl cken und Fehler gemeldet Da ein LFS aus den Quellen kompiliert ist liegt es an Ihnen diese Berichte zu verfolgen Es gibt dazu verschiedene Online Ressourcen die Sie sich ansehen k nnen Freshmeat net hitp freshmeat net Freshmeat kann Sie via E Mail ber neue Programmversionen informieren CERT Computer Emergency Response Team CERT f hrt eine Mailingliste die Sicherheitswarnungen zu verschiedenen Betriebssystemen und Anwendungen ver ffentlicht Sie k nnen die Liste unter http www us cert gov cas signup html abonnieren Bugtraq Die Mailingliste Bugtraq ist eine sog full disclosure Mailingliste Auf ihr werden neu entdeckte Sicherheitsprobleme und zum Teil auch Patches zum Beheben der Fehler ver ffentlicht Sie k nnen die Liste unter http www securityfocus com archive abonnieren Beyond Linux From Scratch Das Buch Beyond Linux From Scratch befasst sich mit der Installation einer Menge Software die den Rahmen des LFS Buches sprengen w rde Das BLFS Projekt finden Sie unter http www
206. ges Ziel von LFS ist es dem Leser beizubringen wie Linux intern funktioniert Der Selbstbau eines Linux Systems veranschaulicht Ihnen was Linux seinen Herzschlag verleiht und wie die Komponenten zusammenarbeiten und voneinander abh ngen Das Beste daran ist dass Sie durch den Lernprozess in die Lage versetzt werden Linux an Ihre eigenen Anforderungen und Vorlieben anzupassen Einer der gr ten Vorteile von LFS ist dass Sie mehr Kontrolle ber Ihr System erhalten ohne sich auf die Linux Version von jemand anders verlassen zu m ssen Mit LFS sitzen Sie selbst am Steuer und k nnen jeden Aspekt Ihres Systems beeinflussen wie zum Beispiel das Ordner Layout oder die Einrichtung der Bootskripte Auch bestimmen Sie wo warum und wie Programme installiert werden Ein weiterer Vorteil von LFS ist die M glichkeit Linux sehr kompakt zu halten Wenn Sie eine bliche Linux Distribution verwenden installieren Sie f r gew hnlich viele Programme die Sie nie benutzen werden Diese liegen dann unn tz auf der Festplatte und verbrauchen Speicherplatz oder CPU Ressourcen Es ist leicht ein LFS System unter 100 MB zu installieren Das ist immer noch zu gro Einige LFS Mitglieder haben an einem sehr kleinen Embedded Linux gearbeitet Sie haben einen Apache Webserver auf einem Linux From Scratch mit gerade mal 8 MB belegtem Festplattenspeicher installiert Durch weitere Einschr nkungen k nnte das System auf bis zu 5 MB oder weniger schrumpfen Versuchen Si
207. gleichen Zeile wie Kommandos befinden d rfen Erstellen Sie die Datei nun mit dem folgenden Befehl cat etc inputrc EOF Begin etc inputrc Modified by Chris Lynn lt roryo roryo dynup net gt Allow the command prompt to wrap to the next line set horizontal scroll mode Off Enable 8bit input ser merca ilac Om set input meta On Tuzas OTE elm louie Seripa set convert meta Off Keep the 8th bit for display Ser OE mera On none visible or audible ser bell srtyle mora All of the following map th SCEIOS sequence or tas value contained in the 1st argument to the readline specific functions NeOd backward word NeOc forward word for linux console IN beginming of Line e 4 end of line Nel beginning of history e 6 end of history e 3 delete char e 2 quoted insert 172 Linux From Scratch Version 6 4 for xterm NeOH beginning of line NeOF end of lin for Konsole e H beginning of line Neal exeo aum f End etc inputrc EOF 7 9 Die Startdateien von Bash Das Shell Programm bin bash im weiteren Verlauf nur shell oder bash genannt benutzt einige Startdateien zum Einrichten der Benutzerumgebung Jede Datei hat einen bestimmten Zweck und beeinflusst Login und Interaktiv Umgebungen unterschiedlich Die Bash Dateien in etc enthalten globale Einstellungen Wenn eine entsprechende Konfigurations Datei
208. graded to Psmisc 22 6 Fixes 2104 Upgraded to Man Pages 2 70 Fixes 2110 Upgraded to Man DB 2 5 0 Fixes 2109 Upgraded to Linux 2 6 23 9 Fixes 2106 Upgraded to Less 416 Fixes 72105 Upgraded to Gettext 0 17 Fixes 2103 Linux From Scratch Version 6 4 matthew Removed the modifications to Gawk s config h as Gawk 3 1 6 fixes the bug that they were working around Fixes 2107 Thanks to Erik Jan for the report matthew Removed the modifications to Gawk s config h as Gawk 3 1 6 fixes the bug that they were working around Fixes 2107 Thanks to Erik Jan for the report matthew Upgraded to E2fsprogs 1 40 3 Fixes 72116 25 11 2007 bdubbs Fixed test for Debian binutils 29 10 2007 bdubbs Removed obsolete note from Creating Symlinks section about continuation lines in udev rules Changed dailout group to uucp for udev rule compatability matthew Upgrade to the latest upstream patches for Vim matthew Add a patch to fix a segfault in usb id Upgrade to Tcl 8 4 16 Fixes 2084 matthew Upgrade to Tar 1 19 Fixes 2090 matthew Upgrade to Man Pages 2 67 Fixes 2078 matthew Upgrade to Linux 2 6 23 1 Fixes 2088 matthew Upgrade to Less 409 Fixes 2087 Upgrade to IPRoute2 2 6 23 Fixes 72091 matthew Upgrade to Glibc 2 7 Fixes 2095 matthew Upgrade to GCC 4 2 2 Fixes 2089 matthew Upgrade to Gawk 3 1 6 Fixes 2098 matthew
209. gramme zum Lesen Schreiben und Konvertieren von Info Seiten Systemdokumentation Gesch tzte 0 3 SBU Kompilierzeit Etwa Ben tigter 20 MB Speicherplatz 6 55 1 Installation von Texinfo Bereiten Sie Texinfo zum Kompilieren vor configure prefix usr Kompilieren Sie das Paket make Um die Ergebnisse zu testen geben Sie folgendes ein make check Installieren Sie das Paket make install Optional k nnen Sie auch die zu einer typischen TeX Installation geh renden Pakete installieren make TEXME usr share texmf install tex Die Bedeutung des make Parameters TEXMF usr share texmf Die Makefile Variable TEXMF enth lt den Pfad zu Ihrem TeX Basisordner falls sp ter TeX installiert wird Das Info Dokumentationssystem speichert die Liste der Men eintr ge in einer einfachen Textdatei Die Datei liegt in usr share info dir Ungl cklicherweise k nnen die Eintr ge in dieser Datei durch Probleme mit Makefile Dateien einzelner Pakete durcheinander geraten Falls Sie diese Datei jemals neu erzeugen m ssen ist Ihnen das folgende Kommando dabei behilflich cd usr share info rm dir for f in do install info f dir 2 gt dev null done 6 55 2 Inhalt von Texinfo Installierte Programme info infokey install info makeinfo texi2dvi texi2pdf und texindex Kurze Beschreibungen info Wird zum Lesen von Info Dokumenten benutzt Info Dokumente sind Man pages seh
210. grammen Es verwendet daf r ein anpassbares Skript libexpect 5 43 a Enth lt Funktionen mit denen man Expect als TCL Erweiterung oder direkt aus C C ohne TCL nutzen kann 41 Linux From Scratch Version 6 4 5 11 DejaGNU 1 4 4 Das Paket DejaGNU enth lt ein Grundger st zum Testen anderer Programme Gesch tzte weniger als 0 1 SBU Kompilierzeit Etwa Ben tigter 6 2 MB Speicherplatz 5 11 1 Installation von DejaGNU Bereiten Sie DejaGNU zum Kompilieren vor configure prefix tools Kompilieren und installieren Sie das Paket make install Dieses Paket enth lt zwar eine Testsuite jedoch kann sie noch nicht ausgef hrt werden weil wir derzeit noch keinen C Compiler installiert haben 5 11 2 Inhalt von DejaGNU Installiertes Programm runtest Kurze Beschreibungen runtest Das Wrapper Skript das die korrekte expect Shell findet und DejaGNU ausf hrt 42 Linux From Scratch Version 6 4 5 12 GCC 4 3 2 Durchlauf 2 Das Paket GCC enth lt die GNU Compiler Sammlung Darin sind die C und C Compiler enthalten Gesch tzte 6 5 SBU Kompilierzeit Etwa Ben tigter 865 MB Speicherplatz 5 12 1 Neuinstallation von GCC Die Hilfsmittel zum Testen von GCC und Binutils sind nun installiert Tcl Expect und DejaGNU Sie k nnen GCC und Binutils nun erneut installieren gegen die neue Glibc verlinken und testen Eines muss noch beachtet werden Die Testsuites sind stark von fu
211. grams not to install Fixes 2133 matthew 29 1 2008 matthew matthew matthew 22 1 2008 matthew 72112 matthew Upgraded to E2fsprogs 1 40 5 Fixes 2138 Upgraded to Linux 2 6 24 Fixes 2137 Upgraded to Findutils 4 2 32 Fixes 72156 Upgraded to Automake 1 10 1 Fixes 42 32 Replaced Util Linux 2 12r with Util Linux NG 2 13 1 Fixes 72077 Upgraded to Tcl 8 4 17 Fixes 2131 Upgraded to Man Pages 2 76 Fixes 2129 Upgraded to Linux 2 6 23 14 Fixes 2128 Add Perl to the list of host requirements as it is required by Glibc Thanks to Ben Collver for the report Fixes Mention strace as another means of logging installed files and correct the URL of the Linux Standard Base specifications Fixes 2073 and 2130 4 1 2008 matthew matthew matthew matthew 23 12 2007 matthew matthew matthew eal 8 12 2007 matthew matthew u oo matthew Upgraded to latest upstream fixes for Vim Upgraded to Less 418 Fixes 2124 Upgraded to File 4 23 Fixes 2125 Upgraded to E2fsprogs 1 40 4 Fixes 2123 Upgraded to latest upstream fixes for Readline Fixes 2122 Upgraded to Man Pages 2 74 Fixes 2119 Upgraded to Linux 2 6 23 12 Fixes 2118 Upgraded to latest upstream fixes for Bash Fixes 2121 Upgraded to latest upstream fixes for Vim Fixes 2108 Upgraded to Texinfo 4 11 Fixes 2074 Up
212. gt cp v binutils 2 18 include libiberty h usr include 6 11 2 Inhalt von Binutils Installierte Programme Installierte Bibliotheken addr2line ar as c filt gprof ld nm objcopy objdump ranlib readelf size strings und strip libiberty a libbfd a so und libopcodes a so Kurze Beschreibungen addr2line ar as c filt gprof ld nm objcopy objdump ranlib readelf size strings strip libiberty libbfd libopcodes Konvertiert Programmadressen zu Dateinamen und Zeilennummern Mit Hilfe des Programmnamens und einer Speicheradresse benutzt das Programm Debugging Informationen in der ausf hrbaren Datei um herauszufinden welche Quelldatei und Zeilennummer mit der Adresse assoziiert ist Wird zum Erzeugen und Extrahieren von Dateien aus einem Archiv verwendet Ein Assembler Er assembliert die Ausgabe von gcc zu Objektdateien Wird vom dynamischen Linker benutzt um C und Java Symbole aufzuschl sseln damit berladene Funktionen nicht in Konflikt geraten Zeigt call graph Profiling Daten an Ein Linker Er verbindet mehrere Objektdateien und Archivdateien zu einer einzigen Datei replaziert ihre Daten und verbindet ihre Symbolreferenzen Listet alle in einer Objektdatei vorkommenden Symbole auf Wird zum Konvertieren eines bestimmten Objektdateityps in einen anderen verwendet Zeigt ausgew hlte Informationen ber eine Objektdatei an Diese Informationen sind haupts c
213. h ngigkeiten Testsuite Abh ngigkeiten Muss installiert werden vor Diffutils Installations Abh ngigkeiten Testsuite Abh ngigkeiten Muss installiert werden vor Expect Installations Abh ngigkeiten Testsuite Abh ngigkeiten Muss installiert werden vor E2fsprogs Installations Abh ngigkeiten Testsuite Abh ngigkeiten Muss installiert werden vor Linux From Scratch Version 6 4 Bash Binutils Coreutils GCC Gettext Glibc Grep M4 Make und Sed Diffutils und Findutils Flex Kbd und Tar Bash Binutils Coreutils Diffutils GCC Glibc Make und Patch Keine Keine Bash Binutils Coreutils GCC Gettext Glibc Grep Make Patch Perl Sed und Texinfo Diffutils E2fsprogs Bash Diffutils Findutils Man DB und Udev Bash Coreutils Diffutils GCC Grep Make und Sed Enth lt keine Testsuite Keine Bash Binutils Coreutils Diffutils GCC Gettext Glibc Grep Make Patch Sed und Texinfo Enth lt keine Testsuite Keine Bash Binutils Coreutils Diffutils GCC Glibc Grep Make Patch Sed und Tcl Keine Keine Bash Binutils Coreutils Gawk GCC Gettext Glibc Grep Gzip Make Sed und Texinfo Diffutils Util Linux 193 File Installations Abh ngigkeiten Testsuite Abh ngigkeiten Muss installiert werden vor Findutils Installations Abh ngigkeiten Testsuite Abh ngigkeiten Muss installiert werden vor Flex Installations Abh ngigkei
214. h ngigkeiten Testsuite Abh ngigkeiten Muss installiert werden vor Kbd Installations Abh ngigkeiten Testsuite Abh ngigkeiten Muss installiert werden vor Less Installations Abh ngigkeiten Testsuite Abh ngigkeiten Muss installiert werden vor Libtool Installations Abh ngigkeiten Testsuite Abh ngigkeiten Muss installiert werden vor Linux Kernel Installations Abh ngigkeiten Testsuite Abh ngigkeiten Muss installiert werden vor M4 Installations Abh ngigkeiten Testsuite Abh ngigkeiten Muss installiert werden vor Make Installations Abh ngigkeiten Testsuite Abh ngigkeiten Muss installiert werden vor Linux From Scratch Version 6 4 Bash Berkeley DB Bison Coreutils Flex GCC Glibc Make und Linux API Header Enth lt keine Testsuite Keine Bash Binutils Bison Coreutils Flex GCC Gettext Glibc Gzip Make Patch und Sed Enth lt keine Testsuite Keine Bash Binutils Coreutils Diffutils GCC Glibc Grep Make Ncurses und Sed Enth lt keine Testsuite Keine Bash Binutils Coreutils Diffutils Gawk GCC Glibc Grep Make Sed und Texinfo Findutils Keine Bash Binutils Coreutils Diffutils Findutils GCC Glibc Grep Gzip Make Module Init Tools Ncurses und Sed Enth lt keine Testsuite Keine Bash Binutils Coreutils GCC Glibc Grep Make Sed und Texinfo Diffutils Autoconf und Bison Bash Binutils Coreut
215. halten Mit dem folgenden Kommando k nnen Sie herausfinden ob Ihr Host System solche zus tzlichen Funktionen verwendet debugfs R feature dev lt xxx gt Wenn die Ausgabe mehr Funktionen als has_journal ext_attr resize_inode dir_index filetype sparse_super large_file oder needs_recovery enth lt dann sind in Ihrem Host System zus tzliche Erweiterungen installiert Sie sollten sp tere Probleme vermeiden indem Sie das normale Paket E2fsprogs kompilieren und die daraus resultierenden Programme zum Erzeugen des Dateisystems auf Ihrer LFS Partition verwenden cd tmp tar xzvf Pfad zu den Quellen von e2fsprogs 1 41 3 tar gz cd e2fsprogs 1 41 3 mkdir v build cd build configure make ANMERKUNG F hren Sie bitte nicht make install aus misc mke2fs jv dev lt xxx gt cd tmp rm rfv e2fsprogs 1 41 3 Wenn Sie eine neue Swap Partition erstellt haben m ssen Sie diese mit dem untenstehenden Befehl initialisieren dies bezeichnet man auch als formatieren Wenn Sie eine bereits vorhandene Swap Partition verwenden muss diese nicht initialisiert werden mkswap dev lt yyy gt Bitte ersetzen Sie lt yyy gt durch den Namen Ihrer Swap Partition 2 4 Einh ngen mounten der neuen Partition Nachdem Sie nun ein Dateisystem erzeugt haben sollten Sie nat rlich auch darauf zugreifen k nnen Dazu m ssen Sie erst einen Mountpunkt w hlen und es dann dort einh ngen mounten Wir gehen da
216. hen Sprachbindungen setzen weitere Pakete voraus Weitere Informationen dazu finden Sie unter http www linuxfromscratch org blfs view svn server databases htmitdb Au erdem kann man anstelle von Berkeley DB auch GDBM installieren und somit die Voraussetzung f r Man DB schaffen Allerdings sind viele Stunden in den LFS Test von Berkeley geflossen nicht jedoch in GDBM Wenn Sie sich dem Risiko voll bewusst sind und dennoch GDBM einsetzen m chten dann schauen Sie sich die Anleitungen unter http www linuxfromscratch org blfs view svn general gdbm html an 6 15 1 Installation von Berkeley DB Installieren Sie einen Patch der Entwickler damit Replikations Clients eine Sequenz ffnen k nnen patch Npl i db 4 7 25 upstream fixes 1 patch Bereiten Sie Berkeley DB zum Kompilieren vor cd build unix dist configure prefix usr enable compat185 enable cxx Die Bedeutung der configure Parameter enable compati85 Dieser Parameter schaltet die Berkeley DB 1 85 Kompatibilit ts API ein enable cxx Dieser Parameter schaltet den Bau der C API Bibliotheken ein Kompilieren Sie das Paket make Es ist nicht m glich dieses Paket sinnvoll zu testen weil dies die TCL Bindungen voraussetzt Die TCL Bindungen k nnen allerdings nicht korrekt kompiliert werden weil TCL gegen die Glibc in tools gelinkt ist und nicht die in usr Installieren Sie das Paket make docdir usr share doc db 4 7
217. hgpasswd chpasswd chsh expiry faillog gpasswd groupadd groupdel groupmems groupmod grpck grpconv grpunconv lastlog login logoutd newgrp newusers nologin passwd pwck pwconv pwunconv sg Link auf newgrp su useradd userdel usermod vigr Link auf vipw und vipw Kurze Beschreibungen chage ndert die maximale Anzahl von Tagen zwischen zwei n tigen Passwort nderungen chfn Wird zum ndern des vollst ndigen Namens und weiterer Informationen eines Benutzers benutzt chgpasswd Wird benutzt um das Passwort mehrerer Gruppen in einem Durchlauf zu ndern chpasswd Wird benutzt um das Passwort mehrerer Benutzer in einem Durchlauf zu ndern chsh Wird benutzt um die voreingestellte Shell eines Benutzers zu ndern 146 expiry faillog gpasswd groupadd groupdel groupmems groupmod grpck grpconv grpunconv lastlog login logoutd newgrp newusers nologin passwd pwck pwconv pwunconv Sg su useradd userdel usermod vigr vipw Linux From Scratch Version 6 4 Pr ft ob ein Kennwort abgelaufen ist und setzt eine entsprechende Regelung durch Wird verwendet zum Untersuchen der Logdatei nach fehlgeschlagenen Logins zum Setzen einer maximalen Fehlerzahl vor der Sperrung eines Kontos oder zum Zur cksetzen des Z hlers Wird zum Hinzuf gen und L schen von Mitgliedern in Gruppen verwendet Erzeugt eine Gruppe mit dem angegebenen Namen L scht eine Gruppe mit dem angegebenen Namen Erm gli
218. hindert die Installation des whois Clients welcher leider elendig veraltet ist Im BLFS Buch finden Sie eine Installations Anleitung f r einen besseren whois Client disable servers Das verhindert die Installation verschiedener Server Dienste die zu Inetutils geh ren Diese Dienste sind in einem Basis System wie LFS nicht angebracht Einige sind von Natur aus unsicher und nur in vertrauensw rdigen Netzen ohne Risiko einsetzbar Mehr Informationen finden Sie unter http Avww linuxfromscratch org blfs view svn basicnet inetutils html Bitte beachten Sie auch dass es f r fast alle dieser Dienste einen besseren Ersatz gibt Kompilieren Sie das Paket make Dieses Paket enth lt keine Testsuite Installieren Sie das Paket make install Und verschieben Sie das Programm ping an die richtige Stelle mv v usr bin ping bin 6 42 2 Inhalt von Inetutils Installierte Programme ftp ping ping6 rcp rlogin rsh talk telnet und tftp 130 Kurze Beschreibungen ftp ping ping6 rcp rlogin rsh talk telnet tftp Das Programm f r FTP File Transfer Protocol Sendet echo request Pakete und berichtet wie lange die Antwort braucht Das ping Programm f r IPv6 Netzwerke Kopiert Dateien auf entfernten Systemen F hrt eine entfernte Anmeldung durch F hrt eine entfernte Shell aus Wird zum Unterhalten mit anderen Benutzern verwendet Dies ist ein Telnet Client Das Programm zu TFTP T
219. hlich f r Programmierer sinnvoll die an den Kompilierwerkzeugen arbeiten Erzeugt einen Index des Archivinhalts und speichert ihn im Archiv Der Index listet alle reallokierbaren Symbole auf die von im Archiv enthaltenen Objektdateien definiert werden Zeigt Informationen ber Bin rdateien vom Typ ELF an Listet die Abschnitts und Gesamtgr e f r eine Objektdatei auf Gibt f r jede angegebene Datei die druckbaren Zeichenketten aus die eine festgelegte Mindestgr e haben Voreinstellung ist 4 Bei Objektdateien gibt es in der Voreinstellung nur die Zeichenketten aus den Initialisierungs und Ladeabschnitten aus Bei anderen Dateitypen durchsucht es die gesamte Datei Entfernt bestimmte Symbole aus Objektdateien z B Debugging Symbole Enth lt Routinen die von verschiedenen GNU Programmen genutzt werden inklusive getopt obstack strerror strtol und strtoul Die Bibliothek f r Bin rdateibezeichner Eine Bibliothek zur Behandlung von Obcodes Sie wird zum Erzeugen von Werkzeugen wie z B objdump benutzt Obcodes sind die lesbaren Versionen der Prozessorinstruktionen 84 Linux From Scratch Version 6 4 6 12 GMP 4 2 4 Das Paket GMP enth lt mathematische Bibliotheken Sie enthalten n tzliche Funktionen f r Arithmetik beliebiger Genauigkeit Gesch tzte 1 5 SBU inkl Testsuite Kompilierzeit Etwa Ben tigter 39 4 MB inkl Testsuite Speicherplatz 6 12 1 Installation von GMP Bereiten Sie GMP zum K
220. ht alte ip rule zeigt Routingregeln an und bearbeitet sie ip route erm glicht das Anzeigen und ndern von Routingtabellen ip tunnel zeigt IP Tunnel und die Eigenschaften an und erm glicht nderungen daran 132 Instat nstat routef routel rtacct rtmon rtpr rtstat ss tc Linux From Scratch Version 6 4 ip maddr zeigt Multicast Adressen und ihre Eigenschaften an und erm glicht nderungen ip mroute setzt ndert oder l scht Multicast Routen ip monitor erm glicht dauerhaft den Status von Netzwerkger ten Adressen und Routen zu berwachen Bietet Netzwerkstatistiken unter Linux Dies ist ein allgemeinerer und vollst ndigerer Ersatz f r das alte Programm rtstat Zeigt Netzwerkstatistiken an Eine Komponente von ip route Sie wird zum Leeren der Routingtabellen genutzt Eine Komponente von ip route Sie wird zum Auflisten der Routingtabellen genutzt Zeigt den Inhalt von proc net rt_acct an Ein Werkzeug zum berwachen des Routing Konvertiert die Ausgabe von ip o zur ck in eine lesbare Form Ein Werkzeug f r den Routingstatus hnlich wie das Kommando netstat Zeigt aktive Verbindungen an Programm zur Kontrolle des Netzwerkverkehrs Traffic Controlling Implementiert Quality of Service QOS und Class Of Service COS tc qdisc erm glicht das Einstellen der Warteschlangen Regeln tc class erm glicht das Einrichten von Klassen basierend auf einer Warteschlangen Regelung tc estimator erm glicht d
221. ibbz2 so rm v usr bin bunzip2 bzcat bzip2 ln sv bzip2 bin bunzip2 ln sv bzip2 bin bzcat 6 31 2 Inhalt von Bzip2 Installierte Programme bunzip2 Link auf bzip2 bzcat Link auf bzip2 bzcmp Link auf bzdiff bzdiff bzegrep Link auf bzgrep bzfgrep Link auf bzgrep bzgrep bzip2 bzip2recover bzless Link auf bzmore und bzmore Installierte Bibliotheken libbz2 a so Kurze Beschreibungen bunzip2 Dekomprimiert bzip2 Dateien bzcat Dekomprimiert zur Standardausgabe bzcmp F hrt cmp auf bzip2 Dateien aus bzdiff F hrt diff auf bzip2 Dateien aus bzgrep F hrt grep auf bzip2 Dateien aus bzegrep F hrt egrep auf bzip2 Dateien aus bzfgrep F hrt fgrep auf bzip2 Dateien aus bzip2 Komprimiert Dateien mit dem blocksortierenden Burrows Wheeler Textkompressionsalgorythmus und Huffman Kodierung Die Kompressionsrate ist merkbar besser als die von herk mmlichen Kompressoren mit LZ77 LZ78 wie zum Beispiel gzip bzip2recover Versucht Daten aus besch digten bzip2 Dateien zu reparieren 116 Linux From Scratch Version 6 4 bzless F hrt less auf bzip2 Dateien aus bzmore F hrt more auf bzip2 Dateien aus libbz2 Die Bibliothek die verlustlose blocksortierende Datenkompression mit Hilfe des Burrows Wheeler Algorythmus implementiert 117 Linux From Scratch Version 6 4 6 32 Diffutils 2 8 1 Die Programme dieses Pakets k nnen Unterschiede zwischen Dateien oder Ordnern anzeigen Gesch tz
222. ibncurses so 5 6 die Versionen f r Multibyte Zeichen installiert 1Libncursesw so 5 6 Diese Wide Character Bibliotheken sind sowohl mit Multibyte als auch mit normalen 8 Bit Locales verwendbar Die beiden Bibliothek Typen sind Quell aber nicht Bin r Kompatibel Kompilieren Sie das Paket make Dieses Paket enth lt zwar eine Testsuite jedoch kann sie erst nach der Installation ausgef hrt werden Die Tests befinden sich im Unterordner t est Lesen Sie dort bitte die Datei README f r weitere Informationen Installieren Sie das Paket make install Korrigieren Sie die Rechtevergabe f r eine Bibliothek die nicht ausf hrbar sein sollte chmod v 644 usr lib libncurses w a Verschieben Sie die Bibliotheken in den Ordner lib denn es wird erwartet dass sie sich dort befinden mv v usr lib libncursesw so 5 lib Da die Bibliotheken gerade verschoben wurden zeigt ein symbolischer Links nun ins Leere Erstellen Sie diesen neu ln sfv lib libncursesw so 5 usr lib libncursesw so Viele Programme erwarten immer noch vom Linker die nicht Wide Character Bibliotheken von Ncurses aufzufinden Mit symbolischen Links und Linker Skripts k nnen Sie diese Programme austricksen for lib in curses ncurses form panel menu do rm vf usr lib lib lib so echo INPUT 1 1ib w usr lib lib lib so ln sfv 1ib lib w a usr lib lib lib a done ln sfv libncursesttw a
223. ibt den Namen des aktuellen Arbeitsordners eines Programms aus skill Sendet Signale an Prozesse die den angegebenen Kriterien entsprechen slabtop Zeigt detaillierte Informationen zum Kernel Slap Cache in Echtzeit an 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 eine Liste der Prozesse an die am meisten CPU Last erzeugen Erm glicht eine bersicht ber laufende Prozesse in Echtzeit uptime Gibt aus wie lange ein System bereits l uft wieviele Benutzer eingeloggt sind und wie hoch die Systemlast ist vmstat Erzeugt Statistiken zur Ausnutzung des virtuellen Speichers gibt Informationen zu Prozessen Speicher Paging Block IO traps und CPU Aktivit t aus w Zeigt an welche Benutzer gerade eingeloggt sind wo und seit wann watch F hrt ein Kommando immer wieder aus und gibt eine Bildschirmseite von seiner Ausgabe aus So k nnen Sie die Ausgabe eines Programms beobachten libproc Enth lt Funktionen die von den meisten Programmen in diesem Paket benutzt werden 105 Linux From Scratch Version 6 4 6 24 Libtool 2 2 6a Das Libtool Skript enth lt die Unterst tzung f r Bibliotheken Libtool versteckt die Komplexit t von gemeinsam benutzten Bibliotheken hinter einer konsistenten und portablen Schnittstelle Gesch tzte 0 1 SBU Kompilierzeit Etwa Ben tig
224. ich ben tigt stellt aber sicher dass in Hinsicht auf die Binutils Programme beim Kompilieren von Glibc nichts schiefgehen kann without gd Das verhindert das kompilieren des Programmes memusagestat welches immer mit Bibliotheken auf dem Host System verlinkt libgd libpng libz usw with headers tools include Dadurch wird Glibc mit den gerade in den tools Ordner installierten Kenerl Headern kompiliert Auf diese Weise werden alle Funktionen des Kernels erkannt und die Glibc kann entsprechend darauf optimiert werden without selinux Wenn das Host System SELinux Funktionen hat so z B Fedora Core 3 so w rden die SELinux Funktionen auch in Glibc einkompiliert Die LFS Werkzeuge unterst tzen diese Erweiterungen aber nicht daher wird eine so erzeugte Glibc nicht korrekt funktionieren 35 Linux From Scratch Version 6 4 W hrend dieser Phase sehen Sie m glicherweise eine Warnung configure WARNING These auxiliary programs are missing or incompatible versions msgfmt some features will be disabled Check the INSTALL file for required versions Das fehlende oder inkompatible Programm msgfmt ist normalerweise harmlos aber manchmal kann es zu Fehlern beim Durchlaufen der Testsuite f hren msgfmt ist Teil von Gettext welches auf dem Host System installiert sein sollte Wenn msgfmt zwar vorhanden aber vollkommen inkompatibel ist dann sollten Sie das Paket auf dem Host System aktualisieren
225. icher anlegt und aktiviert Installieren Sie die Bin rdateien die Dokumentation und die gemeinsamen Bibliotheken make install Installieren Sie die statischen Bibliotheken und Header make install libs Vergeben Sie das Schreibrecht auf die installierten Bibliotheken damit sp ter die Debug Symbole entfernt werden k nnen chmod v u w usr lib libblkid libcom err libe2p libext2fs libss libuuid a Dieses Paket installiert eine gepackte info Datei aber aktualisiert die Systemweite dir Datei nicht Entpacken Sie die Datei und aktualisieren Sie anschlieBend die di r Datei mit den folgenden Befehlen gunzip v usr share info libext2fs info gz install info dir file usr share info dir usr share info libext2fs info Wenn Sie die Dokumentation erzeugen und installieren m chten dann f hren Sie bitte die folgenden Kommandos aus 93 Linux From Scratch Version 6 4 makeinfo o doc com_err info lib et com_err texinfo install v m644 doc com_err info usr share info install info dir file usr share info dir usr share info com err info install v m644 D doc libblkid txt usr share doc e2fsprogs 1 41 3 libblkid txt 6 17 2 Inhalt von E2fsprogs Installierte Programme badblocks blkid chattr compile et debugfs dumpe2fs e2fsck e2image e2label e2undo filefrag findfs fsck fsck ext2 fsck ext3 fsck ext4 fsck ext4dev logsave Isattr mk cmds m
226. ideo ATTRS idProduct 1910 ATTRS idVendor 0d81 SYMLINK webcam KERNEL video ATTRS device 0x036f ATTRS vendor 0x109e SYMLINK tvtuner EOF Als Ergebnis erhalten Sie immer noch die Ger tedateien dev video0 und dev videol die jeweils unterschiedliche Ger te meinen k nnen und deshalb nicht direkt angesprochen werden sollten Zus tzlich erhalten Sie aber auch die symbolischen Links dev tvtuner und dev webcam und diese zeigen immer auf das richtige Ger t Weitere Informationen zum Schreiben von Udev Regeln finden Sie in usr share doc udev 130 index html 176 Linux From Scratch Version 6 4 7 13 Einrichten des network Skripts Diesen Abschnitt m ssen Sie nur lesen wenn Sie eine Netzwerkkarte einrichten m chen Wenn Sie keine Netzwerkkarte haben brauchen Sie h chstwahrscheinlich keine Konfigurationsdateien bez glich Netzwerkkarten einrichten In diesem Fall sollten Sie alle symbolischen Links mit Namen network aus den Runlevel Ordnern entfernen etc rc d rc d 7 13 1 Einrichten von stabilen Namen f r Netzwerkkarten Mit Udev und modularen Netzwerktreibern ist keine stabile Durchnummerierung von Netzwerkkarten ber Rechner Neustarts hinweg gew hrleistet Dies liegt daran dass die Treiber parallel geladen werden und die Reihenfolge daher unvorhersagbar ist Wenn ein Rechner z B eine Netzwerkkarte von Intel und eine von Realtek eingebaut hat so k nnte die Intel Karte et
227. ie jp Caca fte joel iia puellis do kill killsig pid 2 gt dev null Wait up to 3 seconds for pid to terminate casa USD im TERM SIGTERM KILL SIGKILL sleep in 1 10ths of seconds and multiply KILLDELAY by 10 212 Linux From Scratch Version 6 4 local dtime KILLDELAY O Wade Scrims fe VOU j do kill 0 pid 2 gt dev null break sleep 0 1 irse a es che aime 1 done jg lic Wu ite Siew A site kill 0 pid 2 gt dev null amp amp kill KILL pid 2 gt dev null esac done Check if the process is still running if we tried to stop it case S killsig in TERM SIGTERM KILL SIGKILL ad z S picltilew jg then pidonros s VS pil else jouueleitpexoe S p Soles WE W ZL Program was terminated ap SRA IS wu Tp Clica Remove the pidfile if necessary it E pies then an Se USqxebeale 7 fex echo_ok return 0 else Program is still running echo_failure return 4 Unknown Status cal Just see if the kill returned successfully evaluate_retval rat esac else process not running print_status warning not_running iE aL KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK Function log_success_msg message Purpose Print a success message Inputs Message OUP OUES 3 ex Obie CO sEemega Dependencies echo Todo logging CKCkCk kCk ck kC
228. ie dieses Kommando gec 4 3 2 contrib test_summary Wenn Sie nur die Zusammenfassungen sehen m chten pipen Sie die Ausgabe durch grep A7 Summ Sie k nnen die Ergebnisse mit denen unter http www linuxfromscratch org lfs build logs 6 4 vergleichen 87 Linux From Scratch Version 6 4 Ein paar unerwartete Fehler lassen sich oftmals nicht vermeiden Die Entwickler von GCC kennen diese blicherweise bereits hatten aber noch keine Zeit diese Fehler zu beheben Insbesondere die 1ibmudflap Tests sind aufgrund eines Fehlers in GCC anf llig http gcc gnu org bugzilla show_bug cgi id 20003 Kurz gesagt solange Ihre Testergebnisse nicht grob von denen unter der obigen URL abweichen k nnen Sie beruhigt fortfahren Installieren Sie das Paket make install Einige Pakete erwarten dass der C Pr prozessor unter 1ib installiert ist Erstellen Sie daher diesen symbolischen Link ln sv usr bin cpp lib Viele Pakete benutzen den Namen cc um den C Compiler aufzurufen Um auch diesen Paketen Rechnung zu tragen erzeugen Sie einen weiteren symbolischen Link ln sv gcc usr bin cc Die endg ltige Toolchain ist nun fertiggestellt An dieser Stelle muss unbedingt erneut berpr ft werden ob Kompilieren und Linken mit ihr wie erwartet funktioniert Wir f hren den gleichen Gesundheitstest wie schon einmal in diesem Kapitel durch echo main dummy c cc dummy c v Wl verbose amp
229. ien vom jeweiligen Paket installiert werden Andere Leute ben tigen m glicherweise keine Paketverwaltung weil sie LFS neu installieren sobald ein Paket ge ndert wird 6 3 2 2 Installation in separate Ordner Diese einfache Methode der Paketverwaltung ben tigt keine weitere Software Jedes Paket wird einfach in einen eigenen Ordner installiert Beispielsweise wird foo 1 1 in den Ordner usr pkg foo 1 1 installiert und dann einen symbolischen Link von usr pkg foo nach usr pkg foo 1 1 angelegt Wenn sp ter auf die neuere Version foo 1 2 aktualisiert wird so erfolgt die Installation in den Ordner usr pkg oo 1 2 und der symbolischen Link wird einfach durch einen neuen ersetzt 69 Linux From Scratch Version 6 4 Umgebungsvariablen wie PATH LD_LIBRARY_PATH MANPATH INFOPATH und CPPFLAGS m ssen so angepasst werden dass Sie usr pkg foo enthalten Diese Methode wird sehr unhandlich wenn auf diese Weise viele Softwarepakete verwaltet werden sollen 6 3 2 3 Paketverwaltung mit symbolischen Links Es handelt sich hierbei im Grunde nur um eine Variation der vorigen Paketverwaltungs Technik Jedes Paket wird genauso installiert wie zuvor beschrieben Anstatt jedoch den ganzen Ordner mit einem Symlink zu versehen wird f r jede einzelne Datei eine Verkn pfung in usr angelegt Auf diese Weise m ssen die Umgebungsvariablen nicht angepasst werden Die vielen symbolischen Verkn pfungen k nnen nat rlich vom Benutzer selbst angelegt werden
230. ieren Sie das Paket make Um die Ergebnisse zu testen geben Sie folgendes ein make check Dies ben tigt viel Zeit ungef hr 4 7 SBUs Au erdem werden 6 Tests bersprungen die Automake verwenden Wenn Sie den vollst ndigen Test durchf hren lassen m chten m ssen Sie Autoconf nach der Installation von Automake erneut testen Installieren Sie das Paket make install 6 28 2 Inhalt von Autoconf Installierte Programme autoconf autoheader autom4te autoreconf autoscan autoupdate und ifnames Kurze Beschreibungen autoconf Ein Werkzeug zum Erzeugen von Shell Skripten die Quellcode Pakete automatisch einrichten und sie an unterschiedliche Unix System anpassen Die resultierenden configure Skripte sind eigenst ndig sie k nnen auch dann ausgef hrt werden wenn autoconf nicht installiert ist autoheader Ein Werkzeug zum Erzeugen von Vorlagedateien f r C define Anweisungen die configure benutzen soll autom4te Ein Wrapper zu dem Makroprozessor M4 autoreconf F hrt automatisch autoconf autoheader aclocal automake gettextize und libtoolize in der richtigen Reihenfolge aus Das spart Zeit wenn Anderungen an autoconf und automake Vorlagedateien gemacht wurden autoscan Kann beim Erzeugen einer configure in Datei fiir ein Softwarepaket behilflich sein Es untersucht die Quelldateien in einem Ordner und sucht nach blichen Portabilit tsproblemen und erzeugt eine configure scan Datei die al
231. ies nun dass ich keinerlei vorkompilierte Pakete CD Roms oder Bootdisketten jeglicher Art f r die Installation der Basis Werkzeuge verwenden w rde Ich wollte mein bereits laufendes Linux System als Grundlage einsetzen um darauf mein angepasstes Linux zu entwickeln Dieses perfekte Linux System sollte die St rken der verschiedenen Distributionen ohne deren Schw chen vereinen Zu Beginn war die Umsetzung der Idee ziemlich entmutigend Aber ich blieb engagiert bei der Sache Ich wollte schlie lich ein Linux System das meinen Anspr chen gerecht wurde und keine Standard Distribution die nicht meinen W nschen entsprach Um das meinen W nschen entsprechende Linux zu erstellen musste ich erstmal viele Probleme bzgl wechselseitiger Abh ngigkeiten und jede Menge Kompilierfehler beheben Als ich damit fertig war hatte ich jedoch ein voll funktionsf higes und anpassbares Betriebssystem Meine Vorgehensweise erm glicht das Erstellen sehr kompakter Linux Systeme die schneller sind und weniger Speicher verbrauchen als viele herk mmliche Betriebssysteme Ich nannte dieses System Linux From Scratch oder einfach kurz LFS Ich teilte meine Erfahrungen mit anderen Anh ngern der Linux Gemeinschaft und es stellte sich schnell ein wachsendes Interesse an der Fortsetzung meiner Arbeit mit Linux heraus Ein selbstgebautes LFS System entspricht nicht einfach nur Spezifikationen und Anforderungen von Anwendern sondern ist auch eine ideale Lernbasis f r Pr
232. ils GCC Gettext Glibc Grep Make Sed und Texinfo Perl und Procps Keine 196 Man DB Installations Abh ngigkeiten Testsuite Abh ngigkeiten Muss installiert werden vor Module Init Tools Installations Abh ngigkeiten Testsuite Abh ngigkeiten Muss installiert werden vor MPFR Installations Abh ngigkeiten Testsuite Abh ngigkeiten Muss installiert werden vor Ncurses Installations Abh ngigkeiten Testsuite Abh ngigkeiten Muss installiert werden vor Patch Installations Abh ngigkeiten Testsuite Abh ngigkeiten Muss installiert werden vor Perl Installations Abh ngigkeiten Testsuite Abh ngigkeiten Muss installiert werden vor Procps Installations Abh ngigkeiten Testsuite Abh ngigkeiten Muss installiert werden vor Linux From Scratch Version 6 4 Bash Berkeley DB Binutils Bzip2 Coreutils Flex GCC Gettext Glibc Grep Groff Gzip Less Make und Sed Wird nicht ausgef hrt Ben tigt das Testsuite Paket von Man DB Keine Bash Binutils Coreutils Findutils GCC Glibc Grep Make Patch Sed und Zlib Diffutils File Gawk Gzip und Mktemp Keine Bash Binutils Coreutils Diffutils Gawk GCC Glibc Grep GMP Make Sed und Texinfo Keine GCC Bash Binutils Coreutils Diffutils Gawk GCC Glibc Grep Make Patch und Sed Enth lt keine Testsuite Bash GRUB Inetutils Less Procps Psmisc Readline Texinfo Util Lin
233. in rdateien in usr bin sbin anwenden und so nochmals mehrere Megabytes sparen Benutzen Sie diese Option jedoch nicht mit Bibliotheken sie w rden zerst rt werden 6 61 Aufraumen Von nun an m ssen Sie das folgende Kommando zum Betreten der chroot Umgebung verwenden chroot SLFS usr bin env i HOME root TERM STERM PS1 u w PATH bin usr bin sbin usr sbin bin bash login Der Grund daf r ist dass Sie keine Programme mehr aus tools ben tigen Sie k nnen den Ordner nun l schen 161 Linux From Scratch Version 6 4 Anmerkung Wenn Sie tools l schen werden auch die tempor ren Kopien von Tcl Expect und DejaGNU gel scht die Sie zum Testen der Toolchain benutzt haben Wenn Sie diese Programme sp ter noch benutzen m chten m ssen Sie sie neu kompilieren und installieren Im BLFS Buch finden Sie die entsprechenden Anleitungen daf r siehe auch http www linuxfromscratch org blfs Falls die Einbindung der virtuellen Kernel Dateisysteme verloren gegangen ist z B durch Entmounten oder einen Neustart so m ssen Sie diese vor dem Betreten der chroot Umgebung erneut einbinden Die Vorgehensweise ist unter Abschnitt 6 2 2 Einh ngen und F llen von dev und Abschnitt 6 2 3 Einh ngen der virtuellen Kernel Dateisysteme erkl rt 162 Linux From Scratch Version 6 4 Kapitel 7 Aufsetzen der System Bootskripte 7 1 Einf hrung In diesem Kapitel werden Sie die LF
234. ion Udev cold plugging script Authors Zack Winkles Alexander E Patrakov Version gt Q0 02 Notes AE AE aE E AE AE E AE eae aE AE EE etc sysconfig rc S rc functions case S 1 in Seal boot mesg Populating dev with device nodes isc oreo a IL sspscesllswsis Proc motntS late echo failure boot mesg n FAILURE n nUnable to create S FAILURE boot mesg n devices without a SysFS filesystem boot mesg n n nAfter you press Enter this system boot mesg n will be halted and powered off boot mesg a n nPress Enter to continue S INFO boot mesg S NORMAL read ENTER enc sec dimite o cl nalt stop iE aL Mount a temporary file system over dev so that any devices made or removed during this boot don t affect the next on The reason we don t write to mtab is because we don t ever want dev to be unavailable such as by umount a mount n t tmpfs tmpfs dev o mode 755 if 49 le 0 je them echo_failure boot_mesg n FAILURE n nCannot mount a tmpfs S FAILURE boot mesg n onto dev this system will be halted boot mesg n n nAfter you press Enter this system boot mesg n will be halted and powered off boot mesg n n nPress Enter to continue INFO boot mesg S NORMAL read ENTER ere re cy iait cl Imelllie Sees iat Udev handles uevents itself so we don t need t
235. ion amp 00 060 Notes the IFCONFIG variable is passed to the scripts found in the services directory to indicate what file the service should source to get environmental variables AE AE AE E AE AE AE AE AE E AE AE AE FE AE AE E AE E AE AE AE E AE E FE AE AE E AE E FE AE AE E AE E AE FE AE E AE AE FE AE AE E AE AE AE AE AE E AE AE E HE AE E AE AE E AE AE AE AE AE E AE F HE etc sysconfig rc S rc functions Collect a list of configuration files for our interface de x VEHI ehren for file in 1 All parameters except 1 do FILES S FILES network_devices ifconfig 1 file done Sii eol eS aseo devices irc Sii Tg acia 236 else cal loo mass Beimciiae ua das SL dineeietaee v boot_mesg_flush Pr ROR done FILES echo network_devices ifconfig 1 FILES network_devices 3 rojas 3 6 4 1L T ocess each configruation file rile mo SEES e ce skip backup files ade p WSEsJepU l STA le uuu qe chen continue Ea abo dp 2 sie Verleih Ce asa boot mesg file is not a network configuration file or directory WARNING echo warning continue Ea S file Will not process this service if started by boot and ONBOOT is not set to yes ie ASTIN BOOTY UIU ca VS TONBOOTI S I Ves js ime continue ei will not process this service if started by hotplug and ONHOTPLUG is
236. ions Abh ngigkeiten Testsuite Abh ngigkeiten Muss installiert werden vor Berkeley DB Installations Abh ngigkeiten Testsuite Abh ngigkeiten Muss installiert werden vor Binutils Installations Abh ngigkeiten Testsuite Abh ngigkeiten Muss installiert werden vor Bash Coreutils Grep M4 Make Perl Sed und Texinfo Automake Diffutils Findutils GCC und Libtool Automake Autoconf Bash Coreutils Gettext Grep M4 Make Perl Sed und Texinfo Binutils Bison Bzip2 DejaGNU Diffutils Expect Findutils Flex GCC Gettext Gzip Libtool und Tar Kann auch noch einige weitere Pakete verwenden die nicht mit LFS installiert werden Keine Bash Bison Coreutils Diffutils Gawk GCC Glibc Grep Make Ncurses Patch Readline Sed und Texinfo Keine Keine Bash Binutils Coreutils Diffutils Gawk GCC Glibc Grep Make und Sed Wird nicht ausgef hrt Ben tigt ein im fertigen System installiertes TCL Keine Bash Binutils Coreutils Diffutils GCC Gettext Glibc Grep Make Perl Sed und Texinfo DejaGNU und Expect Keine 192 Bison Installations Abh ngigkeiten Testsuite Abh ngigkeiten Muss installiert werden vor Bzip2 Installations Abh ngigkeiten Testsuite Abh ngigkeiten Muss installiert werden vor Coreutils Installations Abh ngigkeiten Testsuite Abh ngigkeiten Muss installiert werden vor DejaGNU Installations Ab
237. ious d S 0 9 0 9 suffix amp S peew scare amp amp E Sisto o Continue Bal check_script_status case runlevel in 016 Slil Strop x rt Stil Stare esac error_value axi Sherrer value l VOW 2 lem print error msg iE ak done End Sre base init d rc D 2 etc rc d init d functions bin sh Hata a a ae a a a aE a a aE ae Begin rc_base init d functions Description Run Level Control Functions 201 umask 022 export PATH bin usr bin sbin usr sbin i imal When using remote connections such as a serial port stty size returns 0 zig dp VST CORMUMINS V WOW To caca COLUMNS 80 seis Measurements for positioning result messages COL S COLUMNS 8 WCOL COL 2 Provide an echo that supports e and n If formatting is needed SECHO should be used case echo i tesc ium lea ECHO bin echo rr y ECHO echo rr esac Set Cursor Position Commands used via SECHO S S ELJADSTG HUB Linux From Scratch Version 6 4 Authors Gerard Beekmans gerard linuxfromscratch org Version 3 00 00 Notes With code based on Matthias Benkmann s simpleinit msb http winterdrache de linux newboot index html AE AE AE aT AE aE eae AE AE E aE aE AE E aaa aaa aaa aaa AE E AE AE AE AE AE AE AE AE E FE F HE Environmental setup Setup default values for environment Signal sent to
238. it nat rlich libncursesw Dieses Paket enth lt keine Testsuite Installieren Sie das Paket make install Nun verschieben Sie die statischen Bibliotheken an eine passendere Stelle mv v lib lib readline history a usr lib Als n chstes werden die so Dateien im Ordner 1ib gel scht und nach usr 1ib verlinkt rm v lib lib readline history so ln sfv lib libreadline so 5 usr lib libreadline so ln sfv lib libhistory so 5 usr lib libhistory so Falls gew nscht installieren Sie nun die Dokumentation mkdir v usr share doc readline 5 2 install v m644 doc ps pdf html dvi usr share doc readline 5 2 6 27 2 Inhalt von Readline Installierte Bibliotheken libhistory a so und libreadline a so Kurze Beschreibungen libhistory Stellt eine konsistente Schnittstelle zum Wiederaufrufen von Zeilen aus dem Verlauf zur Verf gung libreadline K mmert sich um die Konsistenz der Benutzerschnittstelle bei Programmen die eine Kommandozeilenoberfl che bereitstellen m ssen 110 Linux From Scratch Version 6 4 6 28 Autoconf 2 63 Autoconf erstellt Shell Skripte mit denen man Software Pakete automatisch zum Kompilieren einrichten kann Gesch tzte weniger als 0 1 SBU Kompilierzeit Etwa Ben tigter 14 3 MB inkl Testsuite Speicherplatz 6 28 1 Installation von Autoconf Bereiten Sie Autoconf zum Kompilieren vor configure prefix usr Kompil
239. ited by the following restrictions a You may distribute publicly display publicly perform or publicly digitally perform the Work only under the terms of this License and You must include a copy of or the Uniform Resource Identifier for this License with every copy or phonorecord of the Work You distribute publicly display publicly perform or publicly digitally perform You may not offer or impose any terms on the Work that alter or restrict the terms of this License or the recipients exercise of the rights granted hereunder You may not sublicense the Work You must keep intact all notices that refer to this License and to the disclaimer of warranties You may not distribute publicly display publicly perform or publicly digitally perform the Work with any technological measures that control access or use of the Work in a manner inconsistent with the terms of this License Agreement The above applies to the Work as incorporated in a Collective Work but this does not require the Collective Work apart from the Work itself to be made subject to the terms of this License If You create a Collective Work upon notice from any Licensor You must to the extent practicable remove from the Collective Work any reference to such Licensor or the Original Author as requested If You create a Derivative Work upon notice from any Licensor You must to the extent practicable remove from the Derivative Work any reference to such Licensor or the Original Author
240. itions Regeln wie Strg A E f r in der Standard Layouttabelle Linux 2 6 27 4 interpretiert tote Tasten und Kompositions Regeln in der Tastaturlayouttabelle nur dann richtig wenn die einzelnen Zeichen die zusammengesetzt werden sollen keine Multibyte Zeichen sind Dieser Nachteil betrifft allerdings keine europ ischen Tastaturlayouttabellen weil alle Akzente ausschlie lich an nicht akzentuierte ASCII Zeichen angef gt bzw nur reine ASCII Zeichen aneinandergef gt werden Im UTF 8 Modus ist dies jedoch ein Problem f r die griechische Sprache in der manchmal ein Akzent an das Zeichen alpha angef gt werden muss Entweder vermeiden Sie den UTF 8 Modus oder Sie installieren X Windows welches diese Einschr nkung in der Eingabemethode nicht hat Die n tigen Zeichen f r die Sprachen Chinesisch Japanisch Koreanisch und ein paar weitere lassen sich in der Linux Konsole nicht anzeigen Falls Sie diese ben tigen m ssen Sie das X Window System die ben tigten Schriften und eine Eingabe Methode wie SCIM installieren 171 Linux From Scratch Version 6 4 Anmerkung Mit der Datei etc sysconfig console k nnen Sie ausschlie lich die Lokalisierung f r die Linux Textkonsole einrichten Dies hat nichts mit den Einstellungen f r das X Window System SSH Sitzungen oder einer seriellen Konsole zu tun wo diese beiden obigen Einschr nken nicht gelten 7 7 Einrichten des sysklogd Skripts Das sysklogd Skript ru
241. itt 2 4 Einh ngen mounten der neuen Partition erw hnt wurde sollten Sie den Parameter noat ime beim Bau von LFS nicht verwenden Auf alter oder langsamer Hardware oder unter hoher Systemlast k nnen einige Tests aufgrund von Zeit berschreitungen fehlschlagen Auch wenn es nur eine harmlose Meldung ist die Installationsroutine von Glibc wird sich ber die fehlende Datei etc 1d so conf beschweren Beheben Sie diese st rende Warnung mit touch etc ld so conf Installieren Sie das Paket make install Die Locales mit deren Hilfe Systemmeldungen in Ihrer Sprache ausgegeben werden k nnen wurden durch das obige Kommando nicht mitinstalliert Diese Locales werden nicht unbedingt ben tigt jedoch w rden einige Testsuites der noch folgenden Pakete ohne sie ein paar wichtige Tests berspringen Mit dem Kommando localedef k nnen Sie auch einen individuellen Satz an Locales installieren Das erste untenstehende Kommando kombiniert beispielsweise die Zeichensatz unabh ngige Localedefinition usr share il8n locales de_ DE mit der Zeichensatzdefinition usr share il8n charmaps 180 8859 1 gz und f gt das Ergebnis an usr lib locale locale archive an Mit den folgenden Kommandos erstellen Sie einen minimalen Satz Locales die f r die kommenden Testsuites ben tigt werden mkdir pv usr lib locale localedef i cs CZ f UTF 8 cs CZ UTF 8 localedef i de DE f ISO 8859 1 de DE localedef i de DE euro
242. jedoch gibt es auch einige Programme daf r die diese Technik verwenden Stow Epkg Graft und Depot sind einige Beispiele Die Installation muss allerdings so angepasst werden so dass das Paket denkt es w re in usr installiert obwohl die Dateien tats chlich in usr pkg gespeichert werden Das vort uschen einer solchen Installation ist manchmal nicht ganz leicht Nehmen wir an Sie m chten das Paket libfoo 1 1 installieren Die folgenden Kommandos w rden das Paket nicht korrekt installieren configure prefix usr pkg libfoo 1 1 make make install Die Installation ansich wird funktionieren aber die abh ngigen Pakete werden nicht korrekt auf libfoo verweisen Wenn Sie ein Paket kompilieren welches libfoo ben tigt so wird es gegen usr pkg libfoo 1 1 lib libfoo so 1 linken anstatt den korrekten Pfad usr lib libfoo so 1 zu verwenden Der korrekte Ansatz ist der Einsatz der Variable DESTDIR mit der die Installation in einen anderen Ordner vorget uscht werden kann Dies funktioniert wie folgt configure prefix usr make make DESTDIR usr pkg libfoo 1 1 install Diese Methode funktioniert mit den meisten Softwarepaketen aber leider nicht mit allen Die inkompatiblen Pakete m ssen Sie entweder von Hand installieren oder Sie installieren sie unterhalb von opt 6 3 2 4 Paketverwaltung mittels Zeitstempel Bei dieser Technik wird jede Datei vor der Installation mit einem Zeitstempel versehen Nach der Installa
243. k nnen diese einfach nach usr share man lt Sprachcode gt kopiert werden Beispielsweise k nnen deutsche Hilfeseiten http www infodrom org projects manpages de download manpages de 0 5 tar gz mit den folgenden Kommandos installiert werden mkdir p usr share man de cp rv man usr share man de Falls die Programm Entwickler die Hilfeseiten in UTF 8 ausliefern z B RedHat anstatt der oben aufgelisteten Kodierung dann k nnen sie entweder vor der Installation von UTF 8 in die aufgelistete Kodierung umgewandelt werden oder sie k nnen direkt in den Ordner usr share man Sprachcode UTF 8 installiert werden Die Franz sischen Man pages in l nderbezogener Kodierung k nnen Sie z B mit den folgenden Kommandos installieren convert mans UTF 8 ISO 8859 1 man mkdir p usr share man fr cp rv man usr share man fr Anmerkung Die franz sischen Man pages werden allerdings in Wirklichkeit schon mit fertigen Skripten ausgeliefert die die Umwandlung bei Bedarf bernehmen Die vorigen Kommandos sollen nur als Beispiel f r die Verwendung des Skripts convert mans dienen Mit den folgenden Kommandos soll nun noch gezeigt werden wie beispielsweise die franz sischen Man pages installiert werden k nnten mkdir p usr share man fr UTF 8 cp rv man usr share man fr UTF 8 6 47 3 Inhalt von Man DB Installierte Programme apropos catman convert mans lexgrog man mandb manpath whatis und zsoelim
244. k ck kCk ck kk ck ck k ck ck ck k ck ck k ck ck kckck k ck ck k ck ck ck ck ck kCk ck kk ck ck ck ck ck ck ck k ck ck k ck k ck ck k ck ck k ck ck k ck ck k k k k k kk kkk log success msg 213 Linux From Scratch Version 6 4 ECHO n e BOOTMESG_PREFIX SEREL EO e WS 4 Sime COL ws TEN SUCCESS OK S BRACKET S NORMAL return 0 KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK Function log_failure_msg message Purpose Print a failure message Inputs Message Otitis es OWE CO SETE Dependencies echo Todo logging KKEKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK log_failure_msg S ECHO n e S BOOTMESG_PREFIX S Smeg e Ws Sie CO US epee iam ie p V IS AREA fe eae it HU Segue Cap TE SINO RMAT ft return 0 ACKCkCk kCk ck kCk ck kCk ck kCk ck kk ck kk k ck ck k ck ck k ck ck k ck ck RER ck k ck ck kCk ck ck ck ck kk k kk k kk k ck ck ck k ck k ck ck kk ck k ck ck k ck k kk kkkkk k Function log warning msg message Purpose print a warning message Inputs e Message Outpt lexi Obie 10 SETE Dependencies echo Todo logging KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK log_warning_msg ECHO n e BOOTMESG_PREFIX S S ECHO e S SET COL S BRACKET S WARNING WARN S BRACKET
245. k kCk ck kk ck ck ck k ck ck k ck ck k ck ck k ck ck k ck ck k ck ck kk ck k ck ck kk ck kk k k ck k ck ck k k ck k ck ck kk ck k ck ck kk k kk kk E kR loadproc local pidfile local forcestart local nicelevel 10 This will ensure compatibility with previous LFS Bootscripts ise eu USP Tepe eins e then pidfile S PIDFILE iE aL while true do case EDD ua f forcestart 1 Slate il rr n nicelevel 2 Saal 2 rr p PAANS AS Since 2 FAR log failure msg Unknown Option 1 return 2 invalid or excess argument s KR break 210 esac done adr p eU c YOY 7 einem Llog tailures msg Usages iexeelessexe El a nicelevelj 59 pickilel y pathname args return 2 invalid or excess argument s eat ie Siesceesuesu g sen ad zm Sfpoxetile v 15 then pildoras US else pidozsros S o S9fpaeuile US Jo EL case in 0 log warning msg Unable to continue 1 is running return 0 4 1 boot mesg Removing stale pid file pidfile S WARNING am E Soxeiilep 3 X log_failure_msg Unknown error code from pidofproc return 4 esac El iae a S miceleyslp UST evaluate retval This is Probably not LSB compliant but required to be compatible with older bootscripts return 0 Onus Ss Dependencies kill rm Todo LSB does not say that It checks for PIDFILE which is deprecated KKKKKKKKKKKKKKKKKKKKKKKK
246. ke2fs mkfs ext2 mkfs ext3 fsck ext4 fsck ext4dev mklost found resize2fs tune2fs uuidd und uuidgen Installierte Bibliotheken libblkid a so libcom err a so libe2p a so libext2fs a so libss a so und libuuid a so Kurze Beschreibungen badblocks blkid chattr compile_et debugfs dumpe2fs e2fsck e2image e2label e2undo filefrag findfs fsck fsck ext2 fsck ext3 fsck ext4 fsck ext4dev logsave Isattr mk cmds mke2fs mkfs ext2 mkfs ext3 mkfs ext4 Durchsucht ein Ger t blicherweise eine Festplatte nach defekten Bl cken Ein Kommandozeilenprogramm zum Auffinden und Anzeigen der Eigenschaften eines Blockger tes ndert Attribute eines ext 2 Dateisystems Auch ext 3 wird unterst tzt die Journaling Version von ext 2 Ein Fehlertabellen Compiler Er konvertiert eine Tabelle mit Fehlercode Namen und Meldungen zu einer C Quelldatei die dann mit der com err Bibliothek verwendet werden kann Ein Dateisystemdebugger Er kann benutzt werden um den Status eines ext 2 Dateisystems zu untersuchen und zu ver ndern Gibt Informationen zum Superblock und zu Blockgruppen des Dateisystems auf einem bestimmten Ger t aus Wird zum Pr fen und optional zum Reparieren von ext 2 und ext 3 Dateisystemen verwendet Wird zum Speichern kritischer ext 2 Dateisystemdaten in eine Datei verwendet Zeigt oder ver ndert das Label eines ext 2 Dateisystems auf dem angegebenen Ger t Spielt ein auf dem G
247. l Bibliothek 39 Linux From Scratch Version 6 4 5 10 Expect 5 43 0 Das Paket Expect f hrt vorprogrammierte Dialoge mit anderen interaktiven Programmen aus Gesch tzte 0 1 SBU Kompilierzeit Etwa Ben tigter 4MB Speicherplatz 5 10 1 Installation von Expect Spielen Sie erst einen Patch ein er behebt einen Fehler der ansonsten Fehlalarme beim Durchlaufen von GCCs Testsuite verursachen k nnte patch Npl i expect 5 43 0 spawn 1 patch Als n chstes beheben Sie einen Fehler der durch k rzliche nderungen an Tcl entstanden ist patch Npl i expect 5 43 0 tcl 8 5 5 fix 1 patch Als n chstes ver ndern Sie das configure Skript von Expect so dass es bin stty anstelle von usr local bin stty verwendet falls dieses auf dem Host System installiert ist Auf diese Weise bleibt die Testsuite sauber f r die endg ltigen Kompilier Durchl ufe der toolchain cp v configure orig sed s usr local bin bin configure orig configure Bereiten Sie Expect nun zum Kompilieren vor configure prefix tools with tcl tools lib with tclinclude tools include with x no Die Bedeutung der configure Parameter with tcl tools lib So stellen Sie sicher dass das configure Skript die Tcl Installation in Ihrem tempor ren Ordner findet Es sollte keine m glicherweise auf dem Host System installierte Version gefunden werden with tclinclude tools include Durch di
248. len Sie zun chst sicher dass keine zur ckgebliebenen Dateien und Abh ngigkeiten von vorherigen Aktionen zur ckgeblieben sind make mrproper Test und extrahieren Sie nun die Kernel Header der Anwenderschicht aus den Quellen Diese werden zun chst in einem lokalen Ordner zwischengespeichert und anschlie end an die n tigen Orte kopiert weil der Extrahiervorgang vorhandene Dateien im Zielordner berschreiben w rde make headers_check make INSTALL_HDR_PATH dest headers_install cp rv dest include tools include Details zu diesem Paket finden Sie in Abschnitt 6 7 2 Inhalt von Linux API Header 34 Linux From Scratch Version 6 4 5 7 Glibc 2 8 20080929 Glibc enth lt die C Bibliothek Sie stellt Systemaufrufe und grundlegende Funktionen zur Verf gung z B das Zuweisen von Speicher Durchsuchen von Ordnern ffnen und Schlie en sowie Schreiben von Dateien Zeichenkettenverarbeitung Mustererkennung Arithmetik etc Gesch tzte 7 6 SBU Kompilierzeit Etwa Ben tigter 407 MB Speicherplatz 5 7 1 Installation von Glibc Beheben Sie ein m gliches Problem f r den Fall dass etc 1d so preload auf dem Host System verwendet wird sed i sQ etc ld so preloadQ tools etc ld so preloadQ elf rtld c Die Dokumentation von Glibc empfiehlt zum Kompilieren einen gesonderten Ordner zu verwenden mkdir v glibc build cd glibc build Da Glibc die Unterst tzung f r die Architektur 1
249. libc We don t want our libc optimized for 486 It should be optimized for the local machine jhuntwork Updated Autoconf to 2 62 jhuntwork Updated E2fsprogs to 1 40 8 Fixes 42173 jhuntwork Fixed behavior in kbd where man pages for optional programs that aren t built are installed Thanks Greg Schafer for spotting this jhuntwork Fixed kbd to install getkeycodes setkeycodes and resizecons Also moved loadkeys to bin from usr bin Thanks Greg Schafer 22 4 2008 jhuntwork Updated Kbd to 1 14 1 Fixes 2162 jhuntwork Updated Flex to 2 5 35 Fixes 2179 11 4 2008 bdubbs Updated host requirments to check for symbolic links from sh awk and yacc 3 4 2008 jhuntwork Suppress installation of uptime in coreutils Thanks to Randy McMurchy Fixes 42133 jhuntwork Upgraded to iana etc 2 30 Fixes 2174 jhuntwork Added patch for 256 byte inode support in GRUB Fixes 2161 2 4 2008 jhuntwork Updated to linux 2 6 24 4 fixes 2157 jhuntwork Added an upstream patch for db 4 6 21 thanks Randy McMurchy for the report Fixes 2164 30 3 2008 e dnicholson Added sysconfdir parameter to Man db s configure command so that man db conf is installed in etc 27 3 2008 ken Updated bzip2 to 1 0 5 fixes CVE 2008 1372 26 2 2008 ken Corrected typo in name of ru ms keymap ken Updated Kbd to 1 13 24 02 2008 matthew Add libexecdir par
250. lineo be Scarlet Belgien lfs scarlet be Sebastian Faulborn lt info aliensoft org gt Ifs aliensoft org Stuart Fox stuart 9 dontuse ms lfs dontuse ms Ralf Uhlemann admin realhost de gt lfs oss mirror org Antonin Sprinzl lt Antonin Sprinzl tuwien ac at gt at linuxfromscratch org 190 Linux From Scratch Version 6 4 Fredrik Danerklint lt fredan Ifs O fredan org gt se linuxfromscratch org Franck franck linuxpourtous com gt Ifs linuxpourtous com Philippe Baqu lt baque cict fr gt Ifs cict fr Vitaly Chekasin lt gyouja pilgrims ru gt Ifs pilgrims ru Benjamin Heil lt kontakt wankoo org gt Ifs wankoo org Asiatische Spiegel Satit Phermsawang lt satit wbac ac th gt Ifs phayoune org Shizunet Co Ltd info shizu net jp gt 1fs mirror shizu net jp Init World http www initworld com Ifs initworld com Australische Spiegel Jason Andrade jason G dstc edu au gt au linuxfromscratch org Fr here Projektmitglieder Christine Barczak theladyskye linuxfromscratch org LFS Buchautorin Archaic archaic linuxfromscratch org LFS Buchautor HLFS Projektbetreuer BLFS Buchautor Betreuer des Projekts Hints und Patches Nathan Coulson nathan linuxfromscratch org gt Betreuer der LFS Bootskripte Timothy Bauscher Robert Briggs Ian Chilton Jeroen Coumans lt jeroen linuxfromscratch org gt Website Entwickler Betreuer der FA
251. ll auf solche Probleme hin bevor zuviel Zeit vergeudet wird Binutils installiert seinen Assembler an zwei Stellen tools bin und tools SZIEL_TRIPPLET bin In Wirklichkeit sind die Programme an der einen Stelle mit denen an der anderen durch einen harten Link verkn pft Ein wichtiger Aspekt des Linkers ist seine Suchreihenfolge f r Bibliotheken Genaue Informationen erhalten Sie mit Id und dem Parameter verbose Zum Beispiel 1d verbose grep SEARCH gibtdie aktuellen Suchpfade und ihre Reihenfolge aus Sie k nnen sehen welche Dateien tats chlich von ld verlinkt werden indem Sie ein Dummy Programm kompilieren und den Parameter verbose angeben Zum Beispiel gcc dummy c Wl verbose 2 gt amp 1 grep succeeded zeigt dass alle Dateien beim Linken erfolgreich ge ffnet werden konnten 27 Linux From Scratch Version 6 4 Das n chste zu installierende Paket ist GCC W hrend des Durchlaufs von configure sehen Sie zum Beispiel checking what assembler to use tools i686 pc linux gnu bin as checking what linker to use tools i686 pc linux gnu bin ld Das ist aus den oben genannten Gr nden wichtig Hier wird auch deutlich dass GCCs configure Skript nicht die PATH Ordner 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 gcc print
252. ll verhindert werden dass aufgrund von fehlgeschlagenen Tests keine automatisierten Build Skripte erzeugt werden Ein erfolgreicher Durchlauf sollte mit nur 2 von 14 Tests fehlschlagen Wenn Sie sich jedoch die Ausgaben genauer ansehen werden Sie bemerken dass 40 Einzeltests fehlschlagen dieses befinden sich alle in den seit der letzten Version neu hinzugekommenen Tests Installieren Sie das Paket make install 6 39 2 Inhalt von Grep Installierte Programme egrep fgrep und grep Kurze Beschreibungen egrep Gibt die Zeilen aus die auf einen bestimmten regul ren Ausdruck passen fgrep Gibt die Zeilen aus die auf eine Liste von festgelegten Zeichenketten passen grep Gibt die Zeilen aus die auf einen bestimmten einfachen regul ren Ausdruck passen 126 Linux From Scratch Version 6 4 6 40 Groff 1 18 1 4 Groff enth lt verschiedene Programme zur Verarbeitung und Formatierung von Text Gesch tzte 0 4 SBU Kompilierzeit Etwa Ben tigter 39 2 MB Speicherplatz 6 40 1 Installation von Groff Dieser Patch f gt Unterst tzung f r ascii8 und nippon Ger te zu Groff hinzu patch Npl i groff 1 18 1 4 debian fixes 1 patch Anmerkung Diese Ger te werden von Man DB beim Formatieren von nicht englischen Man pages verwendet die nicht in der Kodierung ISO 8859 1 vorliegen Derzeit gibt es keinen funktionierenden Patch f r Groff 1 19 x der diese Funktionalit t hinzuf gt Einige Bil
253. llierte Bibliotheken libgcc a libgcc eh a libgcc_s so libmudflap a so libssp a so libstdc a so und libsupc a Kurze Beschreibungen c Dies ist der C Compiler cc Dies ist der C Compiler cpp Ein C Pr prozessor Er wird vom Compiler benutzt um include define und hnliche Anweisungen im Quellcode durch ihren endg ltigen Code zu ersetzen g Dies ist der C Compiler gcc Dies ist der C Compiler gccbug Ein Shellskript mit dem man n tzliche Fehlerberichte erzeugen kann gcov Ein Werkzeug zum Testen des Deckungsgrades Es wird zum Analysieren von Programmen benutzt um herauszufinden wo Optimierungen den gr ten Effekt zeigen libgec Enth lt Laufzeitunterst tzung f r gce libmudflap Enth lt Routinen f r GCC zur berpr fung von Grenzen libssp Enth lt Routinen die GCCs Schutz vor Stack Zerst rung unterst tzen libstdc Die Standard C Bibliothek libsupc Stellt Unterst tzungsroutinen f r die Programmiersprache C zur Verf gung 89 Linux From Scratch Version 6 4 6 15 Berkeley DB 4 7 25 Das Paket Berkeley DB enth lt Programme und Werkzeuge die von vielen Anwendungen f r datenbankbezogene Funktionen verwendet werden Gesch tzte 1 9 SBU Kompilierzeit Etwa Ben tigter 120 MB Speicherplatz Weitere Installationsm glichkeiten Das BLFS Buch enth lt eine Anleitung zur Installation dieses Pakets falls Sie einen RPC Server oder andere Sprachbindungen ben tigen Die zus tzlic
254. load http ftp gnu org gnu gzip gzip 1 3 12 tar gz MD5 Pr fsumme b5bac2d21840ae077e0217bc5e4845b1 Jana Etc 2 30 204 KB Webseite http sethwklein net iana etc Download http sethwklein net iana etc 2 30 tar bz2 MD5 Pr fsumme 3ba3afb1d1b261383d247 46cb135ee8 netutils 1 5 1 357 KB Webseite http www gnu org software inetutils Download http ftp gnu org gnu inetutils inetutils 1 5 tar gz MD5 Pr fsumme aeacd11d19bf25c89d4eff38346bdfb9 PRoute2 2 6 26 359 KB Webseite http linux net osdl org index php Iproute2 Download http developer osdl org dev iproute2 download iproute2 2 6 26 tar bz2 MD5 Pr fsumme 74221e735cba05709341cd46401c4ecd Kbd 1 14 1 989 KB Download http ftp altlinux com pub people legion kbd kbd 1 14 1 tar gz MD5 Priifsumme 0 4e474032c992c05650924 29a06a92 Less 418 292 KB Webseite http www greenwoodsoftware com less Download Attp www greenwoodsoftware com less less 418 tar gz MD5 Pr fsumme 558 64d76c54dd 4627 d57ab333c88b4 LFS Bootskripte 20081031 BOOTSCRIPTS SIZE KB Download http www linuxfromscratch org lfs downloads 6 4 lfs bootscripts 2008103 1 tar bz2 MD5 Pr fsumme BOOTSCRIPTS MD5SUM Libtool 2 2 6a 2 870 KB Webseite http www gnu org software libtool Download http ftp gnu org gnu libtoolNibtool 2 2 6a tar gz MD5 Pr fsumme 8calea241cd27f ff9832e045fe9afe4fd 19 Linux From Scratch Version 6 4 Linux F
255. locales for testsuite coverage in Chapter 6 GLibc instructions bdubbs Added ac cv func working mktime yes to the configure commands in gawk and bash to bypass the search for mktime This works around a change in gcc bdubbs Added a note to the ifcfg script description in iproute2 that it requires external programs dj Added without included regex to grep instrcutions in order to force the use of glibc s regex library This fixes the i switch for grep e dj Reintroduced the command to supress installation of the vi VN TCVN locale as bash is still broken with it dj Put Coreutils 118n patch back into place 20 10 2008 jhuntwork GCC 4 3 2 uses a new directory for fixed includes Fixed the adjust toolchain scripts to point to the new location 19 10 2008 bdubbs Added a note to the Host System Requirements that the Linux host must be a 32 bit system and that the book only supports a 32 bit build randy Updated the book to use 4 13a as the Texinfo version even though the tarball is exactly the same as the previous 4 13 version e randy Removed an unnecessary command from the Chapter 5 Perl instructions bdubbs Updated the discussion in Chapter 1 explaining that the LiveCD is out of date bdubbs Added a paragraph to the note in the packages page explaining that bandwidth can be saved when making multiple updates within a minor kernel release by downloading a base version an
256. lock 164 164 Einrichten 169 static 164 164 swap 164 164 sysctl 164 164 sysklogd 164 164 Einrichten 172 template 164 164 udev 164 164 udev_retry 164 165 Sonstige boot config 2 6 27 4 181 182 boot System map 2 6 27 4 181 182 dev 68 etc fstab 179 etc group 72 etc hosts 174 etc inittab 149 etc inputre 172 etc ld so conf 78 etc lfs release 185 etc localtime 78 etc nsswitch conf 78 etc passwd 72 etc profile 173 etc protocols 100 etc resolv conf 178 etc services 100 etc syslog conf 148 etc udev 153 154 etc vimrc 159 usr include asm generic linux mtd rdma sound video 74 74 var log btmp 72 var log lastlog 72 var log wtmp 72 var run utmp 72 Man pages 75 75 255
257. lten Setzt die Funktion der Tastenkombination Strg Alt Entf auf einen Hart oder Softreset Wurde benutzt um die Parameter der seriellen Schnittstellen auf Cyclade Karten zu ver ndern Gibt das Diskordianische Datum aus oder konvertiert ein Gregorianisches Datum in ein Diskordianisches Fordert im Linux Kernel das Entfernen einer Partition an Zeigt die Bootmeldungen des Kernel an Formatiert eine Diskette low level Wird zum Bearbeiten der Partitionstabelle des angegebenen Ger tes benutzt Beansprucht eine Dateisperrung und f hrt w hrend der Sperrung ein Kommando aus F hrt eine Konsistenzpr fung auf einem Cramfs Dateisystem durch F hrt eine Konsistenzpr fung auf einem Minix Dateisystem durch Analysiert die Optionen in der Kommandozeile Zeigt eine Datei hexadezimal oder in einem anderen Format an Wird zum Setzen oder Lesen der Hardware Uhr auch RTC oder BIOS Uhr gennant benutzt Eine symbolische Verskn pfung auf setarch Ermittelt oder ndert die Planer Klasse und Priorit t eines Programms Entfernt die angegebene IPC Ressource Inter Process Communication Gibt IPC Status Informationen aus Gibt die Gr e eines iso9660 Dateisystems aus Bindet eine Regelung an eine serielle Schnittstelle Eine symbolische Verskn pfung auf setarch Eine symbolische Verskn pfung auf setarch Kopiert eine einzelne Zeile Gibt eine Nachricht in das Logsystem ein Sucht nach Zeilen die mit einer bestimmten Zeichenkette beginnen
258. m glicherweise nicht als 1 s eingeloggt oder in Abschnitt 4 4 Vorbereiten der Arbeitsumgebung ist etwas schiefgelaufen Vielleicht hat auch beim Anpassen der specs Datei etwas nicht richtig funktioniert In diesem Fall wiederholen Sie die Anpassung Wenn Sie mit dem Ergebnis zufrieden sind r umen Sie auf rm v dummy c a out Anmerkung Das Kompilieren von Tcl im n chsten Abschnitt ist gleichzeitig auch ein zus tzlicher Test ob die Toolchain korrekt erstellt wurde Falls Tcl nicht kompilierbar ist weist das auf einen Fehler mit Binutils GCC oder Glibc hin nicht aber auf einen Fehler in Tcl 38 Linux From Scratch Version 6 4 5 9 Tcl 8 5 5 Das Tcl Paket enth lt die Tool Command Language Gesch tzte 0 5 SBU Kompilierzeit Etwa Ben tigter 36 MB Speicherplatz 5 9 1 Installation von Tcl Dieses und die n chsten beiden Pakete werden nur installiert damit Sie die Testsuites von GCC und Binutils laufen lassen k nnen Drei Pakete nur zu Testzwecken zu installieren k nnte etwas bertrieben erscheinen aber es ist wirklich sehr wichtig zu wissen dass unsere grundlegensten Programme und Werkzeuge richtig funktionieren Selbst wenn wir die Testsuites in diesem Kapitel nicht ausf hren wie empfohlen werden diese Pakete doch zumindest f r die Tests im n chsten Kapitel 6 ben tigt Bereiten Sie Tcl zum Kompilieren vor cd unix configure prefix tools Kompilieren Sie das Paket m
259. m LFS Entwicklerteam unterst tzt Wenn Sie eigene Verkn pfungen verwenden sind m glicherweise Abweichungen von den Anleitungen in diesem Buch oder Patche f r bestimmte Pakete n tig Um herauszufinden ob Ihr Host System alle notwendigen Programmversionen installiert hat und in der Lage ist Programme zu kompilieren f hren Sie den folgenden Befehl aus cat version check sh EOF bin bash epore IC ALL C Einfaches Skript zum Auflisten der Versionsnummern kritischer Entwicklungswerkzeuge pashi SS MO LS CN A echo Y bim sh gt readiink bin sh u echo m Bimbieales e le yersion head nl cum gd W z3 ISL SO werzsitom heal mil ie e usr bin yace lg chen echo W usz oin yace gt readlink 2 usr boin yace Wr else echo yacc not found fi 92192 wezeion 2 gt 6l lt ek meacl m cut a W srl 6 echo a Cometciiless pe Chowan verslon heac al cue av Y 22 diff version head m Eines yeresaloi lneeyel ini gawk version head n1 if e usr bin awk then echo usr bin awk gt readlink f usr bin awk else echo awk not found fi gcc version head n1 EAS IS DN head mil cui a 1 7 grep version head n1 gzip version head nl cat proc version m4 version head n1 make version head n1 1X Linux From Scratch Version 6 4 patch version head n1 cho Perl perl V version sed
260. m eine harte Verkn pfung zu mke2fs In der Voreinstellung erzeugt dieses Programm ein ext 4 Dateisystem Es handelt sich um eine harte Verkn pfung zu mke2fs 94 mkfs ext4dev mklost found resize2fs tune2fs uuidd uuidgen libblkid libcom_err libe2p libext2fs libss libuuid Linux From Scratch Version 6 4 In der Voreinstellung erzeugt dieses Programm eine Entwicklerversion eines ext 4 Dateisystem Es handelt sich um eine harte Verkn pfung zu mke2fs Wird benutzt um den Ordner 1ost found auf einem second extended Dateisystem zu erzeugen Es f hrt eine Vorzuweisung von Bl cken zu diesem Ordner durch um damit e2fsck die Arbeit zu erleichtern Kann zum Vergr ern oder Verkleinern eines ext 2 Dateisystems verwendet werden Wird zum Einstellen von ver nderbaren Parametern auf einem ext 2 Dateisystem eingesetzt Dieser Dienst wird von der UUID Bibliothek verwendet um auf sichere und garantiert eindeutige Weise zeitbasierte UUIDs zu erzeugen 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 Enth lt Routinen zum Identifizieren von Ger ten und zum Extrahieren von Token Die allgemeine Routine zum Anzeigen von Fehlern Wird von dumpe2fs chattr und Isattr benutzt Enth lt Routinen die Programme im Benutzerkontext zum Manipulieren eines ext 2 Dateisystems verwe
261. me acinstall aclocal aclocal 1 10 1 automake automake 1 10 1 compile config guess config sub depcomp elisp comp install sh mdate sh missing mkinstalldirs py compile symlink tree und ylwrap Kurze Beschreibungen acinstall aclocal aclocal 1 10 1 automake automake 1 10 1 compile config guess config sub depcomp elisp comp install sh mdate sh missing mkinstalldirs py compile symlink tree Ein Skript das M4 Dateien im aclocal Stil installiert Erzeugt auf dem Inhalt von configure in Dateien basierend entsprechende aclocal m4 Dateien Ein harter Link auf aclocal Ein Werkzeug zum automatischen Erzeugen von Makefile in saussog Makefile am Dateien Um alle Makefile in Dateien eines Pakets zu erzeugen lassen Sie dieses Programm im Basisordner des Pakets laufen Durch das Scannen von configure in findet es automatisch jede n tige Makefile am Datei und erzeugt die entsprechende Makefile in Datei Ein harter Link auf automake Ein Wrapper f r verschiedene Compiler Ein Skript Es versucht kanonische Tripplets f r das Build den Host oder die Zielarchitektur zu erraten Ein Unter Skript zum Validieren der Konfiguration Ein Skript zum Kompilieren eines Programmes so dass nicht nur das gew nschte Ergebnis erzeugt wird sondern auch Abh ngigkeitsinformationen generiert werden Byte kompiliert Emacs Lisp Code Ein Skript welches ein Programm ein Skript oder eine Datendatei installiert Ein Skript welche
262. me von journal und netzwerkbasierten Dateisystemen cleanfs Entfernt Dateien die nicht ber einen Neustart hinaus existieren sollten Dazu geh ren zum Beispiel die Dateien in var run und var lock Es erzeugt var run utmp und entfernt die eventuell vorhandenen Dateien etc nologin fastboot und forcefsck console L d das f r Ihre Tastatur korrekte Tastaturlayout und stellt die Bildschirmschriftart ein consolelog Stellt die Protokollierungs Stufe des Kernels f r Konsole Meldungen ein functions Enth lt allgemeine Funktionen die von verschiedenen Skripten genutzt werden Dazu geh ren z B Fehler oder Statuspr fung halt H lt das System an ifdown Unterst tzt das Netzwerkskript beim Stoppen von Netzwerkger ten ifup Unterst tzt das Netzwerkskript beim Starten von Netzwerkger ten localnet Setzt den Hostnamen und das lokale Loopback Ger t auf modules L dt die in etc sysconfig modules aufgelisteten Kernel Module mit den ebenfalls dort angegebenen Argumenten mountfs H ngt alle nicht als noauto markierten und nicht netzwerkbasierten Dateisysteme ein mountkernfs H ngt virtuelle Kernel basierte Dateisysteme ein z B proc network Macht Netzwerkschnittstellen wie z B Netzwerkkarten verf gbar und richtet wenn n tig das Standard Gatway ein rc Das Haupt Runlevel Kontrollskript Es ist daf r verantwortlich alle anderen Skripte eins nach dem anderen in der richtigen Reihenfolge auszuf hren reboot Starte
263. meter enable install program hostname Hierdurch wird das Programm hostname erstellt und installiert in der Voreinstellung ist es von der Installation ausgeschlossen wird aber von der Perl Testsuite ben tigt Kompilieren Sie das Paket make Der Kompiliervorgang ist nun abgeschlossen Wie bereits erw hnt wird empfohlen die Testsuite f r das tempor re System in diesem Kapitel nicht durchlaufen zu lassen Falls Sie die Testsuite dennoch laufen lassen m chten f hren Sie dieses Kommando aus make RUN EXPENSIVE TESTS yes check Der Parameter RUN EXPENSIVE TESTS yes teilt der Testsuite mit noch zus tzliche Tests zu durchlaufen die auf einigen Plattformen sehr zeitintensiv sein k nnen Normalerweise ist das unter Linux aber kein Problem Installieren Sie das Paket make install Das obige Kommando kann su nicht installieren weil es als unprivilegierter Benutzer nicht setuid root gesetzt werden kann Installieren Sie es daher von Hand unter anderem Namen sodass es auch ein nicht privilegierter Benutzer im endg ltigen System f r Tests verwenden kann Au erdem behalten wir auf diese Weise eine funktionst chtige Version von su des Host Systems an erster Stelle im PATH Zur manuellen Installation benutzen Sie bitte dieses Kommando cp v src su tools bin su tools Details zu diesem Paket finden Sie in Abschnitt 6 18 2 Inhalt von Coreutils 50 Linux From Scratch Version 6 4 5 18
264. modprobe benutzt um ben tigte Module automatisch nachzuladen generate modprobe conf Erzeugt die Datei modprobe cond aus einer bestehenden Installation von 2 2er oder 2 4er Modulen insmod Installiert ein ladbares Modul in den laufenden Kernel insmod static Eine statisch kompilierte Version von insmod Ismod Listet die zur Zeit laufenden Kernelmodule auf modinfo Untersucht eine mit einem Kernelmodul assoziierte Objektdatei und zeigt die darin verfiigbaren Informationen an modprobe Benutzt eine von depmod erzeugte Abh ngigkeitsdatei um ben tigte Module automatisch nachzuladen rmmod Entl d ein Modul aus dem laufenden Kernel 142 Linux From Scratch Version 6 4 6 49 Patch 2 5 4 Das Paket Patch enth lt ein Programm zum Erzeugen oder Modifizieren von Dateien indem eine sogenannte Patch Datei angewendet wird Einen Patch erzeugt man blicherweise mit diff und er beschreibt in maschinenlesbarer Form die Unterschiede zwischen zwei Versionen einer Datei Gesch tzte weniger als 0 1 SBU Kompilierzeit Etwa Ben tigter 1 6 MB Speicherplatz 6 49 1 Installation von Patch Bereiten Sie Patch zum Kompilieren vor configure prefix usr Kompilieren Sie das Paket make Dieses Paket enth lt keine Testsuite Installieren Sie das Paket make install 6 49 2 Inhalt von Patch Installiertes Programm patch Kurze Beschreibungen patch Ver ndert Dateien nach den Vorgaben
265. mscratch org Version e 00 00 Notes E aE aE aE AE AE E ae aE AE aE E aE aE Ee HE a aaa Ea Pa etc sysconfig re Sie iE bua teat ouais Function to create files directory on boot disse ciles Y Read in the configuration file exec 9 gt amp 0 lt etc sysconfig createfiles while read name type perm usr grp dtype maj min junk do Ignore comments and blank lines case name in Nr comu sae pp esac f Ignore existing files if e S mame then Create stuff based on its type case S type in acie mkdir S name file gt S name dev case S dtype in char mknod S name c maj min mknod S name b maj min mknod name p boot mesg n nUnknown device type dtype S WARNING boot mesg S NORMAL Fw esac Pr boot mesg n nUnknown type type S WARNING 225 Linux From Scratch Version 6 4 boot mesg S NORMAL continue rr eSI 4 Set up the permissions too chown usr grp S name chmod perm S name fa done exec 0 gt amp 9 9 gt amp SAS SIS sm start boot mesg n Cleaning file systems S INFO boot mesg n tmp NORMAL cd tmp amp amp find xdev mindepth 1 name lost found V delete failed 1 boot mesg n var lock NORMAL cd var lock amp amp PLAC Eos E ses iam E Ih Ne zallec boot_mesg var run NORMAL cd va
266. n Stellt dem Anwender einige Fragen zu seinem Aufenthaltsort und erzeugt aus den Antworten eine passende Zeitzonenbeschreibung Verfolgt den Durchlauf eines Programmes indem es die jeweils ausgef hrte Funktion ausgibt Gibt Zeitzonen aus Ist ein Compiler f r Zeitzonen Ist ein Hilfsprogramm f r ausf hrbare gemeinsame Bibliotheken Wird intern von der GLibc verwendet um kaputte Programme z B einige Motif Programme zum Laufen zu bekommen Schauen Sie sich dazu die Kommentare in g1ibc 2 8 20080929 10cale broken cur max c an K mmert sich um die Verarbeitung von Speicherzugriffsfehlern wird von catchsegv eingesetzt Eine Bibliothek zum asynchronen Nachschlagen von Namen Mit Hilfe dieser Bibliothek k nnen einige BSD Programme Berkeley Software Distribution unter Linux ausgef hrt werden Dies ist die C Bibliothek Wird intern von der Glibc zur Unterst tzung von internationlisierten Dom nennamen mit der Funktion getaddrinfo verwendet Dies ist die Kryptographie Bibliothek 79 lib lib lib lib lib lib lib lib dl g ieee m mcheck memusage nsl nss libpcprofile libpthread lib lib lib resolv rpcsvc rt libthread db libutil Linux From Scratch Version 6 4 Eine Schnittstellenbibliothek zum dynamischen Linker Eine Dummy Bibliothek ohne jegliche Funktionen Dies war fr her eine Laufzeitbibliothek f r g Das Einbinden verlinken dieses Moduls erzwingt die
267. n 7 12 1 Symbolische Links f r CD Roms Einige von den Programmen die Sie vielleicht sp ter installieren m chten erwarten die Existenz der symbolischen Links dev cdrom und dev dvd und dass diese auf ein CD Rom oder DVD Laufwerk verweisen z B einige Media Player Au erdem k nnte es praktisch sein diese symbolischen Links in etc fstab einzutragen Udev enth lt ein Skript welches Regel Dateien erzeugt die diese symbolischen Links f r Sie anlegen abh ngig von den verf gbaren Funktionen der Ger te Es gibt zwei Betriebsmodi in denen die Skripte laufen k nnen Sie m ssen sich entscheiden welchen der Modi Sie verwenden m chten Zum Einen kann das Skript nach Pfad arbeiten Voreinstellung f r USB und FireWire Ger te wobei die erzeugten Regeln abh ngig vom physikalischen Pfad zu dem CD oder DVD Ger t sind Au erdem kann das Skript nach ID arbeiten Voreinstellung f r IDE und SCSI Ger te wobei die erzeugten Regeln abh ngig sind von Identifikationsmerkmalen die in den CD DVD Ger ten selber gespeichert sind z B Seriennummer Ein Pfad wird von Udevs Skript path_id ermittelt und ein Identifikationsmerkmal wird aus der Ger tehardware mit den Programmen ata_id bzw scsi_id ausgelesen je nach verwendetem Ger t Jede Vorgehensweise hat ihre Vorteile welche Methode Sie am besten verwenden h ngt davon ab welche Ger te nderungen stattfinden k nnen Fall sich voraussichtlich der physikalische Pfad zu einem
268. n rpcgen rpcinfo sin sprof tzselect xtrace zdump zic ld so libBrokenLocale libSegFault libanl libbsd compat labe libcidn libcrypt Kann zum Erzeugen eines Stacktrace benutzt werden falls ein Programm mit einem Speicherzugriffsfehler abst rzt Erzeugt Nachrichtenkataloge Zeigt System Konfigurationswerte f r dateisystemspezifische Variablen an Liest Eintr ge aus einer administrativen Datenbank F hrt Zeichensatzkonvertierungen durch Erzeugt schnellladende iconv Konfigurationsdateien Richtet die Laufzeitbindungen des dynamischen Linkers ein Gibt aus welche gemeinsamen Bibliotheken von einem Programm oder einer Bibliothek ben tigt werden Unterst tzt Idd bei der Arbeit mit Objektdateien Zeigt verschiedene Informationen ber die aktuelle Locale an Erzeugt Locale Spezifikationen Liest und interpretiert eine Speicher R ckverfolgungsdatei und gibt eine normal lesbare Zusammenfassung aus Der name service cache daemon er stellt einen Zwischenspeicher f r die meisten namensbasierten Anfragen zur Verf gung Gibt Informationen aus die durch PC Profiling erzeugt wurden Ist ein Hilfsprogramm zu grantpt Es Slave Pseudo Terminals setzt Besitzer Gruppe und Zugriffsberechtigungen von Erzeugt C Code zum Implementieren des RPC Protokolls Generiert eine RPC Anfrage an einen RPC Server Dies ist die statisch gelinkte Variante von In Liest Profiling Daten zu Shared Objects und zeigt sie a
269. n Sie die neue Datei etc sysconfig clock mit dem folgenden Kommando an cat etc sysconfig clock EOF Begin etc sysconfig clock IU db End etc sysconfig clock EOF 169 Linux From Scratch Version 6 4 Vielleicht m chten Sie sich nun die sehr gute Anleitung unter http Avww linuxfromscratch org hints downloads files time txt ansehen Hier wird erkl rt wie man unter LFS mit der Systemzeit Zeitzonen UTC und der Variable TZ umgeht 7 6 Einrichten der Linux Konsole Dieser Abschnitt behandelt die Bootskripts console und consolelog mit denen die Tastaturbelegung die Konsoleschriftart und die Kernel Protokollstufe f r die Konsole eingerichtet werden Falls Sie nur ASCH Zeichen verwenden das Copyright Symbol Britische Pfund oder das Euro Zeichen sind Beispiele f r nicht ASCII Zeichen und Ihre Tastatur eine US Amerikanische ist dann k nnen Sie gro e Teile in diesem Abschnitt berspringen Wenn diese Konfigurationsdateien nicht erstellt werden unternehmen diese Bootskripte einfach nichts Die Skripte console und consolelog lesen etc sysconfig console als Konfigurationsdatei ein Entscheiden Sie welche Tastaturbelegung und Bildschirmschriftarten Sie benutzen m chten Die verschiedenen sprachbezogenen Hilfsdokumente unter http www tldp org HOWTO HOWTO INDEX other lang html k nnen Sie bei der Entscheidung unterst tzen Wenn Sie unsicher sind schauen Sie in 1ib kbd nach g ltigen Tastaturbelegungen
270. n Sie unter http www linuxfromscratch org livecd Dort k nnen Sie auch eine Kopie der CD herunterladen Anmerkung Die LFS Live CD k nnte auf neueren Rechnern m glicherweise gar nicht oder nur fehlerhaft funktionieren Eventuell l sst sie sich nicht starten oder einige Ger te werden nicht richtig erkannt wie z B manche SATA Festplatten Kapitel 2 beschreibt das Anlegen einer neuen Linux Partition und eines Dateisystems auf dem Ihr neues LFS System kompiliert und installiert wird In Kapitel 3 erfahren Sie welche Pakete und Patches Sie herunterladen m ssen Kapitel 4 erkl rt das Einrichten einer funktionsf higen Arbeitsumgebung f r die kommenden Arbeitsschritte Bitte lesen Sie Kapitel 4 aufmerksam durch Es behandelt ein paar m gliche Schwierigkeiten die Ihnen vor der Arbeit mit Kapitel 5 und den folgenden bekannt sein sollten Kapitel 5 beschreibt dann die Installation der Pakete f r die grundlegende Entwicklungsumgebung im weiteren Verlauf des Buches Toolchain genannt Die Toolchain ist eine Sammlung der n tigsten Werkzeuge und wird sp ter in Kapitel 6 verwendet um das endg ltige System zu erstellen Einige dieser Pakete werden zum Aufl sen rekursiver Abh ngigkeiten ben tigt zum Beispiel brauchen Sie einen Compiler um einen Compiler zu kompilieren Kapitel 5 erkl rt auch wie die erste Version der Basiswerkzeuge inklusive Binutils und GCC erzeugt wird Erste Version bedeutet in diesem Zusammenhang dass dies
271. n anderen zum Teil veralteten Kodierungen man sucht nach Man pages in der Lokalisierung des Anwenders Man DB verwendet eine eingebaute Hilfstabelle siehe unten um die Kodierung der 138 Linux From Scratch Version 6 4 Man pages zu bestimmen die f r die Lokalisierung des Benutzers gefunden wurden falls die Speicherorte den Namen der Kodierung nicht ber ihren Namen preisgeben Beispielsweise wei Man DB aufgrund des Ordnernamens UTF 8 dass alle Man pages in diesem Ordner usr share man fr UTF 8 in UTF 8 Kodierung vorliegen Basierend auf der eingebauten Tabelle wiederum ist bekannt dass die Man pages in usr share man ru in KOI8 R vorliegen sollten Tabelle 6 1 Erwartete Zeichenkodierung f r 8 Bit Hilfeseiten Sprache Code Kodierung D nisch da ISO 8859 1 Deutsch de ISO 8859 1 Englisch de ISO 8859 1 Spanisch es ISO 8859 1 Finnisch fi ISO 8859 1 Franz sisch fr ISO 8859 1 Hrisch ga ISO 8859 1 Galician gl ISO 8859 1 Indonesisch id ISO 8859 1 Isl ndisch is ISO 8859 1 Italienisch it ISO 8859 1 Niederl ndisch nl ISO 8859 1 Norwegisch no ISO 8859 1 Portugiesisch pt ISO 8859 1 Schwedisch sv ISO 8859 1 Bulgarisch bg CP1251 Tchechisch cs ISO 8859 2 Kroatisch hr ISO 8859 2 Ungarisch hu ISO 8859 2 Japanisch ja EUC JP Koreanisch ko EUC KR Polnisch pl ISO 8859 2 Russisch ru KOI8 R Slovaki
272. n ausgeben Land und Sprache den vom Locale benutzten Zeichensatz die W hrung und den internationalen Telefonnumern Prefix Falls eines der Kommandos eine Fehlermeldung wie die folgende ausgibt dann wurde entweder die Locale in Kapitel 6 nicht installiert oder wird von der Standardinstallation von Glibc nicht unsterst tzt locale Cannot set LC_ to default locale No such file or directory Falls Sie diese oder eine hnliche Fehlermeldung erhalten sollten Sie die gew nschte Locale installieren oder eine andere Locale verwenden Zur Installation der fehlenden Locale benutzen Sie das Programm localedef Alle weiteren Schritte im Buch gehen davon aus dass Sie keine solche Fehlermeldung wie oben erhalten haben bzw dass der Fehler beseitigt wurde Es gibt einige Pakete au erhalb von LFS die Ihre Locale m glicherweise nicht richtig unterst tzen Ein Beispiel daf r ist die X Bibliothek Teil des X Window System die die folgende Meldung ausgibt wenn der Name f r das Locale nicht exakt auf eine der internen Zeichensatztabellen passt Warning locale not supported by Xlib locale set to C In vielen F llen erwartet Xlib dass der Name f r den Zeichensatz in Gro buchstaben und mit Bindestrichen geschrieben wird Also ISO 8859 1 statt iso88591 Manchmal hilft es auch den Zeichensatz aus dem Namen der Locale wegzulassen Dies k nnen Sie mit dem Kommando locale charmap in beiden Locales pr fen Sie w rden also de_DE ISO 885
273. n sehr hilfreich sein Bitte Kopieren Sie aber nicht einfach blindlings die gesamte Ausgabe andererseits sollte es aber auch nicht zu wenig sein Als Beispiel f r sinnvolle Informationen soll Ihnen folgende Ausgabe von make helfen gcc DALIASPATH mnt lfs usr share locale DLOCALEDIR mnt 1lfs usr share locale DLIBDIR mnt 1lfs usr lib DINCLUDEDIR N mnt lfs usr includeN DHAVE_CONFIG H I T g 6 gjeuoptl e eee e OZ2 statiei 0 melee euro arscamoo Commands 0 bie o socie ileso Elacrtioa o Gjeuoe o iimmppdolei o 709 0 wis O misc o read o remake o rule o signame o variable o vpath o default o remote stub o version o optl o lest jielooos Ja tbinciealoim loes too lug s lfs tmp make 3 79 1 job c 1565 undefined referenc to getloadavg collect2 ld returned 1 exit status Make 2 8 make Error 1 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 999 lall reeeusiwe euwn Boror 2 In diesem Fallbeispiel kopieren viele leider nur den unteren Teil make 1218 make uio IL Das reicht uns aber nicht um Ihnen bei der Fehlerdiagnose helfen zu k nnen denn es sagt uns nur dass etwas schiefgelaufen ist aber nicht was Sie m ssen den ganzen oben gezeigten Block angeben denn er enth lt das ausgef hrte Kommando und die dazugeh rige Fehlermeldung en
274. n sein Sie m ssten den Namen Ihres dynamischen Linkers herausfinden k nnen wenn Sie auf Ihrem Host System in den Ordner 1ib schauen Um wirklich sicher zu gehen k nnen Sie eine beliebige Bin rdatei auf Ihrem Host System berpr fen readelf 1 Name einer Bin rdatei gt grep interpreter Notieren Sie die Ausgabe Eine Referenz die alle Plattformen abdeckt finden Sie in der Datei sh1ib versions im Basisordner des Glibc Quellordners Hier ein paar technische Anmerkungen zum Kompiliervorgang in Kapitel 5 Der Kompiliervorgang ist im Grunde hnlich wie Cross Kompilieren Dabei funktionieren Programme im selben Prefix in Kooperation und benutzen dazu ein wenig GNU Magie Durch vorsichtiges Anpassen des Suchpfades f r den Standard Linker erreichen Sie dass Programme nur gegen die gew nschten Bibliotheken gelinkt werden e Durch vorsichtiges Anpassen von gecs specs Datei teilen Sie dem Compiler mit welcher Dynamische Linker verwendet wird Als erstes wird Binutils installiert da sowohl GCC als auch Glibc beim Durchlaufen des configure Skriptes einige Tests zum Assembler und Linker durchf hren und auf dem Ergebnis basierend bestimmte Funktionen ein bzw ausschalten Das ist wichtiger als man zun chst denken mag Ein falsch eingerichteter GCC oder Glibc kann zu Fehlern in der Toolchain f hren die erst am Ende der Installation des LFS Systems bemerkt werden Zum Gl ck weisen Fehlschl ge beim Durchlaufen der Testsuites im Regelfa
275. n wie z B etc 1d so conf verwendet Hervorhebung Diese Textform wird f r verschiedene Zwecke benutzt und soll wichtige Details hervorheben http www linuxfromscratch org Auf diese Weise werden Links dargestellt sowohl innerhalb des Buches als auch zu externen Seiten wie z B HOWTOs Download Adressen und Webseiten cat gt SLFS etc group lt lt EOF TOOT g x 808 Ioalia sg il 8 Solche Textabschnitte werden haupts chlich beim Erstellen von Konfigurationsdateien verwendet Der obige Block erzeugt die Datei SLFS etc group mit dem nachfolgenden Inhalt bis die Zeichenfolge EOF erkannt wird Normalerweise m ssen Sie Text in dieser Form exakt so eingeben wie er zu sehen ist ZU ERSETZENDER TEXT Dies ist Text den Sie nicht einfach blindlings abschreiben oder kopieren und einf gen d rfen OPTIONALER TEXT Mit den eckigen Klammern wird Text markiert der optional ist passwd 5 Diese Textform wird verwendet um sich auf eine Man page zu beziehen Die Zahl in Klammern bezeichnet eine bestimmte Sektion in man passwd z B hat zwei Man pages Nach der LFS Anleitung werden diese nach usr share man manl passwd 1 und usr share man man5 passwd 5 installiert Beide Man pages enthalten unterschiedliche Informationen und Themenbereiche Linux From Scratch Version 6 4 Wenn Sie also passwd 5 lesen bezieht sich das Buch explizit auf usr share man man5 passwd 5 Das Kommando man passwd zeigt die erste gefundene Man pag
276. nd Kompilierordner jedesmal nach dem Installieren eines Pakets l schen Dadurch verhindern Sie m gliche Fehlkonfigurationen falls ein Paket sp ter erneut installiert werden muss 28 Linux From Scratch Version 6 4 Bevor Sie fortfahren stellen Sie bitte mit folgendem Kommando sicher dass die LF S Umgebungsvariable korrekt gesetzt ist echo LFS Die Ausgabe muss den Pfad zum Mountpunkt Ihrer LFS Partition anzeigen Wenn Sie unserem Beispiel gefolgt sind sollte dieser mnt lfs lauten Schlussendlich muss noch ein wichtiger Punkt erw hnt werden D Wichtig Alle Kompilier Anweisungen setzen voraus dass Sie die Bash Shell einsetzen Bevor Sie ein Paket installieren m ssen Sie das jeweilige Tar Archiv bereits als Benutzer 1 fs entpackt und mit cd in den entpackten Ordner gewechselt haben Danach k nnen Sie die jeweilige Installationsanleitung durcharbeiten 29 Linux From Scratch Version 6 4 5 4 Binutils 2 18 Durchlauf 1 Binutils ist eine Sammlung von Software Entwicklungswerkzeugen Dazu geh ren zum Beispiel Linker Assembler und weitere Programme f r die Arbeit mit Objektdateien Gesch tzte 1SBU Kompilierzeit Etwa Ben tigter 213 MB Speicherplatz 5 4 1 Installation von Binutils Es ist wichtig dass Binutils als erstes Paket kompiliert wird weil Glibc und GCC verschiedene Tests bez glich Linker und Assembler durchf hren und erst daraufhin bestimmte Funktionen aktivieren Bintutils erk
277. nden Kill eines Dienstes das S bedeutet starten start eines Dienstes Die Zahlen bestimmen die Reihenfolge in der die Skripte ausgef hrt werden und k nnen zwischen 00 und 99 liegen Je kleiner die Zahl desto fr her wird das Skript ausgef hrt Wenn init in einen anderen Runlevel wechselt werden die n tigen Skripte gestoppt und andere daf r gestartet Bisher war nur von Links die Rede Die echten Skripte befinden sich in etc rc d init d Sieerledigen die eigentliche Arbeit denn die ganzen symbolischen Links zeigen nur auf sie Stopp und Startskripte zeigen jeweils auf dieselbe Datei in etc rc d init d Das funktioniert weil die Bootskripte mit unterschiedlichen Parametern aufgerufen werden k nnen zum Beispiel start stop restart reload status Wenn ein K Link ausgef hrt werden soll wird das entsprechende Skript mit dem stop Parameter aufgerufen Wenn ein S Link ausgef hrt werden soll wird das Skript mit dem start Parameter aufgerufen Es gibt eine Ausnahme S Links in den Ordnern rco d und rc6 d starten keine Dienste Sie werden stattdessen mit dem Parameter stop aufgerufen um etwas zu beenden Die Grund daf r ist dass Sie wohl kaum einen Dienst starten m chten wenn Sie rebooten oder das System herunterfahren Hier die Beschreibungen welche Parameter zu einem Skript was bewirken start Der Dienst wird gestartet stop Der Dienst wird gestoppt restart Der Dienst wird gestoppt und dann erneut gestartet reload Di
278. nden k nnen Wird von debugfs benutzt Enth lt Routinen zum Erzeugen von einmaligen Bezeichnern f r Objekte die hinter dem lokalen System verf gbar sein k nnten 95 Linux From Scratch Version 6 4 6 18 Coreutils 6 12 Das Paket Coreutils enth lt viele Shell Werkzeuge zum Einstellen der grundlegenden Systemeigenschaften Gesch tzte 1 7 SBU inkl Testsuite Kompilierzeit Etwa Ben tigter 89 MB inkl Testsuite Speicherplatz 6 18 1 Installation von Coreutils Die Funktion von uname ist bekannterweise ein wenig fehlerhaft weil der Parameter p immer unknown ausgibt Der folgende Patch behebt das Problem auf Intel Architekturen patch Npl i coreutils 6 12 uname 1 patch Es gibt einen internen Fehler in Coreutils der bei einigen Programmen zu abnormalem Verhalten f hrt wenn Sie f r den Bau einen lteren Kernel verwenden Wenden Sie den folgenden Patch an um das Problem zu beheben patch Npl i coreutils 6 12 old build kernel 1 patch Von POSIX wird verlangt dass die Programme von Coreutils Zeichengrenzen auch in Multibyte Locales erkennen Der folgende Patch behebt einige diesbez gliche Fehler patch Npl i coreutils 6 12 i18n 2 patch Anmerkung In der Vergangenheit wurden leider viele Fehler in diesem Patch gefunden Wenn Sie neue Fehler an die Entwickler von Coreutils berichten m chten pr fen Sie bitte zuallererst ob sich der Fehler auch ohne diesen Patch noch rep
279. nderer eingeh ngter Dateisysteme wenn nicht anders angegeben und tr gt jeden gefundenen Dateinamen in die Datenbank ein xargs Kann benutzt werden um ein bestimmtes Kommando auf eine Liste von Dateien anzuwenden 121 6 36 Flex 2 5 35 Mit Flex kann man Programme zum Erkennen von Textmustern erzeugen Gesch tzte 0 2 SBU Kompilierzeit Etwa Ben tigter 28 MB inkl Testsuite Speicherplatz 6 36 1 Installation von Flex Bereiten Sie Flex zum Kompilieren vor Linux From Scratch Version 6 4 configure prefix usr Kompilieren Sie das Paket make Um die Ergebnisse zu testen ca 0 5 SBUs f hren Sie dieses Kommando aus make check Installieren Sie das Paket make install Einige Programme erwarten die 1ex Bibliothek in usr 1ib Erstellen Sie daher einen entsprechenden symbolischen Link ln sv libfl a usr lib libl a Einige wenige Programme kennen flex noch nicht und versuchen den Vorg nger lex aufzurufen Um diesen Programmen dennoch gerecht zu werden erzeugen Sie ein kleines Shell Skript mit dem Namen lex welches 1ex im lex Emulationsmodus aufruft cat usr bin lex EOF bin sh f Begin usr bin lex exec usr bin flex 1 S End usr bin lex EOF chmod v 755 usr bin lex Falls gew nscht installieren Sie die Dokumentationsdatei 1ex pdf mkdir v usr share doc flex 2 5 35 cp v doc flex pdf usr share doc flex 2 5 35
280. ne Systemarchitektur in einer neuen Programm Umgebung und stellt pers nliche Schalter ein F hrt ein Kommando in einer neuen Sitzung aus Stellt Terminal Attribute ein Kann Festplattenpartitionen bearbeiten Aktiviert Auslagerungsdateien und ger te und zeigt bereits verwendete Ger te und Dateien an Verfolgt das Wachstum einer Protokolldatei Zeigt zuerst die letzten zehn Zeilen einer Protokolldatei an und h ngt dann der Reihe nach neu hinzugekommene Zeilen an die Ausgabe an Legt die Bindung eines Prozesses an eine mehrere CPUs fest bzw zeigt sie an Justiert Parameter eines Zeilendruckers Ein Filter zum bersetzen von Unterstrichen in entsprechende Escape Sequenzen die das verwendete Terminal versteht L st ein Dateisystem aus der Ordnerstruktur Zeigt den Inhalt einer Datei an oder in der Voreinstellung seine Standard Eingabe auf alle Terminals aller angemeldeten Benutzer Gibt den Ort der Bin rdatei der Quellen und der Man pages f r ein Kommando aus Sendet eine Nachricht an einen Benutzer sofern der Benutzer den Empfang solcher Nachrichten nicht deaktiviert hat 157 Linux From Scratch Version 6 4 6 58 Vim 7 2 Das Paket Vim enth lt einen sehr m chtigen Texteditor Gesch tzte 0 8 SBU Kompilierzeit Etwa Ben tigter 67 MB Speicherplatz Alternativen zu Vim Wenn Sie einen anderen Editor bevorzugen zum Beispiel Emacs Joe oder Nano dann schauen Sie unter http www linuxfromscratch o
281. nen Au erdem ben tigen Sie einen Arbeitsordner zum Entpacken und Kompilieren der Quellen Am besten benutzen Sie den Ordner SLFS sources sowohl zum Speichern der Quellen und Patches als auch als Arbeitsordner Damit haben Sie alles N tige immer auf der LFS Partition und in allen Arbeitsschritten des Buches verf gbar Sie sollten folgendes Kommando als Benutzer root auszuf hren bevor Sie mit dem Herunterladen der Pakete beginnen mkdir v LES sources Machen Sie den Ordner f r jeden beschreibbar und sticky Der Sticky Modus bewirkt dass jeweils nur der Besitzer einer Datei diese auch l schen kann selbst dann wenn mehrere Benutzer Schreibrechte in dem Ordner haben Das folgende Kommando schaltet Schreib und Sticky Berechtigungen ein chmod v atwt SLFS sources 3 2 Alle Pakete Bitte laden Sie die folgenden Pakete herunter Autoconf 2 63 1 195 KB Webseite http www gnu org software autoconf Download http ftp gnu org gnu autoconf autoconf 2 63 tar bz2 MDS5 Pr fsumme 756580 9ed801bb5726da0631ceab3699 Automake 1 10 1 897 KB Webseite http www gnu org software automake Download http ftp gnu org gnu automake automake 1 10 1 tar bz2 MD5 Pr fsumme 451039le6b3edaa4cffb3ced87c9560c Bash 3 2 2 471 KB Webseite http www gnu org software bash Download http ftp gnu org gnu bash bash 3 2 tar gz MD5 Pr fsumme 00bfal6d58e034e3c2aa27 390390d30 Bash Dokumentation 3 2
282. neue Verhalten benutzt wird Wenn Sie zum vi kompatiblen Modus wechseln m chten sollte compatible im Kopfbereich der Datei stehen Das ist n tig weil diese Option viele Voreinstellungen f r Parameter vornimmt Ihre eigenen nderungen an diesen Parametern m ssen danach erfolgen weil sie sonst von compatible zur ckgesetzt w rden Erzeugen Sie eine Standard vim Konfigurationsdatei mit diesem Kommando cat gt etc vimrc lt lt EOF Begin etc vimrc set nocompatible set backspace 2 syntax on if amp term iterm amp term putty set background dark endif End etc vimrc EOF Der Parameter set nocompatible versetzt vim in einen n tzlicheren Betriebsmodus Voreinstellung als den vi kompatiblen Modus Entfernen Sie das no falls Sie das alte vi Verhalten nutzen m chten set backspace 2 erlaubt das sogenannte Backspacing ber Zeilenumbr che hinweg automatisches Einr cken und das Starten von Einr ckungen syntax on aktiviert vims Hervorheben von Syntax Schlie lich stellt die if Verzweigung sicher dass mittels set background dark die Hintergrundfarbe von bestimmten Terminals besser eingestellt ist Dadurch wird hervorgehobene Syntax in diesen Terminal Emulatoren besser lesbar Die Dokumentation zu weiteren m glichen Optionen erhalten Sie mit diesem Kommando vim c options Anmerkung Normalerweise installiert Vim die Dateien zur Rechtschreibpr fung nur in englisch
283. nktionierenden Pseudo Terminals PTYs abh ngig Diese werden vom Host System bereitgestellt Heutzutage werden PTYs meist ber das Dateisystem devpts implementiert Ob Ihr Host System korrekt eingerichtet ist k nnen Sie mit einem einfachen Test feststellen expect c spawn ls Das Ergebnis k nnte so aussehen The system has no more ptys Ask your system administrator to create more Wenn Sie die obige Meldung sehen ist Ihr Host System nicht korrekt f r PTYs eingerichtet Solange Sie dieses Problem nicht behoben haben brauchen Sie die Testsuites von GCC und Binutils gar nicht erst durchlaufen lassen Wenn Sie mehr Informationen zum Einrichten von PTYs brauchen schauen Sie am besten in die LFS FAQ unter http www linuxfromscratch org fs fag html no ptys In Abschnitt 5 8 Anpassen der Toolchain wurde bereits erkl rt dass GCC unter normalen Umst nden sein fixincludes Skript laufen l sst um defekte Header Dateien aufzufinden und zu reparieren Da an diesem Punkt GCC 4 3 2 und Glibc 2 8 20080929 bereits installiert sind und deren Header Dateien definitiv nicht repariert werden m ssen wird das fixincludes Skript eigentlich nicht ben tigt Wie bereits erw hnt k nnte es sogar den negativen Nebeneffekt haben Header Dateien vom Host System in das LFS System einzuschleusen Mit dem folgenden Kommando k nnen Sie das Ausf hren des fixincludes Skriptes verhindern cp v gcc Makefile in orig sed s fixinc sh
284. nstall Details zu diesem Paket finden Sie in Abschnitt 6 41 2 Inhalt von Gzip 57 Linux From Scratch Version 6 4 5 25 M4 1 4 12 MA enth lt einen Makroprozessor Gesch tzte 0 2 SBU Kompilierzeit Etwa Ben tigter 10 MB Speicherplatz 5 25 1 Installation von M4 Bereiten Sie M4 zum Kompilieren vor configure prefix tools Kompilieren Sie das Paket make Der Kompiliervorgang ist nun abgeschlossen Wie bereits erw hnt wird empfohlen die Testsuite f r das tempor re System in diesem Kapitel nicht durchlaufen zu lassen Falls Sie die Testsuite dennoch laufen lassen m chten f hren Sie dieses Kommando aus make check Installieren Sie das Paket make install Details zu diesem Paket finden Sie in Abschnitt 6 20 2 Inhalt von M4 58 Linux From Scratch Version 6 4 5 26 Make 3 81 Das Paket Make enth lt Werkzeuge zum Kompilieren von Software Gesch tzte 0 1 SBU Kompilierzeit Etwa Ben tigter 9 6 MB Speicherplatz 5 26 1 Installation von Make Bereiten Sie Make zum Kompilieren vor configure prefix tools Kompilieren Sie das Paket make Der Kompiliervorgang ist nun abgeschlossen Wie bereits erw hnt wird empfohlen die Testsuite f r das tempor re System in diesem Kapitel nicht durchlaufen zu lassen Falls Sie die Testsuite dennoch laufen lassen m chten f hren Sie dieses Kommando aus make check
285. nsweise unerw nscht ist m ssen Sie den Parameter g an useradd bergeben Die Standard Parameter werden in der Datei etc default useradd gespeichert Wahrscheinlich m ssen Sie zwei Parameter an Ihre Bed rfnisse anpassen etc default useradd Parameter Erkl rungen GROUP 1000 Mit diesem Parameter legen Sie fest mit welcher Nummer Gruppen Kennungen in etc group beginnen sollen Sie k nnen diesen Paramter ganz nach belieben anpassen Beachten Sie dass useradd eine UID oder GID niemals zweimal verwenden wird Wenn eine Nummer bereits vergeben ist wird die n chsth here freie verwendet Beachten Sie des Weiteren Wenn keine Gruppe 1000 im System existiert wird bei der ersten Ausf hrung von useradd ohne den Parameter g eine Meldung useradd unknown GID 1000 erscheinen Diese Meldung k nnen Sie getrost ignorieren und die Gruppe mit der Kennung 1000 wird verwendet CREATE MAIL SPOOL yes Durch diesen Parameter wird useradd eine Mailbox Datei f r jeden neu angelegten Benutzer erzeugen useradd stellt den Gruppenbesitzer f r die Mailbox Datei auf mail mit den Rechten 0660 ein Wenn Sie nicht w nschen dass useradd Mailbox Dateien erstellt geben Sie das folgende Kommando ein sed i s yes no etc default useradd 6 51 3 Vergeben des Passworts f r root W hlen Sie ein Kennwort f r den Benutzer root und setzen Sie es mit dem Kommando passwd root 6 51 4 Inhalt von Shadow Installierte Programme chage chfn c
286. o have the kernel call out to any binary in response to them echo proc sys kernel hotplug Copy static device nodes to dev cp a lib udev devices dev Start the udev daemon to continually watch for and act on uevents sbin udevd daemon Now traverse sys in order to coldplug devices that have already been discovered sbin udevadm trigger Now wait for udevd to process the uevents we triggered 218 Linux From Scratch Version 6 4 sbin udevadm settle evaluate_retval echo Usage o o Esa exit 1 rr esac End rc_base init d udev D 7 etc rc d init d swap bin sh IATA Begin rc_base init d swap i Ines on Swap Control Seripitc Authors Gerard Beekmans gerard linuxfromscratch org Version 3 0 9 0 0 Notes IEEE HEE HEE HEE HEE EEE HEE HEE HEE EEE HEE EE HE HE HEE HE E E E E E E EE etc sysconfig rc S rc functions Came UST sim start boot mesg Activating all swap files partitions swapon a evaluate retval rm stop boot mesg Deactivating all swap files partitions swapoff a evaluate retval rm restart 0 stop sleep 1 S O sSieeuric rm status boot mesg Retrieving swap status S INFO echo ok echo swapon s F Sanos age S10 Terarce aroa reserare sis artisan 219 Linux From Scratch Version 6 4 exit 1 eG f End rc base init d swap D 8 etc rc d init d setclock bin sh EE a
287. ogger look losetup mcookie mkfs mkfs bfs mkfs cramfs mkfs minix mkswap more mount namei partx pg pivot root readprofile rename renice rev rtcwake script scriptreplay setarch setsid setterm sfdisk swapon tailf taskset tunelp ul umount wall whereis und write Kurze Beschreibungen addpart Informiert den Linux Kernel ber neue Partitionen agetty ffnet einen tty Port fragt nach dem Login Namen und startet das Programm login arch Gibt die Systemarchitektur aus blockdev Erm glicht den Aufruf von Blockger te ioctls an der Kommandozeile cal Zeigt einen einfachen Kalender an cfdisk Wird zum Bearbeiten der Partitionstabelle eines Ger tes benutzt chkdupexe Findet Duplikate von ausf hrbaren Dateien chrt Manipuliert Echtzeit Attribute eines Prozesses 155 col colcrt colrm column ctrlaltdel cytune ddate delpart dmesg fdformat fdisk flock fsck cramfs fsck minix getopt hexdump hwclock 1386 ionice iperm ipcs isosize Idattach linux32 linux64 line logger look losetup mcookie mkfs mkfs bfs mkfs cramfs mkfs minix mkswap more mount namei partx ps pivot_root readprofile rename renice rev Linux From Scratch Version 6 4 Filtert R ckw rts Zeilenvorsch be aus Filtert nroff Ausgaben f r Terminals denen bestimmte F higkeiten fehlen wie zum beispiel durchstreichen oder halbe Zeilen Filtert eine bestimmte Spalte aus Formatiert eine Datei in mehrere Spa
288. ogrammierer und Systemadministratoren mit der man sein Linux Wissen erweitern Kann Aus diesem breiten Interesse heraus entstand dann das Projekt Linux From Scratch Diese Buch soll dem Leser das Wissen vermitteln und n tige Anleitungen bereitstellen um ein eigenes Linux System zu entwerfen und zu erstellen Es hebt das Projekt Linux From Scratch und die Vorteile dieses Systems hervor Der Leser kann alle Eigenschaften des Systems selber vorgeben inklusive dem Layout der Ordnerstruktur Skript Einstellungen und Sicherheit Das entstehende Linux System wird direkt aus dem Quellcode kompiliert und man kann selber entscheiden wo warum und wie Programme installiert werden Dieses Buch erm glicht es jedem Linux Systeme an die eigenen Bed rfnisse anzupassen und mehr Kontrolle ber das System zu erlangen Ich w nsche Ihnen viel Freude bei der Arbeit an Ihrem eigenen LFS System Genie en Sie die Vorteile eines Systems das wirklich Ihr Eigen ist Gerard Beekmans gerard linuxfromscratch org Warum sollte man dieses Buch lesen Es gibt viele gute Gr nde dieses Buch zu lesen Die meisten Leser m chten lernen wie man ein Linux System direkt aus den Quellen erstellt Oft wird die Frage gestellt Warum soll man sich die M he machen ein Linux System selbst zu erstellen wenn man einfach ein fertiges Linux herunterladen und installieren kann Das ist eine berechtigte Frage und gleichzeitig auch der Ansto f r dieses Kapitel Ein wichti
289. ols bin an die Umgebungsvariable PATH werden alle in Kapitel 5 installierten Programme beim Durchsuchen der Pfade als erstes gefunden und von der Shell sofort benutzt Zusammen mit dem Abschalten der Hash Funktion der Bash wird so das Risiko minimiert dass eventuell alte Programme vom Host System benutzt werden obwohl schon eine neuere Version aus Kapitel 5 auf dem System existiert Um die Arbeitsumgebung endg ltig fertig zu stellen muss das soeben erzeugte Profil eingelesen werden source bash profile 4 5 Informationen zu SBUs Die meisten Leser m chten gerne vorher wissen wie lange das Kompilieren und Installieren der Pakete dauert Linux From Scratch wird aber auf so unterschiedlichen Systemen gebaut dass es unm glich ist echte auch nur ann hernd akkurate Zeiten anzugeben Das gr te Paket Glibc braucht auf schnellen Maschinen nicht einmal 20 Minuten aber auf langsamen Maschinen drei Tage oder mehr Anstatt Ihnen also Zeiteinheiten zu nennen haben wir uns f r die Standard Binutils Unit entschieden Abgek rzt SBU Das funktioniert so Das erste zu kompilierende Paket ist Binutils in Kapitel 5 Die Zeit die Ihr Computer zum Kompilieren dieses Pakets braucht entspricht einer Standard Binutils Unit bzw SBU Alle weiteren Kompilierzeiten werden relativ zu dieser Zeit angegeben Nehmen Sie als Beispiel ein Paket mit 4 5 SBU Wenn das Kompilieren der Binutils 10 Minuten gedauert hat dann dauert es ungef hr
290. ompilieren Sie das Paket make Um die Ergebnisse zu testen geben Sie folgendes ein make check Installieren Sie das Paket make install 6 20 2 Inhalt von M4 Installiertes Programm m4 Kurze Beschreibungen m4 Kopiert die Eingabe zur Ausgabe und f hrt dabei Makros aus Die Makros k nnen entweder vordefiniert oder selbstgeschrieben sein und beliebige Argumente bernehmen Neben der F higkeit Makros auszuf hren besitzt m4 eingebaute Funktionen zum Einf gen benannter Dateien zum Ausf hren von Unix Befehlen und Integer Berechnungen zur Manipulation von Text und zur Behandlung von Rekursionen usw m4 kann entweder als Frontend zu einem Compiler oder als eigenst ndiger Makroprozessor genutzt werden 101 Linux From Scratch Version 6 4 6 21 Bison 2 3 Mit Bison lassen sich Programme generieren die die Struktur einer Textdatei analysieren Gesch tzte 0 2 SBU Kompilierzeit Etwa Ben tigter 12 3 MB Speicherplatz 6 21 1 Installation von Bison Bereiten Sie Bison zum Kompilieren vor configure prefix usr Das configure System bereitet Bison ohne Unterst tzung f r internationalisierte Fehlermeldungen vor wenn das Programm bison nicht bereits in PATH gefunden wird Durch den folgenden Zusatz wird das Problem korrigiert echo define YYENABLE_NLS 1 gt gt config h Kompilieren Sie das Paket make Um die Ergebnisse zu testen ca 0 5 SBUs f h
291. ompilieren vor configure prefix usr enable cxx enable mpbsd Die Bedeutung des neuen Parameters zu configure enable cxx Dieser Parameter aktiviert die Unterst tzung f r C Kompilieren Sie das Paket make D Wichtig In diesem Abschnitt wird die Testsuite von GMP als kritisch eingestuft Wir raten Ihnen die Tests unter keinen Umst nden zu berspringen Testen Sie das Ergebnis make check 2 gt amp 1 tee gmp check log Stellen Sie sicher dass alle 139 Tests dieser Testsuite erfolgreich durchlaufen Verwenden Sie das folgende Kommando awk tests passed total 2 END print total gmp check log Installieren Sie das Paket make install Falls gew nscht installieren Sie nun die Dokumentation mkdir v usr share doc gmp 4 2 4 cp v doc isa_abi_headache configuration doc html usr share doc gmp 4 2 4 6 12 2 Inhalt von GMP Installierte Bibliotheken libgmp a so libgmpxx a so und libmp a so Kurze Beschreibungen libgmp Enth lt mathematische Funktionen libgmpxx Enth lt mathematische Funktionen f r C libmp Enth lt die Berkeley MP mathematischen Funktionen 85 Linux From Scratch Version 6 4 6 13 MPFR 2 3 2 Das Paket MPFR enth lt mathematische Funktionen f r mehrfache Genauigkeit Gesch tzte 1 2 SBU inkl Testsuite Kompilierzeit Etwa Ben tigter 39 4 MB inkl Testsuite Speicherplatz 6 13 1 Ins
292. on gemeinsamen Bibliotheken in einer ausf hrbaren Datei gesetzt wird Erweitert Umgebungsvariablen in Shell Format Zeichenketten bersetzt Nachrichten in nat rlicher Sprache in die Muttersprache des Anwenders Daf r benutzt es einen bersetzungsnachrichten Katalog Dies ist haupts chlich eine Bibltiothek mit Shell Funktionen f r Gettext Kopiert alle standard Gettext Dateien in den Basisordner eines Pakets um so die ersten Schritte der Internationalisierung zu erleichtern Zeigt den Netzwerk Hostnamen in verschiedenen Formen an Filtert Nachrichten in einem bersetzungskatalog nach ihren Attributen und manipuliert diese Attribute F gt die angegebenen po Dateien aneinander und verschmelzt sie Vergleicht zwei po Dateien um sicherzustellen dass beide den gleichen Satz an msgid Zeichenketten enthalten Findet die Nachrichten die die angegebenen po Dateien gemeinsam haben Konvertiert den bersetzungskatalog in einen anderen Zeichensatz Erzeugt einen englischen bersetzungskatalog F hrt ein Kommando auf allen bersetzungen in einem Katalog aus Wendet einen Filter auf alle bersetzungen in einem Katalog an 124 msgfmt msggrep msginit msgmerge msgunfmt msguniq ngettext recode sr latin xgettext libasprintf libgettextlib libgettextpo libgettextsrc Linux From Scratch Version 6 4 Erzeugt aus einem bersetzungskatalog einen bin ren Katalog Extrahiert alle Nachrichten aus einem Ka
293. onale Leerzeichen getrennt sind Es folgen die verwendeten Schl ssel und jeweiligen Erkl rungen SUBSYSTEM net Dadurch werden alle Ger te ignoriert bei denen es sich nicht um Netzwerkkarten handelt ACTION add Udev wird diese Regel nur ausf hren wenn der uevent Typ add ist Uevents des Typs remove oder change k nnen auch auftreten aber m ssen keine Netzwerkger te umbenennen e DRIVERS Durch diesen Parameter ignoriert Udev alle VLAN oder Bridge Unterger te weil diese Unterger te keine eigenen Treiber haben Unterger te m ssen bersprungen werden weil der zugewiesene Name mit dem jeweiligen Hauptger t in Konflikt st nde ATTR address Der Wert dieses Schl ssels ist die MAC Adresse der Netzwerkkarte ATTR type 1 Optional Dieser Schl ssel bewirkt dass die Regel nur auf das Hauptger t passt wie z B bei einigen Drahtlos Treibern die mehrere virtuelle Netzwerkger te erzeugen Die virtuellen Ger te m ssen bersprungen werden weil dies wie bei Unterger ten Namenskonflikte bewirken w rde KERNEL eth Dieser Schl ssel wurde zu Udev hinzugef gt um mit Rechnern umgehen zu k nnen die mehrere Netzwerkkarten mit der gleichen MAC Adresse haben Dies ist z B bei der PS3 der Fall Sofern die unabh ngigen Netzwerkkarten eine unterschiedliche Namensbasis haben kann Udev sie auf diese Weise voneinander unterscheiden Die meisten Anwender von Linux F
294. otlogd halt init killall5 last lastb mesg mountpoint pidof poweroff reboot runlevel shutdown sulogin telinit utmpdump Protokolliert Bootmeldungen in eine Datei Ruft blicherweise shutdown mit dem Parameter h auf au er wenn der aktuelle Runlevel 0 ist dann teilt es dem Kernel mit das System anzuhalten Vorher vermerkt es in var log wtmp dass das System nun heruntergefahren wird Der erste gestartete Prozess nachdem der Kernel die Hardware initialisiert hat Init bernimmt den Bootvorgang und startet alle anstehenden Programme Sendet ein Signal an alle Prozesse aufer denen in der eigenen Sitzung so beendet es nicht die Programme die das Skript ausf hren welches es aufgerufen hat Zeigt welcher Benutzer als letztes eingeloggt und ausgeloggt hat indem es die Datei var 1og wtmp durchsucht Es kann auch Systemstarts und stopps sowie Wechsel der Runlevel zeigen Zeigt die letzten fehlgeschlagenen Login Versuche die in var log btmp protokolliert wurden Kontrolliert welche anderen Benutzer Nachrichten auf das aktuelle Terminal senden k nnen Pr ft ob der Ordner ein Mountpunkt ist Gibt die PIDs eines Programms aus Weist den Kernel an das System anzuhalten und den Computer auszuschalten Siehe auch die Beschreibung zu halt Weist den Kernel an das System neu zu starten Siehe auch die Beschreibung zu halt Zeigt den vorigen und den aktuellen Runlevel an Die n tigen Informationen we
295. p 1E 3L ar VS error value ge 16 lp Then echo failure boot mesg n FAILURE NnNMnUnexpected Failure FAILUR boot mesg n T f running fsck Exited with error 222 Linux From Scratch Version 6 4 boor mesc a Y codes Sierro ele boot mesg S NORMAL exit S error value Eat FE echo Usage 0 start exit 1 CS End rc_base init d checkfs D 10 etc rc d init d mountfs bin sh PREPARE HE HEA EEE EE EEE EE HH HE EA EE EE EEE EE EH EE EE EE Begin rc_base init d mountfs Description File System Mount Script Authors Gerard Beekmans gerard linuxfromscratch org Version e 00 00 Notes E AE AE E AE AE E FE AE AE AE AE E ES etc sysconfig rc S rc functions CaSe sim neun boot mesg Remounting root file system in read write mod mount n o remount rw gt dev null evaluate retval Remove fsck related file system watermarks rm f fastboot forcefsck boot mesg Recording existing mounts in etc mtab etc mtab mount e JP eeu mount f proc failed 1 mount f sys failed 1 exit failed evaluate retval This will mount all filesystems that do not have netdev in their option list _netdev denotes a network filesystem boot mesg Mounting remaining file systems mount a O no netdev dev null evaluate retval rm stop boot_mesg Unmounting all other currently mounted file syst
296. pages 75 Module Init Tools 142 MPFR 86 Ncurses 103 Werkzeuge 47 Patch 143 Werkzeuge 60 Perl 108 Werkzeuge 61 Procps 105 Psmisc 144 Readline 110 Sed 92 Werkzeuge 62 Shadow 145 Einrichten 146 Sysklogd 148 Einrichten 148 Sysvinit 149 Einrichten 149 Tar 151 Werkzeuge 63 Tcl 39 Texinfo 152 Werkzeuge 64 Udev 153 Anwendung 166 Util linux ng 155 Werkzeuge 65 Vim 158 Zlib 107 Programme a2p 108 109 acinstall 112 112 aclocal 112 112 aclocal 1 10 1 112 112 addftinfo 127 127 addpart 155 155 addr2line 83 84 afmtodit 127 127 agetty 155 155 apropos 138 140 ar 83 84 arch 155 155 arpd 132 132 as 83 84 ata id 153 154 autoconf 111 111 autoheader 111 111 autom4te 111 111 automake 112 112 automake 1 10 1 112 112 autopoint 124 124 autoreconf 111 111 autoscan 111 111 autoupdate 111 111 awk 120 120 badblocks 93 94 basename 96 97 basename 96 97 bash 114 115 bashbug 114 115 bigram 121 121 bison 102 102 blkid 93 94 blockdev 155 155 bootlogd 149 150 bunzip2 116 116 bzcat 116 116 bzcmp 116 116 bzdiff 116 116 bzegrep 116 116 bzfgrep 116 116 bzgrep 116 116 bzip2 116 116 bzip2recover 116 116 bzless 116 117 bzmore 116 117 c 87 89 c filt 83 84 c2ph 108 109 cal 155 155 captoinfo 103 104 cat 96 97 catchsegv 76 79 catman 138 140 cc 87 89 cdrom id 153 154 cfdisk 155 15
297. patch Bereiten Sie GRUB zum Kompilieren vor configure prefix usr Kompilieren Sie das Paket make Um die Ergebnisse zu testen geben Sie folgendes ein make check Installieren Sie das Paket make install mkdir v boot grub cp v usr lib grub i386 pc stage 1 2 boot grub Ersetzen Sie 1386 pc durch den f r Ihre Plattform korrekten Ordner Der Ordner 1386 pc enth lt auch einige stagel 5 Dateien die jeweils f r verschiedene Dateisysteme gedacht sind Schauen Sie nach welche zur Verf gung stehen und kopieren Sie die notwendigen nach boot grub Die meisten Leute werden e2fs_stagel_ 5 und oder reiserfs stagel 5 kopieren 6 37 2 Inhalt von GRUB Installierte Programme grub grub install grub md5 crypt grub set default grub terminfo und mbchk Kurze Beschreibungen grub Die GRand Unified Bootloader Kommando Shell grub install Installiert GRUB auf dem angegebenen Ger t grub md5 crypt Verschl sselt Passw rter im MD5 Format grub set default Stellt den Voreingestellten Boot Eintrag fiir GRUB ein grub terminfo Erzeugt ein terminfo Kommando aus dem Namen eines Terminals Es kann verwendet werden wenn Sie ein unbekanntes Terminal haben mbchk Priift das Format eines Multiboot Kernel 123 Linux From Scratch Version 6 4 6 38 Gettext 0 17 Gettext wird zur bersetzung und Lokalisierung verwendet Programme k nnen mit Unterst tzung f r NLS Native Langu
298. ppe Pers nlichen Ordner und hnliches f r einen Benutzer Kann zum Bearbeiten von etc group oder etc gshadow Dateien benutzt werden Kann zum Bearbeiten von etc passwd oder etc shadow Dateien benutzt werden 147 Linux From Scratch Version 6 4 6 52 Sysklogd 1 5 Die in Sysklogd enthaltenen Programme dienen zum Aufzeichnen von Systemmeldungen zum Beispiel denen des Kernels wenn ungew hnliche Ereignisse auftreten Gesch tzte weniger als 0 1 SBU Kompilierzeit Etwa Ben tigter 0 6 MB Speicherplatz 6 52 1 Installation von Sysklogd Kompilieren Sie das Paket make Dieses Paket enth lt keine Testsuite Installieren Sie das Paket make install 6 52 2 Einrichtung von Sysklogd Erstellen Sie nun die Konfigurationsdatei etc syslog conf cat gt etc syslog conf lt lt EOF Begin etc syslog conf auth authpriv var log auth log rauth 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 6 52 3 Inhalt von Sysklogd Installierte Programme klogd und syslogd Kurze Beschreibungen klogd Ein System Daemon zum Abfangen und Protokollieren von Kernel Meldungen syslogd Protokolliert Meldungen die von Systemprogrammen zum Protokollieren angeboten werden Jede Meldung enthilt zumindest einen Datumsstempel und den Hostnamen
299. profiledump 76 79 peekfd 144 144 perl 108 109 perl5 10 0 108 109 perlbug 108 109 perlcc 108 109 perldoc 108 109 perlivp 108 109 pfbtops 127 128 pg 155 156 pgawk 120 120 pgawk 3 1 6 120 120 pgrep 105 105 pie 127 128 pic2graph 127 128 piconv 108 109 pidof 149 150 ping 130 131 ping6 130 131 pinky 96 98 pivot_root 155 156 pkill 105 105 pl2pm 108 109 pmap 105 105 pod2html 108 109 pod2latex 108 109 pod2man 108 109 pod2text 108 109 pod2usage 108 109 podchecker 108 109 podselect 108 109 post grohtml 127 128 poweroff 149 150 pr 96 98 pre grohtml 127 128 printenv 96 98 printf 96 98 prove 108 109 ps 105 105 psed 108 109 psfaddtable 134 135 psfgettable 134 135 psfstriptable 134 135 psfxtable 134 135 pstree 144 144 pstree x11 144 144 pstruct 108 109 ptx 96 98 pt chown 76 79 pweat 120 120 pwck 145 147 pwconv 145 147 pwd 96 98 pwdx 105 105 pwunconv 145 147 py compile 112 112 ranlib 83 84 rcp 130 131 readelf 83 84 readlink 96 98 readprofile 155 156 reboot 149 150 recode sr latin 124 125 refer 127 128 rename 155 156 renice 155 156 reset 103 104 resize2fs 93 95 resizecons 134 135 rev 155 156 rlogin 130 131 rm 96 98 rmdir 96 98 rmmod 142 142 rmt 151 151 253 Linux From Scratch Version 6 4 routef 132 133 routel 132 133 rpcgen 76 79 rpcinfo 76
300. pt 76 79 76 79 libcurses 103 104 libdb 90 91 libdb cxx 90 91 libdl 76 80 libe2p 93 95 libexpect 5 43 40 41 254 libext2fs 93 95 libfl a 122 122 libform 103 104 libg 76 80 libgec 87 89 libgettextlib 124 125 libgettextpo 124 125 libgettextsrc 124 125 libgmp 85 85 libgmpxx 85 85 libhistory 110 110 libiberty 83 84 libieee 76 80 libltdl 106 106 libm 76 80 libmagic 119 119 libmcheck 76 80 libmemusage 76 80 libmenu 103 104 libmp 85 85 libmudflap 87 89 libncurses 103 104 libnsl 76 80 libnss 76 80 libopcodes 83 84 libpanel 103 104 libpcprofile 76 80 libproc 105 105 libpthread 76 80 libreadline 110 110 libresolv 76 80 librpesve 76 80 librt 76 80 libSegFault 76 79 libss 93 95 libssp 87 89 libstdc 87 89 libsupc 87 89 libtcl8 5 so 39 39 libthread_db 76 80 libudev 153 154 libutil 76 80 libuuid 93 95 libvolume_id 153 154 liby a 102 102 libz 107 107 mpfr 86 86 Skripte checkfs 164 164 cleanfs 164 164 console 164 164 Einrichten 170 consolelog 164 164 Einrichten 170 functions 164 164 halt 164 164 ifdown 164 164 ifup 164 164 localnet 164 164 Linux From Scratch Version 6 4 etc hosts 174 Einrichten 174 modules 164 164 mountfs 164 164 mountkernfs 164 164 network 164 164 etc hosts 174 Einrichten 177 rc 164 164 reboot 164 164 sendsignals 164 164 setc
301. r hnlich gehen aber oft tiefer in die Materie als einfach nur die m glichen Parameter zu beschreiben Vergleichen Sie beispielsweise man bison und info bison 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 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 texi2pdf Wird zum Konvertieren von Texinfo Dokumenten in das portable Document Format PDF verwendet texindex Sortiert Texinfo Indexdateien 152 Linux From Scratch Version 6 4 6 56 Udev 130 Das Paket Udev enth lt Programme zum dynamischen Erzeugen von Ger tedateien Gesch tzte 0 2 SBU Kompilierzeit Etwa Ben tigter 10 MB Speicherplatz 6 56 1 Installation von Udev Das Archiv udev config enth lt LFS spezifische Konfigurationsdateien f r Udev Entpacken Sie das Archiv in den Quellordner von Udev tar xvf udev config 20081015 tar bz2 Erzeugen Sie einige Ger te und Ordner die Udev nicht bereitstellen kann weil sie sehr fr h w hrend dem Bootvorgang oder von Udev selbst ben tigt werden install dv lib firmware udev devices pts shm mknod m0666 lib udev devices null c 1 3 mknod m0600 lib udev devices kmsg c 1 11 ln sv proc
302. r Installation von Autoconf eine aktuelle Version installiert rm fv etc standards info sed i bak INFO s standards info etc Makefile in Die Dokumentation zu Binutils empfiehlt Binutils au erhalb des Quellordners zu kompilieren mkdir v binutils build cd binutils build Bereiten Sie Binutils zum Kompilieren vor binutils 2 18 configure prefix usr enable shared Kompilieren Sie das Paket make tooldir usr Die Bedeutung des make Parameters tooldir usr Normalerweise ist tooldir der Ordner in den die ausf hrbaren Dateien endg ltig installiert werden auf exec prefix S target alias eingestellt Ein 1686 Computer l st dies zum Beispiel zu usr i686 pc linux gnu auf Da wir aber nur f r unser eigenes System installieren brauchen wir diesen speziellen Ordner in usr nicht Diese Konfiguration f nde z B dann Verwendung wenn das System zum Querkompilieren genutzt w rde zum Beispiel um auf einer Intel Maschine Code zu generieren der auf einem PowerPC ausgef hrt werden kann D Wichtig In diesem Abschnitt wird die Testsuite von Binutils als kritisch eingestuft Wir raten Ihnen die Tests unter keinen Umst nden zu berspringen Testen Sie das Ergebnis 83 Linux From Scratch Version 6 4 make check Installieren Sie das Paket make tooldir usr install Installieren Sie die Header Datei 1ibiberty sie wird von einigen Paketen ben ti
303. r OPTIONAL PROGS sed i s ifdef var ifeg N var yes man Makefile in unset var Bereiten Sie Kbd zum Kompilieren vor configure prefix usr datadir lib kbd Die Bedeutung der configure Parameter datadir lib kbd Durch diesen Parameter werden die Daten zu Tastaturlayouts in einem Ordner abgelegt der sich immer auf der root Partition befindet anstelle der Voreinstellung usr share kbd Kompilieren Sie das Paket make Dieses Paket enth lt keine Testsuite Installieren Sie das Paket make install Anmerkung F r einige Sprachen z B Belarussisch h lt Kbd keine n tzliche Tastaturlayouttabelle vor in der die Tabelle by ISO 8859 5 annimmt aber CP1251 verwendet wird Benutzer solcher Sprachen sollten sich eine funktionierende Tastaturlayouttabelle herunterladen Einige der LFS Bootskripte sind abh ngig von den Kommandos kbd_mode loadkeys openvt und setfont Da usr in den fr heren Phasen des Bootvorgangs noch nicht eingh ngt sein k nnte m ssen sich diese Programm auf der root Partition befinden mv v usr bin kbd_mode loadkeys openvt setfont bin Falls gew nscht installieren Sie nun die Dokumentation mkdir v usr share doc kbd 1 14 1 cp R v doc 134 Linux From Scratch Version 6 4 usr share doc kbd 1 14 1 6 44 2 Inhalt von Kbd Installierte Programme chvt deallocvt dumpkeys fgconsole getkeycodes kbd mod
304. r a particular daemon Inputs p pidfile use the specified pidfile instead of pidof pathname path to the specified program Ourcjoultess recura 0 Success Dicts a Seco return 1 Program is dead pidfile exists return 2 Invalid or excessive number of arguments warning in stdout Terura J Program LS MOL UA Dependencies pidof echo head Todo Remove dependency on head This depreciates getpids Test changes to pidof kkxkxkxkxkxkxkxkxkxkxkxkxkxkxkxkxkxkxkkkxkkkxkkxkxkxkxkkxkxkkxkxkkxkkkkkxkxkkkxkkxkkkxkkkxkxkxkkkxkxkxkxkxkxkxkxkxkkkxkxkxkxkkxkxxk kxx k pidofproc local pidfile local Jg elgeuw local silent old igi V while true do WSL sim p case joauelieac e S 12 Sioabi 2 rm Added for legacy opperation of getpids eliminates several gt dev null silent 1 Simat A FUR log failure msg Unknown Option 1 ieee 2 FR break 208 Linux From Scratch Version 6 4 esac done 1 qp Weta e Iw ge een Simat AL log_failure_msg Usage pidofproc s p pidfile pathname return 2 ica ie o SGolcitide je tem adr 1 V e pietilep jp chen return 3 Program is not running fc lpids head n 1 pidfile ioe PLE iia lipids do xit Wand me SS a VSiqosd soe YS PPD je tasa Kaki 0 Sort t 2 gt cev nmull EE PLClisc odes Sola t abu p WESS le UE Ts selves echo Syst J v iE aL test z S pidlist amp amp Program is dead pidfile e
305. r dann ein Modul wenn ein Bus Spezifischer Alias vorhanden ist und der Treiber die n tigen Aliase korrekt nach sysfs exportiert Wenn dies nicht der Fall ist muss man sich auf andere Weise um das Laden des Moduls k mmern Mit Linux 2 6 27 4 kann Udev korrekt programmierte Treiber f r INPUT IDE PCI USB SCSI SERIO und FireWire Ger te laden Mit dem Kommando modinfo und dem Modulnamen als Argument k nnen Sie herausfinden ob der von Ihnen ben tigte Treiber von Udev unterst tzt wird Versuchen Sie nun den Ger te Ordner unter sys bus zu finden und pr fen Sie die dortige Dateimodalias Wenn die Datei modalias unter sysfs vorhanden ist und der Treiber das Ger t unterst tzt aber der Alias fehlt so ist dies ein Fehler im Treiber Dann m ssen Sie den Treiber ohne Hilfe von Udev laden und darauf hoffen dass dieser Fehler sp ter behoben wird Wenn die Datei modalias in dem zugeh rigen Ordner unter sys bus nicht vorhanden ist so haben die Kernel Entwickler f r diesen Bus Typ noch keine Modalias Unterst tzung programmiert Bei Linux 2 6 27 4 ist dies z B der Fall f r den ISA Bus Dies wird wahrscheinlich in einer zuk nftigen Kernelversion behoben Udev sorgt sich nicht um das Laden sogenannter wrapper Treibern wie beispielsweise snd pcm oss oder Nicht Hardware Treibern wie loop 7 4 3 2 Ein Kernelmodul l dt nicht automatisch und Udev ist nicht daf r zust ndig Wenn ein Wrapper Modul nur die Funktionen eines and
306. r in connection with the Work Creative Commons will not be liable to You or any party on any legal theory for any damages whatsoever including without limitation any general special incidental or consequential damages arising in connection to this license Notwithstanding the foregoing two 2 sentences if Creative Commons has expressly identified itself as the Licensor hereunder it shall have all rights and obligations of Licensor Except for the limited purpose of indicating to the public that the Work is licensed under the CCPL neither party will use the trademark Creative Commons or any related trademark or logo of Creative Commons without the prior written consent of Creative Commons Any permitted use will be in compliance with Creative Commons then current trademark usage guidelines as may be published on its website or otherwise made available upon request from time to time Creative Commons may be contacted at http creativecommons org F 2 Die MIT Lizenz Copyright O 1999 2008 Gerard Beekmans Permission is hereby granted free of charge to any person obtaining a copy of this software and associated documentation files the Software to deal in the Software without restriction including without limitation the rights to use copy modify merge publish distribute sublicense and or sell copies of the Software and to permit persons to whom the Software is furnished to do so subject to the following conditions The abov
307. r message n n S FAILURE boot_mesg n It means that an unforeseen error took boor mese ia Y places aha S 11 waich exite wil E certcn valts i boot mesg error_value n boot mesg flush boot mesg n If you re able to track this boot mesg n error down to a bug in one of the files provided by boot mesg n the LFS book please be so kind to inform us at boot mesg 1lfs dev linuxfromscratch org n boot mesg flush soo mex in Eee Maier tO Comis ENEO boot mesg S NORMAL read ENTER check script status Si is inherited by the rc script a 2 Su Te deu boot mesg i is not a valid symlink WARNING echo warning continue Eat ic P x Sha je then boot mesg i is not executable skipping WARNING echo warning continue iE ab 204 evaluate_retval error_value e 1 lease ele 0 19 echo_ok else echo_failure dEl This prevents the COS return 0 print status An Unexpected Linux From Scratch Version 6 4 then from trivial litio llas Ocenirics iit py 0 jg chem echo Usage 0 success warning failure return 1 iE ak Case USITEW an success echo_ok RER warning Leave this extra case in because old scripts may call it this way Case WIS xm running SCHO e a S CURS UP S ECHO e n 033 STRING_LENGTH G y boot mesg Already running WARNING echo
308. r run amp amp find type d name utmp exec rm f failed 1 var run utmp aie Grep Ci Memos See eiomo p then chmod 664 var run utmp chgrp utmp var run utmp iCal exit failed evaluate_retval if egrep qv 4 etc sysconfig createfiles 2 gt dev null then boot mesg Creating files and directories create files evaluate retval Eat EE echo Usage S10 stan exit 1 rr esac End rc_base init d cleanfs D 13 etc rc d init d console bin sh HEHE EEE FE AE HE E FE HEHE HE EE EEE EEE EH EEE EEE EE EE EE EEE EEE EEE EEE HH Begin rc_base init d console Description Sets keymap and screen font 226 Linux From Scratch Version 6 4 Authors Gerard Beekmans gerard linuxfromscratch org Alexander E Patrakov Version gt 00 08 Notes AE AE aE E AE AE E AE eae aE AE EE etc sysconfig rc Siren rune toms Native English speakers probably don t have etc sysconfig console at all air i eec eyscontis comeale then etc sysconfig console else exit 0 ie al is_true D uu WEA i ft Pel SS Wyest E LE Pal Meme failed 0 case SH lan start boot_mesg Setting up Linux console There should be no bogus failures below this line Figure out if a framebuffer console is used d sys class graphics fb0 amp amp USE FB 1 US jx _FB 0 Figure out the command to set the console
309. r und Bytes einer Datei aus Und eine Summe falls mehrere Dateien angegeben wurden Zeigt an wer gerade eingeloggt ist Gibt den Benutzernamen aus der mit der aktuell effektiven Benutzer ID verkn pft ist Gibt y oder eine andere Zeichenkette solange aus bis es beendet wird 99 Linux From Scratch Version 6 4 6 19 lana Etc 2 30 Das Paket Iana Etc enth lt Daten zu Netzwerkdiensten und Protokollen Gesch tzte weniger als 0 1 SBU Kompilierzeit Etwa Ben tigter 2 1 MB Speicherplatz 6 19 1 Installation von lana Etc Das folgende Kommando konvertiert die von IANA bereitgestellten RAW Daten in das korrekte Format f r etc protocols und etc services make Dieses Paket enth lt keine Testsuite Installieren Sie das Paket make install 6 19 2 Inhalt von lana Etc Installierte Dateien etc protocols und etc services Kurze Beschreibungen etc protocols Beschreibt verschiedene im TCP IP Subsystem verf gbare DARPA Internet Protokolle etc services Erm glicht eine Zuordnung von leicht zu lesenden Namen f r Internetdienste und den zugeh rigen Port Nummern und Protokolltypen 100 Linux From Scratch Version 6 4 6 20 M4 1 4 12 MA enth lt einen Makroprozessor Gesch tzte 0 3 SBU inkl Testsuite Kompilierzeit Etwa Ben tigter 12 MB Speicherplatz 6 20 1 Installation von M4 Bereiten Sie M4 zum Kompilieren vor configure prefix usr enable threads K
310. rable authorship credit appears and in a manner at least as prominent as such other comparable authorship credit e For the avoidance of doubt where the Work is a musical composition i Performance Royalties Under Blanket Licenses Licensor reserves the exclusive right to collect whether individually or via a performance rights society e g ASCAP BMI SESAC royalties for the public performance or public digital performance e g webcast of the Work if that performance is primarily intended for or directed toward commercial advantage or private monetary compensation m en i Mechanical Rights and Statutory Royalties Licensor reserves the exclusive right to collect whether individually or via a music rights agency or designated agent e g Harry Fox Agency royalties for any phonorecord You create from the Work cover version and distribute subject to the compulsory license created by 17 USC Section 115 of the US Copyright Act or the equivalent in other jurisdictions if Your distribution of such cover version is primarily intended for or directed toward commercial advantage or private monetary compensation 6 Webcasting Rights and Statutory Royalties For the avoidance 246 Linux From Scratch Version 6 4 of doubt where the Work is a sound recording Licensor reserves the exclusive right to collect whether individually or via a performance rights society e g SoundExchange royalties for the public digital performance e g
311. rammen f hren Wenn sich ein Paket nicht kompilieren l sst versuchen Sie es erstmal ohne Optimierungen und schauen Sie ob das Problem dann behoben ist Selbst wenn das Paket mit Compiler Optmierungen kompilierbar ist besteht die Gefahr dass es fehlerhaft kompiliert wurde z B aufgrund der komplexen Zusammenh nge zwischen Code und den Compilerwerkzeugen Beachten Sie auch dass die Optionen march und mtune Schwierigkeiten mit den Paketen der Toolchain verursachen werden Binutils GCC und Glibc Kurz gesagt der potientelle Geschwindigkeitsvorteil wird durch das hohe Risiko aufgehoben Wenn Sie das erste mal ein LFS installieren sollten Sie keine Compiler Optimierungen einsetzen Ihr neues System wird dennoch sehr schnell und gleichzeitig auch noch stabil sein Die Installationsreihenfolge in diesem Kapitel muss auf jeden Fall eingehalten werden sonst k nnten einige Programme eventuell feste Referenzen auf tools erhalten Kompilieren Sie aus diesem Grund auch nicht mehrere Pakete gleichzeitig Gleichzeitiges Kompilieren kann Ihnen eine Zeitersparnis bringen besonders auf Mehrprozessormaschinen aber es kann zu Programmen f hren die Referenzen auf tools enthalten und nicht mehr funktionieren sobald dieser Ordner entfernt wird Auf jeder Informationsseite finden Sie zu Beginn ein paar allgemeine Informationen zum jeweiligen Paket Eine kurze Beschreibung des Inhalts eine Absch tzung der ben tigten Kompilierzeit und des ben tigten Festplat
312. randy Updated Udev to 130 9 10 2008 randy Updated File to 4 26 randy Updated Shadow to 4 1 2 1 randy Updated Man DB to 2 5 2 randy Updated Iproute to 2 6 26 randy Added a command to the Inetutils instructions to correct an issue with GCC 4 3 2 7 10 2008 randy Updated Autoconf to 2 63 randy Updated Libtool to 2 2 6a randy Corrected the instruction to untar the E2fsprogs tarball in Section 2 3 Thanks to William Immendorf for pointing out the error randy Updated Berkeley DB to 4 7 25 randy Updated Man pages to 3 11 randy Updated Util linux ng to 2 14 1 randy Updated Texinfo to 4 13 6 10 2008 robert Added v to the cp command in the Chapter 5 Expect instructions randy Updated Tar to 1 20 randy Updated Perl to 5 10 0 randy Updated M4 to 1 4 11 and added it to the Chapter 5 build as it is required by the GMP package in Chapter 6 randy Updated Findutils to 4 4 0 5 10 2008 randy Updated E2fsprogs to 1 41 1 randy Added the Mktemp 1 5 package to the list of removed items in the Chapter3 What s new page randy Updated Coreutils to 6 12 Thanks to William Immendorf for contributing a patch to add the mktemp program information to the Coreutils page randy Updated the Bash Fixes patch to the 8 version randy Added a patch to the Expect instructions to fix an issue with recent Tcl versions randy
313. ratch Version 6 4 sed i dummy d etc group Installieren Sie das Paket make install Und verschieben Sie einige Programme an die vom FHS vorgegebene Stelle mv mv mv mv IM v V SN usr bin cat chgrp chmod chown cp date dd df echo bin usr bin false hostname 1n 1s mkdir mknod mv pwd readlink rm bin usr bin rmdir stty sync true uname bin usr bin chroot usr sbin Einige der LFS Bootskripte sind abh ngig von den Kommandos head und sleep Da usr in den fr heren Phasen des Bootvorgangs noch nicht eingh ngt sein k nnte m ssen sich diese Programm auf der root Partition befinden mv v usr bin head sleep nice bin 6 18 2 Inhalt von Coreutils Installierte Programme base64 basename cat chgrp chmod chown chroot cksum comm cp csplit cut date dd df dir dircolors dirname du echo env expand expr factor false fmt fold groups head hostid hostname id install join link In logname Is md5sum mkdir mkfifo mknod mktemp mv nice nl nohup od paste pathchk pinky pr printenv printf ptx pwd readlink rm rmdir seq shal sum sha224sum sha256sum sha384sum sha512sum shred shuf sleep sort split stat stty sum sync tac tail tee test touch tr true tsort tty uname unexpand uniq unlink users vdir wc who whoami und yes Kurze Beschreibungen base64 Kodiert und dekodiert Daten entsprechend der base
314. rator bereit in etc resolv conf eintragen Erzeugen Sie die Datei mit diesem Kommando cat etc resolv conf EOF Begin etc resolv conf domain lt Ihr Dom nenname gt nameserver lt IP Adresse des prim ren Nameservers gt nameserver lt IP Adresse des sekund ren Nameservers gt End etc resolv conf EOF Nat rlich m ssen Sie IP Adresse des prim ren Nameservers gt durch die echte IP Adresse Ihres prim ren DNS Servers ersetzen Oftmals gibt es mehr als einen Eintrag offizielle Nameserver m ssen aus Fallback Gr nden immer auch einen sekund ren DNS Server haben Die IP Adresse k nnte auch die eines Routers in Ihrem lokalen Netzwerk sein Wenn Sie keinen zweiten Nameserver haben oder m chten entfernen Sie den zweiten nameserver Eintrag 178 Linux From Scratch Version 6 4 Kapitel 8 Das LFS System bootf hig machen 8 1 Einf hrung Nun ist es an der Zeit Ihr LFS bootf hig zu machen In diesem Kapitel erstellen Sie die Datei stab einen neuen Kernel f r Ihr LFS System und Sie installieren den Bootloader GRUB damit Sie Ihr LFS System zum booten ausw hlen k nnen 8 2 Erstellen der Datei etc fstab Die Datei etc stab 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 nun eine neue Tabelle der Dateisysteme cat etc fstab EOF B
315. rc Makefile in find man name Makefile in exec sed i s groups 1 V Verhindern Sie die Installation der chinesischen und koreanischen Hilfeseiten weil Man DB sie nicht korrekt anzeigen kann sed i e s ko e s zh CN zh TW man Makefile in Shadow enth lt weitere Hilfeseiten im UTF 8 Format Man DB kann diese in der empfohlenen Kodierung anzeigen wenn Sie das Skript convert mans verwenden welches Sie zusammen mit Man DB installiert haben for i in de es fi fr id it pt BR do convert mans UTF 8 ISO 8859 1 man i done for i in cs hu pl do convert mans UTF 8 ISO 8859 2 man i done convert mans UTF 8 EUC JP man ja convert mans UTF 8 KOI8 R man ru convert mans UTF 8 ISO 8859 9 man tr Sie sollten die voreingestellte Methode zur Passwortverschl sselung von crypt auf die sicherere MD5 Methode ndern Au erdem erm glicht sie Passw rter mit mehr als 8 Zeichen Des Weiteren m ssen Sie den nunmehr veralteten Speicherort der Benutzermailboxen von var spool mail nach var mail ndern sed i e sQ ENCRYPT METHOD DES ENCRYPT METHOD MD5 e s var spool mail var mail etc login defs Anmerkung Falls Sie Shadow mit Unterst tzung f r CrackLib installieren dann geben Sie das folgende sed Kommando ein sed i s DICTPATH DICTPATH t lib cracklib pw_dict etc login defs Bereiten Sie Shadow zum Kompilieren vor configure sysconfdir
316. rden Die Vor und Nachteile dieser Paketverwaltung sind allerdings so umfangreich dass wir sie hier in diesem Kapitel nicht alle beschreiben k nnen Alle notwendigen Informationen finden Sie unter http Avww linuxfromscratch org hints downloads files more_control_and_pkg man txt 6 4 Betreten der chroot Umgebung Es ist nun an der Zeit die chroot Umgebung zu betreten und mit der Installation der ben tigten Pakete zu beginnen Immer noch als root f hren Sie das folgende Kommando aus Damit betreten Sie die neue kleine Welt die zur Zeit nur mit tempor ren Werkzeugen ausgestattet ist chroot SLFS tools bin env i HOME root TERM STERM PS1 u w PATH bin usr bin sbin usr sbin tools bin tools bin bash login h Die an env bergebene Option i l scht alle Variablen in der chroot Umgebung Danach werden nur die Variablen HOME T ERM PS1 und PATH wieder gesetzt TERM TERM setzt die Variable TERM in der chroot Umgebung auf den gleichen Wert wie au erhalb von chroot diese Variable wird f r das korrekte Funktionieren von Programmen wie vim und less ben tigt Wenn Sie weitere Variablen wie CFLAGS oder CXXFLAGS ben tigen ist dies ein guter Platz um sie erneut zu setzen Von nun an brauchen Sie die Variable LFS nicht mehr denn alle weiteren Befehle sind auf Ihr LFS beschr nkt Das was die laufende Shell f r den Ordner h lt ist in Wirklichkeit der Wert von LFS den Sie chroot o
317. rden aus var run utmp gelesen F hrt das System sicher herunter sendet entsprechende Signale an alle Prozesse und benachrichtig alle angemeldeten Benutzer Erm glicht es root sich einzuloggen Dies wird normalerweise von init gestartet wenn das System im Einbenutzermodus gestartet wurde Weist init an in den angegebenen Runlevel zu wechseln Zeigt den Inhalt der angegebenen Logindatei in einem benutzerfreundlicheren Format an 150 Linux From Scratch Version 6 4 6 54 Tar 1 20 Das Paket Tar enth lt ein Archivprogramm Gesch tzte 0 3 SBU Kompilierzeit Etwa Ben tigter 19 9 MB Speicherplatz 6 54 1 Installation von Tar Bereiten Sie Tar zum Kompilieren vor configure prefix usr bindir bin libexecdir usr sbin Kompilieren Sie das Paket make Um die Ergebnisse zu testen ca 1 SBU f hren Sie dieses Kommando aus make check Installieren Sie das Paket make install 6 54 2 Inhalt von Tar Installierte Programme rmt und tar Kurze Beschreibungen rmt Mit diesem Programm kan man ein magnetorientiertes Bandlaufwerk an einem entfernten Rechner steuern Zur Kommunikation wird Interprozesskommunikation verwendet tar Wird zum Erzeugen Auflisten und Extrahieren von Dateien aus einem Archiv verwendet Diese Archive werden oft auch als Tarball bezeichnet 151 Linux From Scratch Version 6 4 6 55 Texinfo 4 13a Das Paket Texinfo enth lt Pro
318. ren Sie dieses Kommando aus make check Installieren Sie das Paket make install 6 21 2 Inhalt von Bison Installierte Programme bison und yacc Installierte Bibliothek liby a Kurze Beschreibungen bison Erzeugt aus einer Reihe von Regeln ein Programm zum Analysieren der Struktur von Textdateien Bison ist ein Ersatz f r yacc Yet Another Compiler Compiler yacc Ein Wrapper zu bison Er wird benutzt weil immer noch viele Programm yacc anstelle von bison aufrufen Bison wird dann mit der Option y aufgerufen liby a Die Yacc Bibliothek die die Implementierung von yacc kompatiblen yyerror und main Funktionen enth lt Diese Bibliothek ist normalerweise nicht sehr n tzlich aber sie wird von POSIX vorausgesetzt 102 Linux From Scratch Version 6 4 6 22 Ncurses 5 6 Das Paket Ncurses enth lt Bibliotheken f r den Terminal unabh ngigen Zugriff auf Textbildschirme Gesch tzte 0 7 SBU Kompilierzeit Etwa Ben tigter 31 MB Speicherplatz 6 22 1 Installation von Ncurses Der folgende Patch behebt einige Fehler die vom Analyse Programm f r statischen Code Coverity gefunden wurden patch Npl i ncurses 5 6 coverity fixes 1 patch Bereiten Sie Ncurses zum Kompilieren vor configure prefix usr with shared without debug enable widec Die Bedeutung des configure Parameters enable widec Durch diesen Parameter werden anstelle der normalen Bibliotheken l
319. ren Vorstellungen entsprechen 7 12 2 Der Umgang mit doppelten Ger ten In Abschnitt 7 4 Umgang mit Ger ten und Modulen an einem LFS System wurde ja bereits erw hnt dass die Reihenfolge in der Ger te in dev angelegt werden vollkommen zuf llig sein kann Nehmen wir an Sie haben eine USB Webcam und eine USB TV Tuner so zeigt dev videoO auf die Kamera und dev videol auf den Tuner Manchmal kann sich die Reihenfolge bei einem Neustart aber auch einfach umkehren Dieses Ph nomen kann man f r alle Ger te au er Sound und Netzwerkkarten mittels Udev Regeln und symbolischen Links l sen Wie man dies mit Netzwerkkarten l st steht in Abschnitt 7 13 Einrichten des network Skripts beschrieben und die Anleitung f r Soundkarten finden Sie in BLFS Sie sollten f r jedes der m glicherweise problematischen Ger te selbst wenn das Problem mit Ihrer bisherigen Linux Distribution nicht auftritt den passenden Ordner unter sys class oder sys block suchen Videoger te finden Sie unter sys class video4linux videoX Finden Sie die Attribute die das Ger t unverwechselbar erkennbar machen blicherweise Hersteller und Produkt IDs und oder Seriennummern udevadm info a p sys class video4linux video0 Schreiben Sie nun die passenden Regel zum Erzeugen der symbolischen Links cat etc udev rules d 83 duplicate devs rules EOF Persistent symlinks for webcam and tuner KERNEL v
320. rep 2 5 3 Das Paket Grep enth lt Programme zum Durchsuchen von Dateien Gesch tzte 0 1 SBU Kompilierzeit Etwa Ben tigter 7 2 MB Speicherplatz 6 39 1 Installation von Grep Die aktuelle Version von Grep ist leider an vielen Stellen fehlerhaft insbesondere bei der Unterst tzung von Multibyte Locales Der folgende Sammelpatch aus dem Debian Projekt behebt einige dieser Fehler verbessert die Zahl der erfolgreichen Tests und vebessert die Arbeitsgeschwindigkeit in UTF 8 Locales patch Npl i grep 2 5 3 debian fixes 1 patch Die Upstream Entwickler haben in den neuesten Test Skripten Teile der Dokumentation verbessert und einige Tests sowie erwartete Ergebnisse ge ndert Daraus folgt dass nicht mehr so viele Testdurchl ufe fehlschlagen patch Npl i grep 2 5 3 upstream fixes 1 patch Bereiten Sie Grep zum Kompilieren vor configure prefix usr bindir bin without included regex Die Bedeutung des configure Parameters without included regex Die Pr fung in configure f r die regex Bibliothek von Glibc liefert falsche Ergebnisse wenn f r glibc 2 8 kompiliert wird Durch diesen Parameter wird die Verwendung der glibc eigenen regex Bibliothek erzwungen Kompilieren Sie das Paket make Um die Ergebnisse zu testen geben Sie folgendes ein make check true Die Tests foad1 sh und fmbtest sh schlagen bekannterma en fehl Mit dem Konstrukt true so
321. ret eR teet veh else lerne voies tr eue e eoe Neto NT to sedes 220 1 9 Jetc rc d Aimtd checkfs s ei rop Oei te iE UH EE 221 D310 etc rc dAmt d mountls oed etre eh end ovo terree ii pda onen nadeee bh veadssns Sox De pe et EEES 223 D 11 7etc tc dAmit d udeyv retry nass eee ie REN REA EP eR E NE VEU es Cer e ve dede ee 224 15 12 etc rc dAmit d Cleants s coit tote tite eet dak OE ee tinet deste reos tte e illegale 225 D 13 Jetc rc d amt d console s iR Eee e IR bre 226 D 14 etcire dAnmt d localnet reote decr kai mann pe erh Fe Ee dos I erbe Seo dPe e ange 228 DS Jetc rc d iit d sVsctl cis ee ERU tpe aa o e ede NE o ees 229 D 16 etc rc dAamt d sysklogd on tree ette Rene E lee Bes ed Dee teo oe ee ode Pose ole eese tee 230 D etc rc d ammit d network io ri A Peste OPEN POR DUREE codes 231 D 18 etc rc dAnmt d sendsignals oot rss nen rs E ERO ORE ER e ERE Dee ns te EORR PET rise gy RO QUEE e Sue 232 D 49 etc rc d imit d reboot nina TESCO e eut de Ree e e eee 233 15 20 etc rc d mit d halt isc abit inerte arios 233 D 21 ete re d init d templ te 5 ee oet e Eee erre en ER EE pre ege Im ED rH end 234 Linux From Scratch Version 6 4 13 22 Jetc Sysconlig re A mense rie RER RL tasted an le ten ese es he end 235 123 etc sysconhig modules 2 2 8 de ether eet an nern ah vod Obr En dre ne oe Ure vede dre epe ten edet 235 D 24 Jetc syscontig createblles 5 o seuss e e ep tne Ded saves A os er edo I RE Ue de bub end
322. rg blfs view svn postlfs editors html dort finden Sie einige Installationshinweise 6 58 1 Installation von Vim Entpacken Sie zuerst beide Archivdateien vim 7 2 tar bz2 und optional vim 7 2 1ang tar gz in den gleichen Ordner Dann beheben Sie mit dem folgenden Patch einige Fehler die von den Upstream Entwicklern seit der letzten ver ffentlichten Version von Vim 7 2 gefunden wurden patch Npl i vim 7 2 fixes 3 patch ndern Sie noch den Speicherort f r die Konfigurationsdatei vimrc nach etc echo define SYS VIMRC FILE etc vimrc gt gt src feature h Bereiten Sie Vim zum Kompilieren vor configure prefix usr enable multibyte Die Bedeutung der configure Parameter enable multibyte Dieser Parameter schaltet die Unterst tzung zum Editieren von Dateien mit Multibyte Zeichenkodierung ein Das wird ben tigt wenn Sie ein Locale mit Multibyte Zeichensatz verwenden Dieser Parameter ist auch hilfreich wenn Sie Dateien bearbeiten m chten die mit Distributionen wie z B Fedora Core erzeugt wurden diese Distribution benutzt UTF 8 als voreingestellen Zeichensatz Kompilieren Sie das Paket make Um die Ergebnisse zu testen geben Sie folgendes ein make test Die Testsuite gibt jedoch eine Menge sinnlose Zeichen auf dem Bildschirm aus und k nnte die Einstellungen Ihres Terminals durcheinander bringen Sie k nnen die Ausgabe in eine Datei umleiten um dieses Pro
323. rgebnisse zutage bringen dann unterst tzen Sie uns bitte indem Sie alle relevanten Informationen direkt mitsenden 1 5 1 Dinge die Sie angeben sollten Neben einer kurzen Zusammenfassung des Problems ist es wichtig dass Sie uns noch folgende Dinge mitteilen Die Version dieses Buches in diesem Fall Version 6 4 Host Distribution und Versionsnummer die Sie zur Installation von LFS verwenden die Software oder der Abschnitt der Ihnen Probleme bereitet die exakte Fehlermeldung bzw die genauen Symptome die Sie sehen obSie von den Anleitungen im Buch abgewichen sind und wenn ja wie 11 Linux From Scratch Version 6 4 Anmerkung Beachten Sie Wir werden Ihnen auch helfen wenn Sie von den Anleitungen im Buch abgewichen sind Schlie lich ist die freie Wahl ein wichtiger Grundsatz von LFS Ihr Hinweis hilft uns lediglich die m glichen Ursachen f r Ihr Problem besser zu erkennen 1 5 2 Probleme mit configure Skripten Wenn beim Durchlaufen der configure Skripte ein Problem auftritt schauen Sie bitte zuerst in die Datei config log Sie enth lt Fehlermeldungen die auf dem Bildschirm normalerweise nicht angezeigt werden Geben Sie die relevanten Fehlermeldungen mit an wenn Sie um Hilfe bitten 1 5 3 Kompilierprobleme Sowohl Bildschirmausgaben als auch der Inhalt einiger Dateien sind f r uns n tzlich um Ihnen bei der Fehlersuche zu helfen Die Ausgaben des configure Skriptes und die des Befehls make k nne
324. rivial File Tranfer Protocol 131 Linux From Scratch Version 6 4 Linux From Scratch Version 6 4 6 43 IPRoute2 2 6 26 Das Paket IPRoute2 enth lt verschiedene Programme zur grundlegenden Unterst tzung von IPv4 basierten Netzwerken Gesch tzte 0 2 SBU Kompilierzeit Etwa Ben tigter 5 6 MB Speicherplatz 6 43 1 Installation von IPRoute2 Kompilieren Sie das Paket make DESTDIR SBINDIR sbin Die Bedeutung der make Optionen DESTDIR Dieser Parameter stellt sicher dass die ausf hrbaren Bin rdateien von IPRoute2 in den korrekten Ordner installiert werden In der Voreinstellung ist DESTDIR auf den Ordner usr eingestellt SBINDIR sbin Dies stellt sicher dass die Bin rdateien von IPRoute2 nach sbin installiert werden Lt FHS ist dies der korrekte Ort weil einige der Programme aus IPRoute2 in Bootskripten verwendung finden Dieses Paket enth lt eine Testsuite Jedoch ist es aufgrund einiger Annahmen der Testsuite nicht m glich die Tests innerhalb der chroot Umgebung zuverl sig laufen zu lassen Falls Sie es w nschen k nnen Sie die Tests ausf hren nachdem Sie Ihr LFS System das erste mal gestartet haben Dazu aktivieren Sie die Unterst tzung f r proc config gz im Kernel Option CONFIG IKCONFIG PROC bzw General setup gt Enable access to config through proc config gz und f hren make alltests im Unterordner test suite aus Installieren Sie das Paket make DESTDIR S
325. roduzieren l sst Bereiten Sie Coreutils zum Kompilieren vor configure prefix usr enable install program hostname enable no install program kill uptime Die Bedeutung der configure Parameter enable no install program kill uptime Normalerweise w rde Coreutils einige Programme installieren die sp ter von anderen Paketen bereitgestellt werden sollen Dieser Parameter verhindet die Installation dieser Programme Kompilieren Sie das Paket make Fahren Sie mit Installieren Sie das Paket fort wenn Sie die Testsuite berspringen m chten Sie k nnen die Testsuite nun durchlaufen lassen Als erstes starten Sie einige Tests die als root laufen m ssen make NON ROOT USERNAME nobody check root Die verbleibenden Tests werden als Benutzer nobody ausgef hrt Einige Tests erfordern jedoch dass der Benutzer Mitglied in mehr als einer Gruppe ist Damit diese Tests nicht bersprungen werden erstellen Sie nun eine tempor re Gruppe und f gen nobody als Mitglied hinzu echo dummy x 1000 nobody etc group Korrigieren Sie einige Zugriffsrechte damit der Nicht root Benutzer die Tests kompilieren und durchlaufen lassen kann chown Rv nobody config log gnulib tests lib src deps Jetzt k nnen Sie die Tests ausf hren su tools nobody s bin bash c make RUN EXPENSIVE TESTS yes check Entfernen Sie die tempor re Gruppe wieder 96 Linux From Sc
326. rom Scratch Version 6 4 Linux 2 6 27 4 49 232 KB Webseite Attp www kernel org Download http www kernel org pub linux kernel v2 6 linux 2 6 27 4 tar bz2 MD5 Pr fsumme 3880 fe9f19b9a7690afd151326eb7ce5 Anmerkung Der Linux Kernel wird relativ oft aktualisiert meistens weil neu entdeckte Sicherheitsliicken geschlossen werden Die neueste Kernelversion ist zum derzeitigen Stand 2 6 Verwenden Sie bitte den Linux Kernel 27 x es sei denn die LFS Fehlerkorrekturen errata empfehlen eine andere Version Anwender mit begrenzter Download Geschwindigkeit oder Bandbreite die den Linux Kernel aktualisieren m chten k nnen eine Basisversion des Pakets und Patches separat herunterladen Dies spart Zeit und Kosten f r Bandbreite die f r ein Patch Level Update innerhalb einer kleinen Versionsnummer ben tigt werden M4 1 4 12 884 KB Webseite http www gnu org software m4 Download Attp ftp gnu org gnu m4 m4 1 4 12 tar bz2 MD5 Pr fsumme b3587c993523dd320c318ec456876839 Make 3 81 1 125 KB Webseite http www gnu org software make Download http ftp gnu org gnu make make 3 81 tar bz2 MD5 Pr fsumme 354853e0b2da90c527e35aabb8d6fle6 Man DB 2 5 2 1 772 KB Webseite http www nongnu org man db Download http download savannah gnu org releases man db man db 2 5 2 tar gz MD5 Pr fsumme 9529aadae273566a170dee4e18aad6c1 Man pages 3 11 987 KB Download http www kernel org pub lin
327. rom Scratch werden hieraus keinen Vorteil haben aber es schadet auch nicht NAME Dieser Wert bestimmt den Namen der der Netzwerkkarte zugewiesen wird Der Wert von NAME ist der wichtige Teil Sie sollten wissen welchen Namen Sie welcher Netzwerkkarte zugewiesen haben bevor Sie fortfahren Verwenden Sie diesen Wert von NAME wenn Sie sp ter die Konfigurationsdateien weiter unten einrichten 7 13 2 Erstellen der Konfigurationsdateien f r Netzwerkger te Welche Netzwerkger te von den Skripten gestartet und gestoppt werden h ngt von den Dateien und Ordnern in etc sysconfig network devices ab Dieser Ordner sollte pro Netzwerkger t einen Unterordner in der Form ifconfig xyz enthalten wobei xyz der Name des Netzwerkger tes ist zum Beispiel ethO oder eth0 1 177 Linux From Scratch Version 6 4 Das folgende Kommando erzeugt die Beispieldate ipv4 f r eth0 cd etc sysconfig network devices mkdir v ifconfig ethO cat gt ifconfig eth0 ipv4 lt lt EOF ONBOOT yes SERVICE ipv4 static WPSi9 2 LOS y ik il GATEWAY 192 168 1 2 jg B REFIX 24 ROADCAST 192 168 1 255 EOF Nat rlich m ssen die Werte der Variablen in jeder Datei angepasst werden um mit Ihrer tats chlichen Systemkonfiguration bereinzustimmen Wenn die ONBOOT Variable auf yes gesetzt ist wird das network Skript die Netzwerkkarte beim booten starten Wenn sie auf irgendeinen anderen Wert gesetzt
328. rs instructions bdubbs Added 1386 linux32 and linux64 as symbolic links to setarch in util linux contents bdubbs Moved gawk ahead of findutils in Chapter 6 to avoid a test suite failure in findutils 26 10 2008 bdubbs Added a General Compilation Instructions section immediatley before binutils Essentially reordered the presentation that was in the Chapter 5 Introduction bdubbs Remove unnecessary mandir patch Updated vim package contents 25 10 2008 dj Updated the text on the Man DB page to accout for recent changes in Man DB Thanks to Alexander Patrakov for providing most of the included text explanations and examples 23 10 2008 dj Updated to Ifs bootscritps 20081023 to account for changes in the console page dj Updated text in console page to match current situation regarding linux kernel changes Thanks to Alexander Patrakov for the text and explanations dj Updated Man DB instructions and text covering manual pages and related i18n issues 22 10 2008 dj Corrected chown command for coreutils testsuite dj Updated to coreutils 6 12 118n 2 patch Thanks to Bryan Kadzban for the suggested fix 21 10 2008 matthew Added dependency information for GMP and MPFR packages Thanks to Chris Staub for the patch Also removed dependency information for Mktemp Thanks to William Immendorf for the report Fixes 42218 dj Updated list of minimum installed
329. rsetzen Sie host LANG Wert durch den Wert von SLANG ihres Host Rechners Wenn diese Variable nicht gesetzt ist k nnen Sie anstelle dessen den Wert aus LC ALL oder LC_CTYPE bernehmen make oldconfig k nnte in einigen F llen besser geeignet sein Schauen Sie in die Datei README um mehr Informationen zu erhalten Wenn Sie m chten k nnen Sie die Kernelkonfiguration berspringen und einfach die Kernel Konfigurationsdatei config von Ihrem Host System nach 1inux 2 6 27 4 kopieren falls sie verf gbar ist Das wird allerdings nicht empfohlen Sie sind besser dran wenn Sie alle Konfigurationsmen s durchsehen und Ihre eigene Kernelkonfiguration einrichten Kompilieren Sie das Kernel Abbild und die Module make Wenn Sie Kernel Module verwenden brauchen Sie wahrscheinlich die Datei etc modprobe conf Informationen zu Modulen und Kernelkonfiguration im Allgemeinen finden Sie im Abschnitt 7 4 Umgang mit Ger ten und Modulen an einem LFS System und in der Dokumentation zum Kernel 1inux 2 6 27 4 Auch modprobe conf 5 enth lt n tzliche Informationen Installieren Sie die Module falls Ihre Kernelkonfiguration solche verwendet make modules install Das Kompilieren des Kernels ist nun abgeschlossen aber einige der erzeugten Dateien befinden sich noch im Quellordner Um die Installation abzuschlie en m ssen Sie noch ein paar Dateien in den Ordner boot kopieren Der Pfad zur Kerneldatei variier
330. rt werden df Berichtet ber den verf gbaren und verwendeten Festplattenspeicher auf allen eingeh ngten Dateisystemen oder den Dateisystemen die die angegebenen Dateien enthalten dir Listet den Inhalt eines Ordners auf das Gleiche wie Is dircolors Gibt Kommandos zum Setzen der Umgebungsvariable LS COLOR aus um damit das Farbschema von Is zu ndern dirname Entfernt den nicht ordnerspezifischen Teil eines Dateinamens du Gibt aus wieviel Festplattenspeicher der aktuelle Ordner die Unterordner und Dateien oder eine einzelne Datei verbraucht echo Gibt eine angegebene Zeichenkette aus env F hrt ein Kommando in einer modifizierten Arbeitsumgebung aus 97 expand expr factor false fmt fold groups head hostid hostname id install join link In logname Is md5sum mkdir mkfifo mknod mktemp mv nice nl nohup od paste pathchk pinky pr printenv printf ptx pwd readlink rm rmdir seq shalsum sha224sum sha256sum Linux From Scratch Version 6 4 Konvertiert Tabulatoren zu Leerzeichen Wertet einen Ausdruck aus Gibt den Primfaktor aller angegebenen Ganzzahlen aus Tut gar nichts ist immer erfolglos Es beendet sich immer mit einem Abschlusscode der auf einen Fehler hinweist Formatiert die Abs tze in der bergebenen Datei neu F gt Zeilenumbr che in den angegebenen Dateien ein Gibt die Gruppenzugeh rigkeit eines Benutzers aus Gibt die ersten zehn oder die angegeben
331. rue do case UST sim p pidfile 2 safe 2 vr 522 log failure msg Unknown Option 1 return 2 Pr break Pr esac done adm po Moe qe Ww Jg Een esie A log failure msg Usage statusproc p pidfile pathname return 2 Ta Get the process basename base 1 This will ensure compatibility with previous LFS Bootscripts zie Jp e VSG Pie ein Js then josh 3t 1L S 1200 TE TE En Je 4 iE aL Is the process running ade ST then PICGorproe Sij else e leorszee s o MS foickedle SL iE a Store the return status ret ir m Siplcllisic 1 then S ECHO e S INFO S base is running with Process ID s pidlist NORMAL else mens eisen e VW uwesc scwus S oase sao T9 chen S ECHO e S WARNING 1 is not running but var run S base pid exists NORMAL else ie i Solicite a e WStoleltile Jg ken 207 Linux From Scratch Version 6 4 Linux From Scratch Version 6 4 S ECHO e S WARNING 1 is not running but S pidfile exists NORMAL else S ECHO e S INFO 1 is not running NORMAL EL cal al Return the status from pidofproc ame The below functions are documented in the LSB generic 2 1 0 KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK Function pidofproe s pP pidfile pathname Purpose This function returns one or more pid s fo
332. rung In diesem Kapitel werden Sie ein Minimal Linux erstellen Das System wird gerade genug Werkzeuge beinhalten um in Kapitel 6 mit dem Bau des endg ltigen LFS beginnen zu k nnen Wir verzichten hierbei weitestgehend auf jeglichen Komfort Das Erstellen des Minimal Systems erfolgt in zwei Schritten Zuerst erzeugen Sie eine brandneue Host unabh ngige Toolchain Compiler Assembler Linker und Bibliotheken und ein paar n tzliche Werkzeuge Mit Hilfe der Toolchain k nnen dann im weiteren Verlauf die essentiellen Werkzeuge kompiliert werden Die in diesem Kapitel kompilierten Dateien werden im Ordner SLFS tools installiert und sind damit von den restlichen Dateien des Systems sauber getrennt Die hier kompilierten Programme sind schlie lich nur tempor r und sollen nicht mit in unser endg ltiges LFS System einflie en 5 2 Technische Anmerkungen zur Toolchain Dieser Abschnitt soll Ihnen einige technische Details zum gesamten Kompilier und Installationsprozess erl utern Sie m ssen nicht alles in diesem Abschnitt sofort verstehen das Meiste ergibt sich von selbst sobald Sie die ersten Pakete installiert haben Scheuen Sie sich nicht zwischendurch noch einmal hierhin zur ckzubl ttern und nachzulesen wenn etwas unklar ist In Kapitel 5 soll eine gut funktionierende tempor re Arbeitsumgebung erschaffen werden in die Sie sich sp ter abkapseln und von wo aus Sie in Kapitel 6 ohne Schwierigkeiten ein sauberes endg ltiges LFS System erst
333. rung dazu Zuerst werden unter gcc config alle Dateien namens linux h oder 1inux64 h gesucht F r jede gefundene Datei wird eine Sicherungskopie mit dem Suffix orig angelegt Das erste sed Kommando stellt die Zeichenkette tools allen Fundstellen von lib ld lib64 ld oder lib32 ld voran Das zweite 43 Linux From Scratch Version 6 4 sed Kommando ersetzt hart einkodierte Vorkommen von usr Danach werden am Ende der Datei die define Anweisungen angef gt die den Suchpfad f r Include Dateien anpassen Zuguterletzt wird mittels touch der Zeitstempel der kopierten Dateien aktualisiert Wenn dies zusammen mit cp u verwendet wird wird unerwarteten nderungen an den Originaldateien vorgebeugt falls der Befehl versehentlich mehrmals ausgef hrt wird Wie auch schon im ersten Durchlauf von GCC werden die Pakete GMP und MPFR ben tigt Entpackten Sie die Pakete und verschieben Sie sie in die vorgeschriebenen Ordner tar jxf mpfr 2 3 2 tar bz2 mv mpfr 2 3 2 mpfr tar jxf gmp 4 2 4 tar bz2 mv gmp 4 2 4 gmp Erstellen Sie erneut einen eigenen Ordner zum Kompilieren mkdir v gcc build cd gcc build Denken Sie daran vor dem Kompilieren von GCC alle Umgebungsvariablen zur ckzusetzen die die Standard Optimierungen berschreiben w rden Bereiten Sie GCC zum Kompilieren vor gec 4 3 2 configure prefix tools with local prefix tools enable clocale gnu V
334. running processes to refresh their configuration KILLDELAY 3 Number of seconds between STOPSIG and FALLBACK when stopping processes Screen Dimensions Find current screen size Bar Ze S COLUMNS WER then COLUMNS stty size COLUMNS COLUMNS Ig COL sU NOS ITS COLE at the COL char ATAN COR ANOS SINCE EN at the WCOL char URS UP NN033 1ANNO33 0G 7 US ome le ae cas 00 Classe Set color commands used via SECHO Please consult man console codes for more information under the ECMA 48 Set Graphics Rendition section Kame Ss wasin Switchs cee a gort to a Sion ome the linux console will reinterpret the bold 1 to cne toS 256 Glyphs i the Nole Tome Mais COES not affect framebuffer consoles 202 NORMAL 033 0 39m SUCCESS 033 1 32m Linux From Scratch Version 6 4 Standard console grey A Success is green WARNING 033 1 33m Warnings are yellow FALLO m NC 9 3 ile S dom Failures are red INFO 033 1 36m Information is light cyan BRACKET 033 1 34m Brackets are blue STRING_LENGTH 0 the length of the current messag Locos boot_mesg local ECHOPARM while true do KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK Function boot mesg Purpose Sending information from bootup scripts to the console Inputs 1 is the message 92
335. s 2 6 x ist oder er nicht mit mindestens GCC 3 0 oder neuer kompiliert wurde dann muss auf dem Host zuerst ein solcher Kernel installiert und gebootet werden Es gibt zwei M glichkeiten dieses Problem zu beheben berpr fen Sie ob der Hersteller Ihrer Host Distribution einen entsprechenden Kernel zur Verf gung stellt und installieren Sie diesen Falls der Hersteller jedoch keinen passenden Kernel mitliefert oder Sie diesen aus irgendwelchen Gr nden nicht installieren m chten dann k nnen Sie selbst einen 2 6er Kernel kompilieren Eine Hilfestellung dazu finden Sie in Kapitel 8 vorausgesetzt der Host verwendet GRUB als Bootloader Anmerkung Mit dieser Version des Buchs erstellen Sie ein 32 Bit Linux System dazu ben tigen Sie einen 32 Bit Kernel auf einer Intel AMD x86 Architektur Die Unterst tzung von x86 64 Systemen ist ein Ziel zuk nftiger Buch Versionen Derzeit finden Sie Unterst tzung f r 64 Bit Systeme und weitere Architekturen ber das Projekt Cross Compiled Linux From Scratch CLFS unter der Adresse http cross Ifs org view svn M4 1 4 Make 3 79 1 Patch 2 5 4 Perl 5 6 0 Sed 3 0 2 Tar 1 14 Texinfo 4 8 Beachten Sie dass die oben erw hnten symbolischen Verkn pfungen notwendig sind um ein LFS nach den Anleitungen in diesem Buch zu erstellen Symbolische Verkn pfungen auf andere Software wie z B dash mawk usw k nnten eventuell funktionieren wurden aber weder getestet noch werden diese vo
336. s 2005 mochel pdf 7 5 Einrichten des setclock Skripts Das Skript setclock liest die Zeit aus der Hardware Uhr des Computers auch bekannt als BIOS oder CMOS Uhr und konvertiert sie mit Hilfe von etc localtime falls die Hardware Uhr auf GMT gestellt ist in lokale Zeit Die Datei etc localtime enth lt die Information in welcher Zeitzone sich der Anwender befindet Wenn die Hardware Uhr auf lokale Zeit eingestellt ist wird die Zeit nicht konvertiert Es gibt leider keinen Weg um automatisch herauszufinden ob die Hardware Uhr auf GMT gestellt ist oder nicht deshalb m ssen Sie diese Einstellung selber vornehmen Falls Sie sich nicht erinnern k nnen ob die Hardware Uhr auf GMT eingestellt ist rufen Sie hwclock localtime show auf Dieses Kommando zeigt die Zeit der Hardware Uhr an Wenn sie mit der Zeit auf Ihrer Armbanduhr bereinstimmt dann ist die Hardware Uhr auf lokale Zeit eingestellt Wenn die Zeit der Hardware Uhr abweicht ist sie wahrscheinlich auf GMT eingestellt Sie k nnen das berpr fen indem Sie die entsprechende anzahl Stunden von der Ausgabe von hwclock abziehen bzw addieren Wenn Sie zum Beispiel in der Zeitzone MST leben auch bekannt als GMT 0700 dann addieren Sie sieben Stunden zu der Uhrzeit auf Ihrer Armbanduhr hinzu Falls es bei Ihnen Sommerzeit gibt ziehen Sie in den Sommermonaten wieder eine Stunde ab ndern Sie den Wert von UTC zu 0 Null wenn Ihre Hardware Uhr auf lokale Zeit eingestellt ist Lege
337. s Basis f r eine configure in Datei zu dem Softwarepaket dienen kann autoupdate Ver ndert eine configure in Datei so dass sie nicht mehr die alten Namen der autoconf Makros aufruft sondern die neuen ifnames Kann beim Schreiben einer configure in Datei f r ein Paket hilfreich sein Es gibt die Bezeichner aus die ein Paket in Pr prozessor Konditionen benutzt Wenn ein Paket bereits f r Portabilit t eingerichtet ist kann dieses kleine Werkzeug zum Auffinden der n tigen configure Tests hilfreich sein Es kann einige L cken in autoscan generierten configure in Dateien f llen 111 Linux From Scratch Version 6 4 6 29 Automake 1 10 1 Automake enth lt Programme zur Erzeugung von Makefile Dateien zur weiteren Verwendung mit Autoconf Gesch tzte Kompilierzeit Etwa Ben tigter Speicherplatz weniger als 0 1 SBU 7 9 MB 6 29 1 Installation von Automake Patchen Sie einen Test der Automake Testsuite um ein Problem zu beheben das bei der Ausf hrung der Tests als root auftritt patch Npl i automake 1 10 1 test_fix 1 patch Bereiten Sie Automake zum Kompilieren vor configure prefix usr docdir usr share doc automake 1 10 1 Kompilieren Sie das Paket make Um die Ergebnisse zu testen geben Sie folgendes ein make check Dies ben tigt viel Zeit ungef hr 10 SBUs Installieren Sie das Paket make install 6 29 2 Inhalt von Automake Installierte Program
338. s den nderungszeitstempel einer Datei oder eines Ordners ausgibt Ein Skript welches fehlende GNU Programme w hrend der Installation ersetzt Ein Skript zum Erzeugen einer Ordnerstruktur Kompiliert ein Python Programm Ein Skript zum Erzeugen einer Symlink Version einer Ordnerstruktur 112 Linux From Scratch Version 6 4 ylwrap Ein Wrapper f r lex und yacc 113 Linux From Scratch Version 6 4 6 30 Bash 3 2 Das Paket Bash enth lt die Bourne Again SHell Gesch tzte 0 4 SBU Kompilierzeit Etwa Ben tigter 25 8 MB Speicherplatz 6 30 1 Installation von Bash Wenn Sie die Bash Dokumentation heruntergeladen haben und die HTML Dokumentation installieren m chten dann f hren Sie bitte die folgenden Kommandos aus tar xvf bash doc 3 2 tar gz sed i s htmldir htmldir htmldir usr share doc bash 3 2 Makefile in Die Upstream Entwickler haben seit der ersten Ver ffentlichung von Bash 3 2 viele Fehler behoben Spielen Sie diese Fehlerkorrekturen nun ein patch Npl i bash 3 2 fixes 8 patch Bereiten Sie Bash zum Kompilieren vor configure prefix usr bindir bin without bash malloc with installed readline ac cv func working mktime yes Die Bedeutung der configure Parameter with installed readline Dieser Parameter l sst Bash die von uns installierte readline Bibliothek anstelle der Bash eigenen Version benutzen Kompilieren Sie das Paket make
339. s prim res Betriebssystem nutzen m chten brauchen Sie zum Nachinstallieren weiterer Pakete mehr Platz ca 2 bis 3 GB Das LFS System selbst ben tigt selbstverst ndlich nicht so viel Speicher Der gr te Teil wird als tempor rer Speicher ben tigt Das Kompilieren von Paketen kann eine Menge Festplattenplatz in Anspruch nehmen der aber nach dem Kompiliervorgang wieder freigegeben wird Manchmal ist zu wenig Random Access Memory RAM Arbeitsspeicher verf gbar daher sollte man eine kleine Partition als Swap Partition einrichten das ist Speicherplatz den der Kernel zum Auslagern selten genutzter Daten verwendet Das schafft Platz im Arbeitsspeicher f r wichtigere Dinge Die Swap Partition in Ihrem LFS kann dieselbe sein wie die die Sie bereits f r ihr Host System nutzen Falls Sie also schon eine funktionsf hige Swap Partition haben m ssen Sie keine zus tzliche erstellen Rufen Sie ein Partitionierungsprogramm wie zum Beispiel cfdisk oder fdisk auf Als Argument bergeben Sie die Festplatte auf der Sie die neue Partition erstellen m chten zum Beispiel dev hda f r die prim re Integrated Drive Electronics IDE Festplatte Erstellen Sie eine native Linux Partition und eine Swap Partition falls n tig Bitte lesen Sie die Man Page zu cfdisk oder fdisk wenn Ihnen die Bedienung dieser Programme unklar ist Merken Sie sich die Bezeichnung Ihrer neuen Partition sie k nnte hda5 oder hnlich lauten Das Buch bezeichnet dies
340. s zusammengesetzten Zeichenkodes in der Zeichentabelle eingestellt werden UNICODE Setzen Sie diese Variable auf 1 yes oder true um f r die Konsole den UTF 8 Modus zu aktivieren Dies ist nur f r auf UTF 8 basierende Locales sinnvoll und in allen anderen Locales sch dlich LEGACY CHARSET F r viele Tastaturlayouts gibt es im kbd Paket keine Tastaturlayouttabelle im Unicode Format Das console Bootskript wird eine verf gbare Layouttabelle zur Laufzeit nach UTF 8 umwandeln wenn diese Variable auf eine nicht UTF 8 Layouttabelle eingestellt ist Einige Beispiele F r eine Nicht Unicode Umgebung werden blicherweise nur die Variablen KEYMAP und FONT ben tigt In Polen w rde man dies verwenden cat etc sysconfig console EOF Begin etc sysconfig console KEYMAP p12 HON Re SII A End etc sysconfig console EOF Wie bereits erw hnt muss das vorbereitete Tastaturlayout manchmal ein wenig angepasst werden Im folgenden Beispiel wird das Euro Zeichen zum deutschen Tastaturlayout hinzugef gt 170 Linux From Scratch Version 6 4 cat gt etc sysconfig console lt lt EOF Begin etc sysconfig console KEYMAP de latin1 KEYMAP_CORRECTIONS euro2 PONI Y Lar0 16 m 9959 15 End etc sysconfig console EOF Und nun folgt ein Beispiel f r eine Unicode Umgebung in Bulgarien wof r es ein vorbereitetes UTF 8 Tastaturlayou
341. sch sk ISO 8859 2 Serbisch sr ISO 8859 5 T rkisch tr ISO 8859 9 Chinesisch vereinfacht GBK zh CN Chinesisch vereinfacht GBK Singapur zh SG Chinesisch traditionell BIGS zh TW Chinesisch traditionell BIGSHKSCS Hong Kong zh HK Anmerkung Hilfeseiten in Sprachen die sich nicht in der Tabelle befinden werden nicht unterst tzt Norwegisch funktioniert aufgrund der Umwandlung von no NO zu nb NO nicht wird aber in der n chsten Version von Man DB funktionieren Koreanisch funktioniert aufgrund des unvollst ndigen Groff Patches von Debian nicht der in LFS verwendet wird 139 Linux From Scratch Version 6 4 Abh ngig von der Linux Distribution f r die ein Paket Betreuer seine Pakete entwickelt k nnten Man pages in falsche Ordner installiert werden Es wurde ein Skript namens convert mans entwickelt das bei der Umwandlung von Man pages in die f r einen Ordner korrekte Kodierung behilflich sein kann Dieses Skript wandelt Man pages vor oder nach der Installation in einen Ordner um Installieren Sie convert mans mit den folgenden Befehlen cat gt gt convert mans lt lt EOF bin sh e FROM 1 TO 2 SALETE p SLEE while gt O do EAEE SOAN SALTE icon E VU SINON u VSTQV USPILEY gt Cmo Leon ip tao Leony MSELLE done EOF install m755 convert mans usr bin Wenn ein Quellpaket die Hilfeseiten in einer l nderbezogenen Kodierung mitliefert so
342. sein Bevor Sie mit dem Bau von LFS beginnen sollten Sie unter http www linuxfromscratch org lfs errata 6 4 nachsehen ob nderungen an den Installationsanleitungen oder an Softwareversionen n tig sind Bitte notieren Sie alle n tigen Anderungen und wenden Sie diese in den entsprechenden Kapiteln an xi Linux From Scratch Version 6 4 Teil I Einf hrung Linux From Scratch Version 6 4 Kapitel 1 Einf hrung 1 1 Vorgehensweise zur Installation von LFS Sie werden LFS mit Hilfe einer bereits laufenden Linux Distribution wie z B Debian Mandriva Red Hat oder SuSE installieren Das bestehende System der Host wird als Einstiegspunkt benutzt denn Sie brauchen Programme wie Compiler Linker und eine Shell um Ihr neues System zu erstellen Normalerweise sind alle notwendigen Programme bereits installiert wenn Sie bei der Installation Ihrer Distribution die Kategorie Entwicklung ausgew hlt haben Falls Sie nur wegen LFS kein neues Host System installieren m chten dann sollten Sie die LFS Live CD oder eine Live CD einer anderen Distribution verwenden Die LFS Live CD enth lt ein voll funktionsf higes Host System mit allen notwendigen Werkzeugen f r eine erfolgreiche Installation Leider wurde die LFS Live CD jedoch in letzter Zeit nicht weiterentwickelt so dass die enthaltenen Software Pakete und Patches alle veraltet sind Des Weiteren enth lt sie eine Online Version dieses Buchs Weitere Informationen zu der CD finde
343. sem Paket finden Sie in Abschnitt 6 17 2 Inhalt von E2fsprogs 52 Linux From Scratch Version 6 4 5 20 Findutils 4 4 0 Das Paket Findutils enth lt Programme zum Auffinden von Dateien durch rekursive Suche in einer Ordnerstruktur oder ber den Zugriff auf eine Datenbank Die Suche ber eine Datenbank ist normalerweise schneller aber es besteht nat rlich die Gefahr dass die Datenbank zum Zeitpunkt der Suche veraltet ist Gesch tzte 0 3 SBU Kompilierzeit Etwa Ben tigter 20 MB Speicherplatz 5 20 1 Installation von Findutils Bereiten Sie Findutils zum Kompilieren vor configure prefix tools Kompilieren Sie das Paket make Der Kompiliervorgang ist nun abgeschlossen Wie bereits erw hnt wird empfohlen die Testsuite f r das tempor re System in diesem Kapitel nicht durchlaufen zu lassen Falls Sie die Testsuite dennoch laufen lassen m chten f hren Sie dieses Kommando aus make check Installieren Sie das Paket make install Details zu diesem Paket finden Sie in Abschnitt 6 35 2 Inhalt von Findutils 53 Linux From Scratch Version 6 4 5 21 Gawk 3 1 6 Gawk ist eine Implementierung von awk und wird zur Textmanipulation verwendet Gesch tzte 0 3 SBU Kompilierzeit Etwa Ben tigter 19 MB Speicherplatz 5 21 1 Installation von Gawk Bereiten Sie Gawk zum Kompilieren vor configure prefix tools ac cv func working mktime
344. sen Normalerweise w rden Sie nun die Testsuite durchlaufen lassen aber in diesem fr hen Stadium ist die Testsuite Umgebung Tcl Expect und DejaGNU noch nicht verf gbar AuBerdem macht es wenig Sinn die Tests nun laufen zu lassen denn die Programme aus dem ersten Durchlauf werden sehr bald durch die aus dem zweiten Durchlauf ersetzt Installieren Sie das Paket make install Bereiten Sie nun den Linker auf die sp teren Anpassungen vor make C ld clean make C ld LIB PATH tools lib cp v ld ld new tools bin 30 Linux From Scratch Version 6 4 Die Bedeutung der make Parameter C ld clean Dies weist das Programm make an alle kompilierten Dateien im Unterordner 1d zu l schen C ld LIB_PATH tools lib Dieser Parameter kompiliert alles im Unterordner 1d erneut Die Angabe der Makefile Variable LIB PATH auf der Kommandozeile berschreibt den Standardwert und zeigt auf den tempor ren Ordner tools Der Wert dieser Variable gibt den Standard Bibliotheksuchpfad f r den Linker an Sie werden sp ter in diesem Kapitel sehen wie diese Vorbereitung zur Anwendung kommt Details zu diesem Paket finden Sie in Abschnitt 6 11 2 Inhalt von Binutils 31 Linux From Scratch Version 6 4 5 5 GCC 4 3 2 Durchlauf 1 Das Paket GCC enth lt die GNU Compiler Sammlung Darin sind die C und C Compiler enthalten Gesch tzte 22 SBU Kompilierzeit Etwa Ben tigter 1 1 GB Speicherplatz 5 5 1
345. sh ab Normalerweise ist das sogenannte Hashing der Bash eine n tzliche Funktion Bash benutzt eine Hash Tabelle um sich die Pfade zu ausf hrbaren Dateien zu merken und vermeidet auf diese Weise ein st ndiges Durchsuchen aller Ordner Beim Bau von LFS m ssen Sie jedoch alle neu installierten Werkzeuge sofort nutzen k nnen Durch Abschalten der Hash Funktion wird f r interaktive Kommandos make patch sed cp und so weiter immer die neueste verf gbare Version benutzt 25 Linux From Scratch Version 6 4 Das Setzen der Dateierzeugungs Maske umask auf 022 bewirkt dass neu erzeugte Dateien nur durch ihren Besitzer beschreibbar sind aber f r alle anderen les und ausf hrbar wenn der Systemaufruf open 2 die blichen Datei Modi benutzt werden alle neu erzeugten Dateien die Rechte 644 und Ordner die Rechte 755 erhalten Die Variable LFS sollte nat rlich auf den von Ihnen gew hlten Mountpunkt der LFS Partition gesetzt sein Die Variable LC_ALL beeinflusst die Lokalisierung einiger Programme so dass deren Ausgaben den Konventionen des entsprechenden Landes folgen Wenn Ihr Host System eine ltere Glibc Version als 2 2 4 verwendet k nnte es Probleme geben wenn LC_ALL nicht auf POSIX oder C gesetzt ist Durch Setzen von LC ALL auf POSIX oder C die beiden Werte haben die gleiche Wirkung sollte es beim Hin und Herwechseln in der chroot Umgebung keine Probleme geben Durch das Voranstellen von to
346. sion Bitte besuchen Sie einen unserer Spiegel Server unter http Avww linuxfromscratch org mirrors html Die folgende Liste enth lt alle nderungen seit der Ver ffentlichung der Vorg ngerversion nderungsprotokoll 23 11 2008 bdubbs Ver ffentlichung von LFS 6 4 5 11 2008 bdubbs Changed wording introducing test suites in Chapter 5 31 10 2008 dj Updated to Ifs bootscripts 20081031 30 10 2008 bdubbs Added explanation for disable libssp to GCC in Chapter 5 Also expanded added explanation on language selection for GCC in Chapters 5 and 6 bdubbs Wording changes to several text sections of Chapter 5 Thanks to Chris Staub for the patch bdubbs Added a consolidated patch to perl to address security and other issues Changed the configure options for perl to define a vendor library location 29 10 2008 bdubbs Updated symbolic link creation loop for vi 1 man pages Thanks to Bryan Kadzban for the construct Linux From Scratch Version 6 4 28 10 2008 bdubbs Updated to Tcl 8 5 5 bdubbs Updated to latest stable kernel 2 6 27 4 bdubbs Changed location of man pages in Module Init Tools Thanks to Trent Shea for pointing out the fix bdubbs Updated to M4 1 4 12 27 10 2008 bdubbs Added chmod instructions to e2fsprogs and tcl to ensure all libraries are writable by root for stripping bdubbs Added a brief explanation of the Linux API Heade
347. skey Kurze Beschreibungen less Ein Dateibetrachter Er zeigt den Inhalt einer Datei an und erm glicht darin zu bl ttern nach Zeichenketten zu suchen und zu Markierungen springen lessecho Wird zum Expandieren von Metazeichen in Unix Dateinamen ben tigt z B und lesskey Wird zum Festlegen der Tastenbelegung f r less verwendet 136 Linux From Scratch Version 6 4 6 46 Make 3 81 Das Paket Make enth lt Werkzeuge zum Kompilieren von Software Gesch tzte 0 1 SBU Kompilierzeit Etwa Ben tigter 9 6 MB Speicherplatz 6 46 1 Installation von Make Bereiten Sie Make zum Kompilieren vor configure prefix usr Kompilieren Sie das Paket make Um die Ergebnisse zu testen geben Sie folgendes ein make check Installieren Sie das Paket make install 6 46 2 Inhalt von Make Installiertes Programm make Kurze Beschreibungen make Erkennt automatisch welche Teile eines gro en Programms neu kompiliert werden m ssen und f hrt automatisch die notwendigen Kommandos aus 137 Linux From Scratch Version 6 4 6 47 Man DB 2 5 2 Man DB enth lt Programme zum Finden und Anzeigen von Hilfeseiten Man pages Gesch tzte 0 3 SBU Kompilierzeit Etwa Ben tigter 20 MB Speicherplatz 6 47 1 Installation von Man DB LFS erzeugt usr man und usr local man als symbolische Verkn pfungen Entfernen Sie diese Eintr ge aus man db conf dadurch werden redund
348. sma e einer Konsole ndert EGA Enhanced Graphic Adapter und VGA Video Graphics Array Schriften in der Konsole L dt Scancode zu Keycode Zuweisungstabellen des Kernel N tzlich wenn Sie ein paar un bliche Tasten auf Ihrer Tastatur haben Stellt Tastaturoptionen und die LEDs ein Definiert die Behandlung von Meta Tasten auf der Tastatur Zeigt die aktuelle EGA VGA Konsole Schrift an Zeigt Scancode Keycode und ASCII Code der auf der Tastatur gedr ckten Taste an Versetzt Tastatur und die Konsole in den UNICODE Modus Verwenden Sie dieses Programm nur wenn Ihre Tastaturlayouttabelle eine ISO 8859 1 Kodierung verwendet Mit anderen Kodierungen produziert es unbrauchbare Ergebnisse Schaltet den Unicode Modus von Tastatur und Konsole wieder aus 135 Linux From Scratch Version 6 4 6 45 Less 418 Less ist ein Textanzeigeprogramm Gesch tzte 0 1 SBU Kompilierzeit Etwa Ben tigter 2 8 MB Speicherplatz 6 45 1 Installation von Less Bereiten Sie Less zum Kompilieren vor configure prefix usr sysconfdir etc Die Bedeutung der configure Parameter sysconfdir etc Dieser Parameter bewirkt dass die in diesem Paket installierten Programme ihre Konfigurationsdateien in etc suchen Kompilieren Sie das Paket make Dieses Paket enth lt keine Testsuite Installieren Sie das Paket make install 6 45 2 Inhalt von Less Installierte Programme less lessecho und les
349. sten Ger te exportiert der Bus Treiber den Alias des notwendigen Treibers nach sysfs So w rde beispielsweise die Datei sys bus pci devices 0000 00 0d 0 modalias den Wert 167 Linux From Scratch Version 6 4 pc1 v000013194000008015sv00001319sd00001319bc04sc01100 enthalten Die Standard Udev Regeln sorgen daf r dass udevd sbin modprobe mit dem Inhalt der uevent Umgebungsvariable MODALIAS aufruft sie sollte das Gleiche enthalten wie die Datei modalias in sysfs Dadurch werden alle Module aufgerufen deren Alias dem Wert entsprechen In diesem Beispiel bedeutet das aber auch dass zus tzlich zu snd fm801 noch er veraltete und unerw nschte Treiber forte geladen wird sofern er verf gbar ist Weiter unten ist eine M glichkeit beschrieben wie man das Laden unerw nschter Treiber verhindern kann Der Kernel selbst ist ebenfalls in der Lage Module f r Netzwerkprotokolle Dateisystem und NLS nach Bedarf zu laden 7 4 2 5 Der Umgang mit dynamischen bzw Hotplug Ger ten Wenn Sie ein Ger t wie beispielsweise einen USB MP3 Player so erkennt der Kernel ein neu angeschlossenes Ger t und erzeugt einen uevent Um dieses neue uevent k mmert sich dann udevd so wie oben beschrieben 7 4 3 Probleme mit dem Laden von Kernelmodulen und dem Erzeugen von Ger tedateien Es gibt ein paar m gliche Probleme beim automatisierten Erzeugen von Ger tedateien 7 4 3 1 Das n tige Kernelmodul wird nicht automatisch geladen Udev l dt nu
350. t abh ngig von der benutzten Plattform auf der Sie arbeiten Das folgende Kommando geht von einem x86 System aus cp v arch x86 boot bzImage boot lfskernel 2 6 27 4 System map ist eine Symboldatei f r den Kernel Sie ordnet Funktions Einstiegspunkte jeder Funktion in der Kernel API sowie Adressen der Kernel Datenstrukturen zu Geben Sie das folgende Kommando ein um die Datei zu installieren cp v System map boot System map 2 6 27 4 config ist die Kernel Konfigurationsdatei die durch das obige Kommando make menuconfig erzeugt wurde Sie enth lt alle Konfigurationsoptionen f r den soeben kompilierten Kernel Es ist sinnvoll diese Datei aufzubewahren 181 Linux From Scratch Version 6 4 cp v config boot config 2 6 27 4 Installieren Sie die Dokumentation zum Linux Kernel install d usr share doc linux 2 6 27 4 cp r Documentation usr share doc linux 2 6 27 4 Beachten Sie bitte dass die Dateien im Kernel Quellordner nicht root geh ren Immer wenn Sie ein Paket als root Benutzer entpacken so wie Sie es hier im chroot tun erhalten die entpackten Dateien die Benutzer und Gruppen ID desjenigen der das Archiv erstellt hat Das ist blicherweise f r normale Pakete kein Problem weil Sie den Quellordner nach der Installation l schen Aber die Linux Quellen liegen oft sehr lange auf Ihrem Computer daher ist die Chance gro dass ein zuk nftiger Benutzer auf Ihrem System die Benutzer
351. t das System neu sendsignals Stellt sicher dass jeder Prozess beendet wird bevor das System herunterf hrt oder neu startet setclock Setzt die Kernelzeit auf lokale Zeit falls die Hardware Uhr nicht auf UTC Zeit eingestellt ist static Stellt Funktionen zum Zuweisen einer statischen IP Adresse an ein Netzwerkger t zur Verf gung swap Aktiviert und deaktiviert Swap Dateien und Partitionen sysctl L dt Einstellungen zur Systemeinrichtung aus etc sysctl conf falls die Datei vorhanden ist in den laufenden Kernel sysklogd Startet und stoppt die System und Kernel Log Daemons template Eine Vorlage die Sie verwenden k nnen um Ihre eigenen Bootskripte f r eigene Daemons zu schreiben udev Bereitet dev vor und startet Udev 164 Linux From Scratch Version 6 4 udev_retry Probiert fehlgeschlagene Udev Ereignisse erneut und kopiert die erzeugten Regel Dateien aus dev udev nach etc udev rules d falls n tig 165 Linux From Scratch Version 6 4 7 3 Wie funktionieren diese Bootskripte Linux benutzt eine spezielle Bootmethode mit dem Namen SysVinit Sie basiert auf dem Konzept der Runlevel Dieses Konzept kann in verschiedenen Distributionen sehr unterschiedlich umgesetzt sein Nehmen Sie also nicht an nur weil etwas in Distribution XY funktioniert geht es in LFS auf die gleiche Weise LFS respektiert zwar allgemein bliche Standards geht aber dennoch wie alle anderen seinen eigenen Weg SysVinit wir nennen
352. t gibt cat gt etc sysconfig console lt lt EOF Begin etc sysconfig console UNICODE 1 KEYMAP bg bds utf8 FONT LatArCyrHeb 16 End etc sysconfig console EOF Im vorherigen Beispiel wird die Schrift LatArCyrHeb 16 mit 512 Symbolen eingesetzt Dies hat zur Folge das in der Linux Konsole keine hellen Farben mehr angezeigt werden k nnen es sei denn man verwendet einen Framebuffer Falls Sie helle Farben ohne Framebuffer ben tigen sollten und daf r mit einigen fehlenden Zeichen leben k nnen die nicht zur eigenen Sprache geh ren dann k nnen Sie wie folgt auf eine Schrift mit 256 Zeichen zur ckgreifen cat gt etc sysconfig console lt lt EOF Begin etc sysconfig console UNICODE 1 KEYMAP bg bds utf8 FONT cyr sunl6 End etc sysconfig console EOF Das folgende Beispiel stellt die automatische Umwandlung von ISO 8859 15 nach UTF 8 sowie die Aktivierung toter Tasten im Unicode Modus dar cat etc sysconfig console EOF Begin etc sysconfig console UNICODE 1 KEYMAP de latinl KEYMAP CORRECTIONS euro2 LEGACY CHARSET iso 8859 15 FONT LatArCyrHeb 16 m 8859 15 End etc sysconfig console EOF Einige Tastaturlayouttabellen enthalten sog tote Tasten Tasten die kein eigenst ndiges Zeichen erzeugen sondern z B das nachfolgende Zeichen mit einem Akzent versehen oder Kompos
353. t verl sst sich zum Kompilieren und Installieren auf ein oder mehrere weitere Pakete Manche Pakete haben sogar rekursive Abh ngigkeiten Das hei t ein Paket A ben tigt Paket B welches wiederum Paket A voraussetzt Diese z T recht komplizierten Abh ngigkeiten begr nden auch die besondere Installationsreihenfolge der Pakete in LFS Der Zweck dieser Seite ist es die Abh ngigkeiten aller Pakete in LFS zu dokumentieren F r jedes installierte Paket listen wir hier drei Arten von Abh ngigkeiten auf Die erste Liste enth lt Pakete die zur Installation der fraglichen Software ben tigt werden Die zweite Liste enth lt die Pakete die zum korrekten Durchlaufen der Testsuite der fraglichen Software ben tigt werden Die dritte Liste enth lt die LFS Programme die dieses fragliche Paket zur korrekten Installation voraussetzen und zwar am endg ltigen Installationsort fertig installiert In den meisten F llen ist der Grund daf r das diese Programme die Pfade zum fraglichen Paket fest in Skripten einbinden Wenn Sie sich nicht an die in LFS vorgegebene Installationsreihenfolge halten k nnten diese Programm Pfade wie tools bin bin rdatei in ihren Skripten einbinden dies w re absolut nicht w nschenswert Autoconf Installations Abh ngigkeiten Testsuite Abh ngigkeiten Muss installiert werden vor Automake Installations Abh ngigkeiten Testsuite Abh ngigkeiten Muss installiert werden vor Bash Installat
354. ta Dumper Fentl IO POSIX richtig schreiben das sind alles Buchstaben sh Configure des Dprefix tools Dstatic ext Data Dumper Fcntl IO POSIX Die Bedeutung der configure Parameter Dstatic ext Data Dumper Fcntl IO POSIX Damit wird Perl angewiesen die notwendigsten statischen Erweiterungen zu installieren die im n chsten Kapitel f r die Coreutils und die Glibc ben tigt werden Aus diesem Paket m ssen nur wenige Programme sowie eine Bibliothek kompiliert werden make perl utilities ext Errno pm to blib Obwohl Perl eine Testsuite enth lt sollte sie zum jetzigen Zeitpunkt noch nicht ausgef hrt werden Es wurden nur Teile von Perl installiert und das Ausf hren von make test w rde bewirken dass nun der Rest von Perl kompiliert werden w rden Das ist zu diesem Zeitpunkt v llig unn tig die Testsuite kann im n chsten Kapitel ausgef hrt werden Installieren Sie diese Werkzeuge und ihre Bibliotheken an die richtige Stelle cp v perl pod pod2man tools bin mkdir pv tools lib per15 5 10 0 cp Rv lib tools lib per15 5 10 0 Details zu diesem Paket finden Sie in Abschnitt 6 26 2 Inhalt von Perl 61 Linux From Scratch Version 6 4 5 29 Sed 4 1 5 Das Paket Sed enth lt einen Stream Editor Gesch tzte 0 1 SBU Kompilierzeit Etwa Ben tigter 6 1MB Speicherplatz 5 29 1 Installation von Sed Bereiten Sie Sed zum Kompilieren vor configure prefix tools
355. tallation von MPFR Bereiten Sie MPFR zum Kompilieren vor configure prefix usr enable thread safe Kompilieren Sie das Paket make O Wichtig In diesem Abschnitt wird die Testsuite von MPFR als kritisch eingestuft Wir raten Ihnen die Tests unter keinen Umst nden zu berspringen Testen Sie die Ergebnisse und stellen Sie sicher dass alle 134 Tests erfolgreich durchlaufen make check Installieren Sie das Paket make install 6 13 2 Inhalt von MPFR Installierte Bibliotheken mpfr so Kurze Beschreibungen mpfr Enth lt mathematische Funktionen mehrfacher Genauigkeit 86 Linux From Scratch Version 6 4 6 14 GCC 4 3 2 Das Paket GCC enth lt die GNU Compiler Sammlung Darin sind die C und C Compiler enthalten Gesch tzte 25 SBU inkl Testsuite Kompilierzeit Etwa Ben tigter 1 1 GB inkl Testsuite Speicherplatz 6 14 1 Installation von GCC Wenden Sie nun einen Sed Befehl an um die Installation von libiberty a zu verhindern Wir m chten die von Binutils bereitgestellte Version von libiberty a verwenden sed i s install to INSTALL DEST libiberty Makefile in Im Bootstrap Durchlauf aus Abschnitt 5 5 GCC 4 3 2 Durchlauf 1 wurde zum Kompilieren von GCC der Compiler Parameter fomit frame pointer verwendet Der Nicht Bootstrap Durchlauf verwendet diesen Parameter jedoch standardm ig nicht Um die Kompilier Durchl ufe von GCC konsistent zu
356. talog die auf ein bestimmtes Muster passen oder zu einer bestimmten Quelldatei geh ren Erzeugt eine neue po Datei und initialisiert die Meta Informationen mit Werten aus der Arbeitsumgebung des Benutzers Kombiniert zwei bersetzungen in eine einzige Datei Erzeugt aus einem bin ren Katalog einen Nachrichtenkatalog in Textform Vereinheitlicht doppelte bersetzungen in einem Nachrichtenkatalog Zeigt die bersetzung einer Textnachricht an deren Grammatik von einer Zahl abh ngt Kodiert serbischen Text aus dem kyrillischen in Lateinische Schrift um Extrahiert alle bersetzbaren Nachrichten aus den angegebenen Quelldateien um daraus eine erste Nachrichtenkatalogvorlage zu erstellen Definiert die autosprintf Klasse sie macht C formatierte Routinen in C Programmen verf gbar vor allem zur Verwendung mit lt string gt Strings und den lt iostream gt Streams Eine private Bibliothek die die allgemeinen Routinen der verschiedenen gettext Programme enth lt Sie sind nicht zur normalen Verwendung gedacht Wird zum Schreiben von spezialisierten Programmen verwendet die po Dateien verarbeiten sollen Diese Bibliothek wird benutzt wenn die mitgelieferten Standardprogramme von gettext nicht ausreichen so wie msgattrib und msgen Eine private Bibliothek die die allgemeinen Routinen der verschiedenen gettext Programme enth lt Sie sind nicht zur normalen Verwendung gedacht 125 Linux From Scratch Version 6 4 6 39 G
357. tatistiken zu Berkeley Datenbanken an Wird zum Aktualisieren von Datenbank Dateien auf eine neuere Berkeley DB Version verwendet Wird zum Durchf hren von Konsistenzpr fungen von Datenbank Dateien verwendet Enth lt Funktionen zum Manipulieren von Datenbank Dateien aus C Programmen heraus Enth lt Funktionen zum Manipulieren von Datenbank Dateien aus C Programmen heraus 91 6 16 Sed 4 1 5 Das Paket Sed enth lt einen Stream Editor Gesch tzte 0 2 SBU Kompilierzeit Etwa Ben tigter 10 MB Speicherplatz 6 16 1 Installation von Sed Bereiten Sie Sed zum Kompilieren vor Linux From Scratch Version 6 4 configure prefix usr bindir bin enable html Die Bedeutung des neuen Parameters zu configure enable html Dadurch wird die HTML Dokumentation erzeugt Kompilieren Sie das Paket make Um die Ergebnisse zu testen geben Sie folgendes ein make check Installieren Sie das Paket make install 6 16 2 Inhalt von Sed Installiertes Programm sed Kurze Beschreibungen sed Wird zum Filtern und Transformieren von Dateien in einem einzigen Durchlauf verwendet 92 Linux From Scratch Version 6 4 6 17 E2fsprogs 1 41 3 E2fsprogs stellt die Werkzeuge zur Verwendung mit dem ext 2 Dateisystem zur Verf gung Auch ext3 wird unterst tzt ein Journaling Dateisystem Gesch tzte 0 7 SBU inkl Testsuite Kompilierzeit Etwa Ben tigter 54 MB inkl Testsuit
358. te 0 1 SBU Kompilierzeit Etwa Ben tigter 6 3 MB Speicherplatz 6 32 1 Installation von Diffutils Nach POSIX muss diff mit wei en Leerzeichen Locale spezifisch umgehen Der folgende Patch behebt die Inkompatibilit t zu dieser Regel patch Npl i diffutils 2 8 1 i18n 1 patch Der obige Patch hat den Nebeneffekt dass die Man page diff 1 mit dem fehlenden Programm help2man neu erzeugt werden w rde Dies ergibt eine unleserliche Man page f r diff Wir k nnen das Problem vermeiden indem wir den Zeitstempel von man diff 1 aktualisieren touch man diff 1 Bereiten Sie Diffutils zum Kompilieren vor configure prefix usr Kompilieren Sie das Paket make Dieses Paket enth lt keine Testsuite Installieren Sie das Paket make install 6 32 2 Inhalt von Diffutils Installierte Programme cmp diff diff3 und sdiff Kurze Beschreibungen cmp Vergleicht zwei Dateien und berichtet ob und an welchen Bytes sie sich unterscheiden diff Vergleicht zwei Dateien oder Ordner und berichtet in welchen Zeilen sie sich unterscheiden diff3 Vergleicht drei Dateien Zeile f r Zeile sdiff F hrt interaktiv zwei Dateien zusammen und gibt das Ergebnis aus 118 Linux From Scratch Version 6 4 6 33 File 4 26 File ist ein kleines Werkzeug mit dem man den Dateityp einer oder mehrerer Dateien feststellen kann Gesch tzte 0 1 SBU Kompilierzeit Etwa Ben tigter 8 9 MB Sp
359. ten Testsuite Abh ngigkeiten Muss installiert werden vor Gawk Installations Abh ngigkeiten Testsuite Abh ngigkeiten Muss installiert werden vor Gcc Installations Abh ngigkeiten Testsuite Abh ngigkeiten Muss installiert werden vor Gettext Installations Abh ngigkeiten Testsuite Abh ngigkeiten Muss installiert werden vor Glibc Installations Abh ngigkeiten Testsuite Abh ngigkeiten Muss installiert werden vor Linux From Scratch Version 6 4 Bash Binutils Coreutils Diffutils Gawk GCC Glibc Grep Make Sed und Zlib Enth lt keine Testsuite Keine Bash Binutils Coreutils GCC Gettext Glibc Grep Make Sed und Texinfo DejaGNU Diffutils und Expect Keine Bash Binutils Coreutils GCC Gettext Glibc Grep M4 Make Patch Sed und Texinfo Bison und Gawk IPRoute2 Kbd und Man DB Bash Binutils Coreutils GCC Gettext Glibc Grep Make Patch Sed und Texinfo Diffutils Keine Bash Binutils Coreutils Diffutils Findutils Gawk GCC Gettext Glibc GMP Kapitel 6 Grep M4 Kapitel 5 Make MPFR Kapitel 6 Patch Perl Sed Tar und Texinfo DejaGNU und Expect Keine Bash Binutils Coreutils Gawk GCC Glibc Grep Make Sed und Texinfo Diffutils Perl und Tcl Automake Bash Binutils Coreutils Diffutils Gawk GCC Gettext Grep Gzip Make Perl Sed und Texinfo Keine Keine 194 GMP Installations Abh ngigkeiten Testsuite
360. tenspeichers beim Kompilieren Nach den Installationsanweisungen folgt eine Liste der Programme und Bibliotheken inklusive einer kurzen Beschreibung die mit dem Paket installiert werden 6 2 Vorbereiten der virtuellen Kernel Dateisysteme Verschiedene vom Kernel exportierte Dateisysteme werden f r die Kommunikation zwischen dem Kernel selbst und dem sog Userspace verwendet Dies sind virtuelle Dateisysteme in Hinsicht darauf dass sie keinen Speicherplatz auf der Festplatte verbrauchen Der Inhalt der Dateisysteme liegt vollst ndig im Arbeitsspeicher Erstellen Sie die Ordner in die dann die virtuellen Dateisysteme eingeh ngt werden mkdir pv SLFS dev proc sys 6 2 1 Erzeugen der wichtigsten Geratedateien Zum Booten des Kernel m ssen nur wenige Ger tedateien vorhanden sein im einzelnen console und null Die Ger tedateien werden auf der Festplatte erzeugt damit sie vor dem Start von udevd verf gbar sind insbesondere wenn Linux mit dem Parameter init bin bash gestartet wird Erstellen Sie die Ger tedateien mit diesen Kommandos mknod m 600 LFS dev console e51 mknod m 666 LFS dev null c 1 3 6 2 2 Einh ngen und F llen von dev Die empfohlene Vorgehensweise um dev mit Ger tedateien zu f llen ist in dev ein virtuelles Dateisystem wie z B tmpfs einzuh ngen und die Ger te dynamisch zu erzeugen sobald sie erkannt oder verwendet werden Die meisten Ger te werden beim Booten erkannt und von U
361. ter 36 MB inkl Testsuite Speicherplatz 6 24 1 Installation von Libtool Bereiten Sie Libtool zum Kompilieren vor configure prefix usr Kompilieren Sie das Paket make Um die Ergebnisse zu testen ca 3 0 SBUs f hren Sie dieses Kommando aus make check Installieren Sie das Paket make install 6 24 2 Inhalt von Libtool 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 einheitlichen Weg zur Verf gung um einem Paket libtool Unterst tzung hinzuzuf gen libltdl Versteckt die verschiedenen Schwierigkeiten mit Bibliotheken die dlopen verwenden 106 Linux From Scratch Version 6 4 6 25 Zlib 1 2 3 Die in Zlib enthaltenen Routinen werden von vielen Programmen zum Komprimieren und Dekomprimieren genutzt Gesch tzte weniger als 0 1 SBU Kompilierzeit Etwa Ben tigter 3 1 MB Speicherplatz 6 25 1 Installation von Zlib Anmerkung Vorsicht Zlib baut seine gemeinsamen Bibliotheken falsch wenn die Umgebungsvariable CFLAGS gesetzt ist Falls Sie die Umgebungsvariable CFLAGS verwenden f gen Sie ihr f r den Durchlauf von configure den Wert fPIC an und entfernen Sie ihn sp ter wieder Bereiten Sie Zlib zum Kompilieren vor configure prefix usr shared libdir lib Kompilieren Sie d
362. teressiert was genau beim Hochfahren Ihres Computers geschieht dann empfehlen wir das HOWTO From Power Up To Bash Prompt Sie bekommen es unter http axiom anu edu au okeefe p2b oder auf der Webseite des Linux Documentation Project unter http www tldp org HOWTO From PowerUp To Bash Prompt HOWTO html Mit Hilfe dieses HOWTOs wird ein blankes System installiert das dem in diesem Buch sehr hnlich ist sich aber ausschlie lich auf das Erstellen eines Systems konzentriert das eine Bash Shell booten kann Halten Sie sich am besten Ihr Ziel vor Augen Wenn Sie Linux installieren und nebenbei dazulernen m chten dann ist Linux From Scratch f r Sie geeignet Es gibt einfach zu viele gute Gr nde f r das Erstellen eines eigenen LFS Systems um sie hier alle aufzuz hlen die hier genannten Gr nde sind nur die Spitze des Eisberges W hrend Sie mit LFS arbeiten und Erfahrungen sammeln werden Sie selbst schnell feststellen wie wertvoll Informationen und Wissen ber Linux sind Voraussetzungen Der Selbstbau eines LFS ist keine leichte Aufgabe Man ben tigt ein entsprechendes Vorwissen ber die Administration von Unix Systemen sonst f llt es schwer bestimmte Kommandos zu verstehen oder Fehler zu untersuchen Sie als Leser sollten als absolutes Minimum zumindest mit der Kommandozeile Shell umgehen k nnen dazu geh rt das Kopieren und Verschieben von Dateien und Ordnern Auflisten von Ordner und Dateiinhalten und das Wechseln des aktuellen
363. th lt keine Testsuite Nun kopieren Sie diese Programme in unseren tempor ren Ordner tools cp v mount u mount text utils more tools bin Details zu diesem Paket finden Sie in Abschnitt 6 57 3 Inhalt von Util linux ng 65 Linux From Scratch Version 6 4 5 33 Stripping Die Schritte in diesem Abschnitt sind optional Wenn Ihre LFS Partition sehr klein ist werden Sie froh sein ein paar unn tige Dinge loswerden zu k nnen Die bisher erstellten ausf hrbaren Dateien und Bibliotheken enthalten ungef hr 70 MB nicht ben tigter Debugging Symbole So entfernen Sie diese Symbole strip strip debug tools lib strip strip unneeded tools s bin Diese Kommandos berspringen einige Dateien mit der Meldung dass der Dateityp nicht erkannt wurde Die meisten dieser Dateien sind Skripte und keine Bin rdateien Passen Sie auf dass Sie st rip unneedednicht auf Bibliotheken anwenden sie w rden zerst rt werden und dann m ssten Sie die Toolchain neu kompilieren Um weitere 20 MB Platz zu sparen k nnen Sie die Dokumentation entfernen rm rf tools info man Zum Kompilieren von Glibc ben tigen Sie nun mindestens 850 MB freien Platz in LFS Wenn Sie Glibc kompilieren und installieren k nnen werden Sie mit den restlichen Paketen keine Platzprobleme bekommen 5 34 ndern des Besitzers Anmerkung F r den Rest des Buches sollten Sie als Benutzer root arbeiten und nicht als 1 s
364. the Licensor offers to the recipient a license to the Work on the same terms and conditions as the license granted to You under this License b Each time You distribute or publicly digitally perform a Derivative Work Licensor offers to the recipient a license to the original Work on the same terms and conditions as the license granted to You under this License c If any provision of this License is invalid or unenforceable under applicable law it shall not affect the validity or enforceability of the remainder of the terms of this License and without further action by the parties to this agreement such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable d No term or provision of this License shall be deemed waived and no breach consented to unless such waiver or consent shall be in writing and signed by the party to be charged with such waiver or consent e This License constitutes the entire agreement between the parties with respect to the Work licensed here There are no understandings agreements or representations with respect to the Work not specified here Licensor shall not be bound by any additional provisions that may appear in any communication from You This License may not be modified without the mutual written agreement of the Licensor and You 247 Linux From Scratch Version 6 4 O Wichtig Creative Commons is not a party to this License and makes no warranty whatsoeve
365. tils Coreutils Diffutils Findutils Gawk GCC Gettext Glibc Grep Make und Sed Enth lt keine Testsuite Keine Binutils Coreutils GCC Glibc Make und Patch Enth lt keine Testsuite Keine Binutils Coreutils GCC Glibc Make und Sed Enth lt keine Testsuite Keine Bash Binutils Bison Coreutils GCC Gettext Glibc Grep Inetutils Make Sed und Texinfo Diffutils Findutils Gawk und Gzip Keine 198 Tel Installations Abh ngigkeiten Testsuite Abh ngigkeiten Muss installiert werden vor Texinfo Installations Abh ngigkeiten Testsuite Abh ngigkeiten Muss installiert werden vor Udev Installations Abh ngigkeiten Testsuite Abh ngigkeiten Muss installiert werden vor Util Linux Installations Abh ngigkeiten Testsuite Abh ngigkeiten Muss installiert werden vor Vim Installations Abh ngigkeiten Testsuite Abh ngigkeiten Muss installiert werden vor Zlib Installations Abh ngigkeiten Testsuite Abh ngigkeiten Muss installiert werden vor Linux From Scratch Version 6 4 Bash Binutils Coreutils Diffutils GCC Glibc Grep Make und Sed Keine Keine Bash Binutils Coreutils GCC Gettext Glibc Grep Make Ncurses Patch und Sed Keine Keine Binutils Coreutils GCC Glibc und Make Findutils Perl und Sed Keine Bash Binutils Coreutils E2fprogs GCC Gettext Glibc Grep Make Ncurses Patch Sed und Zlib Enth lt keine Tests
366. tion k nnen alle installierten Dateien mit einem einfachen find Kommando gefunden und protokolliert werden Die Paketverwaltung install log setzt diese Methode ein Obwohl diese Methode nat rlich sehr einfach ist hat sie leider zwei Nachteile Wenn w hrend der Installation Dateien ohne oder mit einem anderen Zeitstempel als der aktuellen Zeit installiert werden so wird deren Installation nicht protokolliert Des Weiteren kann diese Methode nur funktionieren wenn maximal ein Paket zur gleichen Zeit installiert wird Das Protokoll ist nicht mehr zuverl ssig wenn z B auf einer anderen Konsole ein weiteres Programm zeitgleich installiert wird 6 3 2 5 Aufzeichnen von Installationsskripten Bei diesem Ansatz werden alle Kommandos aufgezeichnet die ein Installationsskript aufruft Es gibt zwei m gliche Techniken die Sie verwenden k nnen Die Umgebungsvariable LD_PRELOAD kann auf eine Bibliothek verweisen die vor der Installation geladen werden soll W hrend der Installation protokolliert diese Bibliothek alle Installationsvorg nge mit indem sie sich an verschiedene ausf hrbare Programme wie cp install und mv ah ngt und die Systemaufrufe mitverfolgt Damit dies funktionieren kann m ssen alle ausf hrbaren Programme dynamisch verlinkt und weder mit dem suid noch dem sgid Bit versehen sein Das Vorladen der Bibliothek kann unter Umst nden auch Nebeneffekte bei der Installation hervorrufen Deshalb sollten Sie diese Methode ausf hrli
367. tion verhindern k nnte enable languages c Dieser Parameter stellt sicher dass nur der C Compiler erzeugt wird Zum jetzigen Zeitpunkt wird nur dieser ben tigt Der folgende Befehl kompiliert GCC nicht nur einmal sondern kompiliert gleich mehrmals GCC benutzt die im ersten Durchlauf erzeugten Programme um sich damit im zweiten Durchlauf selbst zu kompilieren Darauf folgt der dritte Kompiliervorgang Abschlie end werden die Ergebnisse des zweiten und dritten Kompiliervorgangs verglichen um sicherzustellen dass GCC sich selbst problemlos kompilieren konnte Diesen Vorgang nennt man bootstrapping Diese Vorgehensweise zur Installation von GCC stellt sicher dass alles korrekt kompiliert wurde und wird auch f r die ver ffentlichten Versionen verwendet Fahren Sie nun mit dem Kompilieren fort make Der Kompiliervorgang ist nun abgeschlossen Normalerweise w rden Sie nun die Testsuite durchlaufen lassen aber in diesem fr hen Stadium ist die Testsuite Umgebung Tel Expect und DejaGNU noch nicht verf gbar Au erdem macht es wenig Sinn die Tests nun laufen zu lassen weil die Programme aus dem ersten Durchlauf sehr bald durch die aus dem zweiten Durchlauf ersetzt werden Installieren Sie das Paket make install 32 Linux From Scratch Version 6 4 Die Verwendung des Parameters disable shared verhindert die Erzeugung und Installation der Datei 1ibgcc eh a Glibc ist allerdings von dieser Bibliothek abh ngig w
368. tp cnswww cns cwru edu php chet readline rltop html Download http ftp gnu org gnu readline readline 5 2 tar gz MDS5 Pr fsumme e39331 32ad1400969ff49cc10c5e751 Sed 4 1 5 781 KB Webseite http www gnu org software sed Download http ftp gnu org gnu sed sed 4 1 5 tar gz MD5 Pr fsumme 7alcbbbb3341287308e140bd4834c3ba Shadow 4 1 2 1 1 697 KB Webseite http pkg shadow alioth debian org Download ftp pkg shadow alioth debian org pub pkg shadow shadow 4 1 2 I tar bz2 MD95 Pr fsumme c178e49c45495e296dabbe4ae01a0fbe Sysklogd 1 5 85 KB Webseite http www infodrom org projects sysklogd Download http www infodrom org projects sysklogd download sysklogd 1 5 tar gz MD5 Pr fsumme e053094e8103165 98ddafe828f6ae4b Sysvinit 2 86 97 KB Download ftp ftp cistron nl pub people miquels sysvinit sysvinit 2 86 tar gz MDS5 Pr fsumme 745461c026122ab791ac04c8a84db967 Tar 1 20 1 912 KB Webseite http www gnu org software tar Download http ftp gnu org gnu tar tar 1 20 tar bz2 MDS5 Pr fsumme 1a7e17 27ab 583b3b0bc059a827e68b Tcl 8 5 5 4 316 KB Webseite http tcl sourceforge net Download Attp prdownloads sourceforge net tcl tcl8 5 5 src tar gz MD5 Pr fsumme 39 aed045bd03da1267 066c9b75349 Texinfo 4 13a 2 751 KB Webseite http www gnu org software texinfo Download http ftp gnu org gnu texinfo texinfo 4 13a tar gz MD5 Pr fsumme 71ba711519209b
369. tp www linuxfromscratch org blfs view svn pst docbook utils html welches wir allerdings nicht im Rahmen eines Basis LFS Systems installieren patch Npl i module init tools 3 4 1 manpages 1 patch Die Testsuite dieses Pakets ist auf die Bed rfnisse des Paket Betreuers abgestimmt Das Kommando make check erstellt eine speziell ummantelte Version von modprobe die f r normale Zwecke nutzlos ist Um die Testsuite dennoch auszuf hren ca 0 2 SBUs geben Sie die folgenden Kommandos ein make clean ist notwendig um die Quelltexte anschlie end zu bereinigen bevor f r die normale Verwendung kompiliert wird configure make check make clean Bereiten Sie Module Init Tools zum Kompilieren vor configure prefix enable zlib mandir usr share man Kompilieren Sie das Paket make Installieren Sie das Paket make INSTALL install install Die Bedeutung des make Parameters INSTALL install Normalerweise installiert make install die Bin rdateien nicht wenn sie bereits existieren Durch diesen Parameter wird dieses Verhalten ge ndert und install statt dem sonst blichen Skript aufgerufen 6 48 2 Inhalt von Module Init Tools Installierte Programme depmod generate modprobe conf insmod insmod static lsmod modinfo modprobe und rmmod Kurze Beschreibungen depmod Erzeugt basierend auf den Symbolen in existierenden Modulen eine Abh ngigkeitsdatei Diese Datei wird von
370. tpoint 1 src Makefile Kompilieren Sie das Paket make C src Dieses Paket enth lt keine Testsuite Installieren Sie das Paket make C src install 6 53 2 Einrichten von Sysvinit Erstellen Sie die Datei etc inittab id si LZ OY dx Co NE 110 1818 Hes 14 115 8 IEOS ca cat gt etc inittab lt lt EOF Begin etc inittab 3 8 alma ole eeuu g cavas ece ee c imic 6 re syeaimiie sware J exc see ayas ey ie 0 Sil ewadics ecc me s oU ima dy re di 82 e wies c ence ice oU aimabie soU ie 2 Sibwyeul 2 exce ree a a aye 3 Asados face fice say imit suse A Howell 5 exe me aaa sd ze 5 S ewige c exe e icc so aiaabie cy ze 6 12345 ctrlaltdel sbin shutdown t1 a r now 5016 0nce sbin sulogi 82 Suse Dale 222 S015 2345 SSR SIE respawn sbin aget respawn sbin aget respawn sbin aget respawn sbin aget respawn sbin aget EN cy cy cy EN ttyl wey2 LS tty4 teye 9600 9600 9600 9600 9600 149 Linux From Scratch Version 6 4 6 2345 respawn sbin agetty tty6 9600 End etc inittab EOF 6 53 3 Inhalt von Sysvinit Installierte Programme bootlogd halt init killall5 last lastb Link auf last mesg mountpoint pidof Link auf killall5 poweroff Link auf halt reboot Link auf halt runlevel shutdown sulogin telinit Link auf init und utnpdump Kurze Beschreibungen bo
371. treten und die Ausgabe des letzten Kommandos sieht so oder so hnlich aus EARCH DIR EARCH DIR EARCHEDTE EARCH DIR WSO 1 pe En any Lio usz localy Liaw Wf Wail SI SI Si S ufasiri Lia y A Danach pr fen Sie ob die korrekte libc eingesetzt wird 88 Linux From Scratch Version 6 4 grep lib libc so 6 dummy log Wenn alles korrekt funktioniert sollten keine Fehler auftreten und die Ausgabe des letzten Kommandos sieht so oder so hnlich aus attempt to open lib libc so 6 succeeded Und zum Schluss kontrollieren Sie noch ob GCC den richtigen dynamischen Linker benutzt grep found dummy log Wenn alles korrekt funktioniert sollten keine Fehler auftreten und die Ausgabe des letzten Kommandos ist found Wellin s02 ar Lido dco E ab son 2 Wenn Sie eine andere oder berhaupt keine Ausgabe erhalten ist etwas ernsthaft schiefgelaufen Sie m ssen das berpr fen und alle bisherigen Schritte noch einmal nachvollziehen um das Problem zu finden und zu beheben Machen Sie nicht weiter solange das Problem nicht behoben ist Am wahrscheinlichsten ist dass etwas beim Anpassen der specs Datei weiter oben nicht funktioniert hat Wenn Sie mit dem Ergebnis zufrieden sind l schen Sie die Testdateien rm v dummy c a out dummy log 6 14 2 Inhalt von GCC Installierte Programme c cc Link auf gcc cpp g gcc gccbug und gcov Insta
372. ttp creativecommons org licenses by nc sa 2 O de legalcode Wichtig CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE LEGAL SERVICES DISTRIBUTION OF THIS LICENSE DOES NOT CREATE AN ATTORNEY CLIENT RELATIONSHIP CREATIVE COMMONS PROVIDES THIS INFORMATION ON AN AS IS BASIS CREATIVE COMMONS MAKES NO WARRANTIES REGARDING THE INFORMATION PROVIDED AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM ITS USE License THE WORK AS DEFINED BELOW IS PROVIDED UNDER THE TERMS OF THIS CREATIVE COMMONS PUBLIC LICENSE CCPL OR LICENSE THE WORK IS PROTECTED BY COPYRIGHT AND OR OTHER APPLICABLE LAW ANY USE OF THE WORK OTHER THAN AS AUTHORIZED UNDER THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE YOU ACCEPT AND AGREE TO BE BOUND BY THE TERMS OF THIS LICENSE THE LICENSOR GRANTS YOU THE RIGHTS CONTAINED HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND CONDITIONS 1 Definitions a 0 g Collective Work means a work such as a periodical issue anthology or encyclopedia in which the Work in its entirety in unmodified form along with a number of other contributions constituting separate and independent works in themselves are assembled into a collective whole A work that constitutes a Collective Work will not be considered a Derivative Work as defined below for the purposes of this License Derivative Work means a work based upon the Work or upon th
373. twork devices services ipv4 static D 28 letc sysconfig network devices services ipv4 static route bin sh Bee HE HEE HE EE EE EE EE EEE EE HE HE A A EE EA EEE EEE EH A EE EE EF Begin network_devices services ipv4 static route keeper 1 4 Gracie Mouee Sici Authors Kevin P Fleming kpfleming linuxfromscratch org Version amp 00 00 Notes AE AE aE aE AE AE AE a ES etc sysconfig rc S rc functions S IFCONFIG case S TYPE in Gy network mesi need_gateway 1 EE default need_gateway 1 args args default desc default Fr Haase need_ip 1 E unreachable need ip 1 args args unreachable desc unreachable 5 boot mesg Unknown route type S TYPE in S IFCONFIG cannot continue S FAILURE echo_failure exit 1 esac ir a VSineed_ ip Jg then ad ez SY e chen boot mesg IP variable missing from IFCONFIG cannot continue FAILURE Ez 241 Linux From Scratch Version 6 4 e ON cIEMINIISC exit 1 fi ad APR 12 chen boot mesg PREFIX variable missing from IFCONFIG cannot continue FAILURE echo failure exit 1 Fi args S args IP PREFIX desc desc IP PREFIX iB aL dr a YS ME cd eue 17 maca if z S GATEWAY 1 then boot_mesg GATEWAY variable missing from IFCONFIG cannot continue S FAILURE echo_failure
374. tzte 0 1 SBU Kompilierzeit Etwa Ben tigter 341 MB Speicherplatz 6 7 1 Installation von Linux API Header Der Kernel muss eine Programmierschnittstelle API ver ffentlichen damit die C Bibliothek Glibc in LFS diese verwenden kann Dazu werden bereinigte Versionen der C Header verwendet die mit den Kernelquellen ausgeliefert werden Stellen Sie zun chst sicher dass keine zur ckgebliebenen Dateien und Abh ngigkeiten von vorherigen Aktionen zur ckgeblieben sind make mrproper Test und extrahieren Sie nun die Kernel Header der Anwenderschicht aus den Quellen Diese werden zun chst in einem lokalen Ordner zwischengespeichert und anschlie end an die n tigen Orte kopiert weil der Extrahiervorgang vorhandene Dateien im Zielordner berschreiben w rde make headers check make INSTALL HDR PATH dest headers install cp rv dest include usr include 6 7 2 Inhalt von Linux API Header Installierte Header usr include asm generic linux mtd rdma sound video h Kurze Beschreibungen usr include asm Diese Dateien bilden die Linux Header API generic linux mtd rdma sound h 74 6 8 Man pages 3 11 Das Paket Man pages enth lt ber 1 900 Hilfeseiten Gesch tzte weniger als 0 1 SBU Kompilierzeit Etwa Ben tigter 21 MB Speicherplatz 6 8 1 Installation der Man pages Installieren Sie die Man pages durch Ausf hren von Linux From Scratch Version 6 4 make install
375. u org gnu gawk gawk 3 1 6 tar bz2 MD5 Pr fsumme c9926c0bc8c177cb9579708ce67 0d75 GCC 4 3 2 58 929 KB Webseite http gcc gnu org Download http ftp gnu org gnu gcc gcc 4 3 2 gcc 4 3 2 tar bz2 MD5 Pr fsumme 5dfac5da961ecd5 227c3175859a486d 18 Gettext 0 17 11 368 KB Webseite http www gnu org software gettext Download Attp ftp gnu org gnu gettext gettext O 17 tar gz MDS5 Pr fsumme 58a2bc6d39c0ba57823034d55d65d606 Glibc 2 8 20080929 16 231 KB Webseite http www gnu org software libc Download ftp sources redhat com pub glibc snapshots glibc 2 8 20080929 tar bz2 MD5 Pr fsumme e 223822e84 38dc653762bc 3bd6c5e GMP 4 2 4 1 170 KB Webseite http www gnu org software gmp Download http ftp gnu org gnu gmp gmp 4 2 4 tar bz2 MD5 Pr fsumme c1e3b3a2a50384d4d74138d0b9cf8dbe Grep 2 5 3 604 KB Webseite http www gnu org software grep Download Attp ftp gnu org gnu grep grep 2 5 3 tar bz2 MDS5 Pr fsumme 27061ce1fde82876970b6549a156da8b Groff 1 18 1 4 2 265 KB Webseite Attp www gnu org software groff Download http ftp gnu org gnu groff groff 1 18 1 4 tar gz MD5 Pr fsumme ceecb815339368251ed015 40e5 7287 GRUB 0 97 950 KB Webseite http www gnu org software grub Download ftp alpha gnu org gnu grub grub 0 97 tar gz MD5 Pr fsumme cd3 3eb54446be6003156158d51f4884 Gzip 1 3 12 451 KB Webseite hitp www gzip org Down
376. ugen Sie eine statische Ger tedatei mit der korrekten Haupt und Unterkennung in 1ib udev devices Ziehen Sie dazu auch die Datei devices txt aus der Kernel Dokumentation zu Rate oder lesen Sie die Dokumentation des Drittherstellers Diese statische Ger tedatei wird dann beim Bootvorgang von S10udev nach dev kopiert 7 4 3 7 Die Reihenfolge der Ger tenamen ndert sich mit jedem Bootvorgang Dies liegt daran dass Udev gewollt und ganz bewusst alle uevents parallel und somit in unterschiedlicher Reihenfolge abarbeitet Dieses Ph nomen wird niemals repariert werden Verlassen Sie sich nicht auf die Ger tenamen des Kernels Schreiben Sie stattdessen Regeln die aussagekr ftige symbolische Links mit stabilen Namen erzeugen Dazu k nnen Sie Attribute zu Ger ten heranziehen wie z B Seriennummern oder die Ausgabe der verschiedenen id Hilfsprogramme von Udev Schauen Sie f r einige Beispiele unter Abschnitt 7 12 Erzeugen von benutzerdefinierten symbolischen Links zu Ger ten Abschnitt 7 13 Einrichten des network Skripts nach 7 4 4 N tzliche Dokumentation Weitere hilfreiche Dokumentation finden Sie an den folgenden Stellen A Userspace Implementation of devfs http www kroah com linux talks ols 2005 udev paper Reprint Kroah Hartman OLS2003 pdf e udev FAQ http www kernel org pub linux utils kernel hotplug udev FAQ The sysfs Filesystem http www kernel org pub linux kernel people mochel doc papers ol
377. uite Keine Bash Binutils Coreutils Diffutils GCC Glibc Grep Make Ncurses und Sed Keine Keine Bash Binutils Coreutils GCC Glibc Grep Make und Sed Keine File Module Init Tools Perl und Util Linux 199 Linux From Scratch Version 6 4 Anhang D LFS Sysconfig und Bootskripte 20081031 Die Skripte in diesem Anhang sind nach den Ordnern aufgelistet in denen sie sich normalerweise befinden Die Reihenfolge ist etc rc d init d etc sysconfig etc sysconfig network devices und etc sysconfig network devices services Innerhalb eines jeden Abschnitts werden die Dateien in der Reihenfolge aufgelistet in der sie normalerweise aufgerufen werden D 1 etc rc d init d rc Das Skript rc ist das erste Skript welches von init aufgerufen wird Es leitet den Boot Vorgang ein bin sh EL HEE HE HEE HEHE HEE HE HE EEE HEE EE HE HE EE HEE HE HE HEHE HEE HE HEE Begin rc_base init d rc Description Main Run Level Control Script Authors Gerard Beekmans gerard linuxfromscratch org Version amp 00 00 Notes FE AE AE E AE AE E AE AE E AE AE E AE AE AE AE AE E AE AE E AE AE E AE AE AE AE AE E AE AE E AE AE E AE AE E AE AE AE AE AE E AE AE AE AE AE AE AE AE E AE AE E AE AE E AE AE E FEAE AAA etc sysconfig rc S rc functions This sets a few default terminal options SLEY SaNE These 3 signals will not cause our script to exit weap WW En OUT SD MS t j amp amp runlevel s 1 ae p Arale
378. ul bersetzt find Kommandos zu Perl Konvertiert h C Header Dateien zu ph Perl Header Dateien Konvertiert h C Header Dateien zu Perl Erweiterungen Ein Shell Skript f r den Umgang mit den installierten Perl Module es kann sogar ein Tar Archiv aus einem installierten Modul erzeugen Kann zum Einrichten von 1ibnet benutzt werden Kombiniert viele der besten Eigenschaften von C sed awk und sh in einer einzigen universell einsetzbaren Sprache Perl wird auch als das Schweitzer Taschenmesser f r Programmier bezeichnet Ein harter Link auf perl Wird zum Erzeugen und Emailen von Fehlerberichten zu Perl oder seinen Modulen verwendet Erzeugt ausf hrbare Dateien aus Perl Programmen Zeigt Teile einer Dokumentation im pod Format an Die Perl Installations Pr fprozedur Damit wird gepr ft ob Perl und seine Bibliotheken korrekt installiert wurden Die Perl Version des Zeichensatz Konverters iconv Ein Werkzeug zum groben Umwandeln von Perl4 p1 Dateien in Perl5 pm Module Konvertiert pod Dateien in das HTML Format Konvertiert pod Dateien zu LaTeX Konvertiert pod Daten zu formatierter roff Eingabe Konvertiert pod Daten in formatierten ASCII Text Gibt Benutzungshinweise aus eingebetteten pod Dokumenten in Dateien aus Pr ft die Syntax von pod Dokumentationsdateien Zeigt ausgew hlte Abschnitte einer pod Dokumentation an Kommandozeilen Programm zum Testen des Moduls Test Harness Die Perl Version des Stream Editors
379. ung besteht nicht in normalen 8 Bit Locales wie en US Es wird allerdings daran gearbeitet solche Probleme zu dokumentieren und zu beheben Siehe auch Attp www linuxfromscratch org blfs view svn introduction locale issues html 7 10 Einrichten des localnet Skripts Eine Teilaufgabe des localnet Skripts ist das Einstellen des Hostnamens Dieser muss in der Datei etc sysconfig network festgelegt werden Erstellen Sie die Datei etc sysconfig network und geben Sie den Hostnamen ein echo HOSTNAME lt lfs gt gt etc sysconfig network lfs muss hier 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 Diesen werden Sie erst sp ter in der Datei etc hosts eintragen An dieser Stelle wird nur ein einfacher Rechnername ben tigt 7 11 Anpassen der Datei etc hosts Wenn Sie eine Netzwerkkarte einrichten m chten m ssen Sie eine IP Adresse den voll qualifizierten Dom nennamen und m gliche Aliasnamen in etc hosts eintragen Die Syntax lautet IP Adresse meinhost meinedomain org aliasname 174 Linux From Scratch Version 6 4 Solange Ihr Computer nicht offiziell im Internet bekannt ist d h Sie haben eine registrierte Domain und einen g ltigen zugewiesenen IP Block die meisten haben dies nicht sollten Sie sicherstellen dass die IP Adresse im privaten Adressraum liegt G ltige Adressr ume daf r sind
380. up 155 156 Is 96 98 Isattr 93 94 smod 142 142 m4 101 101 make 137 137 makeinfo 152 152 man 138 140 mandb 138 140 manpath 138 141 mapscrn 134 135 mbchk 123 123 mcookie 155 156 md5sum 96 98 mdate sh 112 112 mesg 149 150 missing 112 112 mkdir 96 98 mke2fs 93 94 mkfifo 96 98 mkfs 155 156 mkfs bfs 155 156 mkfs cramfs 155 156 mkfs ext2 93 94 mkfs ext3 93 94 mkfs ext4 93 94 mkfs ext4dev 93 95 mkfs minix 155 156 mkinstalldirs 112 112 mklost found 93 95 mknod 96 98 mkswap 155 156 mktemp 96 98 mk_cmds 93 94 252 Linux From Scratch Version 6 4 mmroff 127 128 modinfo 142 142 modprobe 142 142 more 155 156 mount 155 156 mountpoint 149 150 msgattrib 124 124 msgcat 124 124 msgcmp 124 124 msgcomm 124 124 msgconv 124 124 msgen 124 124 msgexec 124 124 msgfilter 124 124 msgfmt 124 125 msggrep 124 125 msginit 124 125 msgmerge 124 125 msgunfmt 124 125 msguniq 124 125 mtrace 76 79 mv 96 98 namei 155 156 ncurses5 config 103 104 neqn 127 128 newgrp 145 147 newusers 145 147 ngettext 124 125 nice 96 98 nl 96 98 nm 83 84 nohup 96 98 nologin 145 147 nroff 127 128 nscd 76 79 nstat 132 133 objcopy 83 84 objdump 83 84 od 96 98 oldfuser 144 144 openvt 134 135 partx 155 156 passwd 145 147 paste 96 98 patch 143 143 pathchk 96 98 path id 153 154 pe
381. ux docs manpages Archive man pages 3 11 tar bz2 MD5 Pr fsumme 66e01d 3a22e18d25c5865925dd9288 Module Init Tools 3 4 1 195 KB Webseite http www kerneltools org KernelTools org Download http www kernel org pub linux utils kernel module init tools module init tools 3 4 1 tar bz2 MD5 Pr fsumme e253b066al1babid727ca0d54 001b49c MPFR 2 3 2 986 KB Webseite http www mpfr org Download http www mpfr org mpfr current mpfr 2 3 2 tar bz2 MD5 Pr fsumme 527147c097874340cb9cee0579dacf3b Ncurses 5 6 2 346 KB Webseite http www gnu org software ncurses Download ftp fip gnu org gnu ncurses ncurses 5 6 tar gz MD5 Pr fsumme b6593abe1089d6aab1551c105c9300e3 Patch 2 5 4 183 KB Webseite http www gnu org software patch Download http ftp gnu org gnu patch patch 2 5 4 tar gz MD5 Pr fsumme ee5ae84d115f051d87fcaaef3b4ae782 Perl 5 10 0 15 595 KB Webseite http cpan org Download http cpan org src perl 5 10 0 tar gz MD5 Pr fsumme d2c39b002ebfd2c3c5dba589365c5a71 Procps 3 2 7 275 KB Webseite http procps sourceforge net Download http procps sourceforge net procps 3 2 7 tar gz MD5 Pr fsumme 490bca772b16472962c7b9f23b1e97d Psmisc 22 6 277 KB Webseite http psmisc sourceforge net Download Attp prdownloads sourceforge net psmisc psmisc 22 6 tar gz MD5 Pr fsumme 2e81938855cf5cc38856bd4a31d79a4c 20 Readline 5 2 1 990 KB Webseite ht
382. ux und Vim Bash Binutils Coreutils GCC Glibc Grep Make und Sed Enth lt keine Testsuite Keine Bash Berkeley DB Binutils Coreutils Gawk GCC Glibc Grep Groff Make Sed und Zlib Iana Etc und Procps Autoconf Bash Binutils Coreutils GCC Glibc Make und Ncurses Enth lt keine Testsuite Keine 197 Psmisc Installations Abh ngigkeiten Testsuite Abh ngigkeiten Muss installiert werden vor Readline Installations Abh ngigkeiten Testsuite Abh ngigkeiten Muss installiert werden vor Sed Installations Abh ngigkeiten Testsuite Abh ngigkeiten Muss installiert werden vor Shadow Installations Abh ngigkeiten Testsuite Abh ngigkeiten Muss installiert werden vor Sysklogd Installations Abh ngigkeiten Testsuite Abh ngigkeiten Muss installiert werden vor Sysvinit Installations Abh ngigkeiten Testsuite Abh ngigkeiten Muss installiert werden vor Tar Installations Abh ngigkeiten Testsuite Abh ngigkeiten Muss installiert werden vor Linux From Scratch Version 6 4 Bash Binutils Coreutils GCC Gettext Glibc Grep Make Ncurses und Sed Enth lt keine Testsuite Keine Bash Binutils Coreutils GCC Glibc Grep Make Ncurses Patch Sed und Texinfo Enth lt keine Testsuite Bash Bash Binutils Coreutils GCC Gettext Glibc Grep Make Sed und Texinfo Diffutils und Gawk E2fsprogs File Libtool und Shadow Bash Binu
383. versetzt Sie in eine weitaus bessere Lage nach dem Neustart Ihres Systems Wenn Sie einen textbasierten Webbrowser wie z B Lynx installieren k nnen Sie das BLFS Buch in einer virtuellen Konsole lesen und in einer anderen Pakete kompilieren Mit GPM k nnen Sie auch Kopieren und Einf gen zwischen den Konsolen nutzen Zus tzlich k nnen Sie auch Pakete wie Dhcpd oder PPP installieren Dies ist z B dann n tzlich wenn Sie keine statische IP Adresse nutzen k nnen Nachdem dies gesagt ist k nnen Sie nun in Ihr frisch installiertes System booten Als erstes verlassen Sie die chroot Umgebung logout H ngen Sie die virtuellen Dateisysteme aus umount v LFS dev pts umount v LFS dev shm umount v LFS dev umount v LFS proc umount v LFS sys Und h ngen Sie das LFS Dateisystem aus umount v LFS Falls Sie sich zu Beginn f r mehrere Partitionen entschieden haben m ssen Sie die anderen Partitionen aush ngen bevor Sie die Hauptpartition aush ngen umount v LFS usr umount v SLFS home umount v LFS Jetzt k nnen Sie Ihren Computer neu starten shutdown r now Unter der Annahme dass der GRUB Bootloader wie vorgeschlagen installiert wurde sollte das Standard Bootmen automatisch LFS 6 4 booten Nach dem Neustart ist Ihr LFS System bereit Sie K nnen es nun benutzen und mit der Installation weiterer Software beginnen 9 4 Was nun Vielen Dank dass Sie dieses Buch
384. version head n1 tar version head n1 makeinfo version head n1 echo main gt dummy c amp amp gcc o dummy dummy c if x dummy then echo Compilation OK else echo Compilation failed fi rm f dummy c dummy EOF bash version check sh Konventionen in diesem Buch Das Buch h lt sich an einige typografische Konventionen die zum allgemein besseren Verst ndnis beitragen sollen Es folgen einige Beispiele configure prefix usr Solange nicht anders angegeben muss Text in dieser Textform exakt so eingegeben werden wie er zu sehen ist Diese Darstellung wird auch in den Erkl rungstexten verwendet um sich eindeutig auf bestimmte Kommandos zu beziehen In bestimmten F llen wird eine logische Zeile auf zwei oder mehr physikalische Zeilen erweitert Dies wird durch einen r ckw rts gerichteten Schr gstrich am Ende einer Zeile gekennzeichnet CC gcc B usr bin binutils 2 18 configure prefix tools disable nls disable werror Beachten Sie dass direkt nach dem linksgerichteten Schr gstrich der Zeilenumbruch folgen muss Falls andere Zeichen folgen wird dies falsche inkorrekte Ergebnisse nach sich ziehen install info unknown option dir file mnt lfs usr info dir Diese Textform Text mit fester Zeichenbreite stellt Bildschirmausgaben dar Text in dieser Form ist oft die Ausgabe von vorher eingegebenen Kommandos Au erdem wird diese Textform f r Dateiname
385. verwaltung k nnte dabei sein vielleicht ist es auch eine Kombination aus zwei oder mehr Techniken Einige Gr nde warum weder in LFS noch in BLFS eine Paketverwaltung installiert wird sind Der Umgang mit einer Paketverwaltung lenkt die Aufmerksamkeit vom eigentlichen Ziel des Buches ab n mlich zu lernen wie man ein Linux System von Hand erstellt Es gibt viele Paketverwaltungen jede hat ihre Vor und Nachteile Es ist schwierig eine zu finden die alle Leser zufriedenstellen w rde Es wurden einige Tipps zu diesem Thema geschrieben Lesen Sie im Hints Projekt nach vielleicht finden Sie eine passende Paketverwaltung f r Sie 6 3 1 Aktualisierung von Paketen Mit einer Paketverwaltung ist es recht einfach ein Paket zu aktualisieren Grunds tzlich kann man aber auch die Anleitungen in LFS und BLFS zur Aktualisierung auf neuere Versionen verwenden Im Folgenden finden Sie allerdings ein paar wichtige Dinge die Sie beim Aktualisierungen von Programmen beachten sollten insbesondere auf einem laufenden System Wenn eines der Toolchain Pakete Glibc GCC oder Binutils auf eine neue Minor Version aktualisiert werden muss ist es meist besser LFS neu zu installieren Es ist m glich dass einfaches Neuinstallieren der betroffenen Pakete in der richtigen Abh ngigkeitsreihenfolge ausreicht aber davon wird dringend abgeraten Wenn Sie also z B glibc 2 2 x auf glibc 2 3 x aktualisieren m ssen sollten Sie neu installieren Die
386. vice Enhanced Graphics Adapter Executable and Linkable Format End of File equation Enterprise Volume Management System second extended file system third extended file system Frequently Asked Questions Filesystem Hierarchy Standard First In First Out Fully Qualified Domain Name File Transfer Protocol Gibabytes GNU Compiler Collection Group Identifier Greenwich Mean Time GNU Privacy Guard Hypertext Markup Language Integrated Drive Electronics Institute of Electrical and Electronic Engineers Input Output Internet Protocol Inter Process Communication Internet Relay Chat International Organization for Standardization Internet Service Provider Kilobytes Light Emitting Diode 188 Linux From Scratch Version 6 4 LFS LSB MB MBR MD5 NIC NLS NNTP NPTL OSS PCH PCRE PID PLFS PTY QA QOS RPC RTC SBU SCO SGR SHA1 SMP TLDP TFTP TLS UID umask USB UTC UUID vc VGA VT Linux From Scratch Linux Standard Base Megabytes Master Boot Record Message Digest 5 Network Interface Card Native Language Support Network News Transport Protocol Native POSIX Threading Library Open Sound System Pre Compiled Headers Perl Compatible Regular Expression Process Identifier Pure Linux From Scratch pseudo terminal Quality Assurance Quality Of Service Random Access Memory Remote Procedure Call Real Time Clock Standard Build Unit The Santa Cruz Operation Select Graphic Rendition Se
387. vices ifdown S interface done ER restart 0 stop sleep 1 0 start ESE das seeks 510 sums suo sese suene au exit 1 ri Saa End etc rc d init d network D 18 etc rc d init d sendsignals bin sh RHE HH HH HH HH HE HE HE EE EE EE HEH EH HH EH EE HE EE EE EE EE EEE EH EH EH HE EE EE EE EE HE Begin rc base init d sendsignals Description Sendsignals Script Authors Gerard Beekmans gerard linuxfromscratch org Version amp 09 90 Notes AE AE aE aE AE AE AE aE E aE AE SES etc sysconfig rc S rc functions case WS GIL ha stop boot_mesg Sending all processes the TERM signal Kkal ladl s 15 error_value sleep S KILLDELAY if S error_value 0 then echo ok else echo failure al boot_mesg Sending all processes the KILL signal 232 Linux From Scratch Version 6 4 lot laulls 9 error value sleep KILLDELAY if S error_value 0 then echo ok else echo failure ital La A echo Usage 0 stop exit 1 vv ecke End Src_base init d sendsignals D 19 etc rc d init d reboot I bin sh RRHH RARA ARA EE EE E E Begin rc base init d reboot Description Reboot Scripts Authors Gerard Beekmans gerard linuxfromscratch org Version s 0X0 00 Notes EE E E TE HE HEE HEE E TE FE FE HEE HEE HEE EEE EEE EEE HEE HE HEE HE HEE HE E E E E E E HE E E E HE
388. von aus dass das Dateisystem unter mnt 1fs eingeh ngt wird Sie k nnen sich aber auch jeden anderen Ordner aussuchen W hlen Sie nun einen Mountpunkt und tragen Sie ihn in die Umgebungsvariable LFS ein Dazu k nnen Sie diesen Befehl verwenden export LFS mnt lfs Als n chstes erzeugen Sie den Ordner den Sie als Mountpunkt gew hlt haben und h ngen das LFS Dateisystem ein mkdir pv LFS mount v t ext3 dev xxx LFS Bitte setzen Sie statt xxx die Bezeichnung der LFS Partition ein Falls Sie sich f r mehrere LFS Partitionen entschieden haben z B eine f r und eine andere f r usr dann gehen Sie f r die restlichen Partitionen gleicherma en vor mkdir pv LFS mount v t ext3 dev xxx SLFS mkdir v LES usr mount v t ext3 dev lt yyy gt LFS usr Nat rlich m ssen Sie auch hier wieder f r xxx und lt yyy gt die korrekten Bezeichnungen einsetzen Die Zugriffsrechte f r die neue Partition sollten nicht zu restriktiv sein wie zum Beispiel mit den Optionen nosuid nodev oder noatime Rufen Sie mount ohne Parameter auf damit Sie sehen mit welchen Optionen Ihre LFS Dateisysteme eingeh ngt wurden Wenn Optionen wie nosuid nodev oder noatime aktiviert sind m ssen Sie die Partition erneut einh ngen und diese Optionen deaktivieren Wenn Sie eine swap Partition verwenden stellen Sie bitte sicher dass diese mittels swapon aktiviert ist 15 Linux From
389. warning Pr not running S ECHO e a VSI CURS UJ S ECHO e n 033 STRING_LENGTH G de boot mesg Not running WARNING echo warning rr not_available Sack e a YS CURS UE S ECHO e n 033 STRING_LENGTH G boot_mesg Not available WARNING echo_warning ir This is how it is supposed to be called echo_warning vr esac rr failure echo CIEN INIDISCS 205 esac reloadproc local pidfile local failure 0 while true Linux From Scratch Version 6 4 do case USD bm p joi ole ac 1e S 2 T UU safe 2 log failure msg Unknown Option 1 return 2 break esac done as Sp le VIV 15 jenen log failure msg Usage reloadproc p pidfile pathname return 2 iE 3t This will ensure compatibility with previous LFS Bootscripts ai Sia VSP UID Tape Jj then pidfile PIDFILE EL Is the process running ap SREL EA then ieletpmoc Sij else e lecorszoe s o VUSgpueudlej WEIL anal Warn about stale pid file aise wWSegwv e Te ieu love mese a remewilas stale e Files Sqpuesixle Y zm E Sfolelti le al ae a S picllist v Ig then Eo piel wim S xellsteE do TL SVS DSSNOPRUSIG Sot Y Callar 010 done exit S failure evaluate_retval else 206 S WARNING boot mesg Process 1 not running S WARNING echo_warning t statusproc local pidfile local base local retz while t
390. wird ignoriert das Skript dieses Ger t und startet es dementsprechend auch nicht Der Eintrag SERVICE legt fest wie die IP Adresse vergeben wird Die LFS Bootskripte sind in Bezug auf IP Adressen Zuordnung modular aufgebaut Durch das Erstellen weiterer Dateien in etc sysconfig network devices services k nnen Sie weitere Zuweisungsmethoden definieren Das k nnten Sie z B tun um eine IP Adresse ber DHCP zu beziehen dies wird im BLFS Buch beschrieben Die Variable GATEWAY sollte die IP Adresse Ihres Standard Gateways enthalten Wenn Sie kein Standard Gateway haben setzen Sie ein Kommentarzeichen vor die Zeile PREFIX muss die Anzahl der verwendeten Bits in der Netzwerkmaske enthalten Jedes Oktett hat acht Bit Wenn die Netzwerkmaske 255 255 255 0 lautet dann werden die ersten drei Oktette benutzt 3x8 24 Bit um das Netzwerk zu bezeichnen 255 255 255 240 benutzt die ersten 28 Bit Prefixe mit mehr als 24 Bit werden h ufig von DSL und Kabelbasierten Internet Dienstleistern ISP verwendet In diesem Beispiel PREFIX 24 ist die Netzwerkmaske 255 255 255 0 Passen Sie sie Ihrem Subnetz entsprechend an 7 13 3 Erstellen der Datei etc resolv conf Wenn Sie mit dem Internet verbunden sind brauchen Sie h chstwahrscheinlich DNS Namensaufl sung um Internet Dom nennamen zu IP Adressen aufzul sen Dies erreichen Sie am einfachsten indem Sie die IP Adresse des DNS Servers stellt Ihr Internet Anbieter oder Netzwerkadminist
391. xists return 1 else return 0 done else puiclisit idon o SS g SPPID x VSIWV ate Mesias la Y E daa adas Sifodcllisie Y gal Get provide correct running status atit eux Varel 17 Taca return 0 else return 3 f t sie pou NE Sehen return 3 Program is not running ie ab This will ensure compatibility with previous LFS Bootscripts getpids de ff z YS PDE iii je chen pidofproc s p S PIDFILE else pidofproc s 209 Linux From Scratch Version 6 4 1E dL base 1 KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK Function loadproc f n nicelevel p pidfile pathname args Purpose This runs the specified program as a daemon Inputs f run the program even if it is already running n nicelevel specifies a nice level S nice l p pidfile uses the specified pidfile pathname pathname to the specified program args arguments to pass to specified program Outputs return 0 Success return 2 Invalid of excessive number of arguments warning in stdout return 4 Program or service status is unknown Dependencies nice rm Todo LSB says this should be called start daemon LSB does not say that it should call evaluate retval It checks for PIDFILE which is deprecated Will be removed after BLFS 6 0 loadproc returns 0 if program is already running not LSB compliant CKCkCk kCk ck kCk ck kCk c
392. yes Die Bedeutung des configure Parameters ac cv func working mktime yes Mit diesem Parameter wird die Suche nach mktime in configure bergangen und die Version in glibc wird stattdessen verwendet Die ist wegen einer Anderung an GCC n tig die noch nicht in dieses Paket bernommen wurde Der Kompiliervorgang ist nun abgeschlossen Wie bereits erw hnt wird empfohlen die Testsuite f r das tempor re System in diesem Kapitel nicht durchlaufen zu lassen Falls Sie die Testsuite dennoch laufen lassen m chten f hren Sie dieses Kommando aus make Um die Ergebnisse zu testen geben Sie folgendes ein make check Installieren Sie das Paket make install Details zu diesem Paket finden Sie in Abschnitt 6 34 2 Inhalt von Gawk 54 Linux From Scratch Version 6 4 5 22 Gettext 0 17 Gettext wird zur bersetzung und Lokalisierung verwendet Programme k nnen mit Unterst tzung f r NLS Native Language Support Unterst tzung f r die lokale Sprache kompiliert werden Dadurch k nnen Texte und Meldungen in der Sprache des Anwenders ausgegeben werden Gesch tzte 0 8 SBU Kompilierzeit Etwa Ben tigter 83 MB Speicherplatz 5 22 1 Installation von Gettext F r die tempor ren Werkzeuge muss nur ein einziges Programm von Gettext erzeugt und installiert werden Bereiten Sie Gettext zum Kompilieren vor cd gettext tools configure prefix tools disable shared Die Bedeutung

Download Pdf Manuals

image

Related Search

LFS BUCH 6.4

Related Contents

DFT 817x  Telephone Domo Manual - Help Association Vega Baja  Hotpoint FFL49 User's Manual  振動レベル計 VM-53A 簡易取扱説明書(2.9MB)  Stir Station - Vernier Software & Technology  utilisation du compte a rebours  mode d`emploi café écrivains janvier 2013  POPCORN POPPER MACHINE À POP-CORN  T4PNFS  仕様書(PDF:262KB)  

Copyright © All rights reserved.
Failed to retrieve file