diff --git a/INSTALL b/INSTALL index ea824ffed..c284b3e49 100644 --- a/INSTALL +++ b/INSTALL @@ -11,62 +11,29 @@ website at http://www.linuxfromscratch.org for more information. ------------------------------------------------------------------------------- If all you want to do is convert XML to HTML perform the following: -First, let's handle some dependencies: - -* Unzip - - http://www.linuxfromscratch.org/blfs/view/cvs/general/unzip.html - -* SGML Common - - http://www.linuxfromscratch.org/blfs/view/cvs/pst/sgml-common.html - * libxml2 - http://www.linuxfromscratch.org/blfs/view/cvs/general/libxml2.html -Now install the following: +* libxslt + - http://www.linuxfromscratch.org/blfs/view/cvs/general/libxslt.html * DocBook DTD - http://www.linuxfromscratch.org/blfs/view/cvs/pst/DocBook.html - -* DSSSL DocBook Stylesheets - - http://www.linuxfromscratch.org/blfs/view/cvs/pst/docbook-dsssl.html -* OpenSP - - http://www.linuxfromscratch.org/blfs/view/cvs/pst/opensp.html - -* OpenJade - - http://www.linuxfromscratch.org/blfs/view/cvs/pst/openjade.html - -Once you have followed the installation instructions for all these packages -from the BLFS Book, then you have a basic DocBook setup. Below are some -alternate packages that you can use to convert to other formats. +* DocBook XSL Stylesheets + - http://www.linuxfromscratch.org/blfs/view/cvs/pst/docbook-xsl.html ------------------------------------------------------------------------------- -If you want to be able to convert the book into PS and PDF as well, then you -will need the Htmldoc package. This takes a HTML file (created with openjade -which you already installed) and converts it to PS or PDF: +If you want to be able to convert the book into PDF as well, then you will need +the FOP package. This takes an XSL-FO file (created with libxslt which you +already installed) and converts it to PDF: - - http://www.easysw.com/htmldoc/ - - Install HTMLDOC by running: - ./configure --prefix=/usr - make - make install + - http://www.apache.org/dist/xml/fop/fop-0.20.5-bin.tar.gz -An excellent X front-end for HTMLDOC is FLTK. If you will be doing rendering -in X, then you will probably want this package. + Install FOP by running: - - http://sourceforge.net/projects/fltk - - Install FLTK bt running: - ./configure --prefix=/usr - make - make install - -If you want to be able to convert the book into TXT as well, then you need the -lynx browser. Conversion is handled via the -dump option. - - - http://www.linuxfromscratch.org/blfs/view/cvs/basicnet/lynx.html - -You are finished installing everything. Read the README file for some examples -how to convert this XML to the various other formats. + cd /opt && + tar -xzvf /usr/src/fop-0.20.5-bin.tar.gz && + mv fop-0.20.5 fop + Now set JAVA_HOME, FOP_HOME and PATH to values appropriate to your system. diff --git a/Makefile b/Makefile new file mode 100644 index 000000000..a7044e233 --- /dev/null +++ b/Makefile @@ -0,0 +1,29 @@ +BASEDIR=~/lfs-book/ + +lfs: + xsltproc --xinclude --nonet -stringparam base.dir $(BASEDIR) \ + stylesheets/lfs-chunked.xsl index.xml + + if [ ! -e $(BASEDIR)stylesheets ]; then \ + mkdir -p $(BASEDIR)stylesheets; \ + fi; + cp stylesheets/lfs.css $(BASEDIR)stylesheets + + if [ ! -e $(BASEDIR)images ]; then \ + mkdir -p $(BASEDIR)images; \ + fi; + cp /usr/share/xml/docbook/xsl-stylesheets-1.65.1/images/*.png \ + $(BASEDIR)images + cd $(BASEDIR); sed -i -e "s@../stylesheets@stylesheets@" \ + index.html part1.html part2.html part3.html longindex.html + cd $(BASEDIR); sed -i -e "s@../images@images@g" \ + index.html part1.html part2.html part3.html longindex.html + +pdf: + xsltproc --xinclude --nonet --output lfs.fo stylesheets/lfs-pdf.xsl \ + index.xml + sed -i -e "s/inherit/all/" lfs.fo + fop.sh lfs.fo lfs.pdf + +validate: + xmllint --noout --nonet --xinclude --postvalid index.xml diff --git a/README b/README index 6c0be5944..e7606fb6d 100644 --- a/README +++ b/README @@ -2,49 +2,19 @@ LFS Book Readme This document is meant to instruct the user on how to convert the book's XML source to other formats (e.g. HTML, PDF, PS and TXT). First, if you have not -already done so, please read the INSTALL file how to install the required -software. If you have already completed the steps outlined in the INSTALL -file, then continue reading for examples how to convert these files into +already done so, please read the INSTALL file for instructions on how to install +the required software. If you have already completed the steps outlined in the +INSTALL file, then continue reading for examples how to convert these files into various other formats. -XML to HTML: ------------- -Create a directory in which you want to store the HTML files and cd into -that directory. Now run: +XML to XHTML: +------------- - mkdir -p chapter0{1,2,3,4,5,6,7,8,9} preface appendix{a,b} && - /usr/bin/openjade -t xml \ - -d /usr/share/dsssl/docbook/html/lfs.dsl \ - /usr/share/dsssl/docbook/dtds/decls/xml.dcl \ - /path/to/index.xml +BASEDIR=/path/to/output/location make - -XML to NOCHUNKS-HTML: --------------------- -The NOCHUNKS HTML version is one big HTML file: - /usr/bin/openjade -t sgml \ - -V nochunks \ - -d /usr/share/dsssl/docbook/html/lfs.dsl \ - /usr/share/dsssl/docbook/dtds/decls/xml.dcl \ - /path/to/index.xml > nochunks.html - -XML to TXT: +XML to PDF: ----------- -First create the NOCHUNKS HTML file, then convert by running: - /usr/bin/lynx -dump nochunks.html > output.txt - -XML to PS and PDF: ------------------- -First create the NOCHUNKS HTML file, then convert by starting -htmldoc. You can use the GUI and select the options. If you're -satisfied with the default options you can run this command: - - /usr/bin/htmldoc --book --firstpage p1 -v -t \ - -f nochunks.html - -replace by pdf13 to create a pdf file or replace by ps3 to -create a ps file. There are other pdf and ps levels, see the man page for -possible other options. Replace with the filename of the ps or -pdf file that is to be generated. +make pdf && +cp lfs.pdf /path/to/output/location diff --git a/book.xml b/book.xml deleted file mode 100644 index 3e95e95f8..000000000 --- a/book.xml +++ /dev/null @@ -1,36 +0,0 @@ -&bookinfo; - - -Dedication -This book is dedicated to my loving and supportive wife -Beverly Beekmans. - - -&preface; - - -Part I - Introduction -&chapter01; - - - -Part II - Preparing for the build -&chapter02; -&chapter03; -&chapter04; -&chapter05; - - - -Part III - Building the LFS system -&chapter06; -&chapter07; -&chapter08; -&chapter09; - - - -Part IV - Appendices -&appendixa; -&appendixb; - diff --git a/contrib/entResolver b/contrib/entResolver new file mode 100644 index 000000000..e04f439b3 --- /dev/null +++ b/contrib/entResolver @@ -0,0 +1,29 @@ +#!/bin/bash +############################################################################### +# # +# File: entResolver # +# # +# Description: Works around libxml2 bug 135713 by preprocessing entity # +# references before performing any stylesheet processing. # +# # +# Author: Manuel Canales Esparcia # +# # +############################################################################### + +NAME=`basename "$0"` +DESTDIR="$1" + +if [ -z "$1" ]; then + echo "USAGE: $NAME destdir" + exit +fi + +mkdir -p ../"$DESTDIR"/chapter0{1,2,3,4,5,6,7,8,9} +mkdir -p ../"$DESTDIR"/prologue +mkdir -p ../"$DESTDIR"/appendix{a,b} + +for i in `find . -name "*.xml"`; do + xmllint --nonet --noent "${i}" > ../"$DESTDIR"/"${i}"; +done + +cp -a stylesheets ../"$DESTDIR" diff --git a/general.ent b/general.ent new file mode 100644 index 000000000..0967da488 --- /dev/null +++ b/general.ent @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/index.xml b/index.xml index 032468775..c63dbc3d3 100644 --- a/index.xml +++ b/index.xml @@ -1,151 +1,56 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -%bookstructure; - -%autoconf-entities; -%automake-entities; -%bash-entities; -%binutils-entities; -%bison-entities; -%bootscripts-entities; -%bzip2-entities; -%coreutils-entities; -%dejagnu-entities; -%diffutils-entities; -%e2fsprogs-entities; -%ed-entities; -%expect-entities; -%file-entities; -%findutils-entities; -%flex-entities; -%gawk-entities; -%gcc-entities; -%gcc-2953-entities; -%gettext-entities; -%glibc-entities; -%grep-entities; -%groff-entities; -%grub-entities; -%gzip-entities; -%inetutils-entities; -%kbd-entities; -%kernel-entities; -%less-entities; -%lfs-utils-entities; -%libtool-entities; -%m4-entities; -%make-entities; -%makedev-entities; -%man-entities; -%manpages-entities; -%modutils-entities; -%ncurses-entities; -%nettools-entities; -%patch-entities; -%perl-entities; -%procinfo-entities; -%procps-entities; -%psmisc-entities; -%sed-entities; -%shadow-entities; -%sysklogd-entities; -%sysvinit-entities; -%tcl-entities; -%tar-entities; -%texinfo-entities; -%utillinux-entities; -%vim-entities; -%zlib-entities; - + + %general-entities; ]> - -&book; + + + + + + + + + +Introduction + + + + + + + + +Preparing for the build + + + + + + + + + + + + +Building the LFS system + + + + + + + + + + + + + + + - diff --git a/lfs.dsl b/lfs.dsl deleted file mode 100644 index 811d261a0..000000000 --- a/lfs.dsl +++ /dev/null @@ -1,68 +0,0 @@ - -]> - - - - - - -(define %generate-legalnotice-link% -;; put the legal notice in a separate file -#t) - -(define ($legalnotice-link-file$ legalnotice) -;; filename of the legalnotice file -(string-append "legalnotice"%html-ext%)) - -(define %html-ext% -;; html extenstion -".html") - -(define %root-filename% -;; index file of the book -"index") - -(define %use-id-as-filename% -;; filenames same as id attribute in title tags -#t) - -(define %body-attr% -;; html body settings -(list -(list "BGCOLOR" "#FFFFFF") -(list "TEXT" "#000000") -(list "LINK" "#0000FF") -(list "VLINK" "#840084") -(list "ALINK" "#006000"))) - -(define (chunk-skip-first-element-list) -;; forces the Table of Contents on separate page -'()) - -(define (list-element-list) -;; fixes bug in Table of Contents generation -'()) - -(define %shade-verbatim% -;; verbatim sections will be shaded if t(rue) -#t) - -;;(define %section-autolabel% -;; For enumerated sections (1.1, 1.1.1, 1.2, etc.) -;;#t) - -(element emphasis -;; make role=strong equate to bold for emphasis tag -(if (equal? (attribute-string "role") "strong") -(make element gi: "STRONG" (process-children)) -(make element gi: "EM" (process-children)))) - - - - - - - - - diff --git a/prologue/acknowledgments.xml b/prologue/acknowledgments.xml new file mode 100644 index 000000000..84609cb3d --- /dev/null +++ b/prologue/acknowledgments.xml @@ -0,0 +1,306 @@ + + + %general-entities; +]> + +Acknowledgments + + +We would like to thank the following people and organizations for their +contributions to the Linux From Scratch Project. + + +Current Project Team Members + + + +Gerard +Beekmans <gerard@linuxfromscratch.org> -- Linux-From-Scratch +initiator, LFS Project organizer. + +Matthew +Burgess <matthew@linuxfromscratch.org> -- LFS General Package +maintainer, LFS Book editor. + +Craig +Colton <meerkats@bellsouth.net> -- LFS, ALFS, BLFS and Hints +Project logo creator. + +Jeroen +Coumans <jeroen@linuxfromscratch.org> -- Website developer, FAQ +maintainer. + +Bruce +Dubbs <bdubbs@linuxfromscratch.org> -- LFS Quality Assurance Team +leader, BLFS Book editor. + +Alex +Groenewoud <alex@linuxfromscratch.org> -- LFS Book +editor. + +Mark +Hymers <markh@linuxfromscratch.org> -- CVS maintainer, BLFS Book +creator, former LFS Book editor. + +James +Iwanek <iwanek@linuxfromscratch.org> -- System Administration +Team member. + +Nicholas +Leippe <nicholas@linuxfromscratch.org> -- Wiki +maintainer. + +Anderson +Lizardo <lizardo@linuxfromscratch.org> -- Website backend scripts +creator and maintainer. + +Bill +Maltby <bill@linuxfromscratch.org> -- LFS Project +organizer. + +Scot Mc +Pherson <scot@linuxfromscratch.org> -- LFS NNTP gateway +maintainer. + +Ryan +Oliver <ryan@linuxfromscratch.org> -- Testing Team leader, +Toolchain maintainer, co-creator of PLFS. + +James +Robertson <jwrober@linuxfromscratch.org> -- Bugzilla maintainer, +Wiki developer, LFS Book editor. + +Greg +Schafer <greg@linuxfromscratch.org> -- Toolchain maintainer, +LFS Book editor, co-creator of PLFS. + +Tushar +Teredesai <tushar@linuxfromscratch.org> -- BLFS Book editor, +Hints and Patches Projects maintainer. + +Jeremy +Utley <jeremy@linuxfromscratch.org> -- LFS Book editor, Bugzilla +maintainer. + +Countless other people on the various LFS and BLFS +mailing lists who are making this book happen by giving their suggestions, +testing the book and submitting bug reports, instructions and their +experiences with installing various packages. + + + + + + +Translators + + + +Manuel Canales +Esparcia <macana@lfs-es.org> -- Spanish LFS translation +project. + +Johan +Lenglet <johan@linuxfromscratch.org> -- French LFS translation +project. + +Anderson +Lizardo <lizardo@linuxfromscratch.org> -- Portuguese LFS +translation project. + + + + + + +Mirror Maintainers + + + +Jason Andrade +<jason@dstc.edu.au> -- au.linuxfromscratch.org mirror. + +William Astle +<lost@l-w.net> -- ca.linuxfromscratch.org mirror. + +Baque +<baque@cict.fr> -- lfs.cict.fr mirror. + +Stephan Brendel +<stevie@stevie20.de> -- lfs.netservice-neuss.de +mirror. + +Ian Chilton +<ian@ichilton.co.uk> -- us.linuxfromscratch.org, linuxfromscratch.co.uk +mirrors. + +Fredrik +Danerklint <fredan-lfs@fredan.org> -- se.linuxfromscratch.org +mirror. + +David D.W. +Downey <pgpkeys@aeternamtech.com> -- lfs.learnbyexample.com +mirror. + +Eduardo B. +Fonseca <ebf@aedsolucoes.com.br> -- br.linuxfromscratch.org +mirror. + +Hagen Herrschaft +<hrx@hrxnet.de> -- de.linuxfromscratch.org mirror. + +Tim Jackson +<tim@idge.net> -- linuxfromscratch.idge.net mirror. + +Barna Koczka +<barna@siker.hu> -- hu.linuxfromscratch.org mirror. + +Roel +Neefs -- linuxfromscratch.rave.org mirror. + +Simon Nicoll +<sime@dot-sime.com> -- uk.linuxfromscratch.org mirror. + +Ervin S. +Odisho <ervin@activalink.net> -- lfs.activalink.net +mirror. + +Guido Passet +<guido@primerelay.net> -- nl.linuxfromscratch.org +mirror. + +Mikhail Pastukhov +<miha@xuy.biz> -- lfs.130th.net mirror. + +Jeremy Polen +<jpolen@rackspace.com> -- us2.linuxfromscratch.org +mirror. + +UK Mirror Service +-- linuxfromscratch.mirror.co.uk mirror. + +Thomas Skyt +<thomas@sofagang.dk> -- dk.linuxfromscratch.org mirror. + +Antonin +Sprinzl <Antonin.Sprinzl@tuwien.ac.at> -- at.linuxfromscratch.org +mirror. + +Dag Stenstad +<dag@stenstad.net> for providing no.linuxfromscratch.org and +Ian Chilton for running +it. + +Parisian +sysadmins <archive@doc.cs.univ-paris8.fr> -- +www2.fr.linuxfromscratch.org mirror. + +Jesse +Tie-Ten-Quee <highos@linuxfromscratch.org> for providing and +running the linuxfromscratch.org server. + +Alexander Velin +<velin@zadnik.org> -- bg.linuxfromscratch.org mirror. + +Martin Voss +<Martin.Voss@ada.de> -- lfs.linux-matrix.net mirror. + +Pui Yong +<pyng@spam.averse.net> -- sg.linuxfromscratch.org +mirror. + + + + + + +Donators + + + +Dean Benson +<dean@vipersoft.co.uk> for several monetary +contributions. + +DREAMWVR.COM for +their past sponsorship of donating various resources to the LFS and related +sub projects. + +Hagen Herrschaft +<hrx@hrxnet.de> for donating a 2.2 GHz P4 system, now running under the +name of lorien. + +O'Reilly for +donating books on SQL and PHP. + +VA Software +who, on behalf of Linux.com, donated +a VA Linux 420 (former StartX SP2) workstation. + +Mark Stone for +donating shadowfax, the first linuxfromscratch.org +server, a 750 MHz P3 with 512 MB RAM and two 9 GB SCSI drives. When the server +moved it was renamed to belgarath. + +Jesse +Tie-Ten-Quee <highos@linuxfromscratch.org> for donating a Yamaha +CDRW 8824E CD-writer. + +Countless other people on the various LFS mailing lists who are +making this book better by giving their suggestions, submitting bug reports, +and throwing in their criticism. + + + + + + +Former Team Members and Contributors + + + +Timothy +Bauscher <timothy@linuxfromscratch.org> -- LFS Book editor, Hints +Project maintainer. + +Robert Briggs for originally donating the +linuxfromscratch.org and +linuxfromscratch.com domain names. + +Ian Chilton +<ian@ichilton.co.uk> for maintaining the Hints project. + +Marc +Heerdink <gimli@linuxfromscratch.org> -- LFS Book +editor. + +Seth W. +Klein <sklein@linuxfromscratch.org> -- LFS FAQ +creator. + +Garrett +LeSage <garrett@linuxart.com> -- Original LFS banner +creator. + +Simon +Perreault <nomis80@videotron.ca> -- Hints Project +maintainer. + +Geert Poels +<Geert.Poels@skynet.be> -- Original BLFS banner creator; based on the +LFS banner by Garrett LeSage. + +Frank Skettino +<bkenoah@oswd.org> for the initial design of the old website -- have a +look at . + +Jesse +Tie-Ten-Quee <highos@linuxfromscratch.org> for answering +countless questions on IRC and having a great deal of patience. + + + + + + diff --git a/prologue/audience.xml b/prologue/audience.xml new file mode 100644 index 000000000..c769b9067 --- /dev/null +++ b/prologue/audience.xml @@ -0,0 +1,96 @@ + + + %general-entities; +]> + +Audience + + + +Who would want to read this book + +There are many reasons why somebody would want to read this book. The +principal reason being to install a Linux system straight from the source +code. A question many people raise is Why go through all the hassle of +manually building a Linux system from scratch when you can just download and +install an existing one?. That is a good question and is the impetus for +this section of the book. + +One important reason for LFS's existence is to help people learn how a +Linux system works from the inside out. Building an LFS system helps demonstrate +to you what makes Linux tick, how things work together and depend on each +other. One of the best things that this learning experience provides is the +ability to customize Linux to your own tastes and needs. + +A key benefit of LFS is that you have more control of your system +without relying on someone else's Linux implementation. With LFS, you are +in the driver's seat and dictate every aspect of your system, such as the +directory layout and bootscript setup. You also dictate where, why and how +programs are installed. + +Another benefit of LFS is the ability to create a very compact Linux +system. When installing a regular distribution, you are usually forced to +install several programs which you are likely never to use. They're just +sitting there wasting precious disk space (or worse, CPU cycles). It isn't +difficult to build an LFS system of less than 100 MB. Does that still sound like a +lot? A few of us have been working on creating a very small embedded LFS +system. We successfully built a system that was just enough to run the Apache +web server with approximately 8MB of disk space used. Further stripping could +bring that down to 5 MB or less. Try that with a regular distribution. + +We could compare Linux distributions to a hamburger you buy at a +fast-food restaurant -- you have no idea what you are eating. LFS, on the +other hand, doesn't give you a hamburger, but the recipe to make a hamburger. +This allows you to review it, to omit unwanted ingredients, and to +add your own ingredients which enhance the flavor of your burger. When you +are satisfied with the recipe, you go on to preparing it. You make it just +the way you like it: broil it, bake it, deep-fry it, barbecue it, or eat it +tar-tar (raw). + +Another analogy that we can use is that of comparing LFS with a +finished house. LFS will give you the skeletal plan of a house, but it's up +to you to build it. You have the freedom to adjust your plans as you +go. + +One last advantage of a custom built Linux system is security. +By compiling the entire system from source code, you are empowered to audit +everything and apply all the security patches you feel are needed. You don't +have to wait for somebody else to compile binary packages that fix a security +hole. Unless you examine the patch and implement it yourself you have no +guarantee that the new binary package was built correctly and actually fixes the +problem (adequately). + +There are too many good reasons to build your own LFS system for them all +to be listed here. This section is only the tip of the iceberg. As you +continue in your LFS experience, you will find on your own the power that +information and knowledge truly bring. + + + + +Who would not want to read this book + +There are probably some who, for whatever reason, would feel that they do not +want to read this book. If you do not wish to build your own Linux system from +scratch, then you probably don't want to read this book. Our goal is to help +you build a complete and usable foundation-level system. If you only want to +know what happens while your computer boots, then we recommend the From +Power Up To Bash Prompt HOWTO. The HOWTO builds a bare system which is +similar to that of this book, but it focuses strictly on creating a system +capable of booting to a BASH prompt. + +While you decide which to read, consider your objective. If you wish +to build a Linux system while learning a bit along the way, then this book +is probably your best choice. If your objective is strictly educational and +you do not have any plans for your finished system, then the +From Power Up To Bash Prompt HOWTO is probably a better choice. + +The From Power Up To Bash Prompt HOWTO is located at + or on The Linux +Documentation Project's website at +. + + + + diff --git a/bookinfo.xml b/prologue/bookinfo.xml similarity index 76% rename from bookinfo.xml rename to prologue/bookinfo.xml index 8b97333ae..501816b06 100644 --- a/bookinfo.xml +++ b/prologue/bookinfo.xml @@ -1,3 +1,8 @@ + + + %general-entities; +]> Linux From Scratch Version &version; @@ -34,12 +39,12 @@ met: Redistributions in any form must retain the above copyright notice, this list of conditions and the following disclaimer. -Neither the name of "Linux From Scratch" nor the names of -its contributors may be used to endorse or promote products derived from -this material without specific prior written permission. +Neither the name of Linux From Scratch nor the +names of its contributors may be used to endorse or promote products derived +from this material without specific prior written permission. Any material derived from Linux From Scratch must contain -a reference to the "Linux From Scratch" project. +a reference to the Linux From Scratch project. diff --git a/prologue/dedication.xml b/prologue/dedication.xml new file mode 100644 index 000000000..21494b098 --- /dev/null +++ b/prologue/dedication.xml @@ -0,0 +1,10 @@ + + + %general-entities; +]> + +Dedication +This book is dedicated to my loving and supportive wife +Beverly Beekmans. + diff --git a/prologue/foreword.xml b/prologue/foreword.xml new file mode 100644 index 000000000..82376683a --- /dev/null +++ b/prologue/foreword.xml @@ -0,0 +1,34 @@ + + + %general-entities; +]> + +Foreword + + +Having used a number of different Linux distributions, I was never +fully satisfied with any of them. I didn't like the arrangement of +the bootscripts. I didn't like the way certain programs were configured by +default. Much more of that sort of thing bothered me. Finally I realized +that if I wanted full satisfaction from my Linux system I would have to +build my own system from scratch, using only the source code. I resolved +not to use pre-compiled packages of any kind, nor CD-ROM or boot disk that +would install some basic utilities. I would use my current Linux system to +develop my own. + +This wild idea seemed very difficult at the time and often seemed +an impossible task. After sorting out all kinds of problems, such as +dependencies and compile-time errors, a custom-built Linux system was +created that was fully operational. I called this system a Linux From Scratch +system, or LFS for short. + +I hope you will have a great time working on your own LFS! + + +-- +Gerard Beekmans +gerard@linuxfromscratch.org + + + diff --git a/prologue/organization.xml b/prologue/organization.xml new file mode 100644 index 000000000..d88f4938d --- /dev/null +++ b/prologue/organization.xml @@ -0,0 +1,38 @@ + + + %general-entities; +]> + +Structure + + +This book is divided into the following four parts: + + +Part I - Introduction + +Part I explains a few important things on how to proceed with the +installation, and gives meta-information about the book (version, changelog, +acknowledgments, associated mailing lists, and so on). + + + +Part II - Preparing for the build + +Part II describes how to prepare for the building process: making a +partition, downloading the packages, and compiling temporary tools. + + + +Part III - Building the LFS system + +Part III guides you through the building of the LFS system: compiling and +installing all the packages one by one, setting up the boot scripts, and +installing the kernel. The resulting basic Linux system is the foundation upon +which you can build other software, to extend your system in the way you like. +At the end of the book you'll find a list of all of the programs, libraries and +important files that have been installed as an easy to use reference. + + + diff --git a/prologue/preface.xml b/prologue/preface.xml new file mode 100644 index 000000000..5fa4aec94 --- /dev/null +++ b/prologue/preface.xml @@ -0,0 +1,18 @@ + + + %general-entities; +]> + + +Preface + + + + + + + + + + diff --git a/prologue/prerequisites.xml b/prologue/prerequisites.xml new file mode 100644 index 000000000..62ac031b9 --- /dev/null +++ b/prologue/prerequisites.xml @@ -0,0 +1,40 @@ + + + %general-entities; +]> + +Prerequisites + + +This book assumes that its reader has a good deal of knowledge about +using and installing Linux software. Before you begin building your LFS +system, you should read the following HOWTOs: + + +Software-Building-HOWTO + +This is a comprehensive guide to building and installing +generic Unix software distributions under Linux. This HOWTO is +available at . + + +The Linux Users' Guide + +This guide covers the usage of assorted Linux software and is +available at +. + +The Essential Pre-Reading Hint + +This is an LFS Hint written specifically for new users of Linux. It is +mostly a list of links to excellent sources of information on a wide range of +topics. Any person attempting to install LFS, should at least have an +understanding of many of the topics in this hint. It is available at + + + + + + diff --git a/prologue/typography.xml b/prologue/typography.xml new file mode 100644 index 000000000..3a54e8b0c --- /dev/null +++ b/prologue/typography.xml @@ -0,0 +1,52 @@ + + + %general-entities; +]> + +Typography + + +To make things easier to follow, there are a few typographical +conventions used throughout the book. Following are some examples: + +./configure --prefix=/usr + +
This form of text is designed to be typed exactly +as seen unless otherwise noted in the surrounding text. It is also used +in the explanation sections to identify which of the commands is being +referenced.
+ +install-info: unknown option +`--dir-file=/mnt/lfs/usr/info/dir' + +
This form of text (fixed width text) is showing screen +output, probably as the result of commands issued, and is also used to +show filenames, such as /etc/ld.so.conf.
+ +Emphasis + +
This form of text is used for several purposes in the +book, mainly to emphasize important points, and to give examples of +what to type.
+ + + +
This form of text is used for hyperlinks, both within the +book and to external pages such as HOWTOs, download locations and +websites.
+ +cat > $LFS/etc/group << "EOF" +root:x:0: +bin:x:1: +...... +EOF + + +
This type of section is used mainly when creating +configuration files. The first command tells the system to create +the file $LFS/etc/group from whatever is typed on the following lines until +the sequence EOF is encountered. Therefore, this whole section is generally +typed as seen.
+ +
diff --git a/stylesheets/lfs-chunked.xsl b/stylesheets/lfs-chunked.xsl new file mode 100644 index 000000000..e7f6c85df --- /dev/null +++ b/stylesheets/lfs-chunked.xsl @@ -0,0 +1,92 @@ + + + + + + + + + + + + + + + + + ../images/ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + +
+
+
+ +
+ +
+
+
+
+ + + + appendix toc + book toc,title,figure,table,example,equation + chapter nop + part toc + preface nop + qandadiv nop + qandaset nop + reference nop + sect1 nop + sect2 nop + sect3 nop + sect4 nop + sect5 nop + section nop + set nop + + 1 + 3 + +
diff --git a/stylesheets/lfs-pdf.xsl b/stylesheets/lfs-pdf.xsl new file mode 100644 index 000000000..568f7f229 --- /dev/null +++ b/stylesheets/lfs-pdf.xsl @@ -0,0 +1,130 @@ + + + + + + + + + + + + + + + 8 + 10pt + + + 1in + 0.5in + -1pc + + + + book toc + part nop + + 1 + + + + + + page + + + + + + + false + left + + + yes + + + + + + + + + + + XRef to nonexistent id: + + + ??? + + + + + + + + + + Endterm points to nonexistent ID: + + + ??? + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + , p. + + + + + + + + + + + diff --git a/stylesheets/lfs.css b/stylesheets/lfs.css new file mode 100644 index 000000000..cf2f43909 --- /dev/null +++ b/stylesheets/lfs.css @@ -0,0 +1,124 @@ +body { + font-weight: normal; + font-size: normal; + font-family: verdana, tahoma, helvetica, arial, sans-serif; + text-align: left; +} + +div.navheader table { + font-size: smaller; +} + +div.navfooter table { + font-size: smaller; +} + +div.navheader img { + border: medium none; +} + +div.navfooter img { + border: medium none; +} + +div.book div.titlepage h1.title { + font-weight: bold; + font-size: xx-large; + text-align: center; +} + +div.book div.titlepage h2.subtitle { + font-weight: bold; + font-size: x-large; + text-align: center; +} + +div.book div.titlepage h3.author { + font-size: large; +} + +div.book div.dedication div.titlepage h2.title { + font-weight: normal; + font-size: x-large; +} + +div.chapter div.titlepage h2.title { + font-weight: bold; + font-size: x-large; + text-align: left; +} + +div.sect1 div.titlepage h2.title { + font-weight: bold; + font-size: x-large; + text-align: left; +} + +tt { + font-family: courier, monospace; +} + +pre.screen { + color: black; + background-color: #dddddd; +} + +pre.synopsis { + color: black; + background-color: #dddddd; +} + +div.warning { + border: 1px solid; +} + +div.note { + border: 1px solid; +} + +div.important { + border: 1px solid; +} + +div.caution { + border: 1px solid; +} + +div.warning h3.title { + text-align: center +} + +div.warning p { + padding-left: 0.2in +} + +div.note { + padding-left: 0.2in +} + +div.important { + padding-left: 0.2in +} + +div.caution { + padding-left: 0.2in +} + +.command { + font-family: courier, monospace; +} + +.item { + width: 15em; + float: left; +} + +.secitem { + font-weight: normal; + width: 12.5em; + float: left; +} + +.toc ul, .index ul, .navheader ul, .navfooter ul { + list-style: none; +}