mirror of https://github.com/tLDP/LDP
the LFS document is already present
This version should not be present here.....if the LFS folk wish to contribute it, then, it should go right on top of the older version. I did not want to make that choice for them, but having the duplicate here is also not good, so I'm removing it.
This commit is contained in:
parent
61c8b15216
commit
8f952077e6
|
@ -1,47 +0,0 @@
|
|||
LFS Book Conversion Tools Installation Instructions
|
||||
|
||||
After downloading the SVN source, there are some things that need to be set up
|
||||
on your computer if you want to convert the XML source into something easier to
|
||||
read (e.g. HTML, TXT, or PDF). If you are interested in this, then keep
|
||||
reading. If you are only interested in editing the XML source for re-
|
||||
submission to the lfs-book or lfs-dev mailing lists, then you do not need this
|
||||
document. Instead, you need to read the LFS Editor's Manual. See the LFS
|
||||
website at http://www.linuxfromscratch.org for more information.
|
||||
|
||||
-------------------------------------------------------------------------------
|
||||
|
||||
If you want to convert the XML to HTML, install the following:
|
||||
|
||||
* libxml2
|
||||
- http://www.linuxfromscratch.org/blfs/view/svn/general/libxml2.html
|
||||
|
||||
* libxslt
|
||||
- http://www.linuxfromscratch.org/blfs/view/svn/general/libxslt.html
|
||||
|
||||
* DocBook DTD
|
||||
- http://www.linuxfromscratch.org/blfs/view/svn/pst/xml.html
|
||||
|
||||
* DocBook XSL Stylesheets
|
||||
- http://www.linuxfromscratch.org/blfs/view/svn/pst/docbook-xsl.html
|
||||
|
||||
* HTMLTidy
|
||||
- http://www.linuxfromscratch.org/blfs/view/svn/general/tidy.html
|
||||
|
||||
-------------------------------------------------------------------------------
|
||||
|
||||
If you want to convert the XML to TXT, install the above items, and then install
|
||||
the following:
|
||||
|
||||
* lynx
|
||||
- http://www.linuxfromscratch.org/blfs/view/svn/basicnet/lynx.html
|
||||
|
||||
-------------------------------------------------------------------------------
|
||||
|
||||
If you want to convert the XML to PDF, install the items listed above (except
|
||||
lynx) and then install the following:
|
||||
|
||||
* JDK
|
||||
- http://www.linuxfromscratch.org/blfs/view/svn/general/openjdk.html
|
||||
|
||||
* FOP and JAI
|
||||
- http://www.linuxfromscratch.org/blfs/view/svn/pst/fop.html
|
|
@ -1,121 +0,0 @@
|
|||
BASEDIR = ~/lfs-book
|
||||
DUMPDIR = ~/lfs-commands
|
||||
RENDERTMP = $(HOME)/tmp
|
||||
CHUNK_QUIET = 1
|
||||
ROOT_ID =
|
||||
PDF_OUTPUT = LFS-BOOK.pdf
|
||||
NOCHUNKS_OUTPUT = LFS-BOOK.html
|
||||
SHELL = /bin/bash
|
||||
|
||||
ifdef V
|
||||
Q =
|
||||
else
|
||||
Q = @
|
||||
endif
|
||||
|
||||
lfs: validate profile-html
|
||||
@echo "Generating chunked XHTML files..."
|
||||
$(Q)xsltproc --nonet -stringparam chunk.quietly $(CHUNK_QUIET) \
|
||||
-stringparam rootid "$(ROOT_ID)" -stringparam base.dir $(BASEDIR)/ \
|
||||
stylesheets/lfs-chunked.xsl $(RENDERTMP)/lfs-html.xml
|
||||
|
||||
@echo "Copying CSS code and images..."
|
||||
$(Q)if [ ! -e $(BASEDIR)/stylesheets ]; then \
|
||||
mkdir -p $(BASEDIR)/stylesheets; \
|
||||
fi;
|
||||
$(Q)cp stylesheets/lfs-xsl/*.css $(BASEDIR)/stylesheets
|
||||
$(Q)if [ ! -e $(BASEDIR)/images ]; then \
|
||||
mkdir -p $(BASEDIR)/images; \
|
||||
fi;
|
||||
$(Q)cp images/*.png $(BASEDIR)/images
|
||||
# $(Q)cd $(BASEDIR)/; sed -i -e "s@../stylesheets@stylesheets@g" *.html
|
||||
# $(Q)cd $(BASEDIR)/; sed -i -e "s@../images@images@g" *.html
|
||||
|
||||
@echo "Running Tidy and obfuscate.sh..."
|
||||
$(Q)for filename in `find $(BASEDIR) -name "*.html"`; do \
|
||||
tidy -config tidy.conf $$filename; \
|
||||
true; \
|
||||
/bin/bash obfuscate.sh $$filename; \
|
||||
sed -i -e "s@text/html@application/xhtml+xml@g" $$filename; \
|
||||
done;
|
||||
|
||||
$(Q)$(MAKE) $(BASEDIR)/wget-list $(BASEDIR)/md5sums
|
||||
|
||||
pdf: validate
|
||||
@echo "Generating profiled XML for PDF..."
|
||||
$(Q)xsltproc --nonet --stringparam profile.condition pdf \
|
||||
--output $(RENDERTMP)/lfs-pdf.xml stylesheets/lfs-xsl/profile.xsl \
|
||||
$(RENDERTMP)/lfs-full.xml
|
||||
|
||||
@echo "Generating FO file..."
|
||||
$(Q)xsltproc --nonet -stringparam rootid "$(ROOT_ID)" \
|
||||
--output $(RENDERTMP)/lfs-pdf.fo stylesheets/lfs-pdf.xsl \
|
||||
$(RENDERTMP)/lfs-pdf.xml
|
||||
$(Q)sed -i -e 's/span="inherit"/span="all"/' $(RENDERTMP)/lfs-pdf.fo
|
||||
$(Q)bash pdf-fixups.sh $(RENDERTMP)/lfs-pdf.fo
|
||||
|
||||
@echo "Generating PDF file..."
|
||||
$(Q)if [ ! -e $(BASEDIR) ]; then \
|
||||
mkdir -p $(BASEDIR); \
|
||||
fi;
|
||||
$(Q)fop -q $(RENDERTMP)/lfs-pdf.fo $(BASEDIR)/$(PDF_OUTPUT) 2>fop.log
|
||||
@echo "$(BASEDIR)/$(PDF_OUTPUT) created"
|
||||
@echo "fop.log created"
|
||||
|
||||
nochunks: validate profile-html
|
||||
@echo "Generating non chunked XHTML file..."
|
||||
$(Q)xsltproc --nonet -stringparam rootid "$(ROOT_ID)" \
|
||||
--output $(BASEDIR)/$(NOCHUNKS_OUTPUT) \
|
||||
stylesheets/lfs-nochunks.xsl $(RENDERTMP)/lfs-html.xml
|
||||
|
||||
@echo "Running Tidy..."
|
||||
$(Q)tidy -config tidy.conf $(BASEDIR)/$(NOCHUNKS_OUTPUT) || true
|
||||
@echo "Running obfuscate.sh..."
|
||||
$(Q)bash obfuscate.sh $(BASEDIR)/$(NOCHUNKS_OUTPUT)
|
||||
$(Q)sed -i -e "s@text/html@application/xhtml+xml@g" $(BASEDIR)/$(NOCHUNKS_OUTPUT)
|
||||
$(Q)sed -i -e "s@../wget-list@wget-list@" $(BASEDIR)/$(NOCHUNKS_OUTPUT)
|
||||
$(Q)sed -i -e "s@../md5sums@md5sums@" $(BASEDIR)/$(NOCHUNKS_OUTPUT)
|
||||
$(Q)$(MAKE) $(BASEDIR)/wget-list $(BASEDIR)/md5sums
|
||||
|
||||
tmpdir:
|
||||
@echo "Creating and cleaning $(RENDERTMP)"
|
||||
$(Q)[ -d $(RENDERTMP) ] || mkdir -p $(RENDERTMP)
|
||||
$(Q)rm -f $(RENDERTMP)/lfs-{full,html,pdf}.xml
|
||||
$(Q)rm -f $(RENDERTMP)/lfs-pdf.fo
|
||||
|
||||
validate: tmpdir
|
||||
@echo "Validating the book..."
|
||||
$(Q)xmllint --nonet --noent --xinclude --postvalid \
|
||||
-o $(RENDERTMP)/lfs-full.xml index.xml
|
||||
@echo "Validation complete."
|
||||
|
||||
profile-html: validate
|
||||
@echo "Generating profiled XML for XHTML..."
|
||||
$(Q)xsltproc --nonet --stringparam profile.condition html \
|
||||
--output $(RENDERTMP)/lfs-html.xml stylesheets/lfs-xsl/profile.xsl \
|
||||
$(RENDERTMP)/lfs-full.xml
|
||||
|
||||
wget-list: $(BASEDIR)/wget-list
|
||||
$(BASEDIR)/wget-list: stylesheets/wget-list.xsl chapter03/chapter03.xml packages.ent patches.ent
|
||||
@echo "Generating wget list..."
|
||||
$(Q)mkdir -p $(BASEDIR)
|
||||
$(Q)xsltproc --xinclude --nonet --output $(BASEDIR)/wget-list \
|
||||
stylesheets/wget-list.xsl chapter03/chapter03.xml
|
||||
|
||||
md5sums: $(BASEDIR)/md5sums
|
||||
$(BASEDIR)/md5sums: stylesheets/wget-list.xsl chapter03/chapter03.xml packages.ent patches.ent
|
||||
@echo "Generating md5sum file..."
|
||||
$(Q)mkdir -p $(BASEDIR)
|
||||
$(Q)xsltproc --xinclude --nonet --output $(BASEDIR)/md5sums \
|
||||
stylesheets/md5sum.xsl chapter03/chapter03.xml
|
||||
|
||||
dump-commands: validate
|
||||
@echo "Dumping book commands..."
|
||||
$(Q)xsltproc --output $(DUMPDIR)/ \
|
||||
stylesheets/dump-commands.xsl $(RENDERTMP)/lfs-full.xml
|
||||
|
||||
|
||||
all: lfs nochunks pdf dump-commands
|
||||
|
||||
.PHONY : all dump-commands lfs nochunks pdf profile-html tmpdir validate
|
||||
|
|
@ -1,30 +0,0 @@
|
|||
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 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 XHTML:
|
||||
-------------
|
||||
make BASEDIR=/path/to/output/location
|
||||
|
||||
|
||||
XML to single file XHTML (nochunks):
|
||||
------------------------------------
|
||||
make BASEDIR=/path/to/output/location nochunks
|
||||
|
||||
|
||||
XML to TXT
|
||||
----------
|
||||
Follow the instructions for nochunks and then run:
|
||||
lynx -dump /path/to/nochunks >/path/to/output
|
||||
|
||||
|
||||
XML to PDF:
|
||||
-----------
|
||||
make BASEDIR=/path/to/output/location pdf
|
||||
|
||||
|
|
@ -1,437 +0,0 @@
|
|||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||
<!DOCTYPE appendix PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
|
||||
<!ENTITY % general-entities SYSTEM "../general.ent">
|
||||
%general-entities;
|
||||
]>
|
||||
|
||||
<appendix id="appendixb" xreflabel="Appendix B">
|
||||
<?dbhtml dir="appendices"?>
|
||||
<?dbhtml filename="acknowledgments.html"?>
|
||||
|
||||
<title>Acknowledgments</title>
|
||||
|
||||
<para>We would like to thank the following people and organizations
|
||||
for their contributions to the Linux From Scratch Project.</para>
|
||||
|
||||
<itemizedlist>
|
||||
|
||||
<listitem>
|
||||
<para><ulink url="mailto:gerard@linuxfromscratch.org">Gerard
|
||||
Beekmans</ulink> <gerard@linuxfromscratch.org> –
|
||||
LFS Creator, LFS Project Leader</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para><ulink url="mailto:matthew@linuxfromscratch.org">Matthew
|
||||
Burgess</ulink> <matthew@linuxfromscratch.org> –
|
||||
LFS Project Leader, LFS Technical Writer/Editor</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para><ulink url="mailto:bdubbs@linuxfromscratch.org">Bruce
|
||||
Dubbs</ulink> <bdubbs@linuxfromscratch.org> – LFS Release
|
||||
Manager, LFS Technical Writer/Editor</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para><ulink url="mailto:jim@linuxfromscratch.org">Jim
|
||||
Gifford</ulink> <jim@linuxfromscratch.org> – CLFS Project
|
||||
Co-Leader</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para><ulink url="mailto:bryan@linuxfromscratch.org">Bryan
|
||||
Kadzban</ulink> <bryan@linuxfromscratch.org> – LFS
|
||||
Technical Writer</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para><ulink url="mailto:randy@linuxfromscratch.org">Randy
|
||||
McMurchy</ulink> <randy@linuxfromscratch.org> – BLFS
|
||||
Project Leader, LFS Editor</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para><ulink url="mailto:dj@linuxfromscratch.org">DJ Lucas</ulink>
|
||||
<dj@linuxfromscratch.org> – LFS and BLFS Editor</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para><ulink url="mailto:ken@linuxfromscratch.org">Ken Moffat</ulink>
|
||||
<ken@linuxfromscratch.org> – LFS and CLFS Editor</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para><ulink url="mailto:ryan@linuxfromscratch.org">Ryan
|
||||
Oliver</ulink> <ryan@linuxfromscratch.org> – CLFS Project
|
||||
Co-Leader</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>Countless other people on the various LFS and BLFS mailing lists
|
||||
who helped make this book possible by giving their suggestions, testing
|
||||
the book, and submitting bug reports, instructions, and their
|
||||
experiences with installing various packages.</para>
|
||||
</listitem>
|
||||
|
||||
</itemizedlist>
|
||||
|
||||
<bridgehead renderas="sect2">Translators</bridgehead>
|
||||
|
||||
<itemizedlist>
|
||||
|
||||
<listitem>
|
||||
<para><ulink url="mailto:macana@macana-es.com">Manuel Canales
|
||||
Esparcia</ulink> <macana@macana-es.com> – Spanish
|
||||
LFS translation project</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para><ulink url="mailto:johan@linuxfromscratch.org">Johan
|
||||
Lenglet</ulink> <johan@linuxfromscratch.org> – French LFS
|
||||
translation project until 2008</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para><ulink url="mailto:jmengual@linuxfromscratch.org">Jean-Philippe
|
||||
Mengual </ulink> <jmengual@linuxfromscratch.org> – French LFS
|
||||
translation project 2008-present</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para><ulink url="mailto:lizardo@linuxfromscratch.org">Anderson
|
||||
Lizardo</ulink> <lizardo@linuxfromscratch.org> –
|
||||
Portuguese LFS translation project</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para><ulink url="mailto:tr@erdfunkstelle.de">Thomas
|
||||
Reitelbach </ulink> <tr@erdfunkstelle.de> – German LFS
|
||||
translation project</para>
|
||||
</listitem>
|
||||
|
||||
</itemizedlist>
|
||||
|
||||
<bridgehead renderas="sect2">Mirror Maintainers</bridgehead>
|
||||
|
||||
<bridgehead renderas="sect3">North American Mirrors</bridgehead>
|
||||
|
||||
<itemizedlist>
|
||||
|
||||
<listitem>
|
||||
<para><ulink url="mailto:scott@osuosl.org">Scott Kveton</ulink>
|
||||
<scott@osuosl.org> – lfs.oregonstate.edu mirror</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para><ulink url="mailto:lost@l-w.net">William Astle</ulink>
|
||||
<lost@l-w.net> – ca.linuxfromscratch.org mirror</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para><ulink url="mailto:eujon.sellers@gmail.com">Eujon Sellers</ulink>
|
||||
<jpolen@rackspace.com> – lfs.introspeed.com mirror</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para><ulink url="mailto:justin@knierim.org">Justin Knierim</ulink>
|
||||
<tim@idge.net> – lfs-matrix.net mirror</para>
|
||||
</listitem>
|
||||
|
||||
</itemizedlist>
|
||||
|
||||
<bridgehead renderas="sect3">South American Mirrors</bridgehead>
|
||||
|
||||
<itemizedlist>
|
||||
|
||||
<listitem>
|
||||
<para><ulink url="mailto:manuel@linuxfromscratch.org">Manuel
|
||||
Canales Esparcia</ulink> <manuel@linuxfromscratch.org> –
|
||||
lfsmirror.lfs-es.info mirror</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para><ulink url="mailto:lfalcon@thymbra.com">Luis Falcon</ulink>
|
||||
<Luis Falcon> – torredehanoi.org mirror</para>
|
||||
</listitem>
|
||||
|
||||
</itemizedlist>
|
||||
|
||||
<bridgehead renderas="sect3">European Mirrors</bridgehead>
|
||||
|
||||
<itemizedlist>
|
||||
|
||||
<listitem>
|
||||
<para><ulink url="mailto:guido@primerelay.net">Guido Passet</ulink>
|
||||
<guido@primerelay.net> – nl.linuxfromscratch.org mirror</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para><ulink url="mailto:baafie@planet.nl">Bastiaan Jacques</ulink>
|
||||
<baafie@planet.nl> – lfs.pagefault.net mirror</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para><ulink url="mailto:sven.cranshoff@lineo.be">Sven Cranshoff</ulink>
|
||||
<sven.cranshoff@lineo.be> – lfs.lineo.be mirror</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>Scarlet Belgium – lfs.scarlet.be mirror</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para><ulink url="mailto:info@aliensoft.org">Sebastian Faulborn</ulink>
|
||||
<info@aliensoft.org> – lfs.aliensoft.org mirror</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para><ulink url="mailto:stuart@dontuse.ms">Stuart Fox</ulink>
|
||||
<stuart@dontuse.ms> – lfs.dontuse.ms mirror</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para><ulink url="mailto:admin@realhost.de">Ralf Uhlemann</ulink>
|
||||
<admin@realhost.de> – lfs.oss-mirror.org mirror</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para><ulink url="mailto:Antonin.Sprinzl@tuwien.ac.at">Antonin
|
||||
Sprinzl</ulink> <Antonin.Sprinzl@tuwien.ac.at> –
|
||||
at.linuxfromscratch.org mirror</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para><ulink url="mailto:fredan-lfs@fredan.org">Fredrik
|
||||
Danerklint</ulink> <fredan-lfs@fredan.org> –
|
||||
se.linuxfromscratch.org mirror</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para><ulink url="mailto:franck@linuxpourtous.com">Franck</ulink>
|
||||
<franck@linuxpourtous.com> – lfs.linuxpourtous.com mirror</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para><ulink url="mailto:baque@cict.fr">Philippe Baqué</ulink>
|
||||
<baque@cict.fr> – lfs.cict.fr mirror</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para><ulink url="mailto:gyouja@pilgrims.ru">Vitaly Chekasin</ulink>
|
||||
<gyouja@pilgrims.ru> – lfs.pilgrims.ru mirror</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para><ulink url="mailto:kontakt@wankoo.org">Benjamin Heil</ulink>
|
||||
<kontakt@wankoo.org> – lfs.wankoo.org mirror</para>
|
||||
</listitem>
|
||||
|
||||
</itemizedlist>
|
||||
|
||||
<bridgehead renderas="sect3">Asian Mirrors</bridgehead>
|
||||
|
||||
<itemizedlist>
|
||||
|
||||
<listitem>
|
||||
<para><ulink url="mailto:satit@wbac.ac.th">Satit Phermsawang</ulink>
|
||||
<satit@wbac.ac.th> – lfs.phayoune.org mirror</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para><ulink url="mailto:info@shizu-net.jp">Shizunet Co.,Ltd.</ulink>
|
||||
<info@shizu-net.jp> – lfs.mirror.shizu-net.jp mirror</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para><ulink url="http://www.initworld.com/">Init World</ulink>
|
||||
<http://www.initworld.com/> – lfs.initworld.com mirror</para>
|
||||
</listitem>
|
||||
|
||||
</itemizedlist>
|
||||
|
||||
<bridgehead renderas="sect3">Australian Mirrors</bridgehead>
|
||||
|
||||
<itemizedlist>
|
||||
|
||||
<listitem>
|
||||
<para><ulink url="mailto:jason@dstc.edu.au">Jason Andrade</ulink>
|
||||
<jason@dstc.edu.au> – au.linuxfromscratch.org mirror</para>
|
||||
</listitem>
|
||||
|
||||
</itemizedlist>
|
||||
|
||||
<bridgehead renderas="sect2">Former Project Team Members</bridgehead>
|
||||
|
||||
<itemizedlist>
|
||||
|
||||
<listitem>
|
||||
<para><ulink url="mailto:theladyskye@linuxfromscratch.org">Christine
|
||||
Barczak</ulink> <theladyskye@linuxfromscratch.org> – LFS
|
||||
Book Editor</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>Archaic
|
||||
<archaic@linuxfromscratch.org> – LFS Technical Writer/Editor,
|
||||
HLFS Project Leader, BLFS Editor, Hints and Patches Project
|
||||
Maintainer</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para><ulink url="mailto:nathan@linuxfromscratch.org">Nathan
|
||||
Coulson</ulink> <nathan@linuxfromscratch.org> –
|
||||
LFS-Bootscripts Maintainer</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>Timothy Bauscher</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>Robert Briggs</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>Ian Chilton</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para><ulink url="mailto:jeroen@linuxfromscratch.org">Jeroen
|
||||
Coumans</ulink> <jeroen@linuxfromscratch.org> – Website
|
||||
Developer, FAQ Maintainer</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para><ulink url="mailto:manuel@linuxfromscratch.org">Manuel
|
||||
Canales Esparcia</ulink> <manuel@linuxfromscratch.org> –
|
||||
LFS/BLFS/HLFS XML and XSL Maintainer</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>Alex Groenewoud – LFS Technical Writer</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>Marc Heerdink</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para><ulink url="mailto:jhuntwork@linuxfromscratch.org">Jeremy
|
||||
Huntwork</ulink> <jhuntwork@linuxfromscratch.org> – LFS
|
||||
Technical Writer, LFS LiveCD Maintainer</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>Mark Hymers</para>
|
||||
</listitem>
|
||||
|
||||
<listitem><para>Seth W. Klein – FAQ maintainer</para></listitem>
|
||||
|
||||
<listitem>
|
||||
<para><ulink url="mailto:nicholas@linuxfromscratch.org">Nicholas
|
||||
Leippe</ulink> <nicholas@linuxfromscratch.org> – Wiki
|
||||
Maintainer</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para><ulink url="mailto:lizardo@linuxfromscratch.org">Anderson
|
||||
Lizardo</ulink> <lizardo@linuxfromscratch.org> – Website
|
||||
Backend-Scripts Maintainer</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para><ulink url="mailto:dnicholson@linuxfromscratch.org">Dan
|
||||
Nicholson</ulink> <dnicholson@linuxfromscratch.org> – LFS and
|
||||
BLFS Editor</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para><ulink url="mailto:alexander@linuxfromscratch.org">Alexander
|
||||
E. Patrakov</ulink> <alexander@linuxfromscratch.org> – LFS
|
||||
Technical Writer, LFS Internationalization Editor,
|
||||
LFS Live CD Maintainer</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>Simon Perreault</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para><ulink url="mailto:scot@linuxfromscratch.org">Scot Mc
|
||||
Pherson</ulink> <scot@linuxfromscratch.org> – LFS NNTP
|
||||
Gateway Maintainer</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para><ulink url="mailto:gschafer@zip.com.au">Greg Schafer</ulink>
|
||||
<gschafer@zip.com.au> – LFS Technical Writer and
|
||||
Architect of the Next Generation 64-bit-enabling Build Method</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>Jesse Tie-Ten-Quee – LFS Technical Writer</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para><ulink url="mailto:jwrober@linuxfromscratch.org">James
|
||||
Robertson</ulink> <jwrober@linuxfromscratch.org> – Bugzilla
|
||||
Maintainer</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para><ulink url="mailto:tushar@linuxfromscratch.org">Tushar
|
||||
Teredesai</ulink> <tushar@linuxfromscratch.org> – BLFS Book
|
||||
Editor, Hints and Patches Project Leader</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para><ulink url="mailto:jeremy@linuxfromscratch.org">Jeremy
|
||||
Utley</ulink> <jeremy@linuxfromscratch.org> – LFS Technical
|
||||
Writer, Bugzilla Maintainer, LFS-Bootscripts Maintainer</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para><ulink url="mailto:zwinkles@gmail.com">Zack Winkles</ulink>
|
||||
<zwinkles@gmail.com> – LFS Technical Writer</para>
|
||||
</listitem>
|
||||
|
||||
</itemizedlist>
|
||||
|
||||
<!--
|
||||
<bridgehead renderas="sect2">A very special thank you to our
|
||||
donators</bridgehead>
|
||||
|
||||
<itemizedlist>
|
||||
|
||||
<listitem>
|
||||
<para><ulink url="mailto:dean@vipersoft.co.uk">Dean Benson</ulink>
|
||||
<dean@vipersoft.co.uk> for several monetary contributions</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para><ulink url="mailto:hrx@hrxnet.de">Hagen Herrschaft</ulink>
|
||||
<hrx@hrxnet.de> for donating a 2.2 GHz P4 system, now running
|
||||
under the name of Lorien</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para><ulink url="http://www.seocompany.ca/">SEO Company Canada</ulink>
|
||||
supports Open Source projects and different Linux distributions</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para><ulink url="http://www.vasoftware.com">VA Software</ulink> who,
|
||||
on behalf of <ulink url="http://www.linux.com">Linux.com</ulink>,
|
||||
donated a VA Linux 420 (former StartX SP2) workstation</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>Mark Stone for donating Belgarath, the first linuxfromscratch.org
|
||||
server</para>
|
||||
</listitem>
|
||||
|
||||
</itemizedlist>
|
||||
-->
|
||||
</appendix>
|
|
@ -1,538 +0,0 @@
|
|||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||
<!DOCTYPE appendix PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
|
||||
<!ENTITY % general-entities SYSTEM "../general.ent">
|
||||
%general-entities;
|
||||
]>
|
||||
|
||||
<appendix id="appendixa" xreflabel="Appendix A">
|
||||
<?dbhtml dir="appendices"?>
|
||||
<?dbhtml filename="acronymlist.html"?>
|
||||
|
||||
<title>Acronyms and Terms</title>
|
||||
|
||||
<variablelist>
|
||||
<?dbfo list-presentation="list"?>
|
||||
<?dbhtml list-presentation="table"?>
|
||||
|
||||
<varlistentry>
|
||||
<term><emphasis role="bold">ABI</emphasis></term>
|
||||
<listitem>
|
||||
<para>Application Binary Interface</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><emphasis role="bold">ALFS</emphasis></term>
|
||||
<listitem>
|
||||
<para>Automated Linux From Scratch</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><emphasis role="bold">API</emphasis></term>
|
||||
<listitem>
|
||||
<para>Application Programming Interface</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><emphasis role="bold">ASCII</emphasis></term>
|
||||
<listitem>
|
||||
<para>American Standard Code for Information Interchange</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><emphasis role="bold">BIOS</emphasis></term>
|
||||
<listitem>
|
||||
<para>Basic Input/Output System</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><emphasis role="bold">BLFS</emphasis></term>
|
||||
<listitem>
|
||||
<para>Beyond Linux From Scratch</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><emphasis role="bold">BSD</emphasis></term>
|
||||
<listitem>
|
||||
<para>Berkeley Software Distribution</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><emphasis role="bold">chroot</emphasis></term>
|
||||
<listitem>
|
||||
<para>change root</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><emphasis role="bold">CMOS</emphasis></term>
|
||||
<listitem>
|
||||
<para>Complementary Metal Oxide Semiconductor</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><emphasis role="bold">COS</emphasis></term>
|
||||
<listitem>
|
||||
<para>Class Of Service</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><emphasis role="bold">CPU</emphasis></term>
|
||||
<listitem>
|
||||
<para>Central Processing Unit</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><emphasis role="bold">CRC</emphasis></term>
|
||||
<listitem>
|
||||
<para>Cyclic Redundancy Check</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><emphasis role="bold">CVS</emphasis></term>
|
||||
<listitem>
|
||||
<para>Concurrent Versions System</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><emphasis role="bold">DHCP</emphasis></term>
|
||||
<listitem>
|
||||
<para>Dynamic Host Configuration Protocol</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><emphasis role="bold">DNS</emphasis></term>
|
||||
<listitem>
|
||||
<para>Domain Name Service</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><emphasis role="bold">EGA</emphasis></term>
|
||||
<listitem>
|
||||
<para>Enhanced Graphics Adapter</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><emphasis role="bold">ELF</emphasis></term>
|
||||
<listitem>
|
||||
<para>Executable and Linkable Format</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><emphasis role="bold">EOF</emphasis></term>
|
||||
<listitem>
|
||||
<para>End of File</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><emphasis role="bold">EQN</emphasis></term>
|
||||
<listitem>
|
||||
<para>equation</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><emphasis role="bold">ext2</emphasis></term>
|
||||
<listitem>
|
||||
<para>second extended file system</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><emphasis role="bold">ext3</emphasis></term>
|
||||
<listitem>
|
||||
<para>third extended file system</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><emphasis role="bold">ext4</emphasis></term>
|
||||
<listitem>
|
||||
<para>fourth extended file system</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><emphasis role="bold">FAQ</emphasis></term>
|
||||
<listitem>
|
||||
<para>Frequently Asked Questions</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><emphasis role="bold">FHS</emphasis></term>
|
||||
<listitem>
|
||||
<para>Filesystem Hierarchy Standard</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><emphasis role="bold">FIFO</emphasis></term>
|
||||
<listitem>
|
||||
<para>First-In, First Out</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><emphasis role="bold">FQDN</emphasis></term>
|
||||
<listitem>
|
||||
<para>Fully Qualified Domain Name</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><emphasis role="bold">FTP</emphasis></term>
|
||||
<listitem>
|
||||
<para>File Transfer Protocol</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><emphasis role="bold">GB</emphasis></term>
|
||||
<listitem>
|
||||
<para>Gigabytes</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><emphasis role="bold">GCC</emphasis></term>
|
||||
<listitem>
|
||||
<para>GNU Compiler Collection</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><emphasis role="bold">GID</emphasis></term>
|
||||
<listitem>
|
||||
<para>Group Identifier</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><emphasis role="bold">GMT</emphasis></term>
|
||||
<listitem>
|
||||
<para>Greenwich Mean Time</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><emphasis role="bold">HTML</emphasis></term>
|
||||
<listitem>
|
||||
<para>Hypertext Markup Language</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><emphasis role="bold">IDE</emphasis></term>
|
||||
<listitem>
|
||||
<para>Integrated Drive Electronics</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><emphasis role="bold">IEEE</emphasis></term>
|
||||
<listitem>
|
||||
<para>Institute of Electrical and Electronic Engineers</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><emphasis role="bold">IO</emphasis></term>
|
||||
<listitem>
|
||||
<para>Input/Output</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><emphasis role="bold">IP</emphasis></term>
|
||||
<listitem>
|
||||
<para>Internet Protocol</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><emphasis role="bold">IPC</emphasis></term>
|
||||
<listitem>
|
||||
<para>Inter-Process Communication</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><emphasis role="bold">IRC</emphasis></term>
|
||||
<listitem>
|
||||
<para>Internet Relay Chat</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><emphasis role="bold">ISO</emphasis></term>
|
||||
<listitem>
|
||||
<para>International Organization for Standardization</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><emphasis role="bold">ISP</emphasis></term>
|
||||
<listitem>
|
||||
<para>Internet Service Provider</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><emphasis role="bold">KB</emphasis></term>
|
||||
<listitem>
|
||||
<para>Kilobytes</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><emphasis role="bold">LED</emphasis></term>
|
||||
<listitem>
|
||||
<para>Light Emitting Diode</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><emphasis role="bold">LFS</emphasis></term>
|
||||
<listitem>
|
||||
<para>Linux From Scratch</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><emphasis role="bold">LSB</emphasis></term>
|
||||
<listitem>
|
||||
<para>Linux Standard Base</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><emphasis role="bold">MB</emphasis></term>
|
||||
<listitem>
|
||||
<para>Megabytes</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><emphasis role="bold">MBR</emphasis></term>
|
||||
<listitem>
|
||||
<para>Master Boot Record</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><emphasis role="bold">MD5</emphasis></term>
|
||||
<listitem>
|
||||
<para>Message Digest 5</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><emphasis role="bold">NIC</emphasis></term>
|
||||
<listitem>
|
||||
<para>Network Interface Card</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><emphasis role="bold">NLS</emphasis></term>
|
||||
<listitem>
|
||||
<para>Native Language Support</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><emphasis role="bold">NNTP</emphasis></term>
|
||||
<listitem>
|
||||
<para>Network News Transport Protocol</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><emphasis role="bold">NPTL</emphasis></term>
|
||||
<listitem>
|
||||
<para>Native POSIX Threading Library</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><emphasis role="bold">OSS</emphasis></term>
|
||||
<listitem>
|
||||
<para>Open Sound System</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><emphasis role="bold">PCH</emphasis></term>
|
||||
<listitem>
|
||||
<para>Pre-Compiled Headers</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><emphasis role="bold">PCRE</emphasis></term>
|
||||
<listitem>
|
||||
<para>Perl Compatible Regular Expression</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><emphasis role="bold">PID</emphasis></term>
|
||||
<listitem>
|
||||
<para>Process Identifier</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><emphasis role="bold">PTY</emphasis></term>
|
||||
<listitem>
|
||||
<para>pseudo terminal</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><emphasis role="bold">QOS</emphasis></term>
|
||||
<listitem>
|
||||
<para>Quality Of Service</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><emphasis role="bold">RAM</emphasis></term>
|
||||
<listitem>
|
||||
<para>Random Access Memory</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><emphasis role="bold">RPC</emphasis></term>
|
||||
<listitem>
|
||||
<para>Remote Procedure Call</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><emphasis role="bold">RTC</emphasis></term>
|
||||
<listitem>
|
||||
<para>Real Time Clock</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><emphasis role="bold">SBU</emphasis></term>
|
||||
<listitem>
|
||||
<para>Standard Build Unit</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><emphasis role="bold">SCO</emphasis></term>
|
||||
<listitem>
|
||||
<para>The Santa Cruz Operation</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><emphasis role="bold">SHA1</emphasis></term>
|
||||
<listitem>
|
||||
<para>Secure-Hash Algorithm 1</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><emphasis role="bold">TLDP</emphasis></term>
|
||||
<listitem>
|
||||
<para>The Linux Documentation Project</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><emphasis role="bold">TFTP</emphasis></term>
|
||||
<listitem>
|
||||
<para>Trivial File Transfer Protocol</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><emphasis role="bold">TLS</emphasis></term>
|
||||
<listitem>
|
||||
<para>Thread-Local Storage</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><emphasis role="bold">UID</emphasis></term>
|
||||
<listitem>
|
||||
<para>User Identifier</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><emphasis role="bold">umask</emphasis></term>
|
||||
<listitem>
|
||||
<para>user file-creation mask</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><emphasis role="bold">USB</emphasis></term>
|
||||
<listitem>
|
||||
<para>Universal Serial Bus</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><emphasis role="bold">UTC</emphasis></term>
|
||||
<listitem>
|
||||
<para>Coordinated Universal Time</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><emphasis role="bold">UUID</emphasis></term>
|
||||
<listitem>
|
||||
<para>Universally Unique Identifier</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><emphasis role="bold">VC</emphasis></term>
|
||||
<listitem>
|
||||
<para>Virtual Console</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><emphasis role="bold">VGA</emphasis></term>
|
||||
<listitem>
|
||||
<para>Video Graphics Array</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><emphasis role="bold">VT</emphasis></term>
|
||||
<listitem>
|
||||
<para>Virtual Terminal</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
</variablelist>
|
||||
|
||||
</appendix>
|
|
@ -1,403 +0,0 @@
|
|||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||
<!DOCTYPE appendix PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
|
||||
<!ENTITY % general-entities SYSTEM "../general.ent">
|
||||
%general-entities;
|
||||
]>
|
||||
|
||||
<sect1 id="CC" xreflabel="Creative Commons License">
|
||||
<?dbhtml filename="creat-comm.html"?>
|
||||
|
||||
<title>Creative Commons License</title>
|
||||
|
||||
<para role='title'>Creative Commons Legal Code</para>
|
||||
|
||||
<para role='title'>Attribution-NonCommercial-ShareAlike 2.0</para>
|
||||
|
||||
<important>
|
||||
<para>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.</para>
|
||||
</important>
|
||||
|
||||
<para role='title'>License</para>
|
||||
|
||||
<para>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.</para>
|
||||
|
||||
<para>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.</para>
|
||||
|
||||
<orderedlist>
|
||||
<?dbfo label-width="1.5em"?>
|
||||
<listitem>
|
||||
<para>Definitions</para>
|
||||
|
||||
<orderedlist>
|
||||
<listitem>
|
||||
<para>"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.</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>"Derivative Work" means a work based upon the Work or upon
|
||||
the 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.</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>"Licensor" means the individual or entity that offers the
|
||||
Work under the terms of this License.</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>"Original Author" means the individual or entity who created
|
||||
the Work.</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>"Work" means the copyrightable work of authorship offered
|
||||
under the terms of this License.</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>"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.</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>"License Elements" means the following high-level license
|
||||
attributes as selected by Licensor and indicated in the title of this
|
||||
License: Attribution, Noncommercial, ShareAlike.</para>
|
||||
</listitem>
|
||||
|
||||
</orderedlist>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>Fair Use Rights. Nothing in this license is intended to reduce,
|
||||
limit, or restrict any rights arising from fair use, first sale or other
|
||||
limitations on the exclusive rights of the copyright owner under copyright law
|
||||
or other applicable laws.</para>
|
||||
</listitem>
|
||||
|
||||
|
||||
<listitem>
|
||||
<para>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:</para>
|
||||
|
||||
<orderedlist>
|
||||
|
||||
<listitem>
|
||||
<para>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;</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>to create and reproduce Derivative Works;</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>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;</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>to distribute copies or phonorecords of, display publicly,
|
||||
perform publicly, and perform publicly by means of a digital audio
|
||||
transmission Derivative Works;</para>
|
||||
</listitem>
|
||||
|
||||
</orderedlist>
|
||||
|
||||
<para>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).</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>Restrictions.The license granted in Section 3 above is
|
||||
expressly made subject to and limited by the following
|
||||
restrictions:</para>
|
||||
|
||||
<orderedlist>
|
||||
|
||||
<listitem>
|
||||
<para>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, as requested.</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>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.</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>You may not exercise any of the rights granted to You in
|
||||
Section 3 above in any manner 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.</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>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 comparable authorship credit appears and in a manner at least
|
||||
as prominent as such other comparable authorship credit.</para>
|
||||
</listitem>
|
||||
|
||||
|
||||
<listitem>
|
||||
<para>For the avoidance of doubt, where the Work is a musical
|
||||
composition:</para>
|
||||
|
||||
<orderedlist>
|
||||
|
||||
<listitem>
|
||||
<para>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.</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>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 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.</para>
|
||||
</listitem>
|
||||
|
||||
</orderedlist>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>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.</para>
|
||||
</listitem>
|
||||
|
||||
</orderedlist>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>Representations, Warranties and Disclaimer</para>
|
||||
|
||||
<para>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.</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>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.</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>Termination</para>
|
||||
|
||||
<orderedlist>
|
||||
|
||||
<listitem>
|
||||
<para>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.</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>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.</para>
|
||||
</listitem>
|
||||
|
||||
</orderedlist>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>Miscellaneous</para>
|
||||
|
||||
<orderedlist>
|
||||
|
||||
<listitem>
|
||||
<para>Each time You distribute or publicly digitally perform the
|
||||
Work or a Collective Work, 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.</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>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.</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>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.</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>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.</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>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.</para>
|
||||
</listitem>
|
||||
|
||||
|
||||
</orderedlist>
|
||||
</listitem>
|
||||
</orderedlist>
|
||||
|
||||
<important>
|
||||
<para>Creative Commons is not a party to this License, and makes no warranty
|
||||
whatsoever 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.</para>
|
||||
|
||||
<para>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.</para>
|
||||
|
||||
<para>Creative Commons may be contacted at <ulink url='http://creativecommons.org/' />.</para>
|
||||
</important>
|
||||
|
||||
|
||||
</sect1>
|
File diff suppressed because it is too large
Load Diff
|
@ -1,25 +0,0 @@
|
|||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||
<!DOCTYPE appendix PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
|
||||
<!ENTITY % general-entities SYSTEM "../general.ent">
|
||||
%general-entities;
|
||||
]>
|
||||
|
||||
<appendix id="Licenses" xreflabel="Appendix E">
|
||||
<?dbhtml dir="appendices"?>
|
||||
<?dbhtml filename="licenses.html"?>
|
||||
|
||||
<title>LFS Licenses</title>
|
||||
|
||||
<para>This book is licensed under the Creative Commons
|
||||
Attribution-NonCommercial-ShareAlike 2.0 License.</para>
|
||||
|
||||
<para>Computer instructions may be extracted from the book under the MIT
|
||||
License.</para>
|
||||
|
||||
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="creat-comm.xml"/>
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="mit-lic.xml"/>
|
||||
|
||||
|
||||
</appendix>
|
|
@ -1,33 +0,0 @@
|
|||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||
<!DOCTYPE appendix PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
|
||||
<!ENTITY % general-entities SYSTEM "../general.ent">
|
||||
%general-entities;
|
||||
]>
|
||||
|
||||
<sect1 id="MIT" xreflabel="MIT License">
|
||||
<?dbhtml filename="mit.html" ?>
|
||||
|
||||
<title>The MIT License</title>
|
||||
|
||||
<para>Copyright © ©rightdate; Gerard Beekmans</para>
|
||||
|
||||
<para>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:</para>
|
||||
|
||||
<para>The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.</para>
|
||||
|
||||
<para>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.</para>
|
||||
|
||||
</sect1>
|
|
@ -1,129 +0,0 @@
|
|||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
|
||||
<!ENTITY % general-entities SYSTEM "../general.ent">
|
||||
%general-entities;
|
||||
]>
|
||||
|
||||
<sect1 id="ch-intro-askforhelp">
|
||||
<?dbhtml filename="askforhelp.html"?>
|
||||
|
||||
<title>Help</title>
|
||||
|
||||
<para>If an issue or a question is encountered while working through
|
||||
this book, please check the FAQ page at <ulink url="&faq-root;#generalfaq"/>.
|
||||
Questions are often already answered there. If your question is not
|
||||
answered on this page, try to find the source of the problem. The
|
||||
following hint will give you some guidance for troubleshooting:
|
||||
<ulink url="&hints-root;errors.txt"/>.</para>
|
||||
|
||||
<para>If you cannot find your problem listed in the FAQ, search the mailing
|
||||
lists at <ulink url="&lfs-root;search.html"/>.</para>
|
||||
|
||||
<para>We also have a wonderful LFS community that is willing to offer
|
||||
assistance through the mailing lists and IRC (see the <xref
|
||||
linkend="ch-intro-resources"/> section of this book). However,
|
||||
we get several support questions every day and many of them can be easily
|
||||
answered by going to the FAQ and by searching the mailing lists first.
|
||||
So, for us to offer the best assistance possible, you need to do some
|
||||
research on your own first. That allows us to focus on the more unusual
|
||||
support needs. If your searches do not produce a solution, please include
|
||||
all relevant information (mentioned below) in your request for help.</para>
|
||||
|
||||
<sect2>
|
||||
<title>Things to Mention</title>
|
||||
|
||||
<para>Apart from a brief explanation of the problem being experienced,
|
||||
the essential things to include in any request for help are:</para>
|
||||
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>The version of the book being used (in this case &version;)</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>The host distribution and version being used to create LFS</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>The output from the <xref linkend='version-check'/> script</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>The package or section the problem was encountered in</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>The exact error message or symptom being received</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>Note whether you have deviated from the book at all </para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
|
||||
<note>
|
||||
<para>Deviating from this book does <emphasis>not</emphasis> mean that
|
||||
we will not help you. After all, LFS is about personal preference.
|
||||
Being upfront about any changes to the established procedure helps us
|
||||
evaluate and determine possible causes of your problem.</para>
|
||||
</note>
|
||||
|
||||
</sect2>
|
||||
|
||||
<sect2>
|
||||
<title>Configure Script Problems</title>
|
||||
|
||||
<para>If something goes wrong while running the <command>configure</command>
|
||||
script, review the <filename>config.log</filename> file. This file may
|
||||
contain errors encountered during <command>configure</command> which were
|
||||
not printed to the screen. Include the <emphasis>relevant</emphasis> lines
|
||||
if you need to ask for help.</para>
|
||||
|
||||
</sect2>
|
||||
|
||||
<sect2>
|
||||
<title>Compilation Problems</title>
|
||||
|
||||
<para>Both the screen output and the contents of various files are useful
|
||||
in determining the cause of compilation problems. The screen output from
|
||||
the <command>configure</command> script and the <command>make</command>
|
||||
run can be helpful. It is not necessary to include the entire output, but
|
||||
do include enough of the relevant information. Below is an example of the
|
||||
type of information to include from the screen output from
|
||||
<command>make</command>:</para>
|
||||
|
||||
<screen><computeroutput>gcc -DALIASPATH=\"/mnt/lfs/usr/share/locale:.\"
|
||||
-DLOCALEDIR=\"/mnt/lfs/usr/share/locale\"
|
||||
-DLIBDIR=\"/mnt/lfs/usr/lib\"
|
||||
-DINCLUDEDIR=\"/mnt/lfs/usr/include\" -DHAVE_CONFIG_H -I. -I.
|
||||
-g -O2 -c getopt1.c
|
||||
gcc -g -O2 -static -o make ar.o arscan.o commands.o dir.o
|
||||
expand.o file.o function.o getopt.o implicit.o job.o main.o
|
||||
misc.o read.o remake.o rule.o signame.o variable.o vpath.o
|
||||
default.o remote-stub.o version.o opt1.o
|
||||
-lutil job.o: In function `load_too_high':
|
||||
/lfs/tmp/make-3.79.1/job.c:1565: undefined reference
|
||||
to `getloadavg'
|
||||
collect2: ld returned 1 exit status
|
||||
make[2]: *** [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'
|
||||
make: *** [all-recursive-am] Error 2</computeroutput></screen>
|
||||
|
||||
<para>In this case, many people would just include the bottom
|
||||
section:</para>
|
||||
|
||||
<screen><computeroutput>make [2]: *** [make] Error 1</computeroutput></screen>
|
||||
|
||||
<para>This is not enough information to properly diagnose the problem
|
||||
because it only notes that something went wrong, not
|
||||
<emphasis>what</emphasis> went wrong. The entire section, as in the
|
||||
example above, is what should be saved because it includes the command
|
||||
that was executed and the associated error message(s).</para>
|
||||
|
||||
<para>An excellent article about asking for help on the Internet is
|
||||
available online at <ulink
|
||||
url="http://catb.org/~esr/faqs/smart-questions.html"/>. Read and
|
||||
follow the hints in this document to increase the likelihood of getting
|
||||
the help you need.</para>
|
||||
|
||||
</sect2>
|
||||
|
||||
</sect1>
|
|
@ -1,725 +0,0 @@
|
|||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
|
||||
<!ENTITY % general-entities SYSTEM "../general.ent">
|
||||
%general-entities;
|
||||
]>
|
||||
|
||||
<sect1 id="ch-scatter-changelog">
|
||||
<?dbhtml filename="changelog.html"?>
|
||||
|
||||
<title>Changelog</title>
|
||||
|
||||
<para>This is version &version; of the Linux From Scratch book, dated
|
||||
&releasedate;. If this book is more than six months old, a newer and better
|
||||
version is probably already available. To find out, please check one of the
|
||||
mirrors via <ulink url="&lfs-root;mirrors.html"/>.</para>
|
||||
|
||||
<para>Below is a list of changes made since the previous release of the
|
||||
book.</para>
|
||||
|
||||
<itemizedlist>
|
||||
<title>Changelog Entries:</title>
|
||||
|
||||
<!-- Changelog template
|
||||
|
||||
<listitem>
|
||||
<para>Date</para>
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>[name] - New changelog entry.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[name] - Previous changelog entry.</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</listitem>
|
||||
-->
|
||||
|
||||
<listitem>
|
||||
<para>2016-01-17</para>
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>[dj] - Sync to LFS r10986.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[dj] - Update to linux-4.4 - Merged from trunk.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[dj] - Update to iproute2-4.4.0 - Merged from trunk.</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>2016-01-02</para>
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>[dj] - Fix build of systemd with libblkid and libmount in
|
||||
/tools/lib and move util-linux to its previous build order to
|
||||
solve reciprocal dependency.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[dj] - Removed /etc/resolv.conf symlink in network
|
||||
configuration as it is created automatically if needed.</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>2016-01-01</para>
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>[dj] - Fix broken build order - move xz, kmod, gettext, and
|
||||
util-linux before systemd.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[dj] - Update to man-pages-4.04 - Merged from trunk.</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>2015-12-31</para>
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>[dj] - Use 'ipv4" instead of "yes" for DCHP configuration in
|
||||
systemd-networkd configuration.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[dj] - Modify text in network configuration page to more
|
||||
accurately reflect current version of systemd.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[dj] - Change build order for gperf before expat.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[dj] - Change build order for systemd before procps-ng.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[dj] - Add --with-systemd to procps-ng configuration.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[dj] - Update to systemd-228.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[dj] - Update to DBus-1.10.6.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[dj] - Sync to LFS r10981.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[dj] - Add OpenSSL as optional kernel dependency - Merged
|
||||
from trunk.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[dj] - Update to findutils-4.6.0 - Merged from trunk.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[dj] - Update to gettext-0.19.7 - Merged from trunk.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[dj] - Update to linux-4.3.3 - Merged from trunk.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[dj] - Reword FHS Compliance Note - Merged from trunk.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[dj] - Update to perl-5.22.1 - Merged from trunk.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[dj] - Update to perl-5.22.1 - Merged from trunk.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[dj] - Update to man-pages-4.03 - Merged from trunk.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[dj] - Fix xz problem identified upstream - Merged from
|
||||
trunk.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[dj] - Update to gcc-5.3.0 - Merged from trunk.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[dj] - Update to gmp-6.1.0 - Merged from trunk.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[dj] - Update host requirements to require GCC-4.7 or
|
||||
later - Merged from trunk.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[dj] - Clarify that setting and using the LFS variable
|
||||
assumes the bash shell - Merged from trunk.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[dj] - Update to flex-2.6.0 - Merged from trunk.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[dj] - Update to man-db-2.7.5 - Merged from trunk.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[dj] - Update to kmod-22 - Merged from trunk.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[dj] - Add glibc-2.22-largefile-1.patch.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[dj] - Update to linux-4.3 - Merged from trunk.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[dj] - Update to iproute2-4.3.0 - Merged from trunk.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[dj] - Update to grep-2.22 - Merged from trunk.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[dj] - Update to util-linux-2.27.1 - Merged from trunk.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[dj] - Revise version-check.sh to flag bad /bin/sh
|
||||
symlinks - Merged from trunk.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[dj] - Update to less-481 - Merged from trunk.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[dj] - Update to man-db-2.7.4 - Merged from trunk.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[dj] - Update to tzdata2015g - Merged from trunk.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[dj] - Many updates to installed files and directories. Huge
|
||||
thanks to Fernando - Merged from trunk.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[dj] - Reset location of anduin hosted files - Merged from
|
||||
trunk.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[dj] - Change references to ncursesw5 to
|
||||
ncursesw6. Thanks to Pierre Labastie for the patch - Merged from
|
||||
trunk.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[dj] - Update to gettext-0.19.6 - Merged from trunk.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[dj] - Update to file-5.25 - Merged from trunk.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[dj] - Update to pkg-config-0.29 - Merged from trunk.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[dj] - Update to xz-5.2.2 - Merged from trunk.</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>2015-09-28</para>
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>[renodr] - Fix a warning when doing the GCC compile tests.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[renodr] - Add additional discussion about copying LFS systems
|
||||
from one machine to another machine.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[renodr] - Provide ncurses non-wide-character libraries that
|
||||
are compliant with version 5 of ncurses.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[renodr] - Remove unnecessary sed in e2fsprogs.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[renodr] - Update to util-linux-2.27.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[renodr] - Update to linux-4.2.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[renodr] - Update to iproute2-4.2.0.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[renodr] - Refresh build sizes and SBU values.</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>2015-08-25</para>
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>[renodr] - Add an upstream patch for MPFR.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[renodr] - Update to libpipeline-1.4.1.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[renodr] - Update to linux-4.1.6.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[renodr] - Update to man-db-2.7.2.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[renodr] - Add a patch to allow glibc to build properly on i386 systems.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[renodr] - Remove obsolete r* programs from inetutils.</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>2015-08-19</para>
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>[bdubbs] - Add a workaround to ncurses in
|
||||
Chapter 5 for hosts that have mawk installed.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[renodr] - Update to binutils-2.25.1.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[renodr] - Update to check-0.10.0.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[renodr] - Update to procps-ng-3.3.11.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[renodr] - Update to man-pages-4.02.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[renodr] - Update to glibc-2.22.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[renodr] - Update to linux-4.1.5.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[renodr] - Update to tzdata2015f.</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>2015-07-23</para>
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>[krejzi] - Fixed a warning in the intltool-update
|
||||
perl script caused by perl-5.22.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[krejzi] - Updated to dbus-1.8.20.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[krejzi] - Updated to systemd-222.</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>2015-07-16</para>
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>[bdubbs] - Update to gcc-5.2.0. Fixes
|
||||
<ulink url="&lfs-ticket-root;3819">*3819</ulink>.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[bdubbs] - Update to gettext-0.19.5.1. Fixes
|
||||
<ulink url="&lfs-ticket-root;3818">*3818</ulink>.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[bdubbs] - Update to kbd-2.0.3. Fixes
|
||||
<ulink url="&lfs-ticket-root;3815">#3815</ulink>.</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>2015-07-12</para>
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>[bdubbs] - Update to iproute2-4.1.1. Fixes
|
||||
<ulink url="&lfs-ticket-root;3811">*3811</ulink>.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[bdubbs] - Update to file-5.24. Fixes
|
||||
<ulink url="&lfs-ticket-root;3812">*3812</ulink>.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[bdubbs] - Update to linux-4.1.2. Fixes
|
||||
<ulink url="&lfs-ticket-root;3814">#3814</ulink>.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[bdubbs] - Update to gettext-0.19.5. Fixes
|
||||
<ulink url="&lfs-ticket-root;3813">#3813</ulink>.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[bdubbs] - Fix a warning in the installed automake
|
||||
perl script.
|
||||
<ulink url="&lfs-ticket-root;3809">#3809</ulink>.</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>2015-07-04</para>
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>[bdubbs] - Update to iproute2-4.1.0. Fixes
|
||||
<ulink url="&lfs-ticket-root;3802">*3802</ulink>.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[bdubbs] - Update to texinfo-6.0. Fixes
|
||||
<ulink url="&lfs-ticket-root;3803">*3803</ulink>.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[bdubbs] - Update to linux-4.1.1. Fixes
|
||||
<ulink url="&lfs-ticket-root;3805">#3805</ulink>.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[bdubbs] - Update to coreutils-8.24. Fixes
|
||||
<ulink url="&lfs-ticket-root;3806">#3806</ulink>.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[bdubbs] - Update perl installed files. Fixes
|
||||
<ulink url="&lfs-ticket-root;3804">#3804</ulink>.</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>2015-06-28</para>
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>[krejzi] - Updated to systemd-221.</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>2015-06-23</para>
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>[bdubbs] - Update to tzdata-2015e. Fixes
|
||||
<ulink url="&lfs-ticket-root;3798">*3798</ulink>.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[bdubbs] - Update to mpfr-3.1.3. Fixes
|
||||
<ulink url="&lfs-ticket-root;3800">#3800</ulink>.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[bdubbs] - Update to linux-4.1. Fixes
|
||||
<ulink url="&lfs-ticket-root;3801">#3801</ulink>.</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>2015-06-13</para>
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>[bdubbs] - Simplify gcc-pass1 instructions. Thanks to
|
||||
Pierre Labastie for the patch. Fixes
|
||||
<ulink url="&lfs-ticket-root;3797">#3797</ulink>.</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>2015-06-10</para>
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>[bdubbs] - Update standards discussion for FHS 3.0
|
||||
and LSB-5.0.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[bdubbs] - Update to inetutils-1.9.4. Fixes
|
||||
<ulink url="&lfs-ticket-root;3796">#3796</ulink>.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[bdubbs] - Update to file-5.23. Fixes
|
||||
<ulink url="&lfs-ticket-root;3795">#3795</ulink>.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[bdubbs] - Update to kmod-21. Fixes
|
||||
<ulink url="&lfs-ticket-root;3794">#3794</ulink>.</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>2015-06-07</para>
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>[bdubbs] - Update to linux-4.0.5. Fixes
|
||||
<ulink url="&lfs-ticket-root;3793">#3793</ulink>.</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>2015-06-05</para>
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>[bdubbs] - Update to perl-5.22.0. Fixes
|
||||
<ulink url="&lfs-ticket-root;3791">#3791</ulink>.</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>2015-05-25</para>
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>[bdubbs] - Update to bash-4.3.30-upstream_fixes-2.patch.
|
||||
Fixes <ulink url="&lfs-ticket-root;3789">#3789</ulink>.</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>2015-05-23</para>
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>[bdubbs] - Update to linux-4.0.4. Fixes
|
||||
<ulink url="&lfs-ticket-root;3786">#3786</ulink>.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[bdubbs] - Update to e2fsprogs-1.42.13. Fixes
|
||||
<ulink url="&lfs-ticket-root;3787">#3787</ulink>.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[bdubbs] - Update to gawk-4.1.3. Fixes
|
||||
<ulink url="&lfs-ticket-root;3788">#3788</ulink>.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[bdubbs] - Added a new patch for gcc to fix inline
|
||||
issues and some libgomp problems.</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>2015-05-15</para>
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>[bdubbs] - Add a patch from upstream to fix
|
||||
some libgomp (gcc) problems.</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>2015-05-14</para>
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>[bdubbs] - Update to gawk-4.1.2. Fixes
|
||||
<ulink url="&lfs-ticket-root;3781">#3781</ulink>.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[bdubbs] - Update to linux-4.0.3. Fixes
|
||||
<ulink url="&lfs-ticket-root;3782">#3782</ulink>.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[bdubbs] - Update to util-linux-2.26.2. Fixes
|
||||
<ulink url="&lfs-ticket-root;3783">#3783</ulink>.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[bdubbs] - Update to man-pages-4.00. Fixes
|
||||
<ulink url="&lfs-ticket-root;3784">#3784</ulink>.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[bdubbs] - Update to inetutils-1.9.3. Fixes
|
||||
<ulink url="&lfs-ticket-root;3785">#3785</ulink>.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[krejzi] - Updated to dbus-1.8.18.</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>2015-04-26</para>
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>[bdubbs] - Updated to tzdata-2015d. Fixes
|
||||
<ulink url="&lfs-ticket-root;3780">#3780</ulink>.</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>2015-04-24</para>
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>[krejzi] - Added a fix for security issue
|
||||
in Glibc (CVE-2015-1781). Thanks to Ken Moffat
|
||||
for identifying the problem and the fix.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[krejzi] - Fixed Ncurses and Perl build
|
||||
with GCC 5. Thanks to Ken Moffat and Douglas
|
||||
R. Reno for providing the patches.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[krejzi] - Updated to GCC-5.1.0. Fixes
|
||||
<ulink url="&lfs-ticket-root;3779">#3779</ulink>.</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>2015-04-21</para>
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>[bdubbs] - Update to man-pages-3.8.3. Fixes
|
||||
<ulink url="&lfs-ticket-root;3778">#3778</ulink>.</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>2015-04-16</para>
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>[bdubbs] - Update to linux-4.0. Fixes
|
||||
<ulink url="&lfs-ticket-root;3775">#3775</ulink>.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[bdubbs] - Update to tzdata-2015c. Fixes
|
||||
<ulink url="&lfs-ticket-root;3776">#3776</ulink>.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[bdubbs] - Update to iproute2-4.0.0. Fixes
|
||||
<ulink url="&lfs-ticket-root;3777">#3777</ulink>.</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>2015-03-31</para>
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>[bdubbs] - Adjust discussion of LFS envronment variable to be
|
||||
before first use.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[bdubbs] - Use --with-glibc-version=2.11 in gcc-pass1.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[bdubbs] - Update to dejagnu-1.5.3. Fixes
|
||||
<ulink url="&lfs-ticket-root;3773">#3773</ulink>.</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>2015-03-28</para>
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>[bdubbs] - Update to linux-3.19.3. Fixes
|
||||
<ulink url="&lfs-ticket-root;3772">#3772</ulink>.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[bdubbs] - Update to tzdata2015b. Fixes
|
||||
<ulink url="&lfs-ticket-root;3770">#3770</ulink>.</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>2015-03-20</para>
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>[bdubbs] - Update to linux-3.19.2. Fixes
|
||||
<ulink url="&lfs-ticket-root;3768">#3768</ulink>.</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>2015-03-15</para>
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>[bdubbs] - Update to tcl-core-8.6.4. Fixes
|
||||
<ulink url="&lfs-ticket-root;3766">#3766</ulink>.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[bdubbs] - Update to util-linux-2.26.1. Fixes
|
||||
<ulink url="&lfs-ticket-root;3767">#3767</ulink>.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[bdubbs] - Remove non-essential static libraries
|
||||
from the installation. Added a new section in Chapter 6
|
||||
Introduction, suppressed many static libraries in different
|
||||
packages, and removed the remaining in the Cleaning Up section.
|
||||
Fixes
|
||||
<ulink url="&lfs-ticket-root;3751">#3751</ulink>.</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>2015-03-11</para>
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>[bdubbs] - Update to intltool-0.51.0. Fixes
|
||||
<ulink url="&lfs-ticket-root;3764">#3764</ulink>.</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>2015-03-08</para>
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>[bdubbs] - Update to linux-3.19.1. Fixes
|
||||
<ulink url="&lfs-ticket-root;3763">#3763</ulink>.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[bdubbs] - Update to patch-2.7.5. Fixes
|
||||
<ulink url="&lfs-ticket-root;3762">#3762</ulink>.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[bdubbs] - Change tcl to minimal tcl-core package. Fixes
|
||||
<ulink url="&lfs-ticket-root;3752">#3752</ulink>.</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>2015-03-07</para>
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>[bdubbs] - Update to mpc-1.0.3. Fixes
|
||||
<ulink url="&lfs-ticket-root;3753">#3753</ulink>.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[bdubbs] - Update to man-pages-3.8.1. Fixes
|
||||
<ulink url="&lfs-ticket-root;3754">#3754</ulink>.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[bdubbs] - Update to xz-5.2.1. Fixes
|
||||
<ulink url="&lfs-ticket-root;3757">#3757</ulink>.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[bdubbs] - Update to kmod-20. Fixes
|
||||
<ulink url="&lfs-ticket-root;3758">#3758</ulink>.</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>2015-03-06</para>
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>[krejzi] - LFS-7.7-systemd released.</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</listitem>
|
||||
|
||||
</itemizedlist>
|
||||
</sect1>
|
|
@ -1,21 +0,0 @@
|
|||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
|
||||
<!ENTITY % general-entities SYSTEM "../general.ent">
|
||||
%general-entities;
|
||||
]>
|
||||
|
||||
<chapter id="chapter-intro" xreflabel="Chapter 1">
|
||||
<?dbhtml dir="chapter01"?>
|
||||
<?dbhtml filename="chapter01.html"?>
|
||||
|
||||
<title>Introduction</title>
|
||||
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="how.xml"/>
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="whatsnew.xml"/>
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="changelog.xml"/>
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="resources.xml"/>
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="askforhelp.xml"/>
|
||||
<!--<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="livecd.xml"/>-->
|
||||
|
||||
</chapter>
|
|
@ -1,96 +0,0 @@
|
|||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
|
||||
<!ENTITY % general-entities SYSTEM "../general.ent">
|
||||
%general-entities;
|
||||
]>
|
||||
|
||||
<sect1 id="ch-intro-how">
|
||||
<?dbhtml filename="how.html"?>
|
||||
|
||||
<title>How to Build an LFS System</title>
|
||||
|
||||
<para>The LFS system will be built by using an already installed
|
||||
Linux distribution (such as Debian, OpenMandriva, Fedora, or openSUSE). This
|
||||
existing Linux system (the host) will be used as a starting point to
|
||||
provide necessary programs, including a compiler, linker, and shell,
|
||||
to build the new system. Select the <quote>development</quote> option
|
||||
during the distribution installation to be able to access these
|
||||
tools.</para>
|
||||
|
||||
<para>As an alternative to installing a separate distribution onto your
|
||||
machine, you may wish to use <!-- the Linux From Scratch LiveCD or --> a LiveCD from a
|
||||
commercial distribution. <!-- The LFS LiveCD works well as a host system,
|
||||
providing all the tools you need to successfully follow the instructions in
|
||||
this book. The LiveCD version is behind the current book, but is still useful
|
||||
as a host for building the current book. The <quote>-nosrc</quote> or
|
||||
<quote>-min</quote> editions of the LiveCD are the most appropriate for
|
||||
building a current LFS system. For more information about the LFS LiveCD or
|
||||
to download a copy, visit <ulink url="&livecd-root;"/>. --></para>
|
||||
|
||||
<!--
|
||||
<note>
|
||||
<para>The LFS LiveCD might not work on newer hardware configurations,
|
||||
failing to boot or failing to detect some devices such as some SATA hard
|
||||
drives.</para>
|
||||
</note> -->
|
||||
|
||||
<para><xref linkend="chapter-partitioning"/> of this book describes how
|
||||
to create a new Linux native partition and file system. This is the place
|
||||
where the new LFS system will be compiled and installed. <xref
|
||||
linkend="chapter-getting-materials"/> explains which packages and
|
||||
patches need to be downloaded to build an LFS system and how to store
|
||||
them on the new file system. <xref linkend="chapter-final-preps"/>
|
||||
discusses the setup of an appropriate working environment. Please read
|
||||
<xref linkend="chapter-final-preps"/> carefully as it explains several
|
||||
important issues you need be aware of before beginning to
|
||||
work your way through <xref linkend="chapter-temporary-tools"/> and beyond.</para>
|
||||
|
||||
<para><xref linkend="chapter-temporary-tools"/> explains the
|
||||
installation of a number of packages that will form the basic
|
||||
development suite (or toolchain) which is used to build the actual
|
||||
system in <xref linkend="chapter-building-system"/>. Some of these
|
||||
packages are needed to resolve circular dependencies—for example,
|
||||
to compile a compiler, you need a compiler.</para>
|
||||
|
||||
<para><xref linkend="chapter-temporary-tools"/> also shows you how to
|
||||
build a first pass of the toolchain, including Binutils and GCC (first pass
|
||||
basically means these two core packages will be reinstalled).
|
||||
The next step is to build Glibc, the C library. Glibc will be compiled by
|
||||
the toolchain programs built in the first pass. Then, a second pass of the
|
||||
toolchain will be built. This time, the toolchain will be dynamically linked
|
||||
against the newly built Glibc. The remaining <xref
|
||||
linkend="chapter-temporary-tools"/> packages are built using this second
|
||||
pass toolchain. When this is done, the LFS installation process will no
|
||||
longer depend on the host distribution, with the exception of the running
|
||||
kernel. </para>
|
||||
|
||||
<para>This effort to isolate the new system from the host distribution may
|
||||
seem excessive. A full technical explanation as to why this is done is provided in
|
||||
<xref linkend="ch-tools-toolchaintechnotes"/>.</para>
|
||||
|
||||
<para>In <xref linkend="chapter-building-system"/>, the full LFS system is
|
||||
built. The <command>chroot</command> (change root) program is used to enter
|
||||
a virtual environment and start a new shell whose root directory will be
|
||||
set to the LFS partition. This is very similar to rebooting and instructing
|
||||
the kernel to mount the LFS partition as the root partition. The system
|
||||
does not actually reboot, but instead uses <command>chroot</command> because
|
||||
creating a bootable system requires additional work which is not necessary
|
||||
just yet. The major advantage is that <quote>chrooting</quote> allows you
|
||||
to continue using the host system while LFS is being built. While waiting
|
||||
for package compilations to complete, you can continue using your computer as
|
||||
normal.</para>
|
||||
|
||||
<para>To finish the installation, the basic system configuration is set up in
|
||||
<xref linkend="chapter-bootscripts"/>, and the kernel and boot loader are set
|
||||
up in <xref linkend="chapter-bootable"/>. <xref linkend="chapter-finalizing"/>
|
||||
contains information on continuing the LFS experience beyond this book.
|
||||
After the steps in this book have been implemented, the computer will be
|
||||
ready to reboot into the new LFS system.</para>
|
||||
|
||||
<para>This is the process in a nutshell. Detailed information on each
|
||||
step is discussed in the following chapters and package descriptions.
|
||||
Items that may seem complicated will be clarified, and everything will
|
||||
fall into place as you embark on the LFS adventure.</para>
|
||||
|
||||
</sect1>
|
|
@ -1,106 +0,0 @@
|
|||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
|
||||
<!ENTITY % general-entities SYSTEM "../general.ent">
|
||||
%general-entities;
|
||||
]>
|
||||
|
||||
<sect1 id="ch-intro-livecd">
|
||||
<?dbhtml filename="livecd.html"?>
|
||||
|
||||
<title>About the Included CD</title>
|
||||
|
||||
<para>For your convenience, we have included a CD with this book that
|
||||
contains the source packages needed for creating a Linux From Scratch
|
||||
system. The CD is bootable and provides a stable working environment
|
||||
for building LFS. This book refers to this system as the
|
||||
<quote>host system.</quote> The CD images are actively maintained and
|
||||
updated versions can be found at
|
||||
<ulink url="ftp://ftp.lfs-matrix.net/pub/lfs-livecd/"/></para>
|
||||
|
||||
<para>In addition to the tools required to build LFS, the host system
|
||||
on the CD has a number of other helpful tools installed:</para>
|
||||
|
||||
<itemizedlist>
|
||||
|
||||
<listitem>
|
||||
<para>An HTML version of this book</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>The X Window System Environment</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>Web Tools</para>
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>Wget (command line file retriever)</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>Lynx (text web browser)</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>Irssi (console IRC client)</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>Firefox (graphical web browser)</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>Xchat (X-based IRC client)</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>Text Editors</para>
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>Vim</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>Nano</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>Network Tools</para>
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>SSH Server and Client</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>NFS Server and Client</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>Smbmount (mount.cifs) for Windows shares</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>Subversion</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>Dhcpcd (DHCP client)</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>Filesystem Programs</para>
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>Reiserfsprogs</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>Xfsprogs</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>nALFS - A tool for automating LFS builds</para>
|
||||
</listitem>
|
||||
|
||||
</itemizedlist>
|
||||
|
||||
</sect1>
|
|
@ -1,92 +0,0 @@
|
|||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
|
||||
<!ENTITY % general-entities SYSTEM "../general.ent">
|
||||
%general-entities;
|
||||
]>
|
||||
|
||||
<sect1 id="ch-intro-resources">
|
||||
<?dbhtml filename="resources.html"?>
|
||||
|
||||
<title>Resources</title>
|
||||
|
||||
<sect2 id="ch-intro-faq">
|
||||
<title>FAQ</title>
|
||||
|
||||
<para>If during the building of the LFS system you encounter any
|
||||
errors, have any questions, or think there is a typo in the book,
|
||||
please start by consulting the Frequently Asked Questions (FAQ)
|
||||
that is located at <ulink url="&faq-root;"/>.</para>
|
||||
|
||||
</sect2>
|
||||
|
||||
<sect2 id="ch-intro-maillists" xreflabel="Chapter 1 - Mailing Lists">
|
||||
<title>Mailing Lists</title>
|
||||
|
||||
<para>The <uri>linuxfromscratch.org</uri> server hosts a number of mailing
|
||||
lists used for the development of the LFS project. These lists include the
|
||||
main development and support lists, among others. If the FAQ does not solve
|
||||
the problem you are having, the next step would be to search the mailing
|
||||
lists at <ulink url="&lfs-root;search.html"/>.</para>
|
||||
|
||||
<para>For information on the different lists, how to subscribe, archive
|
||||
locations, and additional information, visit
|
||||
<ulink url="&lfs-root;mail.html"/>.</para>
|
||||
|
||||
</sect2>
|
||||
|
||||
<!-- FIXME: Remove until such time as we have our own News Server, JH 20060105
|
||||
|
||||
<sect2 id="ch-intro-newsserver">
|
||||
<title>News Server</title>
|
||||
|
||||
<para>The mailing lists hosted at <uri>linuxfromscratch.org</uri> are
|
||||
also accessible via the Network News Transfer Protocol (NNTP) server.
|
||||
All messages posted to a mailing list are copied to the corresponding
|
||||
newsgroup, and vice versa.</para>
|
||||
|
||||
<para>The news server is located at
|
||||
<uri>news.linuxfromscratch.org</uri>.</para>
|
||||
|
||||
</sect2> -->
|
||||
|
||||
<sect2 id="ch-intro-irc">
|
||||
<title>IRC</title>
|
||||
|
||||
<para>Several members of the LFS community offer assistance on Internet
|
||||
Relay Chat (IRC). Before using this support, please make sure that your
|
||||
question is not already answered in the LFS FAQ or the mailing list
|
||||
archives. You can find the IRC network at <uri>irc.freenode.net</uri>.
|
||||
The support channel is named #LFS-support.</para>
|
||||
|
||||
</sect2>
|
||||
|
||||
<!-- Commentted out until the target link is updated
|
||||
<sect2 id="ch-intro-references">
|
||||
<title>References</title>
|
||||
|
||||
<para>For additional information on the packages, useful tips are
|
||||
available in the LFS Package Reference page located at <ulink
|
||||
url="http://www.linuxfromscratch.org/~matthew/LFS-references.html"/>.</para>
|
||||
|
||||
</sect2> -->
|
||||
|
||||
<sect2 id="ch-intro-mirrors" xreflabel="Chapter 1 - Mirror sites">
|
||||
<title>Mirror Sites</title>
|
||||
|
||||
<para>The LFS project has a number of world-wide mirrors to make accessing
|
||||
the website and downloading the required packages more convenient. Please
|
||||
visit the LFS website at <ulink url="&lfs-root;mirrors.html"/> for a list
|
||||
of current mirrors.</para>
|
||||
|
||||
</sect2>
|
||||
|
||||
<sect2 id="ch-intro-contactinfo">
|
||||
<title>Contact Information</title>
|
||||
|
||||
<para>Please direct all your questions and comments to one of the LFS
|
||||
mailing lists (see above).</para>
|
||||
|
||||
</sect2>
|
||||
|
||||
</sect1>
|
|
@ -1,277 +0,0 @@
|
|||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
|
||||
<!ENTITY % general-entities SYSTEM "../general.ent">
|
||||
%general-entities;
|
||||
]>
|
||||
|
||||
<sect1 id="ch-intro-whatsnew">
|
||||
<?dbhtml filename="whatsnew.html"?>
|
||||
|
||||
<title>What's new since the last release</title>
|
||||
|
||||
<para>Below is a list of package updates made since the previous
|
||||
release of the book.</para>
|
||||
|
||||
<!--
|
||||
Every package in the book is listed in the "Upgraded to:" section.
|
||||
Comment/uncomment as needed. DO NOT delete any of these lines unless that
|
||||
package is removed from the book entirely.
|
||||
-->
|
||||
|
||||
<itemizedlist>
|
||||
<title>Upgraded to:</title>
|
||||
<listitem><para></para></listitem> <!-- satisfy build -->
|
||||
<!--<listitem>
|
||||
<para>None</para>
|
||||
</listitem>-->
|
||||
<!--<listitem>
|
||||
<para>Acl-&acl-version;</para>
|
||||
</listitem>-->
|
||||
<!--<listitem>
|
||||
<para>Attr-&attr-version;</para>
|
||||
</listitem>-->
|
||||
<!--<listitem>
|
||||
<para>Autoconf &autoconf-version;</para>
|
||||
</listitem>-->
|
||||
<!--<listitem>
|
||||
<para>Automake &automake-version;</para>
|
||||
</listitem>-->
|
||||
<!--<listitem>
|
||||
<para>Bash &bash-version;</para>
|
||||
</listitem>-->
|
||||
<!--<listitem>
|
||||
<para>Binutils &binutils-version;</para>
|
||||
</listitem>-->
|
||||
<!--<listitem>
|
||||
<para>Bison &bison-version;</para>
|
||||
</listitem>-->
|
||||
<!--<listitem>
|
||||
<para>Bzip2 &bzip2-version;</para>
|
||||
</listitem>-->
|
||||
<!--<listitem>
|
||||
<para>Check &check-version;</para>
|
||||
</listitem>-->
|
||||
<!--<listitem>
|
||||
<para>Coreutils &coreutils-version;</para>
|
||||
</listitem>-->
|
||||
<listitem>
|
||||
<para>D-Bus-&dbus-version;</para>
|
||||
</listitem>
|
||||
<!--<listitem>
|
||||
<para>DejaGNU &dejagnu-version;</para>
|
||||
</listitem>-->
|
||||
<!--<listitem>
|
||||
<para>Diffutils &diffutils-version;</para>
|
||||
</listitem>-->
|
||||
<listitem>
|
||||
<para>E2fsprogs &e2fsprogs-version;</para>
|
||||
</listitem>
|
||||
<!--<listitem>
|
||||
<para>Expat-&expat-version;</para>
|
||||
</listitem>-->
|
||||
<!--<listitem>
|
||||
<para>Expect &expect-version;</para>
|
||||
</listitem>-->
|
||||
<listitem>
|
||||
<para>File &file-version;</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>Findutils &findutils-version;</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>Flex &flex-version;</para>
|
||||
</listitem>
|
||||
<!--<listitem>
|
||||
<para>Gawk &gawk-version;</para>
|
||||
</listitem>-->
|
||||
<listitem>
|
||||
<para>GCC &gcc-version;</para>
|
||||
</listitem>
|
||||
<!--<listitem>
|
||||
<para>GDBM &gdbm-version;</para>
|
||||
</listitem>-->
|
||||
<listitem>
|
||||
<para>Gettext &gettext-version;</para>
|
||||
</listitem>
|
||||
<!--<listitem>
|
||||
<para>Glibc &glibc-version;</para>
|
||||
</listitem>-->
|
||||
<listitem>
|
||||
<para>GMP &gmp-version;</para>
|
||||
</listitem>
|
||||
<!--<listitem>
|
||||
<para>Gperf-&gperf-version;</para>
|
||||
</listitem>-->
|
||||
<listitem>
|
||||
<para>Grep &grep-version;</para>
|
||||
</listitem>
|
||||
<!--<listitem>
|
||||
<para>Groff &groff-version;</para>
|
||||
</listitem>-->
|
||||
<!--<listitem>
|
||||
<para>GRUB &grub-version;</para>
|
||||
</listitem>-->
|
||||
<!--<listitem>
|
||||
<para>Gzip &gzip-version;</para>
|
||||
</listitem>-->
|
||||
<!--<listitem>
|
||||
<para>IANA-Etc &iana-etc-version;</para>
|
||||
</listitem>-->
|
||||
<!--<listitem>
|
||||
<para>Inetutils &inetutils-version;</para>
|
||||
</listitem>-->
|
||||
<!--<listitem>
|
||||
<para>Intltool-&intltool-version;</para>
|
||||
</listitem>-->
|
||||
<listitem>
|
||||
<para>IPRoute2 &iproute2-version;</para>
|
||||
</listitem>
|
||||
<!--<listitem>
|
||||
<para>Kbd &kbd-version;</para>
|
||||
</listitem>-->
|
||||
<listitem>
|
||||
<para>Kmod &kmod-version;</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>Less &less-version;</para>
|
||||
</listitem>
|
||||
<!--<listitem>
|
||||
<para>Libcap-&libcap-version;</para>
|
||||
</listitem>-->
|
||||
<!--<listitem>
|
||||
<para>Libpipeline &libpipeline-version;</para>
|
||||
</listitem>-->
|
||||
<!--<listitem>
|
||||
<para>Libtool &libtool-version;</para>
|
||||
</listitem>-->
|
||||
<listitem>
|
||||
<para>Linux &linux-version;</para>
|
||||
</listitem>
|
||||
<!--<listitem>
|
||||
<para>M4 &m4-version;</para>
|
||||
</listitem>-->
|
||||
<!--<listitem>
|
||||
<para>Make &make-version;</para>
|
||||
</listitem>-->
|
||||
<listitem>
|
||||
<para>Man-DB &man-db-version;</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>Man-pages &man-pages-version;</para>
|
||||
</listitem>
|
||||
<!--<listitem>
|
||||
<para>MPC &mpc-version;</para>
|
||||
</listitem>-->
|
||||
<!--<listitem>
|
||||
<para>MPFR &mpfr-version;</para>
|
||||
</listitem>-->
|
||||
<!--<listitem>
|
||||
<para>Ncurses &ncurses-version;</para>
|
||||
</listitem>-->
|
||||
<!--<listitem>
|
||||
<para>Patch &patch-version;</para>
|
||||
</listitem>-->
|
||||
<listitem>
|
||||
<para>Perl &perl-version;</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>Pkg-config &pkgconfig-version;</para>
|
||||
</listitem>
|
||||
<!--<listitem>
|
||||
<para>Procps-ng &procps-ng-version;</para>
|
||||
</listitem>-->
|
||||
<!--<listitem>
|
||||
<para>Psmisc &psmisc-version;</para>
|
||||
</listitem>-->
|
||||
<!--<listitem>
|
||||
<para>Readline &readline-version;</para>
|
||||
</listitem>-->
|
||||
<!--<listitem>
|
||||
<para>Sed &sed-version;</para>
|
||||
</listitem>-->
|
||||
<!--<listitem>
|
||||
<para>Shadow &shadow-version;</para>
|
||||
</listitem>-->
|
||||
<listitem>
|
||||
<para>Systemd &systemd-version;</para>
|
||||
</listitem>
|
||||
<!--<listitem>
|
||||
<para>Tar &tar-version;</para>
|
||||
</listitem>-->
|
||||
<!--<listitem>
|
||||
<para>Tcl-core-&tcl-version;</para>
|
||||
</listitem>-->
|
||||
<!--<listitem>
|
||||
<para>Texinfo &texinfo-version;</para>
|
||||
</listitem>-->
|
||||
<listitem>
|
||||
<para>Tzdata &tzdata-version;</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>Util-Linux &util-linux-version;</para>
|
||||
</listitem>
|
||||
<!--<listitem>
|
||||
<para>Vim &vim-version;</para>
|
||||
</listitem>-->
|
||||
<!--<listitem>
|
||||
<para>XML-Parser-&xml-parser-version;</para>
|
||||
</listitem>-->
|
||||
<listitem>
|
||||
<para>XZ-Utils &xz-version;</para>
|
||||
</listitem>
|
||||
<!--<listitem>
|
||||
<para>Zlib &zlib-version;</para>
|
||||
</listitem>-->
|
||||
</itemizedlist>
|
||||
|
||||
<!--<itemizedlist>
|
||||
<title>Downgraded to:</title>
|
||||
|
||||
<listitem>
|
||||
<para>PLACEHOLDER</para>
|
||||
</listitem>
|
||||
|
||||
</itemizedlist>-->
|
||||
|
||||
<itemizedlist>
|
||||
<title>Added:</title>
|
||||
<listitem><para></para></listitem> <!-- satisfy build -->
|
||||
|
||||
<listitem>
|
||||
<para>&glibc-largefile-patch;</para>
|
||||
</listitem>
|
||||
|
||||
<!--<listitem>
|
||||
<para>&glibc-upstream-patch;</para>
|
||||
</listitem>-->
|
||||
|
||||
<!--<listitem>
|
||||
<para>&mpfr-upstream-patch;</para>
|
||||
</listitem>-->
|
||||
|
||||
<!--<listitem>
|
||||
<para>Tcl-core-&tcl-version;</para>
|
||||
</listitem>-->
|
||||
|
||||
</itemizedlist>
|
||||
|
||||
<itemizedlist>
|
||||
<title>Removed:</title>
|
||||
<listitem><para></para></listitem> <!-- satisfy build -->
|
||||
|
||||
<!--<listitem>
|
||||
<para>bash-4.3.30-upstream_fixes-1.patch</para>
|
||||
</listitem>-->
|
||||
|
||||
<!--<listitem>
|
||||
<para>mpfr-3.1.2-upstream_fixes-3.patch</para>
|
||||
</listitem>-->
|
||||
|
||||
<!--<listitem>
|
||||
<para>Tcl-8.6.3</para>
|
||||
</listitem>-->
|
||||
|
||||
</itemizedlist>
|
||||
|
||||
</sect1>
|
|
@ -1,56 +0,0 @@
|
|||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
|
||||
<!ENTITY % general-entities SYSTEM "../general.ent">
|
||||
%general-entities;
|
||||
]>
|
||||
|
||||
<sect1 id="ch-partitioning-aboutlfs">
|
||||
<?dbhtml filename="aboutlfs.html"?>
|
||||
|
||||
<title>Setting The $LFS Variable</title>
|
||||
|
||||
<para>Throughout this book, the environment variable <envar>LFS</envar> will
|
||||
be used several times. You should ensure that this variable is always defined
|
||||
throughout the LFS build process. It should be set to the name of the
|
||||
directory where you will be building your LFS system - we will use
|
||||
<filename class="directory">/mnt/lfs</filename> as an example, but the
|
||||
directory choice is up to you. If you are building LFS on a separate
|
||||
partition, this directory will be the mount point for the partition.
|
||||
Choose a directory location and set the variable with the
|
||||
following command:</para>
|
||||
|
||||
<screen role="nodump"><userinput>export LFS=<replaceable>/mnt/lfs</replaceable></userinput></screen>
|
||||
|
||||
<para>Having this variable set is beneficial in that commands such as
|
||||
<command>mkdir -v $LFS/tools</command> can be typed literally. The shell
|
||||
will automatically replace <quote>$LFS</quote> with
|
||||
<quote>/mnt/lfs</quote> (or whatever the variable was set to) when it
|
||||
processes the command line.</para>
|
||||
|
||||
<caution>
|
||||
<para>Do not forget to check that <envar>LFS</envar> is set whenever
|
||||
you leave and reenter the current working environment (such as when doing a
|
||||
<command>su</command> to <systemitem class="username">root</systemitem> or
|
||||
another user). Check that the <envar>LFS</envar> variable is set up
|
||||
properly with:</para>
|
||||
</caution>
|
||||
|
||||
<screen role="nodump"><userinput>echo $LFS</userinput></screen>
|
||||
|
||||
<para>Make sure the output shows the path to your LFS system's build
|
||||
location, which is <filename class="directory">/mnt/lfs</filename> if the
|
||||
provided example was followed. If the output is incorrect, use the command
|
||||
given earlier on this page to set <envar>$LFS</envar> to the correct
|
||||
directory name.</para>
|
||||
|
||||
<note><para>One way to ensure that the <envar>LFS</envar> variable is always
|
||||
set is to edit the <filename>.bash_profile</filename> file in both your
|
||||
personal home directory and in <filename>/root/.bash_profile</filename> and
|
||||
enter the export command above. In addition, the shell specified in the
|
||||
<filename>/etc/passwd</filename> file for all users that need the
|
||||
<envar>LFS</envar> variable needs to be bash to ensure that the
|
||||
<filename>/root/.bash_profile</filename> file is incorporated as a part of
|
||||
the login process.</para></note>
|
||||
|
||||
</sect1>
|
|
@ -1,20 +0,0 @@
|
|||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
|
||||
<!ENTITY % general-entities SYSTEM "../general.ent">
|
||||
%general-entities;
|
||||
]>
|
||||
|
||||
<chapter id="chapter-partitioning" xreflabel="Chapter 2">
|
||||
<?dbhtml dir="chapter02"?>
|
||||
<?dbhtml filename="chapter02.html"?>
|
||||
|
||||
<title>Preparing a New Partition</title>
|
||||
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="introduction.xml"/>
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="creatingpartition.xml"/>
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="creatingfilesystem.xml"/>
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="aboutlfs.xml"/>
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="mounting.xml"/>
|
||||
|
||||
</chapter>
|
|
@ -1,101 +0,0 @@
|
|||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
|
||||
<!ENTITY % general-entities SYSTEM "../general.ent">
|
||||
%general-entities;
|
||||
]>
|
||||
|
||||
<sect1 id="space-creatingfilesystem">
|
||||
<?dbhtml filename="creatingfilesystem.html"?>
|
||||
|
||||
<title>Creating a File System on the Partition</title>
|
||||
|
||||
<para>Now that a blank partition has been set up, the file system can be
|
||||
created. LFS can use any file system recognized by the Linux kernel, but the
|
||||
most common types are ext3 and ext4. The choice of file system can be
|
||||
complex and depends on the characteristics of the files and the size of
|
||||
the partition. For example:</para>
|
||||
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
<term>ext2</term>
|
||||
<listitem><para>is suitable for small partitions that are updated infrequently
|
||||
such as /boot.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term>ext3</term>
|
||||
<listitem><para>is an upgrade to ext2 that includes a journal
|
||||
to help recover the partition's status in the case of an unclean
|
||||
shutdown. It is commonly used as a general purpose file system.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term>ext4</term>
|
||||
<listitem><para>is the latest version of the ext file system family of
|
||||
partition types. It provides several new capabilities including
|
||||
nano-second timestamps, creation and use of very large files (16 TB), and
|
||||
speed improvements.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
|
||||
<para>Other file systems, including FAT32, NTFS, ReiserFS, JFS, and XFS are
|
||||
useful for specialized purposes. More information about these file systems
|
||||
can be found at <ulink
|
||||
url="http://en.wikipedia.org/wiki/Comparison_of_file_systems"/>.</para>
|
||||
|
||||
<para>LFS assumes that the root file system (/) is of type ext4. To create
|
||||
an <systemitem class="filesystem">ext4</systemitem> file system on the LFS
|
||||
partition, run the following:</para>
|
||||
|
||||
<screen role="nodump"><userinput>mkfs -v -t ext4 /dev/<replaceable><xxx></replaceable></userinput></screen>
|
||||
|
||||
<!--
|
||||
<para>Replace <replaceable><xxx></replaceable> with the name of the LFS
|
||||
partition (<filename class="devicefile">sda5</filename> in our previous
|
||||
example).</para>
|
||||
|
||||
<note>
|
||||
<para>Some host distributions use custom features in their filesystem
|
||||
creation tools (E2fsprogs). This can cause problems when booting into your new
|
||||
LFS in Chapter 9, as those features will not be supported by the LFS-installed
|
||||
E2fsprogs; you will get an error similar to <quote>unsupported filesystem
|
||||
features, upgrade your e2fsprogs</quote>. To check if your host system
|
||||
uses custom enhancements, run the following command:</para>
|
||||
|
||||
<screen role="nodump"><userinput>debugfs -R feature /dev/<replaceable><xxx></replaceable></userinput></screen>
|
||||
|
||||
<para>If the output contains features other than
|
||||
<option>has_journal</option>, <option>ext_attr</option>,
|
||||
<option>resize_inode</option>, <option>dir_index</option>,
|
||||
<option>filetype</option>, <option>sparse_super</option>,
|
||||
<option>large_file</option> or <option>needs_recovery</option>, then your
|
||||
host system may have custom enhancements. In that case, to avoid later
|
||||
problems, you should compile the stock E2fsprogs package and use the
|
||||
resulting binaries to re-create the filesystem on your LFS partition:</para>
|
||||
|
||||
<screen role="nodump"><userinput>cd /tmp
|
||||
tar -xzvf /path/to/sources/e2fsprogs-&e2fsprogs-version;.tar.gz
|
||||
cd e2fsprogs-&e2fsprogs-version;
|
||||
mkdir -v build
|
||||
cd build
|
||||
../configure
|
||||
make #note that we intentionally don't 'make install' here!
|
||||
./misc/mke2fs -jv /dev/<replaceable><xxx></replaceable>
|
||||
cd /tmp
|
||||
rm -rfv e2fsprogs-&e2fsprogs-version;</userinput></screen>
|
||||
</note>
|
||||
-->
|
||||
<para>If you are using an existing <systemitem class="filesystem">swap
|
||||
</systemitem> partition, there is no need to format it. If a new
|
||||
<systemitem class="filesystem"> swap</systemitem> partition was created,
|
||||
it will need to be initialized with this command:</para>
|
||||
|
||||
<screen role="nodump"><userinput>mkswap /dev/<replaceable><yyy></replaceable></userinput></screen>
|
||||
|
||||
<para>Replace <replaceable><yyy></replaceable> with the name of the
|
||||
<systemitem class="filesystem">swap</systemitem> partition.</para>
|
||||
|
||||
</sect1>
|
|
@ -1,161 +0,0 @@
|
|||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
|
||||
<!ENTITY % general-entities SYSTEM "../general.ent">
|
||||
%general-entities;
|
||||
]>
|
||||
|
||||
<sect1 id="space-creatingpartition">
|
||||
<?dbhtml filename="creatingpartition.html"?>
|
||||
|
||||
<title>Creating a New Partition</title>
|
||||
|
||||
<para>Like most other operating systems, LFS is usually installed on a
|
||||
dedicated partition. The recommended approach to building an LFS system
|
||||
is to use an available empty partition or, if you have enough unpartitioned
|
||||
space, to create one.</para>
|
||||
|
||||
<!--
|
||||
|
||||
<para>It is possible to install an LFS system (in fact even multiple LFS
|
||||
systems) on a partition already occupied by another
|
||||
operating system and the different systems will co-exist peacefully. The
|
||||
document <ulink url="&hints-root;lfs_next_to_existing_systems.txt"/>
|
||||
contains notes on how to implement this. This document was last updated
|
||||
in 2004. It has not been updated since and it has not been tested with
|
||||
recent versions of this LFS book. The document is more than likely not
|
||||
usable as-is and you will need to account for changes made to the LFS
|
||||
procedures since it was written. This is only recommended for expert LFS
|
||||
users.</para>
|
||||
|
||||
-->
|
||||
|
||||
<para>A minimal system requires a partition of around 4 gigabytes (GB).
|
||||
This is enough to store all the source tarballs and compile the packages.
|
||||
However, if the LFS system is intended to be the primary Linux system,
|
||||
additional software will probably be installed which will require additional
|
||||
space. A 10 GB partition is a reasonable size to provide for growth. The LFS
|
||||
system itself will not take up this much room. A large portion of this
|
||||
requirement is to provide sufficient free temporary storage. Compiling
|
||||
packages can require a lot of disk space which will be reclaimed after the
|
||||
package is installed.</para>
|
||||
|
||||
<para>Because there is not always enough Random Access Memory (RAM) available
|
||||
for compilation processes, it is a good idea to use a small disk partition as
|
||||
<systemitem class="filesystem">swap</systemitem> space. This is used by the
|
||||
kernel to store seldom-used data and leave more memory available for active
|
||||
processes. The <systemitem class="filesystem">swap</systemitem> partition for
|
||||
an LFS system can be the same as the one used by the host system, in which
|
||||
case it is not necessary to create another one.</para>
|
||||
|
||||
<para>Start a disk partitioning program such as <command>cfdisk</command>
|
||||
or <command>fdisk</command> with a command line option naming the hard
|
||||
disk on which the new partition will be created—for example
|
||||
<filename class="devicefile">/dev/sda</filename> for the primary Integrated
|
||||
Drive Electronics (IDE) disk. Create a Linux native partition and a
|
||||
<systemitem class="filesystem">swap</systemitem> partition, if needed. Please
|
||||
refer to <filename>cfdisk(8)</filename> or <filename>fdisk(8)</filename> if
|
||||
you do not yet know how to use the programs.</para>
|
||||
|
||||
<note><para>For experienced users, other partitioning schemes are possible.
|
||||
The new LFS system can be on a software <ulink
|
||||
url="&blfs-book;postlfs/raid.html">RAID</ulink> array or an <ulink
|
||||
url="&blfs-book;postlfs/aboutlvm.html">LVM</ulink> logical volume.
|
||||
However, some of these options require an <ulink
|
||||
url="&blfs-book;postlfs/initramfs.html">initramfs</ulink>, which is
|
||||
an advanced topic. These partitioning methodologies are not recommended for
|
||||
first time LFS users.</para></note>
|
||||
|
||||
<para>Remember the designation of the new partition (e.g., <filename
|
||||
class="devicefile">sda5</filename>). This book will refer to this as
|
||||
the LFS partition. Also remember the designation of the <systemitem
|
||||
class="filesystem">swap</systemitem> partition. These names will be
|
||||
needed later for the <filename>/etc/fstab</filename> file.</para>
|
||||
|
||||
<sect2>
|
||||
<title>Other Partition Issues</title>
|
||||
|
||||
<para>Requests for advice on system partitioning are often posted on the LFS mailing
|
||||
lists. This is a highly subjective topic. The default for most distributions
|
||||
is to use the entire drive with the exception of one small swap partition. This
|
||||
is not optimal for LFS for several reasons. It reduces flexibility, makes
|
||||
sharing of data across multiple distributions or LFS builds more difficult, makes
|
||||
backups more time consuming, and can waste disk space through inefficient
|
||||
allocation of file system structures.</para>
|
||||
|
||||
<sect3>
|
||||
<title>The Root Partition</title>
|
||||
|
||||
<para>A root LFS partition (not to be confused with the
|
||||
<filename class="directory">/root</filename> directory) of
|
||||
ten gigabytes is a good compromise for most systems. It provides enough
|
||||
space to build LFS and most of BLFS, but is small enough so that multiple
|
||||
partitions can be easily created for experimentation.</para> </sect3>
|
||||
|
||||
<sect3>
|
||||
<title>The Swap Partition</title>
|
||||
|
||||
<para>Most distributions automatically create a swap partition. Generally
|
||||
the recommended size of the swap partition is about twice the amount of
|
||||
physical RAM, however this is rarely needed. If disk space is limited,
|
||||
hold the swap partition to two gigabytes and monitor the amount of disk
|
||||
swapping.</para>
|
||||
|
||||
<para>Swapping is never good. Generally you can tell if a system is
|
||||
swapping by just listening to disk activity and observing how the system
|
||||
reacts to commands. The first reaction to swapping should be to check for
|
||||
an unreasonable command such as trying to edit a five gigabyte file. If
|
||||
swapping becomes a normal occurrence, the best solution is to purchase more
|
||||
RAM for your system.</para> </sect3>
|
||||
|
||||
<sect3>
|
||||
<title>Convenience Partitions</title>
|
||||
|
||||
<para>There are several other partitions that are not required, but should
|
||||
be considered when designing a disk layout. The following list
|
||||
is not comprehensive, but is meant as a guide.</para>
|
||||
|
||||
<itemizedlist>
|
||||
|
||||
<listitem><para>/boot – Highly recommended. Use this partition to
|
||||
store kernels and other booting information. To minimize potential boot
|
||||
problems with larger disks, make this the first physical partition on
|
||||
your first disk drive. A partition size of 100 megabytes is quite
|
||||
adequate.</para></listitem>
|
||||
|
||||
<listitem><para>/home – Highly recommended. Share your home
|
||||
directory and user customization across multiple distributions or LFS
|
||||
builds. The size is generally fairly large and depends on available disk
|
||||
space.</para></listitem>
|
||||
|
||||
<listitem><para>/usr – A separate /usr partition is generally used
|
||||
if providing a server for a thin client or diskless workstation. It is
|
||||
normally not needed for LFS. A size of five gigabytes will handle most
|
||||
installations.</para></listitem>
|
||||
|
||||
<listitem><para>/opt – This directory is most useful for
|
||||
BLFS where multiple installations of large packages like Gnome or KDE can
|
||||
be installed without embedding the files in the /usr hierarchy. If
|
||||
used, 5 to 10 gigabytes is generally adequate.</para>
|
||||
</listitem>
|
||||
|
||||
<listitem><para>/tmp – A separate /tmp directory is rare, but
|
||||
useful if configuring a thin client. This partition, if used, will
|
||||
usually not need to exceed a couple of gigabytes.</para></listitem>
|
||||
|
||||
<listitem><para>/usr/src – This partition is very
|
||||
useful for providing a location to store BLFS source files and
|
||||
share them across LFS builds. It can also be used as a location
|
||||
for building BLFS packages. A reasonably large partition of 30-50
|
||||
gigabytes allows plenty of room.</para></listitem>
|
||||
|
||||
</itemizedlist>
|
||||
|
||||
<para>Any separate partition that you want automatically mounted upon boot
|
||||
needs to be specified in the <filename>/etc/fstab</filename>. Details
|
||||
about how to specify partitions will be discussed in <xref
|
||||
linkend="ch-bootable-fstab"/>. </para>
|
||||
|
||||
</sect3>
|
||||
</sect2>
|
||||
</sect1>
|
|
@ -1,17 +0,0 @@
|
|||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
|
||||
<!ENTITY % general-entities SYSTEM "../general.ent">
|
||||
%general-entities;
|
||||
]>
|
||||
|
||||
<sect1 id="space-introduction">
|
||||
<?dbhtml filename="introduction.html"?>
|
||||
|
||||
<title>Introduction</title>
|
||||
|
||||
<para>In this chapter, the partition which will host the LFS system is
|
||||
prepared. We will create the partition itself, create a file system
|
||||
on it, and mount it.</para>
|
||||
|
||||
</sect1>
|
|
@ -1,61 +0,0 @@
|
|||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
|
||||
<!ENTITY % general-entities SYSTEM "../general.ent">
|
||||
%general-entities;
|
||||
]>
|
||||
|
||||
<sect1 id="space-mounting">
|
||||
<?dbhtml filename="mounting.html"?>
|
||||
|
||||
<title>Mounting the New Partition</title>
|
||||
|
||||
<para>Now that a file system has been created, the partition needs to
|
||||
be made accessible. In order to do this, the partition needs to be
|
||||
mounted at a chosen mount point. For the purposes of this book, it is
|
||||
assumed that the file system is mounted under the directory specified by the
|
||||
<envar>LFS</envar> envronment variable as described in the previous section.
|
||||
</para>
|
||||
|
||||
<para>Create the mount point and mount the LFS file system by running:</para>
|
||||
|
||||
<screen role="nodump"><userinput>mkdir -pv $LFS
|
||||
mount -v -t ext4 /dev/<replaceable><xxx></replaceable> $LFS</userinput></screen>
|
||||
|
||||
<para>Replace <replaceable><xxx></replaceable> with the designation of the LFS
|
||||
partition.</para>
|
||||
|
||||
<para>If using multiple partitions for LFS (e.g., one for <filename
|
||||
class="directory">/</filename> and another for <filename
|
||||
class="directory">/usr</filename>), mount them using:</para>
|
||||
|
||||
<screen role="nodump"><userinput>mkdir -pv $LFS
|
||||
mount -v -t ext4 /dev/<replaceable><xxx></replaceable> $LFS
|
||||
mkdir -v $LFS/usr
|
||||
mount -v -t ext4 /dev/<replaceable><yyy></replaceable> $LFS/usr</userinput></screen>
|
||||
|
||||
<para>Replace <replaceable><xxx></replaceable> and
|
||||
<replaceable><yyy></replaceable> with the appropriate partition
|
||||
names.</para>
|
||||
|
||||
<para>Ensure that this new partition is not mounted with permissions that are
|
||||
too restrictive (such as the <option>nosuid</option> or
|
||||
<option>nodev</option> options). Run the <command>mount</command> command
|
||||
without any parameters to see what options are set for the mounted LFS
|
||||
partition. If <option>nosuid</option> and/or <option>nodev</option> are set,
|
||||
the partition will need to be remounted.</para>
|
||||
|
||||
<para>If you are using a <systemitem
|
||||
class="filesystem">swap</systemitem> partition, ensure that it is enabled
|
||||
using the <command>swapon</command> command:</para>
|
||||
|
||||
<screen role="nodump"><userinput>/sbin/swapon -v /dev/<replaceable><zzz></replaceable></userinput></screen>
|
||||
|
||||
<para>Replace <replaceable><zzz></replaceable> with the name of the
|
||||
<systemitem class="filesystem">swap</systemitem> partition.</para>
|
||||
|
||||
<para>Now that there is an established place to work, it is time to
|
||||
download the packages.</para>
|
||||
|
||||
</sect1>
|
||||
|
|
@ -1,18 +0,0 @@
|
|||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
|
||||
<!ENTITY % general-entities SYSTEM "../general.ent">
|
||||
%general-entities;
|
||||
]>
|
||||
|
||||
<chapter id="chapter-getting-materials" xreflabel="Chapter 3">
|
||||
<?dbhtml dir="chapter03"?>
|
||||
<?dbhtml filename="chapter03.html"?>
|
||||
|
||||
<title>Packages and Patches</title>
|
||||
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="introduction.xml"/>
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="packages.xml"/>
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="patches.xml"/>
|
||||
|
||||
</chapter>
|
|
@ -1,67 +0,0 @@
|
|||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
|
||||
<!ENTITY % general-entities SYSTEM "../general.ent">
|
||||
%general-entities;
|
||||
]>
|
||||
|
||||
<sect1 id="materials-introduction">
|
||||
<?dbhtml filename="introduction.html"?>
|
||||
|
||||
<title>Introduction</title>
|
||||
|
||||
<para>This chapter includes a list of packages that need to be downloaded in
|
||||
order to build a basic Linux system. The listed version numbers correspond to
|
||||
versions of the software that are known to work, and this book is based on
|
||||
their use. We highly recommend against using newer versions because the build
|
||||
commands for one version may not work with a newer version. The newest package
|
||||
versions may also have problems that require work-arounds. These work-arounds
|
||||
will be developed and stabilized in the development version of the
|
||||
book.</para>
|
||||
|
||||
<para>Download locations may not always be accessible. If a download
|
||||
location has changed since this book was published, Google (<ulink
|
||||
url="http://www.google.com/"/>) provides a useful search engine for
|
||||
most packages. If this search is unsuccessful, try one of the
|
||||
alternative means of downloading discussed at <ulink
|
||||
url="&lfs-root;lfs/packages.html#packages"/>. </para>
|
||||
|
||||
<para>Downloaded packages and patches will need to be stored somewhere
|
||||
that is conveniently available throughout the entire build. A working
|
||||
directory is also required to unpack the sources and build them.
|
||||
<filename class="directory">$LFS/sources</filename> can be used both
|
||||
as the place to store the tarballs and patches and as a working
|
||||
directory. By using this directory, the required elements will be
|
||||
located on the LFS partition and will be available during all stages
|
||||
of the building process.</para>
|
||||
|
||||
<para>To create this directory, execute the following command, as user
|
||||
<systemitem class="username">root</systemitem>, before starting the download
|
||||
session:</para>
|
||||
|
||||
<screen role="nodump"><userinput>mkdir -v $LFS/sources</userinput></screen>
|
||||
|
||||
<para>Make this directory writable and sticky. <quote>Sticky</quote>
|
||||
means that even if multiple users have write permission on a
|
||||
directory, only the owner of a file can delete the file within a
|
||||
sticky directory. The following command will enable the write and
|
||||
sticky modes:</para>
|
||||
|
||||
<screen role="nodump"><userinput>chmod -v a+wt $LFS/sources</userinput></screen>
|
||||
|
||||
<para>An easy way to download all of the packages and patches is by using
|
||||
<ulink url="../wget-list">wget-list</ulink> as an input to
|
||||
<command>wget</command>. For example:</para>
|
||||
|
||||
<screen role="nodump"><userinput>wget --input-file=wget-list --continue --directory-prefix=$LFS/sources</userinput></screen>
|
||||
|
||||
<para>Additionally, starting with LFS-7.0, there is a separate file,
|
||||
<ulink url="../md5sums">md5sums</ulink>, which can be used to verify that all
|
||||
the correct packages are available before proceeding. Place that file in
|
||||
<filename class="directory">$LFS/sources</filename> and run:</para>
|
||||
|
||||
<screen role="nodump"><userinput>pushd $LFS/sources
|
||||
md5sum -c md5sums
|
||||
popd</userinput></screen>
|
||||
|
||||
</sect1>
|
|
@ -1,666 +0,0 @@
|
|||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
|
||||
<!ENTITY % general-entities SYSTEM "../general.ent">
|
||||
%general-entities;
|
||||
]>
|
||||
|
||||
<sect1 id="materials-packages">
|
||||
<?dbhtml filename="packages.html"?>
|
||||
|
||||
<title>All Packages</title>
|
||||
|
||||
<para>Download or otherwise obtain the following packages:</para>
|
||||
|
||||
<variablelist role="materials">
|
||||
|
||||
<varlistentry>
|
||||
<term>Acl (&acl-version;) - <token>&acl-size;</token>:</term>
|
||||
<listitem>
|
||||
<para>Home page: <ulink url="&acl-home;"/></para>
|
||||
<para>Download: <ulink url="&acl-url;"/></para>
|
||||
<para>MD5 sum: <literal>&acl-md5;</literal></para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>Attr (&attr-version;) - <token>&attr-size;</token>:</term>
|
||||
<listitem>
|
||||
<para>Home page: <ulink url="&attr-home;"/></para>
|
||||
<para>Download: <ulink url="&attr-url;"/></para>
|
||||
<para>MD5 sum: <literal>&attr-md5;</literal></para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>Autoconf (&autoconf-version;) - <token>&autoconf-size;</token>:</term>
|
||||
<listitem>
|
||||
<para>Home page: <ulink url="&autoconf-home;"/></para>
|
||||
<para>Download: <ulink url="&autoconf-url;"/></para>
|
||||
<para>MD5 sum: <literal>&autoconf-md5;</literal></para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>Automake (&automake-version;) - <token>&automake-size;</token>:</term>
|
||||
<listitem>
|
||||
<para>Home page: <ulink url="&automake-home;"/></para>
|
||||
<para>Download: <ulink url="&automake-url;"/></para>
|
||||
<para>MD5 sum: <literal>&automake-md5;</literal></para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>Bash (&bash-version;) - <token>&bash-size;</token>:</term>
|
||||
<listitem>
|
||||
<para>Home page: <ulink url="&bash-home;"/></para>
|
||||
<para>Download: <ulink url="&bash-url;"/></para>
|
||||
<para>MD5 sum: <literal>&bash-md5;</literal></para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>Bc (&bc-version;) - <token>&bc-size;</token>:</term>
|
||||
<listitem>
|
||||
<para>Home page: <ulink url="&bc-home;"/></para>
|
||||
<para>Download: <ulink url="&bc-url;"/></para>
|
||||
<para>MD5 sum: <literal>&bc-md5;</literal></para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>Binutils (&binutils-version;) - <token>&binutils-size;</token>:</term>
|
||||
<listitem>
|
||||
<para>Home page: <ulink url="&binutils-home;"/></para>
|
||||
<para>Download: <ulink url="&binutils-url;"/></para>
|
||||
<para>MD5 sum: <literal>&binutils-md5;</literal></para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>Bison (&bison-version;) - <token>&bison-size;</token>:</term>
|
||||
<listitem>
|
||||
<para>Home page: <ulink url="&bison-home;"/></para>
|
||||
<para>Download: <ulink url="&bison-url;"/></para>
|
||||
<para>MD5 sum: <literal>&bison-md5;</literal></para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>Bzip2 (&bzip2-version;) - <token>&bzip2-size;</token>:</term>
|
||||
<listitem>
|
||||
<para>Home page: <ulink url="&bzip2-home;"/></para>
|
||||
<para>Download: <ulink url="&bzip2-url;"/></para>
|
||||
<para>MD5 sum: <literal>&bzip2-md5;</literal></para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>Check (&check-version;) - <token>&check-size;</token>:</term>
|
||||
<listitem>
|
||||
<para>Home page: <ulink url="&check-home;"/></para>
|
||||
<para>Download: <ulink url="&check-url;"/></para>
|
||||
<para>MD5 sum: <literal>&check-md5;</literal></para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>Coreutils (&coreutils-version;) - <token>&coreutils-size;</token>:</term>
|
||||
<listitem>
|
||||
<para>Home page: <ulink url="&coreutils-home;"/></para>
|
||||
<para>Download: <ulink url="&coreutils-url;"/></para>
|
||||
<para>MD5 sum: <literal>&coreutils-md5;</literal></para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>D-Bus (&dbus-version;) - <token>&dbus-size;</token>:</term>
|
||||
<listitem>
|
||||
<para>Home page: <ulink url="&dbus-home;"/></para>
|
||||
<para>Download: <ulink url="&dbus-url;"/></para>
|
||||
<para>MD5 sum: <literal>&dbus-md5;</literal></para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>DejaGNU (&dejagnu-version;) - <token>&dejagnu-size;</token>:</term>
|
||||
<listitem>
|
||||
<para>Home page: <ulink url="&dejagnu-home;"/></para>
|
||||
<para>Download: <ulink url="&dejagnu-url;"/></para>
|
||||
<para>MD5 sum: <literal>&dejagnu-md5;</literal></para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>Diffutils (&diffutils-version;) - <token>&diffutils-size;</token>:</term>
|
||||
<listitem>
|
||||
<para>Home page: <ulink url="&diffutils-home;"/></para>
|
||||
<para>Download: <ulink url="&diffutils-url;"/></para>
|
||||
<para>MD5 sum: <literal>&diffutils-md5;</literal></para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>E2fsprogs (&e2fsprogs-version;) - <token>&e2fsprogs-size;</token>:</term>
|
||||
<listitem>
|
||||
<para>Home page: <ulink url="&e2fsprogs-home;"/></para>
|
||||
<para>Download: <ulink url="&e2fsprogs-url;"/></para>
|
||||
<para>MD5 sum: <literal>&e2fsprogs-md5;</literal></para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>Expat (&expat-version;) - <token>&expat-size;</token>:</term>
|
||||
<listitem>
|
||||
<para>Home page: <ulink url="&expat-home;"/></para>
|
||||
<para>Download: <ulink url="&expat-url;"/></para>
|
||||
<para>MD5 sum: <literal>&expat-md5;</literal></para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>Expect (&expect-version;) - <token>&expect-size;</token>:</term>
|
||||
<listitem>
|
||||
<para>Home page: <ulink url="&expect-home;"/></para>
|
||||
<para>Download: <ulink url="&expect-url;"/></para>
|
||||
<para>MD5 sum: <literal>&expect-md5;</literal></para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>File (&file-version;) - <token>&file-size;</token>:</term>
|
||||
<listitem>
|
||||
<para>Home page: <ulink url="&file-home;"/></para>
|
||||
<para>Download: <ulink url="&file-url;"/></para>
|
||||
<para>MD5 sum: <literal>&file-md5;</literal></para>
|
||||
|
||||
<note>
|
||||
<para>File (&file-version;) may no longer be available at the
|
||||
listed location. The site administrators of the master download
|
||||
location occasionally remove older versions when new ones are
|
||||
released. An alternative download location that may have the correct
|
||||
version available can also be found at: <ulink
|
||||
url="http://www.linuxfromscratch.org/lfs/download.html#ftp"/>.</para>
|
||||
</note>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>Findutils (&findutils-version;) - <token>&findutils-size;</token>:</term>
|
||||
<listitem>
|
||||
<para>Home page: <ulink url="&findutils-home;"/></para>
|
||||
<para>Download: <ulink url="&findutils-url;"/></para>
|
||||
<para>MD5 sum: <literal>&findutils-md5;</literal></para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>Flex (&flex-version;) - <token>&flex-size;</token>:</term>
|
||||
<listitem>
|
||||
<para>Home page: <ulink url="&flex-home;"/></para>
|
||||
<para>Download: <ulink url="&flex-url;"/></para>
|
||||
<para>MD5 sum: <literal>&flex-md5;</literal></para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>Gawk (&gawk-version;) - <token>&gawk-size;</token>:</term>
|
||||
<listitem>
|
||||
<para>Home page: <ulink url="&gawk-home;"/></para>
|
||||
<para>Download: <ulink url="&gawk-url;"/></para>
|
||||
<para>MD5 sum: <literal>&gawk-md5;</literal></para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>GCC (&gcc-version;) - <token>&gcc-size;</token>:</term>
|
||||
<listitem>
|
||||
<para>Home page: <ulink url="&gcc-home;"/></para>
|
||||
<para>Download: <ulink url="&gcc-url;"/></para>
|
||||
<para>MD5 sum: <literal>&gcc-md5;</literal></para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>GDBM (&gdbm-version;) - <token>&gdbm-size;</token>:</term>
|
||||
<listitem>
|
||||
<para>Home page: <ulink url="&gdbm-home;"/></para>
|
||||
<para>Download: <ulink url="&gdbm-url;"/></para>
|
||||
<para>MD5 sum: <literal>&gdbm-md5;</literal></para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>Gettext (&gettext-version;) - <token>&gettext-size;</token>:</term>
|
||||
<listitem>
|
||||
<para>Home page: <ulink url="&gettext-home;"/></para>
|
||||
<para>Download: <ulink url="&gettext-url;"/></para>
|
||||
<para>MD5 sum: <literal>&gettext-md5;</literal></para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>Glibc (&glibc-version;) - <token>&glibc-size;</token>:</term>
|
||||
<listitem>
|
||||
<para>Home page: <ulink url="&glibc-home;"/></para>
|
||||
<para>Download: <ulink url="&glibc-url;"/></para>
|
||||
<para>MD5 sum: <literal>&glibc-md5;</literal></para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>GMP (&gmp-version;) - <token>&gmp-size;</token>:</term>
|
||||
<listitem>
|
||||
<para>Home page: <ulink url="&gmp-home;"/></para>
|
||||
<para>Download: <ulink url="&gmp-url;"/></para>
|
||||
<para>MD5 sum: <literal>&gmp-md5;</literal></para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>Gperf (&gperf-version;) - <token>&gperf-size;</token>:</term>
|
||||
<listitem>
|
||||
<para>Home page: <ulink url="&gperf-home;"/></para>
|
||||
<para>Download: <ulink url="&gperf-url;"/></para>
|
||||
<para>MD5 sum: <literal>&gperf-md5;</literal></para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>Grep (&grep-version;) - <token>&grep-size;</token>:</term>
|
||||
<listitem>
|
||||
<para>Home page: <ulink url="&grep-home;"/></para>
|
||||
<para>Download: <ulink url="&grep-url;"/></para>
|
||||
<para>MD5 sum: <literal>&grep-md5;</literal></para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>Groff (&groff-version;) - <token>&groff-size;</token>:</term>
|
||||
<listitem>
|
||||
<para>Home page: <ulink url="&groff-home;"/></para>
|
||||
<para>Download: <ulink url="&groff-url;"/></para>
|
||||
<para>MD5 sum: <literal>&groff-md5;</literal></para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>GRUB (&grub-version;) - <token>&grub-size;</token>:</term>
|
||||
<listitem>
|
||||
<para>Home page: <ulink url="&grub-home;"/></para>
|
||||
<para>Download: <ulink url="&grub-url;"/></para>
|
||||
<para>MD5 sum: <literal>&grub-md5;</literal></para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>Gzip (&gzip-version;) - <token>&gzip-size;</token>:</term>
|
||||
<listitem>
|
||||
<para>Home page: <ulink url="&gzip-home;"/></para>
|
||||
<para>Download: <ulink url="&gzip-url;"/></para>
|
||||
<para>MD5 sum: <literal>&gzip-md5;</literal></para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>Iana-Etc (&iana-etc-version;) - <token>&iana-etc-size;</token>:</term>
|
||||
<listitem>
|
||||
<para>Home page: <ulink url="&iana-etc-home;"/></para>
|
||||
<para>Download: <ulink url="&iana-etc-url;"/></para>
|
||||
<para>MD5 sum: <literal>&iana-etc-md5;</literal></para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>Inetutils (&inetutils-version;) - <token>&inetutils-size;</token>:</term>
|
||||
<listitem>
|
||||
<para>Home page: <ulink url="&inetutils-home;"/></para>
|
||||
<para>Download: <ulink url="&inetutils-url;"/></para>
|
||||
<para>MD5 sum: <literal>&inetutils-md5;</literal></para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>Intltool (&intltool-version;) - <token>&intltool-size;</token>:</term>
|
||||
<listitem>
|
||||
<para>Home page: <ulink url="&intltool-home;"/></para>
|
||||
<para>Download: <ulink url="&intltool-url;"/></para>
|
||||
<para>MD5 sum: <literal>&intltool-md5;</literal></para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>IPRoute2 (&iproute2-version;) - <token>&iproute2-size;</token>:</term>
|
||||
<listitem>
|
||||
<para>Home page: <ulink url="&iproute2-home;"/></para>
|
||||
<para>Download: <ulink url="&iproute2-url;"/></para>
|
||||
<para>MD5 sum: <literal>&iproute2-md5;</literal></para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>Kbd (&kbd-version;) - <token>&kbd-size;</token>:</term>
|
||||
<listitem>
|
||||
<para>Home page: <ulink url="&kbd-home;"/></para>
|
||||
<para>Download: <ulink url="&kbd-url;"/></para>
|
||||
<para>MD5 sum: <literal>&kbd-md5;</literal></para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>Kmod (&kmod-version;) - <token>&kmod-size;</token>:</term>
|
||||
<listitem>
|
||||
<para>Home page: <ulink url="&kmod-home;"/></para>
|
||||
<para>Download: <ulink url="&kmod-url;"/></para>
|
||||
<para>MD5 sum: <literal>&kmod-md5;</literal></para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>Less (&less-version;) - <token>&less-size;</token>:</term>
|
||||
<listitem>
|
||||
<para>Home page: <ulink url="&less-home;"/></para>
|
||||
<para>Download: <ulink url="&less-url;"/></para>
|
||||
<para>MD5 sum: <literal>&less-md5;</literal></para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>Libcap (&libcap-version;) - <token>&libcap-size;</token>:</term>
|
||||
<listitem>
|
||||
<para>Home page: <ulink url="&libcap-home;"/></para>
|
||||
<para>Download: <ulink url="&libcap-url;"/></para>
|
||||
<para>MD5 sum: <literal>&libcap-md5;</literal></para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>Libpipeline (&libpipeline-version;) - <token>&libpipeline-size;</token>:</term>
|
||||
<listitem>
|
||||
<para>Home page: <ulink url="&libpipeline-home;"/></para>
|
||||
<para>Download: <ulink url="&libpipeline-url;"/></para>
|
||||
<para>MD5 sum: <literal>&libpipeline-md5;</literal></para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>Libtool (&libtool-version;) - <token>&libtool-size;</token>:</term>
|
||||
<listitem>
|
||||
<para>Home page: <ulink url="&libtool-home;"/></para>
|
||||
<para>Download: <ulink url="&libtool-url;"/></para>
|
||||
<para>MD5 sum: <literal>&libtool-md5;</literal></para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>Linux (&linux-version;) - <token>&linux-size;</token>:</term>
|
||||
<listitem>
|
||||
<para>Home page: <ulink url="&linux-home;"/></para>
|
||||
<para>Download: <ulink url="&linux-url;"/></para>
|
||||
<para>MD5 sum: <literal>&linux-md5;</literal></para>
|
||||
|
||||
<note>
|
||||
<para>The Linux kernel is updated relatively often, many times due to
|
||||
discoveries of security vulnerabilities. The latest available
|
||||
&linux-major-version;.&linux-minor-version;.x kernel version should be
|
||||
used, unless the errata page says otherwise.</para>
|
||||
|
||||
<para>For users with limited speed or expensive bandwidth who wish to
|
||||
update the Linux kernel, a baseline version of the package and
|
||||
patches can be downloaded separately. This may save some time or
|
||||
cost for a subsequent patch level upgrade within a minor release.
|
||||
</para>
|
||||
|
||||
</note>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>M4 (&m4-version;) - <token>&m4-size;</token>:</term>
|
||||
<listitem>
|
||||
<para>Home page: <ulink url="&m4-home;"/></para>
|
||||
<para>Download: <ulink url="&m4-url;"/></para>
|
||||
<para>MD5 sum: <literal>&m4-md5;</literal></para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>Make (&make-version;) - <token>&make-size;</token>:</term>
|
||||
<listitem>
|
||||
<para>Home page: <ulink url="&make-home;"/></para>
|
||||
<para>Download: <ulink url="&make-url;"/></para>
|
||||
<para>MD5 sum: <literal>&make-md5;</literal></para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>Man-DB (&man-db-version;) - <token>&man-db-size;</token>:</term>
|
||||
<listitem>
|
||||
<para>Home page: <ulink url="&man-db-home;"/></para>
|
||||
<para>Download: <ulink url="&man-db-url;"/></para>
|
||||
<para>MD5 sum: <literal>&man-db-md5;</literal></para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>Man-pages (&man-pages-version;) - <token>&man-pages-size;</token>:</term>
|
||||
<listitem>
|
||||
<para>Home page: <ulink url="&man-pages-home;"/></para>
|
||||
<para>Download: <ulink url="&man-pages-url;"/></para>
|
||||
<para>MD5 sum: <literal>&man-pages-md5;</literal></para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>MPC (&mpc-version;) - <token>&mpc-size;</token>:</term>
|
||||
<listitem>
|
||||
<para>Home page: <ulink url="&mpc-home;"/></para>
|
||||
<para>Download: <ulink url="&mpc-url;"/></para>
|
||||
<para>MD5 sum: <literal>&mpc-md5;</literal></para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>MPFR (&mpfr-version;) - <token>&mpfr-size;</token>:</term>
|
||||
<listitem>
|
||||
<para>Home page: <ulink url="&mpfr-home;"/></para>
|
||||
<para>Download: <ulink url="&mpfr-url;"/></para>
|
||||
<para>MD5 sum: <literal>&mpfr-md5;</literal></para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>Ncurses (&ncurses-version;) - <token>&ncurses-size;</token>:</term>
|
||||
<listitem>
|
||||
<para>Home page: <ulink url="&ncurses-home;"/></para>
|
||||
<para>Download: <ulink url="&ncurses-url;"/></para>
|
||||
<para>MD5 sum: <literal>&ncurses-md5;</literal></para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<!-- FIXME:
|
||||
<varlistentry>
|
||||
<term>Ncurses Rollup Patch (&ncurses-date;) - 328 KB:</term>
|
||||
<listitem>
|
||||
<para><ulink url="ftp://invisible-island.net/ncurses/&ncurses-version;/"/></para>
|
||||
|
||||
<note>
|
||||
<para>Ncurses Rollup Patch (&ncurses-date;) may no longer be available
|
||||
at the listed location. The site administrators of the master download
|
||||
location occasionally remove older versions when new ones are released.
|
||||
There is no alternative download location yet.</para>
|
||||
</note>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
-->
|
||||
|
||||
<varlistentry>
|
||||
<term>Patch (&patch-version;) - <token>&patch-size;</token>:</term>
|
||||
<listitem>
|
||||
<para>Home page: <ulink url="&patch-home;"/></para>
|
||||
<para>Download: <ulink url="&patch-url;"/></para>
|
||||
<para>MD5 sum: <literal>&patch-md5;</literal></para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>Perl (&perl-version;) - <token>&perl-size;</token>:</term>
|
||||
<listitem>
|
||||
<para>Home page: <ulink url="&perl-home;"/></para>
|
||||
<para>Download: <ulink url="&perl-url;"/></para>
|
||||
<para>MD5 sum: <literal>&perl-md5;</literal></para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>Pkg-config (&pkgconfig-version;) - <token>&pkgconfig-size;</token>:</term>
|
||||
<listitem>
|
||||
<para>Home page: <ulink url="&pkgconfig-home;"/></para>
|
||||
<para>Download: <ulink url="&pkgconfig-url;"/></para>
|
||||
<para>MD5 sum: <literal>&pkgconfig-md5;</literal></para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>Procps (&procps-ng-version;) - <token>&procps-ng-size;</token>:</term>
|
||||
<listitem>
|
||||
<para>Home page: <ulink url="&procps-ng-home;"/></para>
|
||||
<para>Download: <ulink url="&procps-ng-url;"/></para>
|
||||
<para>MD5 sum: <literal>&procps-ng-md5;</literal></para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>Psmisc (&psmisc-version;) - <token>&psmisc-size;</token>:</term>
|
||||
<listitem>
|
||||
<para>Home page: <ulink url="&psmisc-home;"/></para>
|
||||
<para>Download: <ulink url="&psmisc-url;"/></para>
|
||||
<para>MD5 sum: <literal>&psmisc-md5;</literal></para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>Readline (&readline-version;) - <token>&readline-size;</token>:</term>
|
||||
<listitem>
|
||||
<para>Home page: <ulink url="&readline-home;"/></para>
|
||||
<para>Download: <ulink url="&readline-url;"/></para>
|
||||
<para>MD5 sum: <literal>&readline-md5;</literal></para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>Sed (&sed-version;) - <token>&sed-size;</token>:</term>
|
||||
<listitem>
|
||||
<para>Home page: <ulink url="&sed-home;"/></para>
|
||||
<para>Download: <ulink url="&sed-url;"/></para>
|
||||
<para>MD5 sum: <literal>&sed-md5;</literal></para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>Shadow (&shadow-version;) - <token>&shadow-size;</token>:</term>
|
||||
<listitem>
|
||||
<!-- <para>Home page: <ulink url="&shadow-home;"/></para> -->
|
||||
<para>Download: <ulink url="&shadow-url;"/></para>
|
||||
<para>MD5 sum: <literal>&shadow-md5;</literal></para>
|
||||
|
||||
<!-- Using http://cdn.debian.net/debian/pool/main/s/shadow/
|
||||
for now since alioth has not reconstituted shadow -->
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>Systemd (&systemd-version;) - <token>&systemd-size;</token>:</term>
|
||||
<listitem>
|
||||
<para>Home page: <ulink url="&systemd-home;"/></para>
|
||||
<para>Download: <ulink url="&systemd-url;"/></para>
|
||||
<para>MD5 sum: <literal>&systemd-md5;</literal></para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>Tar (&tar-version;) - <token>&tar-size;</token>:</term>
|
||||
<listitem>
|
||||
<para>Home page: <ulink url="&tar-home;"/></para>
|
||||
<para>Download: <ulink url="&tar-url;"/></para>
|
||||
<para>MD5 sum: <literal>&tar-md5;</literal></para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>Tcl (&tcl-version;) - <token>&tcl-size;</token>:</term>
|
||||
<listitem>
|
||||
<para>Home page: <ulink url="&tcl-home;"/></para>
|
||||
<para>Download: <ulink url="&tcl-url;"/></para>
|
||||
<para>MD5 sum: <literal>&tcl-md5;</literal></para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>Texinfo (&texinfo-version;) - <token>&texinfo-size;</token>:</term>
|
||||
<listitem>
|
||||
<para>Home page: <ulink url="&texinfo-home;"/></para>
|
||||
<para>Download: <ulink url="&texinfo-url;"/></para>
|
||||
<para>MD5 sum: <literal>&texinfo-md5;</literal></para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>Time Zone Data (&tzdata-version;) - <token>&tzdata-size;</token>:</term>
|
||||
<listitem>
|
||||
<para>Home page: <ulink url="&tzdata-home;"/></para>
|
||||
<para>Download: <ulink url="&tzdata-url;"/></para>
|
||||
<para>MD5 sum: <literal>&tzdata-md5;</literal></para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>Util-linux (&util-linux-version;) - <token>&util-linux-size;</token>:</term>
|
||||
<listitem>
|
||||
<para>Home page: <ulink url="&util-linux-home;"/></para>
|
||||
<para>Download: <ulink url="&util-linux-url;"/></para>
|
||||
<para>MD5 sum: <literal>&util-linux-md5;</literal></para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>Vim (&vim-version;) - <token>&vim-size;</token>:</term>
|
||||
<listitem>
|
||||
<para>Home page: <ulink url="&vim-home;"/></para>
|
||||
<para>Download: <ulink url="&vim-url;"/></para>
|
||||
<para>MD5 sum: <literal>&vim-md5;</literal></para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>XML::Parser (&xml-parser-version;) - <token>&xml-parser-size;</token>:</term>
|
||||
<listitem>
|
||||
<para>Home page: <ulink url="&xml-parser-home;"/></para>
|
||||
<para>Download: <ulink url="&xml-parser-url;"/></para>
|
||||
<para>MD5 sum: <literal>&xml-parser-md5;</literal></para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>Xz Utils (&xz-version;) - <token>&xz-size;</token>:</term>
|
||||
<listitem>
|
||||
<para>Home page: <ulink url="&xz-home;"/></para>
|
||||
<para>Download: <ulink url="&xz-url;"/></para>
|
||||
<para>MD5 sum: <literal>&xz-md5;</literal></para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>Zlib (&zlib-version;) - <token>&zlib-size;</token>:</term>
|
||||
<listitem>
|
||||
<para>Home page: <ulink url="&zlib-home;"/></para>
|
||||
<para>Download: <ulink url="&zlib-url;"/></para>
|
||||
<para>MD5 sum: <literal>&zlib-md5;</literal></para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
</variablelist>
|
||||
|
||||
<para>Total size of these packages: about <returnvalue/></para>
|
||||
|
||||
</sect1>
|
|
@ -1,118 +0,0 @@
|
|||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
|
||||
<!ENTITY % general-entities SYSTEM "../general.ent">
|
||||
%general-entities;
|
||||
]>
|
||||
|
||||
<sect1 id="materials-patches">
|
||||
<?dbhtml filename="patches.html"?>
|
||||
|
||||
<title>Needed Patches</title>
|
||||
|
||||
<para>In addition to the packages, several patches are also required.
|
||||
These patches correct any mistakes in the packages that should be
|
||||
fixed by the maintainer. The patches also make small modifications to
|
||||
make the packages easier to work with. The following patches will be
|
||||
needed to build an LFS system:</para>
|
||||
|
||||
<variablelist role="materials">
|
||||
|
||||
<varlistentry>
|
||||
<term>Bash Upstream Fixes Patch - <token>&bash-fixes-patch-size;</token>:</term>
|
||||
<listitem>
|
||||
<para>Download: <ulink url="&patches-root;&bash-fixes-patch;"/></para>
|
||||
<para>MD5 sum: <literal>&bash-fixes-patch-md5;</literal></para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>Bc Memory Leak Patch - <token>&bc-memory-leak-patch-size;</token>:</term>
|
||||
<listitem>
|
||||
<para>Download: <ulink url="&patches-root;&bc-memory-leak-patch;"/></para>
|
||||
<para>MD5 sum: <literal>&bc-memory-leak-patch-md5;</literal></para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term>Bzip2 Documentation Patch - <token>&bzip2-docs-patch-size;</token>:</term>
|
||||
<listitem>
|
||||
<para>Download: <ulink url="&patches-root;&bzip2-docs-patch;"/></para>
|
||||
<para>MD5 sum: <literal>&bzip2-docs-patch-md5;</literal></para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>Coreutils Internationalization Fixes Patch - <token>&coreutils-i18n-patch-size;</token>:</term>
|
||||
<listitem>
|
||||
<para>Download: <ulink url="&patches-root;&coreutils-i18n-patch;"/></para>
|
||||
<para>MD5 sum: <literal>&coreutils-i18n-patch-md5;</literal></para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>Glibc FHS Patch - <token>&glibc-fhs-patch-size;</token>:</term>
|
||||
<listitem>
|
||||
<para>Download: <ulink url="&patches-root;&glibc-fhs-patch;"/></para>
|
||||
<para>MD5 sum: <literal>&glibc-fhs-patch-md5;</literal></para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>Glibc i386 Patch - <token>&glibc-upstream-patch-size;</token>:</term>
|
||||
<listitem>
|
||||
<para>Download: <ulink url="&patches-root;&glibc-upstream-patch;"/></para>
|
||||
<para>MD5 sum: <literal>&glibc-upstream-patch-md5;</literal></para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>Glibc Largefile Patch - <token>&glibc-largefile-patch-size;</token>:</term>
|
||||
<listitem>
|
||||
<para>Download: <ulink url="&patches-root;&glibc-largefile-patch;"/></para>
|
||||
<para>MD5 sum: <literal>&glibc-largefile-patch-md5;</literal></para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>Kbd Backspace/Delete Fix Patch - <token>&kbd-backspace-patch-size;</token>:</term>
|
||||
<listitem>
|
||||
<para>Download: <ulink url="&patches-root;&kbd-backspace-patch;"/></para>
|
||||
<para>MD5 sum: <literal>&kbd-backspace-patch-md5;</literal></para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>MPFR Upstream Fixes Patch - <token>&mpfr-upstream-patch-size;</token>:</term>
|
||||
<listitem>
|
||||
<para>Download: <ulink url="&patches-root;&mpfr-upstream-patch;"/></para>
|
||||
<para>MD5 sum: <literal>&mpfr-upstream-patch-md5;</literal></para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>Readline Upstream Fixes Patch - <token>&readline-fixes-patch-size;</token>:</term>
|
||||
<listitem>
|
||||
<para>Download: <ulink url="&patches-root;&readline-fixes-patch;"/></para>
|
||||
<para>MD5 sum: <literal>&readline-fixes-patch-md5;</literal></para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>Systemd Compat Patch - <token>&systemd-compat-patch-size;</token>:</term>
|
||||
<listitem>
|
||||
<para>Download: <ulink url="&patches-root;&systemd-compat-patch;"/></para>
|
||||
<para>MD5 sum: <literal>&systemd-compat-patch-md5;</literal></para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
|
||||
<para>Total size of these patches: about <returnvalue/></para>
|
||||
|
||||
<para>In addition to the above required patches, there exist a number of
|
||||
optional patches created by the LFS community. These optional patches
|
||||
solve minor problems or enable functionality that is not enabled by
|
||||
default. Feel free to peruse the patches database located at
|
||||
<ulink url="&lfs-root;patches/downloads/"/> and acquire any additional
|
||||
patches to suit your system needs.</para>
|
||||
|
||||
</sect1>
|
|
@ -1,39 +0,0 @@
|
|||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
|
||||
<!ENTITY % general-entities SYSTEM "../general.ent">
|
||||
%general-entities;
|
||||
]>
|
||||
|
||||
<sect1 id="prepare-aboutlfs">
|
||||
<?dbhtml filename="aboutlfs.html"?>
|
||||
|
||||
<title>About $LFS</title>
|
||||
|
||||
<para>Throughout this book, the environment variable <envar>LFS</envar> will
|
||||
be used. It is paramount that this variable is always defined.
|
||||
It should be set to the mount point chosen for the LFS partition.
|
||||
Check that the <envar>LFS</envar> variable is set up properly with:</para>
|
||||
|
||||
<screen role="nodump"><userinput>echo $LFS</userinput></screen>
|
||||
|
||||
<para>Make sure the output shows the path to the LFS partition's mount
|
||||
point, which is <filename class="directory">/mnt/lfs</filename> if the
|
||||
provided example was followed. If the output is incorrect, the
|
||||
variable can be set with:</para>
|
||||
|
||||
<screen role="nodump"><userinput>export LFS=/mnt/lfs</userinput></screen>
|
||||
|
||||
<para>Having this variable set is beneficial in that commands such as
|
||||
<command>mkdir $LFS/tools</command> can be typed literally. The shell
|
||||
will automatically replace <quote>$LFS</quote> with
|
||||
<quote>/mnt/lfs</quote> (or whatever the variable was set to) when it
|
||||
processes the command line.</para>
|
||||
|
||||
<para>Do not forget to check that <envar>$LFS</envar> is set whenever
|
||||
you leave and reenter the current working environment (as when doing a
|
||||
<command>su</command> to <systemitem class="username">root</systemitem>
|
||||
or another user).</para>
|
||||
|
||||
</sect1>
|
||||
|
|
@ -1,61 +0,0 @@
|
|||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
|
||||
<!ENTITY % general-entities SYSTEM "../general.ent">
|
||||
%general-entities;
|
||||
]>
|
||||
|
||||
<sect1 id="prepare-aboutsbus">
|
||||
<?dbhtml filename="aboutsbus.html"?>
|
||||
|
||||
<title>About SBUs</title>
|
||||
|
||||
<para>Many people would like to know beforehand approximately how long
|
||||
it takes to compile and install each package. Because Linux From
|
||||
Scratch can be built on many different systems, it is impossible to
|
||||
provide accurate time estimates. The biggest package (Glibc) will
|
||||
take approximately 20 minutes on the fastest systems, but could take
|
||||
up to three days on slower systems! Instead of providing actual times,
|
||||
the Standard Build Unit (SBU) measure will be
|
||||
used instead.</para>
|
||||
|
||||
<para>The SBU measure works as follows. The first package to be compiled
|
||||
from this book is Binutils in <xref linkend="chapter-temporary-tools"/>. The
|
||||
time it takes to compile this package is what will be referred to as the
|
||||
Standard Build Unit or SBU. All other compile times will be expressed relative
|
||||
to this time.</para>
|
||||
|
||||
<para>For example, consider a package whose compilation time is 4.5
|
||||
SBUs. This means that if a system took 10 minutes to compile and
|
||||
install the first pass of Binutils, it will take
|
||||
<emphasis>approximately</emphasis> 45 minutes to build this example package.
|
||||
Fortunately, most build times are shorter than the one for Binutils.</para>
|
||||
|
||||
<para>In general, SBUs are not entirely accurate because they depend on many
|
||||
factors, including the host system's version of GCC. They are provided here
|
||||
to give an estimate of how long it might take to install a package, but the
|
||||
numbers can vary by as much as dozens of minutes in some cases.</para>
|
||||
|
||||
<note>
|
||||
<para>For many modern systems with multiple processors (or cores) the
|
||||
compilation time for a package can be reduced by performing a "parallel
|
||||
make" by either setting an environment variable or telling the
|
||||
<command>make</command> program how many processors are available. For
|
||||
instance, a Core2Duo can support two simultaneous processes with:</para>
|
||||
|
||||
<screen><userinput>export MAKEFLAGS='-j 2'</userinput></screen>
|
||||
|
||||
<para>or just building with:</para>
|
||||
|
||||
<screen><userinput>make -j2</userinput></screen>
|
||||
|
||||
<para>When multiple processors are used in this way, the SBU units in the
|
||||
book will vary even more than they normally would. In some cases, the make
|
||||
step will simply fail. Analyzing the output of the build process will also
|
||||
be more difficult because the lines of different processes will be
|
||||
interleaved. If you run into a problem with a build step, revert back to a
|
||||
single processor build to properly analyze the error messages.</para>
|
||||
</note>
|
||||
|
||||
</sect1>
|
||||
|
|
@ -1,52 +0,0 @@
|
|||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
|
||||
<!ENTITY % general-entities SYSTEM "../general.ent">
|
||||
%general-entities;
|
||||
]>
|
||||
|
||||
<sect1 id="prepare-abouttestsuites">
|
||||
<?dbhtml filename="abouttestsuites.html"?>
|
||||
|
||||
<title>About the Test Suites</title>
|
||||
|
||||
<para>Most packages provide a test suite. Running the test suite for a
|
||||
newly built package is a good idea because it can provide a <quote>sanity
|
||||
check</quote> indicating that everything compiled correctly. A test suite
|
||||
that passes its set of checks usually proves that the package is
|
||||
functioning as the developer intended. It does not, however, guarantee
|
||||
that the package is totally bug free.</para>
|
||||
|
||||
<para>Some test suites are more important than others. For example,
|
||||
the test suites for the core toolchain packages—GCC, Binutils, and
|
||||
Glibc—are of the utmost importance due to their central role in a
|
||||
properly functioning system. The test suites for GCC and Glibc can
|
||||
take a very long time to complete, especially on slower hardware, but
|
||||
are strongly recommended.</para>
|
||||
|
||||
<note>
|
||||
<para>Experience has shown that there is little to be gained from running
|
||||
the test suites in <xref linkend="chapter-temporary-tools"/>. There can be
|
||||
no escaping the fact that the host system always exerts some influence on
|
||||
the tests in that chapter, often causing inexplicable failures. Because
|
||||
the tools built in <xref linkend="chapter-temporary-tools"/> are temporary
|
||||
and eventually discarded, we do not recommend running the test suites in
|
||||
<xref linkend="chapter-temporary-tools"/> for the average reader. The
|
||||
instructions for running those test suites are provided for the benefit of
|
||||
testers and developers, but they are strictly optional.</para>
|
||||
</note>
|
||||
|
||||
<para>A common issue with running the test suites for Binutils and GCC
|
||||
is running out of pseudo terminals (PTYs). This can result in a high
|
||||
number of failing tests. This may happen for several reasons, but the
|
||||
most likely cause is that the host system does not have the
|
||||
<systemitem class="filesystem">devpts</systemitem> file system set up
|
||||
correctly. This issue is discussed in greater detail at
|
||||
<ulink url="&lfs-root;lfs/faq.html#no-ptys"/>.</para>
|
||||
|
||||
<para>Sometimes package test suites will fail, but for reasons which the
|
||||
developers are aware of and have deemed non-critical. Consult the logs located
|
||||
at <ulink url="&test-results;"/> to verify whether or not these failures are
|
||||
expected. This site is valid for all tests throughout this book.</para>
|
||||
|
||||
</sect1>
|
|
@ -1,102 +0,0 @@
|
|||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
|
||||
<!ENTITY % general-entities SYSTEM "../general.ent">
|
||||
%general-entities;
|
||||
]>
|
||||
|
||||
<sect1 id="ch-tools-addinguser">
|
||||
<?dbhtml filename="addinguser.html"?>
|
||||
|
||||
<title>Adding the LFS User</title>
|
||||
|
||||
<para>When logged in as user <systemitem class="username">root</systemitem>,
|
||||
making a single mistake can damage or destroy a system. Therefore, we
|
||||
recommend building the packages in this chapter as an unprivileged user.
|
||||
You could use your own user name, but to make it easier to set up a clean
|
||||
working environment, create a new user called <systemitem
|
||||
class="username">lfs</systemitem> as a member of a new group (also named
|
||||
<systemitem class="groupname">lfs</systemitem>) and use this user during
|
||||
the installation process. As <systemitem class="username">root</systemitem>,
|
||||
issue the following commands to add the new user:</para>
|
||||
|
||||
<screen><userinput>groupadd lfs
|
||||
useradd -s /bin/bash -g lfs -m -k /dev/null lfs</userinput></screen>
|
||||
|
||||
<variablelist>
|
||||
<title>The meaning of the command line options:</title>
|
||||
|
||||
<varlistentry>
|
||||
<term><parameter>-s /bin/bash</parameter></term>
|
||||
<listitem>
|
||||
<para>This makes <command>bash</command> the default shell for user
|
||||
<systemitem class="username">lfs</systemitem>.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><parameter>-g lfs</parameter></term>
|
||||
<listitem>
|
||||
<para>This option adds user <systemitem class="username">lfs</systemitem>
|
||||
to group <systemitem class="groupname">lfs</systemitem>.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><parameter>-m</parameter></term>
|
||||
<listitem>
|
||||
<para>This creates a home directory for <systemitem
|
||||
class="username">lfs</systemitem>.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><parameter>-k /dev/null</parameter></term>
|
||||
<listitem>
|
||||
<para>This parameter prevents possible copying of files from a skeleton
|
||||
directory (default is <filename class="directory">/etc/skel</filename>)
|
||||
by changing the input location to the special null device.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><parameter>lfs</parameter></term>
|
||||
<listitem>
|
||||
<para>This is the actual name for the created group and user.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
</variablelist>
|
||||
|
||||
<para>To log in as <systemitem class="username">lfs</systemitem> (as opposed
|
||||
to switching to user <systemitem class="username">lfs</systemitem> when logged
|
||||
in as <systemitem class="username">root</systemitem>, which does not require
|
||||
the <systemitem class="username">lfs</systemitem> user to have a password),
|
||||
give <systemitem class="username">lfs</systemitem> a password:</para>
|
||||
|
||||
<screen role="nodump"><userinput>passwd lfs</userinput></screen>
|
||||
|
||||
<para>Grant <systemitem class="username">lfs</systemitem> full access to
|
||||
<filename class="directory">$LFS/tools</filename> by making
|
||||
<systemitem class="username">lfs</systemitem> the directory owner:</para>
|
||||
|
||||
<screen><userinput>chown -v lfs $LFS/tools</userinput></screen>
|
||||
|
||||
<para>If a separate working directory was created as suggested, give
|
||||
user <systemitem class="username">lfs</systemitem> ownership of this
|
||||
directory:</para>
|
||||
|
||||
<screen><userinput>chown -v lfs $LFS/sources</userinput></screen>
|
||||
|
||||
<para>Next, login as user <systemitem class="username">lfs</systemitem>.
|
||||
This can be done via a virtual console, through a display manager, or with
|
||||
the following substitute user command:</para>
|
||||
|
||||
<screen role="nodump"><userinput>su - lfs</userinput></screen>
|
||||
|
||||
<para>The <quote><parameter>-</parameter></quote> instructs
|
||||
<command>su</command> to start a login shell as opposed to a non-login shell.
|
||||
The difference between these two types of shells can be found in detail in
|
||||
<filename>bash(1)</filename> and <command>info bash</command>.</para>
|
||||
|
||||
</sect1>
|
|
@ -1,22 +0,0 @@
|
|||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
|
||||
<!ENTITY % general-entities SYSTEM "../general.ent">
|
||||
%general-entities;
|
||||
]>
|
||||
|
||||
<chapter id="chapter-final-preps" xreflabel="Chapter 4">
|
||||
<?dbhtml dir="chapter04"?>
|
||||
<?dbhtml filename="chapter04.html"?>
|
||||
|
||||
<title>Final Preparations</title>
|
||||
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="introduction.xml"/>
|
||||
<!--<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="aboutlfs.xml"/>-->
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="creatingtoolsdir.xml"/>
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="addinguser.xml"/>
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="settingenviron.xml"/>
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="aboutsbus.xml"/>
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="abouttestsuites.xml"/>
|
||||
|
||||
</chapter>
|
|
@ -1,48 +0,0 @@
|
|||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
|
||||
<!ENTITY % general-entities SYSTEM "../general.ent">
|
||||
%general-entities;
|
||||
]>
|
||||
|
||||
<sect1 id="ch-tools-creatingtoolsdir">
|
||||
<?dbhtml filename="creatingtoolsdir.html"?>
|
||||
|
||||
<title>Creating the $LFS/tools Directory</title>
|
||||
|
||||
<para>All programs compiled in <xref linkend="chapter-temporary-tools"/>
|
||||
will be installed under <filename class="directory">$LFS/tools</filename>
|
||||
to keep them separate from the programs compiled in <xref
|
||||
linkend="chapter-building-system"/>. The programs compiled here are
|
||||
temporary tools and will not be a part of the final LFS system. By keeping
|
||||
these programs in a separate directory, they can easily be discarded later
|
||||
after their use. This also prevents these programs from ending up in the
|
||||
host production directories (easy to do by accident in <xref
|
||||
linkend="chapter-temporary-tools"/>).</para>
|
||||
|
||||
<para>Create the required directory by running the following as
|
||||
<systemitem class="username">root</systemitem>:</para>
|
||||
|
||||
<screen><userinput>mkdir -v $LFS/tools</userinput></screen>
|
||||
|
||||
<para>The next step is to create a <filename class="symlink">/tools</filename>
|
||||
symlink on the host system. This will point to the newly-created directory on
|
||||
the LFS partition. Run this command as <systemitem
|
||||
class="username">root</systemitem> as well:</para>
|
||||
|
||||
<screen><userinput>ln -sv $LFS/tools /</userinput></screen>
|
||||
|
||||
<note>
|
||||
<para>The above command is correct. The <command>ln</command> command
|
||||
has a few syntactic variations, so be sure to check
|
||||
<command>info coreutils ln</command> and <filename>ln(1)</filename>
|
||||
before reporting what you may think is an error.</para>
|
||||
</note>
|
||||
|
||||
<para>The created symlink enables the toolchain to be compiled so that it
|
||||
always refers to <filename class="directory">/tools</filename>, meaning
|
||||
that the compiler, assembler, and linker will work both in Chapter 5
|
||||
(when we are still using some tools from the host) and in the next (when
|
||||
we are <quote>chrooted</quote> to the LFS partition).</para>
|
||||
|
||||
</sect1>
|
|
@ -1,22 +0,0 @@
|
|||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
|
||||
<!ENTITY % general-entities SYSTEM "../general.ent">
|
||||
%general-entities;
|
||||
]>
|
||||
|
||||
<sect1 id="prepare-introduction">
|
||||
<?dbhtml filename="introduction.html"?>
|
||||
|
||||
<title>Introduction</title>
|
||||
|
||||
<para>In this chapter, we will perform a few additional tasks to prepare
|
||||
for building the temporary system. We will create a directory in
|
||||
<filename class="directory">$LFS</filename> for the installation of the
|
||||
temporary tools, add an unprivileged user to reduce risk,
|
||||
and create an appropriate build environment for that user. We will also
|
||||
explain the unit of time we use to measure how long LFS packages take to
|
||||
build, or <quote>SBUs</quote>, and give some information about package
|
||||
test suites.</para>
|
||||
|
||||
</sect1>
|
|
@ -1,94 +0,0 @@
|
|||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
|
||||
<!ENTITY % general-entities SYSTEM "../general.ent">
|
||||
%general-entities;
|
||||
]>
|
||||
|
||||
<sect1 id="ch-tools-settingenviron">
|
||||
<?dbhtml filename="settingenvironment.html"?>
|
||||
|
||||
<title>Setting Up the Environment</title>
|
||||
|
||||
<para>Set up a good working environment by creating two new startup files
|
||||
for the <command>bash</command> shell. While logged in as user
|
||||
<systemitem class="username">lfs</systemitem>, issue the following command
|
||||
to create a new <filename>.bash_profile</filename>:</para>
|
||||
|
||||
<screen><userinput>cat > ~/.bash_profile << "EOF"
|
||||
<literal>exec env -i HOME=$HOME TERM=$TERM PS1='\u:\w\$ ' /bin/bash</literal>
|
||||
EOF</userinput></screen>
|
||||
|
||||
<para>When logged on as user <systemitem class="username">lfs</systemitem>,
|
||||
the initial shell is usually a <emphasis>login</emphasis> shell which reads
|
||||
the <filename>/etc/profile</filename> of the host (probably containing some
|
||||
settings and environment variables) and then <filename>.bash_profile</filename>.
|
||||
The <command>exec env -i.../bin/bash</command> command in the
|
||||
<filename>.bash_profile</filename> file replaces the running shell with a new
|
||||
one with a completely empty environment, except for the <envar>HOME</envar>,
|
||||
<envar>TERM</envar>, and <envar>PS1</envar> variables. This ensures that no
|
||||
unwanted and potentially hazardous environment variables from the host system
|
||||
leak into the build environment. The technique used here achieves the goal of
|
||||
ensuring a clean environment.</para>
|
||||
|
||||
<para>The new instance of the shell is a <emphasis>non-login</emphasis>
|
||||
shell, which does not read the <filename>/etc/profile</filename> or
|
||||
<filename>.bash_profile</filename> files, but rather reads the
|
||||
<filename>.bashrc</filename> file instead. Create the
|
||||
<filename>.bashrc</filename> file now:</para>
|
||||
|
||||
<screen><userinput>cat > ~/.bashrc << "EOF"
|
||||
<literal>set +h
|
||||
umask 022
|
||||
LFS=/mnt/lfs
|
||||
LC_ALL=POSIX
|
||||
LFS_TGT=$(uname -m)-lfs-linux-gnu
|
||||
PATH=/tools/bin:/bin:/usr/bin
|
||||
export LFS LC_ALL LFS_TGT PATH</literal>
|
||||
EOF</userinput></screen>
|
||||
|
||||
<para>The <command>set +h</command> command turns off
|
||||
<command>bash</command>'s hash function. Hashing is ordinarily a useful
|
||||
feature—<command>bash</command> uses a hash table to remember the
|
||||
full path of executable files to avoid searching the <envar>PATH</envar>
|
||||
time and again to find the same executable. However, the new tools should
|
||||
be used as soon as they are installed. By switching off the hash function,
|
||||
the shell will always search the <envar>PATH</envar> when a program is to
|
||||
be run. As such, the shell will find the newly compiled tools in
|
||||
<filename class="directory">$LFS/tools</filename> as soon as they are
|
||||
available without remembering a previous version of the same program in a
|
||||
different location.</para>
|
||||
|
||||
<para>Setting the user file-creation mask (umask) to 022 ensures that newly
|
||||
created files and directories are only writable by their owner, but are
|
||||
readable and executable by anyone (assuming default modes are used by the
|
||||
<function>open(2)</function> system call, new files will end up with permission
|
||||
mode 644 and directories with mode 755).</para>
|
||||
|
||||
<para>The <envar>LFS</envar> variable should be set to the chosen mount
|
||||
point.</para>
|
||||
|
||||
<para>The <envar>LC_ALL</envar> variable controls the localization of certain
|
||||
programs, making their messages follow the conventions of a specified country.
|
||||
Setting <envar>LC_ALL</envar> to <quote>POSIX</quote> or <quote>C</quote>
|
||||
(the two are equivalent) ensures that everything will work as expected in
|
||||
the chroot environment.</para>
|
||||
|
||||
<para>The <envar>LFS_TGT</envar> variable sets a non-default, but compatible machine
|
||||
description for use when building our cross compiler and linker and when cross
|
||||
compiling our temporary toolchain. More information is contained in
|
||||
<xref linkend="ch-tools-toolchaintechnotes" role=""/>.</para>
|
||||
|
||||
<para>By putting <filename class="directory">/tools/bin</filename> ahead of the
|
||||
standard <envar>PATH</envar>, all the programs installed in <xref
|
||||
linkend="chapter-temporary-tools"/> are picked up by the shell immediately after
|
||||
their installation. This, combined with turning off hashing, limits the risk
|
||||
that old programs are used from the host when the same programs are available in
|
||||
the chapter 5 environment.</para>
|
||||
|
||||
<para>Finally, to have the environment fully prepared for building the
|
||||
temporary tools, source the just-created user profile:</para>
|
||||
|
||||
<screen><userinput>source ~/.bash_profile</userinput></screen>
|
||||
|
||||
</sect1>
|
|
@ -1,79 +0,0 @@
|
|||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
|
||||
<!ENTITY % general-entities SYSTEM "../general.ent">
|
||||
%general-entities;
|
||||
]>
|
||||
|
||||
<sect1 id="ch-tools-adjusting">
|
||||
<?dbhtml filename="adjusting.html"?>
|
||||
|
||||
<title>Adjusting the Toolchain</title>
|
||||
|
||||
<para>Now that the temporary C libraries have been installed, all
|
||||
tools compiled in the rest of this chapter should be linked against
|
||||
these libraries. In order to accomplish this, the cross-compiler's
|
||||
specs file needs to be adjusted to point to the new dynamic linker
|
||||
in <filename class="directory">/tools</filename>.</para>
|
||||
|
||||
<para>This is done by dumping the compiler's <quote>specs</quote> file to a
|
||||
location where it will look for it by default.
|
||||
A simple <command>sed</command> substitution then alters the
|
||||
dynamic linker that GCC will use. The principle here is to find all references
|
||||
to the dynamic linker file in <filename class="directory">/lib</filename>
|
||||
or possibly <filename class="directory">/lib64</filename> if the host system
|
||||
is 64-bit capable, and adjust them to point to the new location in
|
||||
<filename class="directory">/tools</filename>.</para>
|
||||
|
||||
<para>For the sake of accuracy, it is recommended to use a copy-and-paste
|
||||
method when issuing the following command. Be sure to visually inspect the
|
||||
specs file to verify that it has properly adjusted all references to the
|
||||
dynamic linker location. Refer to <xref
|
||||
linkend="ch-tools-toolchaintechnotes" role=","/> for the default name
|
||||
of the dynamic linker, if necessary.</para>
|
||||
|
||||
<!-- Ampersands are needed to allow copy and paste -->
|
||||
<screen><userinput>SPECS=`dirname $($LFS_TGT-gcc -print-libgcc-file-name)`/specs
|
||||
$LFS_TGT-gcc -dumpspecs | sed \
|
||||
-e 's@/lib\(64\)\?/ld@/tools&@g' \
|
||||
-e "/^\*cpp:$/{n;s,$, -isystem /tools/include,}" > $SPECS
|
||||
echo "New specs file is: $SPECS"
|
||||
unset SPECS</userinput></screen>
|
||||
|
||||
<caution>
|
||||
<para>At this point, it is imperative to stop and ensure that the basic
|
||||
functions (compiling and linking) of the new toolchain are working as
|
||||
expected. To perform a sanity check, run the following commands:</para>
|
||||
|
||||
<screen><userinput>echo 'int main(){}' > dummy.c
|
||||
$LFS_TGT-gcc -B/tools/lib dummy.c
|
||||
readelf -l a.out | grep ': /tools'</userinput></screen>
|
||||
|
||||
<para>If everything is working correctly, there should be no errors,
|
||||
and the output of the last command will be of the form:</para>
|
||||
|
||||
<screen><computeroutput>[Requesting program interpreter: /tools/lib/ld-linux.so.2]</computeroutput></screen>
|
||||
|
||||
<para>Note that <filename class="directory">/tools/lib</filename>, or
|
||||
<filename class="directory">/tools/lib64</filename> for 64-bit machines
|
||||
appears as the prefix of the dynamic linker.</para>
|
||||
|
||||
<para>If the output is not shown as above or there was no output at all,
|
||||
then something is wrong. Investigate and retrace the steps to find out
|
||||
where the problem is and correct it. This issue must be resolved before
|
||||
continuing on. Something may have gone wrong with the
|
||||
specs file amendment above. In this case, redo the specs file amendment,
|
||||
being careful to copy-and-paste the commands.</para>
|
||||
|
||||
<para>Once all is well, clean up the test files:</para>
|
||||
|
||||
<screen><userinput>rm -v dummy.c a.out</userinput></screen>
|
||||
|
||||
</caution>
|
||||
|
||||
<note><para>Building Binutils in the next section will serve as an additional check that
|
||||
the toolchain has been built properly. If Binutils fails to build, it is an
|
||||
indication that something has gone wrong with the previous Binutils, GCC, or Glibc
|
||||
installations.</para></note>
|
||||
|
||||
</sect1>
|
|
@ -1,101 +0,0 @@
|
|||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
|
||||
<!ENTITY % general-entities SYSTEM "../general.ent">
|
||||
%general-entities;
|
||||
]>
|
||||
|
||||
<sect1 id="ch-tools-bash" role="wrap">
|
||||
<?dbhtml filename="bash.html"?>
|
||||
|
||||
<sect1info condition="script">
|
||||
<productname>bash</productname>
|
||||
<productnumber>&bash-version;</productnumber>
|
||||
<address>&bash-url;</address>
|
||||
</sect1info>
|
||||
|
||||
<title>Bash-&bash-version;</title>
|
||||
|
||||
<indexterm zone="ch-tools-bash">
|
||||
<primary sortas="a-Bash">Bash</primary>
|
||||
<secondary>tools</secondary>
|
||||
</indexterm>
|
||||
|
||||
<sect2 role="package">
|
||||
<title/>
|
||||
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
|
||||
href="../chapter06/bash.xml"
|
||||
xpointer="xpointer(/sect1/sect2[1]/para[1])"/>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>&buildtime;</segtitle>
|
||||
<segtitle>&diskspace;</segtitle>
|
||||
|
||||
<seglistitem>
|
||||
<seg>&bash-ch5-sbu;</seg>
|
||||
<seg>&bash-ch5-du;</seg>
|
||||
</seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
</sect2>
|
||||
|
||||
<sect2 role="installation">
|
||||
<title>Installation of Bash</title>
|
||||
<!--
|
||||
<para>First, apply the following patch to fix various bugs that have been
|
||||
addressed upstream:</para>
|
||||
|
||||
<screen><userinput remap="pre">patch -Np1 -i ../&bash-fixes-patch;</userinput></screen>
|
||||
-->
|
||||
<para>Prepare Bash for compilation:</para>
|
||||
|
||||
<screen><userinput remap="configure">./configure --prefix=/tools --without-bash-malloc</userinput></screen>
|
||||
|
||||
<variablelist>
|
||||
<title>The meaning of the configure options:</title>
|
||||
|
||||
<varlistentry>
|
||||
<term><parameter>--without-bash-malloc</parameter></term>
|
||||
<listitem>
|
||||
<para>This option turns off the use of Bash's memory allocation
|
||||
(<function>malloc</function>) function which is known to cause
|
||||
segmentation faults. By turning this option off, Bash will use
|
||||
the <function>malloc</function> functions from Glibc which are
|
||||
more stable.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
</variablelist>
|
||||
|
||||
<para>Compile the package:</para>
|
||||
|
||||
<screen><userinput remap="make">make</userinput></screen>
|
||||
|
||||
<para>Compilation is now complete. As discussed earlier, running the test
|
||||
suite is not mandatory for the temporary tools here in this chapter. To run
|
||||
the Bash test suite anyway, issue the following command:</para>
|
||||
|
||||
|
||||
<screen><userinput remap="test">make tests</userinput></screen>
|
||||
|
||||
<para>Install the package:</para>
|
||||
|
||||
<screen><userinput remap="install">make install</userinput></screen>
|
||||
|
||||
<para>Make a link for the programs that use <command>sh</command> for
|
||||
a shell:</para>
|
||||
|
||||
<screen><userinput remap="install">ln -sv bash /tools/bin/sh</userinput></screen>
|
||||
|
||||
</sect2>
|
||||
|
||||
<sect2 role="content">
|
||||
<title/>
|
||||
|
||||
<para>Details on this package are located in
|
||||
<xref linkend="contents-bash" role="."/></para>
|
||||
|
||||
</sect2>
|
||||
|
||||
</sect1>
|
|
@ -1,171 +0,0 @@
|
|||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
|
||||
<!ENTITY % general-entities SYSTEM "../general.ent">
|
||||
%general-entities;
|
||||
]>
|
||||
|
||||
<sect1 id="ch-tools-binutils-pass1" role="wrap">
|
||||
<?dbhtml filename="binutils-pass1.html"?>
|
||||
|
||||
<sect1info condition="script">
|
||||
<productname>binutils</productname>
|
||||
<productnumber>&binutils-version;</productnumber>
|
||||
<address>&binutils-url;</address>
|
||||
</sect1info>
|
||||
|
||||
<title>Binutils-&binutils-version; - Pass 1</title>
|
||||
|
||||
<indexterm zone="ch-tools-binutils-pass1">
|
||||
<primary sortas="a-Binutils">Binutils</primary>
|
||||
<secondary>tools, pass 1</secondary>
|
||||
</indexterm>
|
||||
|
||||
<sect2 role="package">
|
||||
<title/>
|
||||
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
|
||||
href="../chapter06/binutils.xml"
|
||||
xpointer="xpointer(/sect1/sect2[1]/para[1])"/>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>&buildtime;</segtitle>
|
||||
<segtitle>&diskspace;</segtitle>
|
||||
|
||||
<seglistitem>
|
||||
<seg>&binutils-ch5p1-sbu;</seg>
|
||||
<seg>&binutils-ch5p1-du;</seg>
|
||||
</seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
</sect2>
|
||||
|
||||
<sect2 role="installation">
|
||||
<title>Installation of Cross Binutils</title>
|
||||
|
||||
<note><para>Go back and re-read the notes in the previous section.
|
||||
Understanding the notes labeled important will save you a lot
|
||||
of problems later.</para></note>
|
||||
|
||||
<para>It is important that Binutils be the first package compiled
|
||||
because both Glibc and GCC perform various tests on the available
|
||||
linker and assembler to determine which of their own features to
|
||||
enable.</para>
|
||||
|
||||
<para>The Binutils documentation recommends building Binutils outside of the
|
||||
source directory in a dedicated build directory:</para>
|
||||
|
||||
<screen><userinput remap="pre">mkdir -v ../binutils-build
|
||||
cd ../binutils-build</userinput></screen>
|
||||
|
||||
<note>
|
||||
<para>In order for the SBU values listed in the rest of the book
|
||||
to be of any use, measure the time it takes to build this package from
|
||||
the configuration, up to and including the first install. To achieve
|
||||
this easily, wrap the commands in a <command>time</command>
|
||||
command like this: <userinput>time { ./configure ... && ...
|
||||
&& make install; }</userinput>.</para>
|
||||
</note>
|
||||
|
||||
<note><para>The approximate build SBU values and required disk space
|
||||
in Chapter 5 does not include test suite data.</para></note>
|
||||
|
||||
<para>Now prepare Binutils for compilation:</para>
|
||||
|
||||
<screen><userinput remap="configure">../binutils-&binutils-version;/configure \
|
||||
--prefix=/tools \
|
||||
--with-sysroot=$LFS \
|
||||
--with-lib-path=/tools/lib \
|
||||
--target=$LFS_TGT \
|
||||
--disable-nls \
|
||||
--disable-werror</userinput></screen>
|
||||
|
||||
<variablelist>
|
||||
<title>The meaning of the configure options:</title>
|
||||
|
||||
<varlistentry>
|
||||
<term><parameter>--prefix=/tools</parameter></term>
|
||||
<listitem>
|
||||
<para>This tells the configure script to prepare to install the
|
||||
Binutils programs in the <filename class="directory">/tools</filename>
|
||||
directory.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><parameter>--with-sysroot=$LFS</parameter></term>
|
||||
<listitem>
|
||||
<para>For cross compilation, this tells the build system to look in
|
||||
$LFS for the target system libraries as needed.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><parameter>--with-lib-path=/tools/lib</parameter></term>
|
||||
<listitem>
|
||||
<para>This specifies which library path the linker should be
|
||||
configured to use.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><envar>--target=$LFS_TGT</envar></term>
|
||||
<listitem>
|
||||
<para>Because the machine description in the <envar>LFS_TGT</envar>
|
||||
variable is slightly different than the value returned by the
|
||||
<command>config.guess</command> script, this switch will tell the
|
||||
<command>configure</command> script to adjust Binutil's build system
|
||||
for building a cross linker. </para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><parameter>--disable-nls</parameter></term>
|
||||
<listitem>
|
||||
<para>This disables internationalization as i18n is not needed for the
|
||||
temporary tools.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><parameter>--disable-werror</parameter></term>
|
||||
<listitem>
|
||||
<para>This prevents the build from stopping in the event that there
|
||||
are warnings from the host's compiler.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
</variablelist>
|
||||
|
||||
<para>Continue with compiling the package:</para>
|
||||
|
||||
<screen><userinput remap="make">make</userinput></screen>
|
||||
|
||||
<para>Compilation is now complete. Ordinarily we would now run the
|
||||
test suite, but at this early stage the test suite framework (Tcl,
|
||||
Expect, and DejaGNU) is not yet in place. The benefits of running the
|
||||
tests at this point are minimal since the programs from this
|
||||
first pass will soon be replaced by those from the second.</para>
|
||||
|
||||
<para>If building on x86_64, create a symlink to ensure the sanity of
|
||||
the toolchain:</para>
|
||||
|
||||
<screen><userinput remap="install">case $(uname -m) in
|
||||
x86_64) mkdir -v /tools/lib && ln -sv lib /tools/lib64 ;;
|
||||
esac</userinput></screen>
|
||||
|
||||
<para>Install the package:</para>
|
||||
|
||||
<screen><userinput remap="install">make install</userinput></screen>
|
||||
|
||||
</sect2>
|
||||
|
||||
<sect2 role="content">
|
||||
<title/>
|
||||
|
||||
<para>Details on this package are located in
|
||||
<xref linkend="contents-binutils" role="."/></para>
|
||||
|
||||
</sect2>
|
||||
|
||||
</sect1>
|
|
@ -1,150 +0,0 @@
|
|||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
|
||||
<!ENTITY % general-entities SYSTEM "../general.ent">
|
||||
%general-entities;
|
||||
]>
|
||||
|
||||
<sect1 id="ch-tools-binutils-pass2" role="wrap">
|
||||
<?dbhtml filename="binutils-pass2.html"?>
|
||||
|
||||
<sect1info condition="script">
|
||||
<productname>binutils</productname>
|
||||
<productnumber>&binutils-version;</productnumber>
|
||||
<address>&binutils-url;</address>
|
||||
</sect1info>
|
||||
|
||||
<title>Binutils-&binutils-version; - Pass 2</title>
|
||||
|
||||
<indexterm zone="ch-tools-binutils-pass2">
|
||||
<primary sortas="a-Binutils">Binutils</primary>
|
||||
<secondary>tools, pass 2</secondary>
|
||||
</indexterm>
|
||||
|
||||
<sect2 role="package">
|
||||
<title/>
|
||||
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
|
||||
href="../chapter06/binutils.xml"
|
||||
xpointer="xpointer(/sect1/sect2[1]/para[1])"/>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>&buildtime;</segtitle>
|
||||
<segtitle>&diskspace;</segtitle>
|
||||
|
||||
<seglistitem>
|
||||
<seg>&binutils-ch5p2-sbu;</seg>
|
||||
<seg>&binutils-ch5p2-du;</seg>
|
||||
</seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
</sect2>
|
||||
|
||||
<sect2 role="installation">
|
||||
<title>Installation of Binutils</title>
|
||||
|
||||
<para>Create a separate build directory again:</para>
|
||||
|
||||
<screen><userinput remap="pre">mkdir -v ../binutils-build
|
||||
cd ../binutils-build</userinput></screen>
|
||||
|
||||
<para>Prepare Binutils for compilation:</para>
|
||||
|
||||
<screen><userinput remap="configure">CC=$LFS_TGT-gcc \
|
||||
AR=$LFS_TGT-ar \
|
||||
RANLIB=$LFS_TGT-ranlib \
|
||||
../binutils-&binutils-version;/configure \
|
||||
--prefix=/tools \
|
||||
--disable-nls \
|
||||
--disable-werror \
|
||||
--with-lib-path=/tools/lib \
|
||||
--with-sysroot</userinput></screen>
|
||||
|
||||
<variablelist>
|
||||
<title>The meaning of the new configure options:</title>
|
||||
|
||||
<varlistentry>
|
||||
<term><parameter>CC=$LFS_TGT-gcc AR=$LFS_TGT-ar RANLIB=$LFS_TGT-ranlib</parameter></term>
|
||||
<listitem>
|
||||
<para>Because this is really a native build of Binutils, setting these
|
||||
variables ensures that the build system uses the cross-compiler and
|
||||
associated tools instead of the ones on the host system.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><parameter>--with-lib-path=/tools/lib</parameter></term>
|
||||
<listitem>
|
||||
<para>This tells the configure script to specify the library
|
||||
search path during the compilation of Binutils, resulting in
|
||||
<filename class="directory">/tools/lib</filename> being passed
|
||||
to the linker. This prevents the linker from searching through
|
||||
library directories on the host.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><parameter>--with-sysroot</parameter></term>
|
||||
<listitem>
|
||||
<para>The sysroot feature enables the linker to find shared objects
|
||||
which are required by other shared objects explicitly included on the
|
||||
linker's command line. Without this, some packages may not build
|
||||
successfully on some hosts.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
</variablelist>
|
||||
|
||||
<para>Compile the package:</para>
|
||||
|
||||
<screen><userinput remap="make">make</userinput></screen>
|
||||
|
||||
<para>Install the package:</para>
|
||||
|
||||
<screen><userinput remap="install">make install</userinput></screen>
|
||||
|
||||
<para>Now prepare the linker for the <quote>Re-adjusting</quote> phase in
|
||||
the next chapter:</para>
|
||||
|
||||
<screen><userinput remap="adjust">make -C ld clean
|
||||
make -C ld LIB_PATH=/usr/lib:/lib
|
||||
cp -v ld/ld-new /tools/bin</userinput></screen>
|
||||
|
||||
<variablelist>
|
||||
<title>The meaning of the make parameters:</title>
|
||||
|
||||
<varlistentry>
|
||||
<term><parameter>-C ld clean</parameter></term>
|
||||
<listitem>
|
||||
<para>This tells the make program to remove all compiled
|
||||
files in the <filename class="directory">ld</filename>
|
||||
subdirectory.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><parameter>-C ld LIB_PATH=/usr/lib:/lib</parameter></term>
|
||||
<listitem>
|
||||
<para>This option rebuilds everything in the <filename
|
||||
class="directory">ld</filename> subdirectory. Specifying the
|
||||
<envar>LIB_PATH</envar> Makefile variable on the command line
|
||||
allows us to override the default value of the temporary tools
|
||||
and point it to the proper final path. The value of this variable
|
||||
specifies the linker's default library search path. This
|
||||
preparation is used in the next chapter.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
</variablelist>
|
||||
|
||||
</sect2>
|
||||
|
||||
<sect2 role="content">
|
||||
<title/>
|
||||
|
||||
<para>Details on this package are located in
|
||||
<xref linkend="contents-binutils" role="."/></para>
|
||||
|
||||
</sect2>
|
||||
|
||||
</sect1>
|
|
@ -1,72 +0,0 @@
|
|||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
|
||||
<!ENTITY % general-entities SYSTEM "../general.ent">
|
||||
%general-entities;
|
||||
]>
|
||||
|
||||
<sect1 id="ch-tools-bison" role="wrap">
|
||||
<?dbhtml filename="bison.html"?>
|
||||
|
||||
<sect1info condition="script">
|
||||
<productname>bison</productname>
|
||||
<productnumber>&bison-version;</productnumber>
|
||||
<address>&bison-url;</address>
|
||||
</sect1info>
|
||||
|
||||
<title>Bison-&bison-version;</title>
|
||||
|
||||
<indexterm zone="ch-tools-bison">
|
||||
<primary sortas="a-Bison">Bison</primary>
|
||||
<secondary>tools</secondary>
|
||||
</indexterm>
|
||||
|
||||
<sect2 role="package">
|
||||
<title/>
|
||||
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
|
||||
href="../chapter06/bison.xml"
|
||||
xpointer="xpointer(/sect1/sect2[1]/para[1])"/>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>&buildtime;</segtitle>
|
||||
<segtitle>&diskspace;</segtitle>
|
||||
|
||||
<seglistitem>
|
||||
<seg>&bison-ch5-sbu;</seg>
|
||||
<seg>&bison-ch5-du;</seg>
|
||||
</seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
</sect2>
|
||||
|
||||
<sect2 role="installation">
|
||||
<title>Installation of Bison</title>
|
||||
|
||||
<para>Prepare Bison for compilation:</para>
|
||||
|
||||
<screen><userinput remap="configure">./configure --prefix=/tools</userinput></screen>
|
||||
|
||||
<para>Compile the package:</para>
|
||||
|
||||
<screen><userinput remap="make">make</userinput></screen>
|
||||
|
||||
<para>To test the results, issue:</para>
|
||||
|
||||
<screen><userinput remap="test">make check</userinput></screen>
|
||||
|
||||
<para>Install the package:</para>
|
||||
|
||||
<screen><userinput remap="install">make install</userinput></screen>
|
||||
|
||||
</sect2>
|
||||
|
||||
<sect2 role="content">
|
||||
<title/>
|
||||
|
||||
<para>Details on this package are located in
|
||||
<xref linkend="contents-bison" role="."/></para>
|
||||
|
||||
</sect2>
|
||||
|
||||
</sect1>
|
|
@ -1,65 +0,0 @@
|
|||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
|
||||
<!ENTITY % general-entities SYSTEM "../general.ent">
|
||||
%general-entities;
|
||||
]>
|
||||
|
||||
<sect1 id="ch-tools-bzip2" role="wrap">
|
||||
<?dbhtml filename="bzip2.html"?>
|
||||
|
||||
<sect1info condition="script">
|
||||
<productname>bzip2</productname>
|
||||
<productnumber>&bzip2-version;</productnumber>
|
||||
<address>&bzip2-url;</address>
|
||||
</sect1info>
|
||||
|
||||
<title>Bzip2-&bzip2-version;</title>
|
||||
|
||||
<indexterm zone="ch-tools-bzip2">
|
||||
<primary sortas="a-Bzip2">Bzip2</primary>
|
||||
<secondary>tools</secondary>
|
||||
</indexterm>
|
||||
|
||||
<sect2 role="package">
|
||||
<title/>
|
||||
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
|
||||
href="../chapter06/bzip2.xml"
|
||||
xpointer="xpointer(/sect1/sect2[1]/para[1])"/>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>&buildtime;</segtitle>
|
||||
<segtitle>&diskspace;</segtitle>
|
||||
|
||||
<seglistitem>
|
||||
<seg>&bzip2-ch5-sbu;</seg>
|
||||
<seg>&bzip2-ch5-du;</seg>
|
||||
</seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
</sect2>
|
||||
|
||||
<sect2 role="installation">
|
||||
<title>Installation of Bzip2</title>
|
||||
|
||||
<para>The Bzip2 package does not contain a <command>configure</command>
|
||||
script. Compile and test it with:</para>
|
||||
|
||||
<screen><userinput remap="make">make</userinput></screen>
|
||||
|
||||
<para>Install the package:</para>
|
||||
|
||||
<screen><userinput remap="install">make PREFIX=/tools install</userinput></screen>
|
||||
|
||||
</sect2>
|
||||
|
||||
<sect2 role="content">
|
||||
<title/>
|
||||
|
||||
<para>Details on this package are located in
|
||||
<xref linkend="contents-bzip2" role="."/></para>
|
||||
|
||||
</sect2>
|
||||
|
||||
</sect1>
|
|
@ -1,53 +0,0 @@
|
|||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
|
||||
<!ENTITY % general-entities SYSTEM "../general.ent">
|
||||
%general-entities;
|
||||
]>
|
||||
|
||||
<sect1 id="ch-tools-changingowner">
|
||||
<?dbhtml filename="changingowner.html"?>
|
||||
|
||||
<title>Changing Ownership</title>
|
||||
|
||||
<note>
|
||||
<para>The commands in the remainder of this book must be performed while
|
||||
logged in as user <systemitem class="username">root</systemitem> and no
|
||||
longer as user <systemitem class="username">lfs</systemitem>. Also, double
|
||||
check that <envar>$LFS</envar> is set in <systemitem
|
||||
class="username">root</systemitem>'s environment.</para>
|
||||
</note>
|
||||
|
||||
<para>Currently, the <filename class="directory">$LFS/tools</filename> directory
|
||||
is owned by the user <systemitem class="username">lfs</systemitem>, a user
|
||||
that exists only on the host system. If the <filename
|
||||
class="directory">$LFS/tools</filename> directory is kept as is, the files are
|
||||
owned by a user ID without a corresponding account. This is dangerous because
|
||||
a user account created later could get this same user ID and would own the
|
||||
<filename class="directory">$LFS/tools</filename> directory and all the files
|
||||
therein, thus exposing these files to possible malicious manipulation.</para>
|
||||
|
||||
<para>To avoid this issue, you could add the <systemitem
|
||||
class="username">lfs</systemitem> user to the new LFS system later when
|
||||
creating the <filename>/etc/passwd</filename> file, taking care to assign it
|
||||
the same user and group IDs as on the host system. Better yet, change the
|
||||
ownership of the <filename class="directory">$LFS/tools</filename> directory to
|
||||
user <systemitem class="username">root</systemitem> by running the following
|
||||
command:</para>
|
||||
|
||||
<screen><userinput>chown -R root:root $LFS/tools</userinput></screen>
|
||||
|
||||
<para>Although the <filename class="directory">$LFS/tools</filename> directory
|
||||
can be deleted once the LFS system has been finished, it can be retained to build
|
||||
additional LFS systems <emphasis>of the same book version</emphasis>. How best
|
||||
to backup <filename class="directory">$LFS/tools</filename> is a matter of
|
||||
personal preference.</para>
|
||||
|
||||
<caution>
|
||||
<para>If you intend to keep the temporary tools for use in building future LFS
|
||||
systems, <emphasis>now</emphasis> is the time to back them up. Subsequent
|
||||
commands in chapter 6 will alter the tools currently in place, rendering them
|
||||
useless for future builds.</para>
|
||||
</caution>
|
||||
|
||||
</sect1>
|
|
@ -1,51 +0,0 @@
|
|||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
|
||||
<!ENTITY % general-entities SYSTEM "../general.ent">
|
||||
%general-entities;
|
||||
]>
|
||||
|
||||
<chapter id="chapter-temporary-tools" xreflabel="Chapter 5">
|
||||
<?dbhtml dir="chapter05"?>
|
||||
<?dbhtml filename="chapter05.html"?>
|
||||
|
||||
<title>Constructing a Temporary System</title>
|
||||
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="introduction.xml"/>
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="toolchaintechnotes.xml"/>
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="generalinstructions.xml"/>
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="binutils-pass1.xml"/>
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="gcc-pass1.xml"/>
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="linux-headers.xml"/>
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="glibc.xml"/>
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="libstdc++.xml"/>
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="binutils-pass2.xml"/>
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="gcc-pass2.xml"/>
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="tcl.xml"/>
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="expect.xml"/>
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="dejagnu.xml"/>
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="check.xml"/>
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="ncurses.xml"/>
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="bash.xml"/>
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="bzip2.xml"/>
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="coreutils.xml"/>
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="diffutils.xml"/>
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="file.xml"/>
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="findutils.xml"/>
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="gawk.xml"/>
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="gettext.xml"/>
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="grep.xml"/>
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="gzip.xml"/>
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="m4.xml"/>
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="make.xml"/>
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="patch.xml"/>
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="perl.xml"/>
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="sed.xml"/>
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="tar.xml"/>
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="texinfo.xml"/>
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="util-linux.xml"/>
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="xz.xml"/>
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="stripping.xml"/>
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="changingowner.xml"/>
|
||||
|
||||
</chapter>
|
|
@ -1,124 +0,0 @@
|
|||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
|
||||
<!ENTITY % general-entities SYSTEM "../general.ent">
|
||||
%general-entities;
|
||||
]>
|
||||
|
||||
<sect1 id="ch-tools-check" role="wrap">
|
||||
<?dbhtml filename="check.html"?>
|
||||
|
||||
<sect1info condition="script">
|
||||
<productname>check</productname>
|
||||
<productnumber>&check-version;</productnumber>
|
||||
<address>&check-url;</address>
|
||||
</sect1info>
|
||||
|
||||
<title>Check-&check-version;</title>
|
||||
|
||||
<indexterm zone="ch-tools-check">
|
||||
<primary sortas="a-Check">Check</primary>
|
||||
</indexterm>
|
||||
|
||||
<sect2 role="package">
|
||||
<title/>
|
||||
|
||||
<para>Check is a unit testing framework for C.</para>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>&buildtime;</segtitle>
|
||||
<segtitle>&diskspace;</segtitle>
|
||||
|
||||
<seglistitem>
|
||||
<seg>&check-ch5-sbu;</seg>
|
||||
<seg>&check-ch5-du;</seg>
|
||||
</seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
</sect2>
|
||||
|
||||
<sect2 role="installation">
|
||||
<title>Installation of Check</title>
|
||||
|
||||
<para>Prepare Check for compilation:</para>
|
||||
|
||||
<screen><userinput remap="configure">PKG_CONFIG= ./configure --prefix=/tools</userinput></screen>
|
||||
|
||||
<variablelist>
|
||||
<title>The meaning of the configure parameter:</title>
|
||||
|
||||
<varlistentry>
|
||||
<term><parameter>PKG_CONFIG=</parameter></term>
|
||||
<listitem>
|
||||
<para>This tells the configure script to ignore any
|
||||
pkg-config options that may cause the system to try to link
|
||||
with libraries not in the <filename class="directory">/tools</filename>
|
||||
directory.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
|
||||
<para>Build the package:</para>
|
||||
|
||||
<screen><userinput remap="make">make</userinput></screen>
|
||||
|
||||
<para>Compilation is now complete. As discussed earlier, running the test
|
||||
suite is not mandatory for the temporary tools here in this chapter. To run
|
||||
the Check test suite anyway, issue the following command:</para>
|
||||
|
||||
<screen><userinput remap="test">make check</userinput></screen>
|
||||
|
||||
<para>Note that the Check test suite may take a relatively long
|
||||
(up to 4 SBU) time.</para>
|
||||
|
||||
<para>Install the package:</para>
|
||||
|
||||
<screen><userinput remap="install">make install</userinput></screen>
|
||||
|
||||
</sect2>
|
||||
|
||||
<sect2 id="contents-check" role="content">
|
||||
<title>Contents of Check</title>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>Installed program</segtitle>
|
||||
<segtitle>Installed library</segtitle>
|
||||
|
||||
<seglistitem>
|
||||
<seg>checkmk</seg>
|
||||
<seg>libcheck.{a,so}</seg>
|
||||
</seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
<variablelist>
|
||||
<bridgehead renderas="sect3">Short Descriptions</bridgehead>
|
||||
<?dbfo list-presentation="list"?>
|
||||
<?dbhtml list-presentation="table"?>
|
||||
|
||||
<varlistentry id="checkmk">
|
||||
<term><command>checkmk</command></term>
|
||||
<listitem>
|
||||
<para>Awk script for generating C unit tests for use with the Check
|
||||
unit testing framework</para>
|
||||
<indexterm zone="ch-tools-check checkmk">
|
||||
<primary sortas="b-checmk">checkmk</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="libcheck">
|
||||
<term><filename class="libraryfile">libcheck.{a,so}</filename></term>
|
||||
<listitem>
|
||||
<para>Contains functions that allow Check to be called from a test
|
||||
program</para>
|
||||
<indexterm zone="ch-tools-check libcheck">
|
||||
<primary sortas="c-libcheck">libcheck</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
</variablelist>
|
||||
|
||||
</sect2>
|
||||
|
||||
</sect1>
|
|
@ -1,99 +0,0 @@
|
|||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
|
||||
<!ENTITY % general-entities SYSTEM "../general.ent">
|
||||
%general-entities;
|
||||
]>
|
||||
|
||||
<sect1 id="ch-tools-coreutils" role="wrap">
|
||||
<?dbhtml filename="coreutils.html"?>
|
||||
|
||||
<sect1info condition="script">
|
||||
<productname>coreutils</productname>
|
||||
<productnumber>&coreutils-version;</productnumber>
|
||||
<address>&coreutils-url;</address>
|
||||
</sect1info>
|
||||
|
||||
<title>Coreutils-&coreutils-version;</title>
|
||||
|
||||
<indexterm zone="ch-tools-coreutils">
|
||||
<primary sortas="a-Coreutils">Coreutils</primary>
|
||||
<secondary>tools</secondary>
|
||||
</indexterm>
|
||||
|
||||
<sect2 role="package">
|
||||
<title/>
|
||||
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
|
||||
href="../chapter06/coreutils.xml"
|
||||
xpointer="xpointer(/sect1/sect2[1]/para[1])"/>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>&buildtime;</segtitle>
|
||||
<segtitle>&diskspace;</segtitle>
|
||||
|
||||
<seglistitem>
|
||||
<seg>&coreutils-ch5-sbu;</seg>
|
||||
<seg>&coreutils-ch5-du;</seg>
|
||||
</seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
</sect2>
|
||||
|
||||
<sect2 role="installation">
|
||||
<title>Installation of Coreutils</title>
|
||||
|
||||
<para>Prepare Coreutils for compilation:</para>
|
||||
|
||||
<screen><userinput remap="configure">./configure --prefix=/tools --enable-install-program=hostname</userinput></screen>
|
||||
|
||||
<variablelist>
|
||||
<title>The meaning of the configure options:</title>
|
||||
|
||||
<varlistentry>
|
||||
<term><envar>--enable-install-program=hostname</envar></term>
|
||||
<listitem>
|
||||
<para>This enables the <command>hostname</command> binary to be built
|
||||
and installed – it is disabled by default but is required by the
|
||||
Perl test suite.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
|
||||
<para>Compile the package:</para>
|
||||
|
||||
<screen><userinput remap="make">make</userinput></screen>
|
||||
|
||||
<para>Compilation is now complete. As discussed earlier, running the test
|
||||
suite is not mandatory for the temporary tools here in this chapter. To run
|
||||
the Coreutils test suite anyway, issue the following command:</para>
|
||||
|
||||
<screen><userinput remap="test">make RUN_EXPENSIVE_TESTS=yes check</userinput></screen>
|
||||
|
||||
<para>The <parameter>RUN_EXPENSIVE_TESTS=yes</parameter> parameter tells the
|
||||
test suite to run several additional tests that are considered
|
||||
relatively expensive (in terms of CPU power and memory usage) on some
|
||||
platforms, but generally are not a problem on Linux.</para>
|
||||
|
||||
<para>Install the package:</para>
|
||||
|
||||
<screen><userinput remap="install">make install</userinput></screen>
|
||||
<!--
|
||||
<para>The above command refuses to install <filename>su</filename>
|
||||
because the program cannot be installed setuid root as a non-privileged
|
||||
user. By manually installing it, we can use it for running tests in the
|
||||
final system as a non-privileged user. Install it with:</para>
|
||||
|
||||
<screen><userinput remap="install">cp -v src/su /tools/bin</userinput></screen>
|
||||
-->
|
||||
</sect2>
|
||||
|
||||
<sect2 role="content">
|
||||
<title/>
|
||||
|
||||
<para>Details on this package are located in
|
||||
<xref linkend="contents-coreutils" role="."/></para>
|
||||
|
||||
</sect2>
|
||||
|
||||
</sect1>
|
|
@ -1,90 +0,0 @@
|
|||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
|
||||
<!ENTITY % general-entities SYSTEM "../general.ent">
|
||||
%general-entities;
|
||||
]>
|
||||
|
||||
<sect1 id="ch-tools-dejagnu" role="wrap">
|
||||
<?dbhtml filename="dejagnu.html"?>
|
||||
|
||||
<sect1info condition="script">
|
||||
<productname>dejagnu</productname>
|
||||
<productnumber>&dejagnu-version;</productnumber>
|
||||
<address>&dejagnu-url;</address>
|
||||
</sect1info>
|
||||
|
||||
<title>DejaGNU-&dejagnu-version;</title>
|
||||
|
||||
<indexterm zone="ch-tools-dejagnu">
|
||||
<primary sortas="a-DejaGNU">DejaGNU</primary>
|
||||
</indexterm>
|
||||
|
||||
<sect2 role="package">
|
||||
<title/>
|
||||
|
||||
<para>The DejaGNU package contains a framework for testing other
|
||||
programs.</para>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>&buildtime;</segtitle>
|
||||
<segtitle>&diskspace;</segtitle>
|
||||
|
||||
<seglistitem>
|
||||
<seg>&dejagnu-ch5-sbu;</seg>
|
||||
<seg>&dejagnu-ch5-du;</seg>
|
||||
</seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
</sect2>
|
||||
|
||||
<sect2 role="installation">
|
||||
<title>Installation of DejaGNU</title>
|
||||
|
||||
<para>Prepare DejaGNU for compilation:</para>
|
||||
|
||||
<screen><userinput remap="configure">./configure --prefix=/tools</userinput></screen>
|
||||
|
||||
<para>Build and install the package:</para>
|
||||
|
||||
<screen><userinput remap="install">make install</userinput></screen>
|
||||
|
||||
<para>To test the results, issue:</para>
|
||||
|
||||
<screen><userinput remap="test">make check</userinput></screen>
|
||||
|
||||
</sect2>
|
||||
|
||||
|
||||
<sect2 id="contents-dejagnu" role="content">
|
||||
<title>Contents of DejaGNU</title>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>Installed program</segtitle>
|
||||
|
||||
<seglistitem>
|
||||
<seg>runtest</seg>
|
||||
</seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
<variablelist>
|
||||
<bridgehead renderas="sect3">Short Descriptions</bridgehead>
|
||||
<?dbfo list-presentation="list"?>
|
||||
<?dbhtml list-presentation="table"?>
|
||||
|
||||
<varlistentry id="runtest">
|
||||
<term><command>runtest</command></term>
|
||||
<listitem>
|
||||
<para>A wrapper script that locates the proper
|
||||
<command>expect</command> shell and then runs DejaGNU</para>
|
||||
<indexterm zone="ch-tools-dejagnu runtest">
|
||||
<primary sortas="b-runtest">runtest</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
</variablelist>
|
||||
|
||||
</sect2>
|
||||
|
||||
</sect1>
|
|
@ -1,74 +0,0 @@
|
|||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
|
||||
<!ENTITY % general-entities SYSTEM "../general.ent">
|
||||
%general-entities;
|
||||
]>
|
||||
|
||||
<sect1 id="ch-tools-diffutils" role="wrap">
|
||||
<?dbhtml filename="diffutils.html"?>
|
||||
|
||||
<sect1info condition="script">
|
||||
<productname>diffutils</productname>
|
||||
<productnumber>&diffutils-version;</productnumber>
|
||||
<address>&diffutils-url;</address>
|
||||
</sect1info>
|
||||
|
||||
<title>Diffutils-&diffutils-version;</title>
|
||||
|
||||
<indexterm zone="ch-tools-diffutils">
|
||||
<primary sortas="a-Diffutils">Diffutils</primary>
|
||||
<secondary>tools</secondary>
|
||||
</indexterm>
|
||||
|
||||
<sect2 role="package">
|
||||
<title/>
|
||||
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
|
||||
href="../chapter06/diffutils.xml"
|
||||
xpointer="xpointer(/sect1/sect2[1]/para[1])"/>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>&buildtime;</segtitle>
|
||||
<segtitle>&diskspace;</segtitle>
|
||||
|
||||
<seglistitem>
|
||||
<seg>&diffutils-ch5-sbu;</seg>
|
||||
<seg>&diffutils-ch5-du;</seg>
|
||||
</seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
</sect2>
|
||||
|
||||
<sect2 role="installation">
|
||||
<title>Installation of Diffutils</title>
|
||||
|
||||
<para>Prepare Diffutils for compilation:</para>
|
||||
|
||||
<screen><userinput remap="configure">./configure --prefix=/tools</userinput></screen>
|
||||
|
||||
<para>Compile the package:</para>
|
||||
|
||||
<screen><userinput remap="make">make</userinput></screen>
|
||||
|
||||
<para>Compilation is now complete. As discussed earlier, running the test
|
||||
suite is not mandatory for the temporary tools here in this chapter. To run
|
||||
the Diffutils test suite anyway, issue the following command:</para>
|
||||
|
||||
<screen><userinput remap="test">make check</userinput></screen>
|
||||
|
||||
<para>Install the package:</para>
|
||||
|
||||
<screen><userinput remap="install">make install</userinput></screen>
|
||||
|
||||
</sect2>
|
||||
|
||||
<sect2 role="content">
|
||||
<title/>
|
||||
|
||||
<para>Details on this package are located in
|
||||
<xref linkend="contents-diffutils" role="."/></para>
|
||||
|
||||
</sect2>
|
||||
|
||||
</sect1>
|
|
@ -1,98 +0,0 @@
|
|||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
|
||||
<!ENTITY % general-entities SYSTEM "../general.ent">
|
||||
%general-entities;
|
||||
]>
|
||||
|
||||
<sect1 id="ch-tools-e2fsprogs" role="wrap">
|
||||
<?dbhtml filename="e2fsprogs.html"?>
|
||||
|
||||
<sect1info condition="script">
|
||||
<productname>e2fsprogs</productname>
|
||||
<productnumber>&e2fsprogs-version;</productnumber>
|
||||
<address>&e2fsprogs-url;</address>
|
||||
</sect1info>
|
||||
|
||||
<title>E2fsprogs-&e2fsprogs-version;</title>
|
||||
|
||||
<indexterm zone="ch-tools-e2fsprogs">
|
||||
<primary sortas="a-E2fsprogs">E2fsprogs</primary>
|
||||
</indexterm>
|
||||
|
||||
<sect2 role="package">
|
||||
<title/>
|
||||
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
|
||||
href="../chapter06/e2fsprogs.xml"
|
||||
xpointer="xpointer(/sect1/sect2[1]/para[1])"/>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>&buildtime;</segtitle>
|
||||
<segtitle>&diskspace;</segtitle>
|
||||
|
||||
<seglistitem>
|
||||
<seg>&e2fsprogs-ch5-sbu;</seg>
|
||||
<seg>&e2fsprogs-ch5-du;</seg>
|
||||
</seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
</sect2>
|
||||
|
||||
<sect2 role="installation">
|
||||
<title>Installation of E2fsprogs</title>
|
||||
|
||||
<para>The E2fsprogs documentation recommends that the package be built in
|
||||
a subdirectory of the source tree: </para>
|
||||
|
||||
<screen><userinput remap="pre">mkdir -v build
|
||||
cd build</userinput></screen>
|
||||
|
||||
<para>Prepare E2fsprogs for compilation:</para>
|
||||
|
||||
<screen><userinput remap="configure">../configure --prefix=/tools --disable-libblkid --disable-libuuid</userinput></screen>
|
||||
|
||||
<variablelist>
|
||||
<title>The meaning of the new configure option:</title>
|
||||
|
||||
<varlistentry>
|
||||
<term><parameter>--disable-libblkid</parameter></term>
|
||||
<listitem>
|
||||
<para>This prevents E2fsprogs from building its own copy of the
|
||||
libblkid library, which Util-Linux-NG provides.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><parameter>--disable-libuuid</parameter></term>
|
||||
<listitem>
|
||||
<para>This prevents E2fsprogs from building its own copy of the
|
||||
libuuid library, which Util-Linux-NG provides.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
|
||||
<para>Compile the package:</para>
|
||||
|
||||
<screen><userinput remap="make">make</userinput></screen>
|
||||
|
||||
<para>Install the static libraries and headers required by Util-linux:</para>
|
||||
|
||||
<screen><userinput remap="install">make install-libs</userinput></screen>
|
||||
|
||||
<para>Make the installed static libraries writable so debugging symbols can
|
||||
be removed later:</para>
|
||||
|
||||
<screen><userinput remap="install">chmod -v u+w \
|
||||
/tools/lib/{libcom_err,libe2p,libext2fs,libss}.a</userinput></screen>
|
||||
|
||||
</sect2>
|
||||
|
||||
<sect2 role="content">
|
||||
<title/>
|
||||
|
||||
<para>Details on this package are located in
|
||||
<xref linkend="contents-e2fsprogs" role="."/></para>
|
||||
</sect2>
|
||||
|
||||
</sect1>
|
|
@ -1,160 +0,0 @@
|
|||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
|
||||
<!ENTITY % general-entities SYSTEM "../general.ent">
|
||||
%general-entities;
|
||||
]>
|
||||
|
||||
<sect1 id="ch-tools-expect" role="wrap">
|
||||
<?dbhtml filename="expect.html"?>
|
||||
|
||||
<sect1info condition="script">
|
||||
<productname>expect</productname>
|
||||
<productnumber>&expect-version;</productnumber>
|
||||
<address>&expect-url;</address>
|
||||
</sect1info>
|
||||
|
||||
<title>Expect-&expect-version;</title>
|
||||
|
||||
<indexterm zone="ch-tools-expect">
|
||||
<primary sortas="a-Expect">Expect</primary>
|
||||
</indexterm>
|
||||
|
||||
<sect2 role="package">
|
||||
<title/>
|
||||
|
||||
<para>The Expect package contains a program for carrying out scripted
|
||||
dialogues with other interactive programs.</para>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>&buildtime;</segtitle>
|
||||
<segtitle>&diskspace;</segtitle>
|
||||
|
||||
<seglistitem>
|
||||
<seg>&expect-ch5-sbu;</seg>
|
||||
<seg>&expect-ch5-du;</seg>
|
||||
</seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
</sect2>
|
||||
|
||||
<sect2 role="installation">
|
||||
<title>Installation of Expect</title>
|
||||
|
||||
<para>First, force Expect's configure script to use <filename>/bin/stty</filename>
|
||||
instead of a <filename>/usr/local/bin/stty</filename> it may find on the host system.
|
||||
This will ensure that our test suite tools remain sane for the final builds of our
|
||||
toolchain:</para>
|
||||
|
||||
<screen><userinput remap="pre">cp -v configure{,.orig}
|
||||
sed 's:/usr/local/bin:/bin:' configure.orig > configure</userinput></screen>
|
||||
|
||||
<para>Now prepare Expect for compilation:</para>
|
||||
|
||||
<screen><userinput remap="configure">./configure --prefix=/tools \
|
||||
--with-tcl=/tools/lib \
|
||||
--with-tclinclude=/tools/include</userinput></screen>
|
||||
|
||||
<variablelist>
|
||||
<title>The meaning of the configure options:</title>
|
||||
|
||||
<varlistentry>
|
||||
<term><parameter>--with-tcl=/tools/lib</parameter></term>
|
||||
<listitem>
|
||||
<para>This ensures that the configure script finds the Tcl
|
||||
installation in the temporary tools location instead of possibly
|
||||
locating an existing one on the host system.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><parameter>--with-tclinclude=/tools/include</parameter></term>
|
||||
<listitem>
|
||||
<para>This explicitly tells Expect where to find Tcl's internal
|
||||
headers. Using this option avoids conditions where
|
||||
<command>configure</command> fails because it cannot automatically
|
||||
discover the location of Tcl's headers.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
</variablelist>
|
||||
|
||||
<para>Build the package:</para>
|
||||
|
||||
<screen><userinput remap="make">make</userinput></screen>
|
||||
|
||||
<para>Compilation is now complete. As discussed earlier, running the test
|
||||
suite is not mandatory for the temporary tools here in this chapter. To run
|
||||
the Expect test suite anyway, issue the following command:</para>
|
||||
|
||||
<screen><userinput remap="test">make test</userinput></screen>
|
||||
|
||||
<para>Note that the Expect test suite is known to experience failures under
|
||||
certain host conditions that are not within our control. Therefore,
|
||||
test suite failures here are not surprising and are not considered
|
||||
critical.</para>
|
||||
|
||||
<para>Install the package:</para>
|
||||
|
||||
<screen><userinput remap="install">make SCRIPTS="" install</userinput></screen>
|
||||
|
||||
<variablelist>
|
||||
<title>The meaning of the make parameter:</title>
|
||||
|
||||
<varlistentry>
|
||||
<term><parameter>SCRIPTS=""</parameter></term>
|
||||
<listitem>
|
||||
<para>This prevents installation of the supplementary Expect
|
||||
scripts, which are not needed.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
</variablelist>
|
||||
|
||||
</sect2>
|
||||
|
||||
<sect2 id="contents-expect" role="content">
|
||||
<title>Contents of Expect</title>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>Installed program</segtitle>
|
||||
<segtitle>Installed library</segtitle>
|
||||
|
||||
<seglistitem>
|
||||
<seg>expect</seg>
|
||||
<seg>libexpect-&expect-lib-version;.so</seg>
|
||||
</seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
<variablelist>
|
||||
<bridgehead renderas="sect3">Short Descriptions</bridgehead>
|
||||
<?dbfo list-presentation="list"?>
|
||||
<?dbhtml list-presentation="table"?>
|
||||
|
||||
<varlistentry id="expect">
|
||||
<term><command>expect</command></term>
|
||||
<listitem>
|
||||
<para>Communicates with other interactive programs according
|
||||
to a script</para>
|
||||
<indexterm zone="ch-tools-expect expect">
|
||||
<primary sortas="b-expect">expect</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="libexpect">
|
||||
<term><filename class="libraryfile">libexpect-&expect-lib-version;.so</filename></term>
|
||||
<listitem>
|
||||
<para>Contains functions that allow Expect to be used as a Tcl
|
||||
extension or to be used directly from C or C++ (without Tcl)</para>
|
||||
<indexterm zone="ch-tools-expect libexpect">
|
||||
<primary sortas="c-libexpect-&expect-lib-version;">libexpect-&expect-lib-version;</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
</variablelist>
|
||||
|
||||
</sect2>
|
||||
|
||||
</sect1>
|
|
@ -1,74 +0,0 @@
|
|||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
|
||||
<!ENTITY % general-entities SYSTEM "../general.ent">
|
||||
%general-entities;
|
||||
]>
|
||||
|
||||
<sect1 id="ch-tools-file" role="wrap">
|
||||
<?dbhtml filename="file.html"?>
|
||||
|
||||
<sect1info condition="script">
|
||||
<productname>file</productname>
|
||||
<productnumber>&file-version;</productnumber>
|
||||
<address>&file-url;</address>
|
||||
</sect1info>
|
||||
|
||||
<title>File-&file-version;</title>
|
||||
|
||||
<indexterm zone="ch-tools-file">
|
||||
<primary sortas="a-File">File</primary>
|
||||
<secondary>tools</secondary>
|
||||
</indexterm>
|
||||
|
||||
<sect2 role="package">
|
||||
<title/>
|
||||
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
|
||||
href="../chapter06/file.xml"
|
||||
xpointer="xpointer(/sect1/sect2[1]/para[1])"/>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>&buildtime;</segtitle>
|
||||
<segtitle>&diskspace;</segtitle>
|
||||
|
||||
<seglistitem>
|
||||
<seg>&file-ch5-sbu;</seg>
|
||||
<seg>&file-ch5-du;</seg>
|
||||
</seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
</sect2>
|
||||
|
||||
<sect2 role="installation">
|
||||
<title>Installation of File</title>
|
||||
|
||||
<para>Prepare File for compilation:</para>
|
||||
|
||||
<screen><userinput remap="configure">./configure --prefix=/tools</userinput></screen>
|
||||
|
||||
<para>Compile the package:</para>
|
||||
|
||||
<screen><userinput remap="make">make</userinput></screen>
|
||||
|
||||
<para>Compilation is now complete. As discussed earlier, running the test
|
||||
suite is not mandatory for the temporary tools here in this chapter. To run
|
||||
the File test suite anyway, issue the following command:</para>
|
||||
|
||||
<screen><userinput remap="test">make check</userinput></screen>
|
||||
|
||||
<para>Install the package:</para>
|
||||
|
||||
<screen><userinput remap="install">make install</userinput></screen>
|
||||
|
||||
</sect2>
|
||||
|
||||
<sect2 role="content">
|
||||
<title/>
|
||||
|
||||
<para>Details on this package are located in
|
||||
<xref linkend="contents-file" role="."/></para>
|
||||
|
||||
</sect2>
|
||||
|
||||
</sect1>
|
|
@ -1,74 +0,0 @@
|
|||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
|
||||
<!ENTITY % general-entities SYSTEM "../general.ent">
|
||||
%general-entities;
|
||||
]>
|
||||
|
||||
<sect1 id="ch-tools-findutils" role="wrap">
|
||||
<?dbhtml filename="findutils.html"?>
|
||||
|
||||
<sect1info condition="script">
|
||||
<productname>findutils</productname>
|
||||
<productnumber>&findutils-version;</productnumber>
|
||||
<address>&findutils-url;</address>
|
||||
</sect1info>
|
||||
|
||||
<title>Findutils-&findutils-version;</title>
|
||||
|
||||
<indexterm zone="ch-tools-findutils">
|
||||
<primary sortas="a-Findutils">Findutils</primary>
|
||||
<secondary>tools</secondary>
|
||||
</indexterm>
|
||||
|
||||
<sect2 role="package">
|
||||
<title/>
|
||||
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
|
||||
href="../chapter06/findutils.xml"
|
||||
xpointer="xpointer(/sect1/sect2[1]/para[1])"/>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>&buildtime;</segtitle>
|
||||
<segtitle>&diskspace;</segtitle>
|
||||
|
||||
<seglistitem>
|
||||
<seg>&findutils-ch5-sbu;</seg>
|
||||
<seg>&findutils-ch5-du;</seg>
|
||||
</seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
</sect2>
|
||||
|
||||
<sect2 role="installation">
|
||||
<title>Installation of Findutils</title>
|
||||
|
||||
<para>Prepare Findutils for compilation:</para>
|
||||
|
||||
<screen><userinput remap="configure">./configure --prefix=/tools</userinput></screen>
|
||||
|
||||
<para>Compile the package:</para>
|
||||
|
||||
<screen><userinput remap="make">make</userinput></screen>
|
||||
|
||||
<para>Compilation is now complete. As discussed earlier, running the test
|
||||
suite is not mandatory for the temporary tools here in this chapter. To run
|
||||
the Findutils test suite anyway, issue the following command:</para>
|
||||
|
||||
<screen><userinput remap="test">make check</userinput></screen>
|
||||
|
||||
<para>Install the package:</para>
|
||||
|
||||
<screen><userinput remap="install">make install</userinput></screen>
|
||||
|
||||
</sect2>
|
||||
|
||||
<sect2 role="content">
|
||||
<title/>
|
||||
|
||||
<para>Details on this package are located in
|
||||
<xref linkend="contents-findutils" role="."/></para>
|
||||
|
||||
</sect2>
|
||||
|
||||
</sect1>
|
|
@ -1,84 +0,0 @@
|
|||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
|
||||
<!ENTITY % general-entities SYSTEM "../general.ent">
|
||||
%general-entities;
|
||||
]>
|
||||
|
||||
<sect1 id="ch-tools-flex" role="wrap">
|
||||
<?dbhtml filename="flex.html"?>
|
||||
|
||||
<sect1info condition="script">
|
||||
<productname>flex</productname>
|
||||
<productnumber>&flex-version;</productnumber>
|
||||
<address>&flex-url;</address>
|
||||
</sect1info>
|
||||
|
||||
<title>Flex-&flex-version;</title>
|
||||
|
||||
<indexterm zone="ch-tools-flex">
|
||||
<primary sortas="a-Flex">Flex</primary>
|
||||
<secondary>tools</secondary>
|
||||
</indexterm>
|
||||
|
||||
<sect2 role="package">
|
||||
<title/>
|
||||
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
|
||||
href="../chapter06/flex.xml"
|
||||
xpointer="xpointer(/sect1/sect2[1]/para[1])"/>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>&buildtime;</segtitle>
|
||||
<segtitle>&diskspace;</segtitle>
|
||||
|
||||
<seglistitem>
|
||||
<seg>&flex-ch5-sbu;</seg>
|
||||
<seg>&flex-ch5-du;</seg>
|
||||
</seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
</sect2>
|
||||
|
||||
<sect2 role="installation">
|
||||
<title>Installation of Flex</title>
|
||||
|
||||
<para>Flex contains several known bugs. These can be fixed with the
|
||||
following patch:</para>
|
||||
|
||||
<screen><userinput remap="pre">patch -Np1 -i ../&flex-fixes-patch;</userinput></screen>
|
||||
|
||||
<para>The GNU autotools will detect that the Flex source code has been
|
||||
modified by the previous patch and tries to update the man page
|
||||
accordingly. This does not work on many systems, and the default page is
|
||||
fine, so make sure it does not get regenerated:</para>
|
||||
|
||||
<screen><userinput remap="pre">touch doc/flex.1</userinput></screen>
|
||||
|
||||
<para>Now prepare Flex for compilation:</para>
|
||||
|
||||
<screen><userinput remap="configure">./configure --prefix=/tools</userinput></screen>
|
||||
|
||||
<para>Compile the package:</para>
|
||||
|
||||
<screen><userinput remap="make">make</userinput></screen>
|
||||
|
||||
<para>To test the results, issue:</para>
|
||||
|
||||
<screen><userinput remap="test">make check</userinput></screen>
|
||||
|
||||
<para>Install the package:</para>
|
||||
|
||||
<screen><userinput remap="install">make install</userinput></screen>
|
||||
|
||||
</sect2>
|
||||
|
||||
<sect2 role="content">
|
||||
<title/>
|
||||
|
||||
<para>Details on this package are located in
|
||||
<xref linkend="contents-flex" role="."/></para>
|
||||
|
||||
</sect2>
|
||||
|
||||
</sect1>
|
|
@ -1,74 +0,0 @@
|
|||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
|
||||
<!ENTITY % general-entities SYSTEM "../general.ent">
|
||||
%general-entities;
|
||||
]>
|
||||
|
||||
<sect1 id="ch-tools-gawk" role="wrap">
|
||||
<?dbhtml filename="gawk.html"?>
|
||||
|
||||
<sect1info condition="script">
|
||||
<productname>gawk</productname>
|
||||
<productnumber>&gawk-version;</productnumber>
|
||||
<address>&gawk-url;</address>
|
||||
</sect1info>
|
||||
|
||||
<title>Gawk-&gawk-version;</title>
|
||||
|
||||
<indexterm zone="ch-tools-gawk">
|
||||
<primary sortas="a-Gawk">Gawk</primary>
|
||||
<secondary>tools</secondary>
|
||||
</indexterm>
|
||||
|
||||
<sect2 role="package">
|
||||
<title/>
|
||||
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
|
||||
href="../chapter06/gawk.xml"
|
||||
xpointer="xpointer(/sect1/sect2[1]/para[1])"/>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>&buildtime;</segtitle>
|
||||
<segtitle>&diskspace;</segtitle>
|
||||
|
||||
<seglistitem>
|
||||
<seg>&gawk-ch5-sbu;</seg>
|
||||
<seg>&gawk-ch5-du;</seg>
|
||||
</seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
</sect2>
|
||||
|
||||
<sect2 role="installation">
|
||||
<title>Installation of Gawk</title>
|
||||
|
||||
<para>Prepare Gawk for compilation:</para>
|
||||
|
||||
<screen><userinput remap="configure">./configure --prefix=/tools</userinput></screen>
|
||||
|
||||
<para>Compile the package:</para>
|
||||
|
||||
<screen><userinput remap="make">make</userinput></screen>
|
||||
|
||||
<para>Compilation is now complete. As discussed earlier, running the test
|
||||
suite is not mandatory for the temporary tools here in this chapter. To run
|
||||
the Gawk test suite anyway, issue the following command:</para>
|
||||
|
||||
<screen><userinput remap="test">make check</userinput></screen>
|
||||
|
||||
<para>Install the package:</para>
|
||||
|
||||
<screen><userinput remap="install">make install</userinput></screen>
|
||||
|
||||
</sect2>
|
||||
|
||||
<sect2 role="content">
|
||||
<title/>
|
||||
|
||||
<para>Details on this package are located in
|
||||
<xref linkend="contents-gawk" role="."/></para>
|
||||
|
||||
</sect2>
|
||||
|
||||
</sect1>
|
|
@ -1,261 +0,0 @@
|
|||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
|
||||
<!ENTITY % general-entities SYSTEM "../general.ent">
|
||||
%general-entities;
|
||||
]>
|
||||
|
||||
<sect1 id="ch-tools-gcc-pass1" role="wrap">
|
||||
<?dbhtml filename="gcc-pass1.html"?>
|
||||
|
||||
<sect1info condition="script">
|
||||
<productname>gcc</productname>
|
||||
<productnumber>&gcc-version;</productnumber>
|
||||
<address>&gcc-url;</address>
|
||||
</sect1info>
|
||||
|
||||
<title>GCC-&gcc-version; - Pass 1</title>
|
||||
|
||||
<indexterm zone="ch-tools-gcc-pass1">
|
||||
<primary sortas="a-GCC">GCC</primary>
|
||||
<secondary>tools, pass 1</secondary>
|
||||
</indexterm>
|
||||
|
||||
<sect2 role="package">
|
||||
<title/>
|
||||
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
|
||||
href="../chapter06/gcc.xml"
|
||||
xpointer="xpointer(/sect1/sect2[1]/para[1])"/>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>&buildtime;</segtitle>
|
||||
<segtitle>&diskspace;</segtitle>
|
||||
|
||||
<seglistitem>
|
||||
<seg>&gcc-ch5p1-sbu;</seg>
|
||||
<seg>&gcc-ch5p1-du;</seg>
|
||||
</seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
</sect2>
|
||||
|
||||
<sect2 role="installation">
|
||||
<title>Installation of Cross GCC</title>
|
||||
|
||||
<para>GCC now requires the GMP, MPFR and MPC packages. As these packages may
|
||||
not be included in your host distribution, they will be built with
|
||||
GCC. Unpack each package into the GCC source directory and rename the
|
||||
resulting directories so the GCC build procedures will automatically
|
||||
use them:</para>
|
||||
|
||||
<note><para>There are frequent misunderstandings about this chapter. The
|
||||
procedures are the same as every other chapter as explained earlier (<xref
|
||||
linkend='buildinstr'/>). First extract the gcc tarball from the sources
|
||||
directory and then change to the directory created. Only then should you
|
||||
proceed with the instructions below.</para></note>
|
||||
|
||||
<screen><userinput remap="pre">tar -xf ../mpfr-&mpfr-version;.tar.xz
|
||||
mv -v mpfr-&mpfr-version; mpfr
|
||||
tar -xf ../gmp-&gmp-version;.tar.xz
|
||||
mv -v gmp-&gmp-extracted-version; gmp
|
||||
tar -xf ../mpc-&mpc-version;.tar.gz
|
||||
mv -v mpc-&mpc-version; mpc</userinput></screen>
|
||||
|
||||
<para>The following command will change the location of GCC's default
|
||||
dynamic linker to use the one installed in <filename
|
||||
class="directory">/tools</filename>. It also removes <filename
|
||||
class="directory">/usr/include</filename> from GCC's include search path.
|
||||
Issue:</para>
|
||||
|
||||
<screen><userinput remap="pre">for file in \
|
||||
$(find gcc/config -name linux64.h -o -name linux.h -o -name sysv4.h)
|
||||
do
|
||||
cp -uv $file{,.orig}
|
||||
sed -e 's@/lib\(64\)\?\(32\)\?/ld@/tools&@g' \
|
||||
-e 's@/usr@/tools@g' $file.orig > $file
|
||||
echo '
|
||||
#undef STANDARD_STARTFILE_PREFIX_1
|
||||
#undef STANDARD_STARTFILE_PREFIX_2
|
||||
#define STANDARD_STARTFILE_PREFIX_1 "/tools/lib/"
|
||||
#define STANDARD_STARTFILE_PREFIX_2 ""' >> $file
|
||||
touch $file.orig
|
||||
done</userinput></screen>
|
||||
|
||||
<para>In case the above seems hard to follow, let's break it down a bit.
|
||||
First we find all the files under the <filename
|
||||
class="directory">gcc/config</filename> directory that are named either
|
||||
<filename>linux.h</filename>, <filename>linux64.h</filename> or
|
||||
<filename>sysv4.h</filename>. For each file found, we copy it to a file of
|
||||
the same name but with an added suffix of <quote>.orig</quote>. Then the
|
||||
first sed expression prepends <quote>/tools</quote> to every instance of
|
||||
<quote>/lib/ld</quote>, <quote>/lib64/ld</quote> or
|
||||
<quote>/lib32/ld</quote>, while the second one replaces hard-coded
|
||||
instances of <quote>/usr</quote>. Next, we add our define statements which
|
||||
alter the default startfile prefix to the end of the file. Note that the
|
||||
trailing <quote>/</quote> in <quote>/tools/lib/</quote> is required.
|
||||
Finally, we use <command>touch</command> to update the timestamp on the
|
||||
copied files. When used in conjunction with <command>cp -u</command>, this
|
||||
prevents unexpected changes to the original files in case the commands are
|
||||
inadvertently run twice. </para>
|
||||
<!--
|
||||
<para>GCC doesn't detect stack protection correctly, which causes problems
|
||||
for the build of Glibc-&glibc-version;, so fix that by issuing the following
|
||||
command:</para>
|
||||
|
||||
<screen><userinput remap="pre">sed -i '/k prot/agcc_cv_libc_provides_ssp=yes' gcc/configure</userinput></screen>
|
||||
-->
|
||||
|
||||
<!--
|
||||
<para>Also fix a problem identified upstream:</para>
|
||||
|
||||
<screen><userinput remap="pre">sed -i 's/if \((code.*))\)/if (\1 \&\& \!DEBUG_INSN_P (insn))/' gcc/sched-deps.c</userinput></screen>
|
||||
-->
|
||||
<para>The GCC documentation recommends building GCC outside of the
|
||||
source directory in a dedicated build directory:</para>
|
||||
|
||||
<screen><userinput remap="pre">mkdir -v ../gcc-build
|
||||
cd ../gcc-build</userinput></screen>
|
||||
|
||||
<para>Prepare GCC for compilation:</para>
|
||||
|
||||
<screen><userinput remap="configure">../gcc-&gcc-version;/configure \
|
||||
--target=$LFS_TGT \
|
||||
--prefix=/tools \
|
||||
--with-glibc-version=2.11 \
|
||||
--with-sysroot=$LFS \
|
||||
--with-newlib \
|
||||
--without-headers \
|
||||
--with-local-prefix=/tools \
|
||||
--with-native-system-header-dir=/tools/include \
|
||||
--disable-nls \
|
||||
--disable-shared \
|
||||
--disable-multilib \
|
||||
--disable-decimal-float \
|
||||
--disable-threads \
|
||||
--disable-libatomic \
|
||||
--disable-libgomp \
|
||||
--disable-libquadmath \
|
||||
--disable-libssp \
|
||||
--disable-libvtv \
|
||||
--disable-libstdcxx \
|
||||
--enable-languages=c,c++</userinput></screen>
|
||||
<variablelist>
|
||||
<title>The meaning of the configure options:</title>
|
||||
|
||||
<varlistentry>
|
||||
<term><parameter>--with-newlib</parameter></term>
|
||||
<listitem>
|
||||
<para>Since a working C library is not yet available, this ensures
|
||||
that the inhibit_libc constant is defined when building libgcc. This prevents
|
||||
the compiling of any code that requires libc support.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><parameter>--without-headers</parameter></term>
|
||||
<listitem>
|
||||
<para>When creating a complete cross-compiler, GCC requires
|
||||
standard headers compatible with the target system. For our
|
||||
purposes these headers will not be needed. This switch prevents
|
||||
GCC from looking for them.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><parameter>--with-local-prefix=/tools</parameter></term>
|
||||
<listitem>
|
||||
<para>The local prefix is the location in the system that GCC will search
|
||||
for locally installed include files. The default is <filename>/usr/local</filename>.
|
||||
Setting this to <filename>/tools</filename> helps keep the host location of
|
||||
<filename>/usr/local</filename> out of this GCC's search path.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><parameter>--with-native-system-header-dir=/tools/include</parameter></term>
|
||||
<listitem>
|
||||
<para>By default GCC searches <filename>/usr/include</filename> for system
|
||||
headers. In conjunction with the sysroot switch, this would translate normally
|
||||
to <filename>$LFS/usr/include</filename>. However the headers that will be installed
|
||||
in the next two sections will go to <filename>$LFS/tools/include</filename>. This
|
||||
switch ensures that gcc will find them correctly. In the second pass of GCC, this
|
||||
same switch will ensure that no headers from the host system are found.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><parameter>--disable-shared</parameter></term>
|
||||
<listitem>
|
||||
<para>This switch forces GCC to link its internal libraries
|
||||
statically. We do this to avoid possible issues with the host
|
||||
system.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><parameter>--disable-decimal-float, --disable-threads,
|
||||
--disable-libatomic, --disable-libgomp, --disable-libquadmath,
|
||||
--disable-libssp, --disable-libvtv, --disable-libstdcxx</parameter></term>
|
||||
<listitem>
|
||||
<para>These switches disable support for the decimal floating point
|
||||
extension, threading, libatomic, libgomp, libquadmath, libssp,
|
||||
libvtv, and the C++ standard library respectively. These features
|
||||
will fail to compile when building a cross-compiler and are not
|
||||
necessary for the task of cross-compiling the temporary libc.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><parameter>--disable-multilib</parameter></term>
|
||||
<listitem>
|
||||
<para>On x86_64, LFS does not yet support a multilib configuration.
|
||||
This switch is harmless for x86.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><parameter>--enable-languages=c,c++</parameter></term>
|
||||
<listitem>
|
||||
<para>This option ensures that only the C and C++ compilers are built.
|
||||
These are the only languages needed now.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
</variablelist>
|
||||
|
||||
<para>Compile GCC by running:</para>
|
||||
|
||||
<screen><userinput remap="make">make</userinput></screen>
|
||||
|
||||
<para>Compilation is now complete. At this point, the test suite would
|
||||
normally be run, but, as mentioned before, the test suite framework is
|
||||
not in place yet. The benefits of running the tests at this point
|
||||
are minimal since the programs from this first pass will soon be
|
||||
replaced.</para>
|
||||
|
||||
<para>Install the package:</para>
|
||||
|
||||
<screen><userinput remap="install">make install</userinput></screen>
|
||||
<!--
|
||||
<para>Using <parameter>- -disable-shared</parameter> means that the
|
||||
<filename>libgcc_eh.a</filename> file isn't created and installed. The
|
||||
Glibc package depends on this library as it uses
|
||||
<parameter>-lgcc_eh</parameter> within its build system. This dependency
|
||||
can be satisfied by creating a symlink to <filename>libgcc.a</filename>,
|
||||
since that file will end up containing the objects normally contained in
|
||||
<filename>libgcc_eh.a</filename>:</para>
|
||||
|
||||
<screen><userinput remap="install">ln -sv libgcc.a `$LFS_TGT-gcc -print-libgcc-file-name | sed 's/libgcc/&_eh/'`</userinput></screen>
|
||||
-->
|
||||
</sect2>
|
||||
|
||||
<sect2 role="content">
|
||||
<title/>
|
||||
|
||||
<para>Details on this package are located in
|
||||
<xref linkend="contents-gcc" role="."/></para>
|
||||
|
||||
</sect2>
|
||||
|
||||
</sect1>
|
|
@ -1,228 +0,0 @@
|
|||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
|
||||
<!ENTITY % general-entities SYSTEM "../general.ent">
|
||||
%general-entities;
|
||||
]>
|
||||
|
||||
<sect1 id="ch-tools-gcc-pass2" role="wrap">
|
||||
<?dbhtml filename="gcc-pass2.html"?>
|
||||
|
||||
<sect1info condition="script">
|
||||
<productname>gcc</productname>
|
||||
<productnumber>&gcc-version;</productnumber>
|
||||
<address>&gcc-url;</address>
|
||||
</sect1info>
|
||||
|
||||
<title>GCC-&gcc-version; - Pass 2</title>
|
||||
|
||||
<indexterm zone="ch-tools-gcc-pass2">
|
||||
<primary sortas="a-GCC">GCC</primary>
|
||||
<secondary>tools, pass 2</secondary>
|
||||
</indexterm>
|
||||
|
||||
<sect2 role="package">
|
||||
<title/>
|
||||
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
|
||||
href="../chapter06/gcc.xml"
|
||||
xpointer="xpointer(/sect1/sect2[1]/para[1])"/>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>&buildtime;</segtitle>
|
||||
<segtitle>&diskspace;</segtitle>
|
||||
|
||||
<seglistitem>
|
||||
<seg>&gcc-ch5p2-sbu;</seg>
|
||||
<seg>&gcc-ch5p2-du;</seg>
|
||||
</seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
</sect2>
|
||||
|
||||
<sect2 role="installation">
|
||||
<title>Installation of GCC</title>
|
||||
|
||||
<para>Our first build of GCC has installed a couple of internal system
|
||||
headers. Normally one of them, <filename>limits.h</filename>, will in turn
|
||||
include the corresponding system <filename>limits.h</filename> header, in
|
||||
this case, <filename>/tools/include/limits.h</filename>. However, at the
|
||||
time of the first build of gcc <filename>/tools/include/limits.h</filename>
|
||||
did not exist, so the internal header that GCC installed is a partial,
|
||||
self-contained file and does not include the extended features of the
|
||||
system header. This was adequate for building the temporary libc, but this
|
||||
build of GCC now requires the full internal header. Create a full version
|
||||
of the internal header using a command that is identical to what the GCC
|
||||
build system does in normal circumstances:</para>
|
||||
|
||||
<screen><userinput remap="pre">cat gcc/limitx.h gcc/glimits.h gcc/limity.h > \
|
||||
`dirname $($LFS_TGT-gcc -print-libgcc-file-name)`/include-fixed/limits.h</userinput></screen>
|
||||
<!--
|
||||
<para>For x86 machines, the limited number of registers is a bottleneck
|
||||
for the system. Free one up by not using a frame pointer that is not
|
||||
needed:</para>
|
||||
|
||||
<screen><userinput remap="pre">case `uname -m` in
|
||||
i?86) sed -i 's/^T_CFLAGS =$/& -fomit-frame-pointer/' gcc/Makefile.in ;;
|
||||
esac</userinput></screen>
|
||||
-->
|
||||
<para>Once again, change the location of GCC's default dynamic linker to
|
||||
use the one installed in <filename
|
||||
class="directory">/tools</filename>.</para>
|
||||
|
||||
<screen><userinput remap="pre">for file in \
|
||||
$(find gcc/config -name linux64.h -o -name linux.h -o -name sysv4.h)
|
||||
do
|
||||
cp -uv $file{,.orig}
|
||||
sed -e 's@/lib\(64\)\?\(32\)\?/ld@/tools&@g' \
|
||||
-e 's@/usr@/tools@g' $file.orig > $file
|
||||
echo '
|
||||
#undef STANDARD_STARTFILE_PREFIX_1
|
||||
#undef STANDARD_STARTFILE_PREFIX_2
|
||||
#define STANDARD_STARTFILE_PREFIX_1 "/tools/lib/"
|
||||
#define STANDARD_STARTFILE_PREFIX_2 ""' >> $file
|
||||
touch $file.orig
|
||||
done</userinput></screen>
|
||||
|
||||
<para>As in the first build of GCC it requires the GMP, MPFR and MPC
|
||||
packages. Unpack the tarballs and move them into the required directory
|
||||
names:</para>
|
||||
|
||||
<screen><userinput remap="pre">tar -xf ../mpfr-&mpfr-version;.tar.xz
|
||||
mv -v mpfr-&mpfr-version; mpfr
|
||||
tar -xf ../gmp-&gmp-version;.tar.xz
|
||||
mv -v gmp-&gmp-extracted-version; gmp
|
||||
tar -xf ../mpc-&mpc-version;.tar.gz
|
||||
mv -v mpc-&mpc-version; mpc</userinput></screen>
|
||||
<!--
|
||||
<para>As in the first build of GCC, fix a problem identified upstream:</para>
|
||||
|
||||
<screen><userinput remap="pre">sed -i 's/if \((code.*))\)/if (\1 \&\& \!DEBUG_INSN_P (insn))/' gcc/sched-deps.c</userinput></screen>
|
||||
-->
|
||||
<para>Create a separate build directory again:</para>
|
||||
|
||||
<screen><userinput remap="pre">mkdir -v ../gcc-build
|
||||
cd ../gcc-build</userinput></screen>
|
||||
|
||||
<para>Before starting to build GCC, remember to unset any environment
|
||||
variables that override the default optimization flags.</para>
|
||||
|
||||
<para>Now prepare GCC for compilation:</para>
|
||||
|
||||
<screen><userinput remap="configure">CC=$LFS_TGT-gcc \
|
||||
CXX=$LFS_TGT-g++ \
|
||||
AR=$LFS_TGT-ar \
|
||||
RANLIB=$LFS_TGT-ranlib \
|
||||
../gcc-&gcc-version;/configure \
|
||||
--prefix=/tools \
|
||||
--with-local-prefix=/tools \
|
||||
--with-native-system-header-dir=/tools/include \
|
||||
--enable-languages=c,c++ \
|
||||
--disable-libstdcxx-pch \
|
||||
--disable-multilib \
|
||||
--disable-bootstrap \
|
||||
--disable-libgomp</userinput></screen>
|
||||
|
||||
<variablelist>
|
||||
<title>The meaning of the new configure options:</title>
|
||||
|
||||
<varlistentry>
|
||||
<term><parameter>--enable-languages=c,c++</parameter></term>
|
||||
<listitem>
|
||||
<para>This option ensures that both the C and C++ compilers are
|
||||
built.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><parameter>--disable-libstdcxx-pch</parameter></term>
|
||||
<listitem>
|
||||
<para>Do not build the pre-compiled header (PCH) for
|
||||
<filename class="libraryfile">libstdc++</filename>. It takes up a
|
||||
lot of space, and we have no use for it.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><parameter>--disable-bootstrap</parameter></term>
|
||||
<listitem>
|
||||
<para>For native builds of GCC, the default is to do a "bootstrap"
|
||||
build. This does not just compile GCC, but compiles it several times.
|
||||
It uses the programs compiled in a first round to compile itself a
|
||||
second time, and then again a third time. The second and third
|
||||
iterations are compared to make sure it can reproduce itself
|
||||
flawlessly. This also implies that it was compiled correctly.
|
||||
However, the LFS build method should provide a solid compiler
|
||||
without the need to bootstrap each time.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
</variablelist>
|
||||
|
||||
<para>Compile the package:</para>
|
||||
|
||||
<screen><userinput remap="make">make</userinput></screen>
|
||||
|
||||
<para>Install the package:</para>
|
||||
|
||||
<screen><userinput remap="install">make install</userinput></screen>
|
||||
|
||||
<para>As a finishing touch, create a symlink. Many programs and scripts
|
||||
run <command>cc</command> instead of <command>gcc</command>, which is
|
||||
used to keep programs generic and therefore usable on all kinds of UNIX
|
||||
systems where the GNU C compiler is not always installed. Running
|
||||
<command>cc</command> leaves the system administrator free to decide
|
||||
which C compiler to install:</para>
|
||||
|
||||
<screen><userinput remap="install">ln -sv gcc /tools/bin/cc</userinput></screen>
|
||||
|
||||
<caution>
|
||||
<para>At this point, it is imperative to stop and ensure that the basic
|
||||
functions (compiling and linking) of the new toolchain are working as
|
||||
expected. To perform a sanity check, run the following commands:</para>
|
||||
|
||||
<screen><userinput>echo 'int main(){}' > dummy.c
|
||||
cc dummy.c
|
||||
readelf -l a.out | grep ': /tools'</userinput></screen>
|
||||
|
||||
<para>If everything is working correctly, there should be no errors,
|
||||
and the output of the last command will be of the form:</para>
|
||||
|
||||
<screen><computeroutput>[Requesting program interpreter: /tools/lib/ld-linux.so.2]</computeroutput></screen>
|
||||
|
||||
<para>Note that <filename class="directory">/tools/lib</filename>, or
|
||||
<filename class="directory">/tools/lib64</filename> for 64-bit machines
|
||||
appears as the prefix of the dynamic linker.</para>
|
||||
|
||||
<para>If the output is not shown as above or there was no output at all,
|
||||
then something is wrong. Investigate and retrace the steps to find out
|
||||
where the problem is and correct it. This issue must be resolved before
|
||||
continuing on. First, perform the sanity check again, using
|
||||
<command>gcc</command> instead of <command>cc</command>. If this works,
|
||||
then the <filename class="symlink">/tools/bin/cc</filename> symlink is
|
||||
missing. Install the symlink as per above.
|
||||
Next, ensure that the <envar>PATH</envar> is correct. This
|
||||
can be checked by running <command>echo $PATH</command> and verifying that
|
||||
<filename class="directory">/tools/bin</filename> is at the head of the
|
||||
list. If the <envar>PATH</envar> is wrong it could mean that you are not
|
||||
logged in as user <systemitem class="username">lfs</systemitem> or that
|
||||
something went wrong back in <xref linkend="ch-tools-settingenviron"
|
||||
role="."/></para>
|
||||
|
||||
<para>Once all is well, clean up the test files:</para>
|
||||
|
||||
<screen><userinput>rm -v dummy.c a.out</userinput></screen>
|
||||
|
||||
</caution>
|
||||
|
||||
</sect2>
|
||||
|
||||
<sect2 role="content">
|
||||
<title/>
|
||||
|
||||
<para>Details on this package are located in
|
||||
<xref linkend="contents-gcc" role="."/></para>
|
||||
|
||||
</sect2>
|
||||
|
||||
</sect1>
|
|
@ -1,122 +0,0 @@
|
|||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
|
||||
<!ENTITY % general-entities SYSTEM "../general.ent">
|
||||
%general-entities;
|
||||
]>
|
||||
|
||||
<sect1 id="ch-tools-generalinstructions">
|
||||
<?dbhtml filename="generalinstructions.html"?>
|
||||
|
||||
<title>General Compilation Instructions</title>
|
||||
|
||||
<para>When building packages there are several assumptions made within
|
||||
the instructions:</para>
|
||||
|
||||
<itemizedlist>
|
||||
|
||||
<listitem>
|
||||
<para>Several of the packages are patched before compilation, but only when
|
||||
the patch is needed to circumvent a problem. A patch is often needed in
|
||||
both this and the next chapter, but sometimes in only one or the other.
|
||||
Therefore, do not be concerned if instructions for a downloaded patch seem
|
||||
to be missing. Warning messages about <emphasis>offset</emphasis> or
|
||||
<emphasis>fuzz</emphasis> may also be encountered when applying a patch. Do
|
||||
not worry about these warnings, as the patch was still successfully
|
||||
applied.</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>During the compilation of most packages, there will be several
|
||||
warnings that scroll by on the screen. These are normal and can safely be
|
||||
ignored. These warnings are as they appear—warnings about
|
||||
deprecated, but not invalid, use of the C or C++ syntax. C standards change
|
||||
fairly often, and some packages still use the older standard. This is not a
|
||||
problem, but does prompt the warning.</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>Check one last time that the <envar>LFS</envar> environment variable
|
||||
is set up properly:</para>
|
||||
|
||||
<screen role="nodump"><userinput>echo $LFS</userinput></screen>
|
||||
|
||||
<para>Make sure the output shows the path to the LFS partition's mount
|
||||
point, which is <filename class="directory">/mnt/lfs</filename>, using our
|
||||
example.</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
|
||||
<para>Finally, two last important items must be emphasized:</para>
|
||||
|
||||
<important>
|
||||
|
||||
<para>The build instructions assume that the <xref
|
||||
linkend='pre-hostreqs'/>, including symbolic links, have been set
|
||||
properly:</para>
|
||||
|
||||
<itemizedlist role='important'>
|
||||
|
||||
<listitem override='bullet'><para><command>bash</command> is the shell
|
||||
in use.</para></listitem>
|
||||
|
||||
<listitem override='bullet'><para><command>sh</command> is a symbolic
|
||||
link to <command>bash</command>.</para></listitem>
|
||||
|
||||
<listitem override='bullet'><para><command>/usr/bin/awk</command> is a
|
||||
symbolic link to <command>gawk</command>.</para></listitem>
|
||||
|
||||
<listitem override='bullet'><para><command>/usr/bin/yacc</command> is a
|
||||
symbolic link to <command>bison</command> or a small script that
|
||||
executes bison.</para></listitem>
|
||||
|
||||
</itemizedlist>
|
||||
</important>
|
||||
|
||||
<important>
|
||||
<para>To re-emphasize the build process:</para>
|
||||
|
||||
<orderedlist numeration="arabic" spacing="compact">
|
||||
<listitem>
|
||||
<para>Place all the sources and patches in a directory that will be
|
||||
accessible from the chroot environment such as
|
||||
<filename class="directory">/mnt/lfs/sources/</filename>. Do
|
||||
<emphasis>not</emphasis> put sources in
|
||||
<filename class="directory">/mnt/lfs/tools/</filename>.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>Change to the sources directory.</para>
|
||||
</listitem>
|
||||
<listitem id='buildinstr' xreflabel='Package build instructions'>
|
||||
<para>For each package:</para>
|
||||
<orderedlist numeration="loweralpha" spacing="compact">
|
||||
<listitem>
|
||||
<para>Using the <command>tar</command> program, extract the package
|
||||
to be built. In Chapter 5, ensure you are the <emphasis>lfs</emphasis>
|
||||
user when extracting the package.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>Change to the directory created when the package was
|
||||
extracted.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>Follow the book's instructions for building the package.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>Change back to the sources directory.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>Delete the extracted source directory and any
|
||||
<filename class="directory"><replaceable><package></replaceable>-build</filename>
|
||||
directories that were created in the build process unless instructed otherwise.</para>
|
||||
</listitem>
|
||||
</orderedlist>
|
||||
</listitem>
|
||||
</orderedlist>
|
||||
</important>
|
||||
</listitem>
|
||||
|
||||
</itemizedlist>
|
||||
|
||||
</sect1>
|
|
@ -1,104 +0,0 @@
|
|||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
|
||||
<!ENTITY % general-entities SYSTEM "../general.ent">
|
||||
%general-entities;
|
||||
]>
|
||||
|
||||
<sect1 id="ch-tools-gettext" role="wrap">
|
||||
<?dbhtml filename="gettext.html"?>
|
||||
|
||||
<sect1info condition="script">
|
||||
<productname>gettext</productname>
|
||||
<productnumber>&gettext-version;</productnumber>
|
||||
<address>&gettext-url;</address>
|
||||
</sect1info>
|
||||
|
||||
<title>Gettext-&gettext-version;</title>
|
||||
|
||||
<indexterm zone="ch-tools-gettext">
|
||||
<primary sortas="a-Gettext">Gettext</primary>
|
||||
<secondary>tools</secondary>
|
||||
</indexterm>
|
||||
|
||||
<sect2 role="package">
|
||||
<title/>
|
||||
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
|
||||
href="../chapter06/gettext.xml"
|
||||
xpointer="xpointer(/sect1/sect2[1]/para[1])"/>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>&buildtime;</segtitle>
|
||||
<segtitle>&diskspace;</segtitle>
|
||||
|
||||
<seglistitem>
|
||||
<seg>&gettext-ch5-sbu;</seg>
|
||||
<seg>&gettext-ch5-du;</seg>
|
||||
</seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
</sect2>
|
||||
|
||||
<sect2 role="installation">
|
||||
<title>Installation of Gettext</title>
|
||||
|
||||
<para>For our temporary set of tools, we only need to build and install
|
||||
three programs from Gettext.</para>
|
||||
|
||||
<para>Prepare Gettext for compilation:</para>
|
||||
|
||||
<screen><userinput remap="configure">cd gettext-tools
|
||||
EMACS="no" ./configure --prefix=/tools --disable-shared</userinput></screen>
|
||||
|
||||
<variablelist>
|
||||
<title>The meaning of the configure option:</title>
|
||||
|
||||
<varlistentry>
|
||||
<term><parameter>EMACS="no"</parameter></term>
|
||||
<listitem>
|
||||
<para>This prevents the configure script from determining where to
|
||||
install Emacs Lisp files as the test is known to hang on some hosts.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><parameter>--disable-shared</parameter></term>
|
||||
<listitem>
|
||||
<para>We do not need to install any of the shared Gettext libraries at
|
||||
this time, therefore there is no need to build them.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
</variablelist>
|
||||
|
||||
<para>Compile the package:</para>
|
||||
|
||||
<screen><userinput remap="make">make -C gnulib-lib
|
||||
make -C intl pluralx.c
|
||||
make -C src msgfmt
|
||||
make -C src msgmerge
|
||||
make -C src xgettext</userinput></screen>
|
||||
|
||||
<para>As only three programs have been compiled, it is not possible to run the
|
||||
test suite without compiling additional support libraries from the Gettext
|
||||
package. It is therefore not recommended to attempt to run the test suite at
|
||||
this stage.</para>
|
||||
|
||||
<para>Install the <command>msgfmt</command>, <command>msgmerge</command> and
|
||||
<command>xgettext</command> programs:</para>
|
||||
|
||||
<screen><userinput remap="install">cp -v src/{msgfmt,msgmerge,xgettext} /tools/bin</userinput></screen>
|
||||
|
||||
</sect2>
|
||||
|
||||
<sect2 role="content">
|
||||
<title/>
|
||||
|
||||
<para>Details on this package are located in
|
||||
<xref linkend="contents-gettext" role="."/></para>
|
||||
|
||||
</sect2>
|
||||
|
||||
</sect1>
|
|
@ -1,232 +0,0 @@
|
|||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
|
||||
<!ENTITY % general-entities SYSTEM "../general.ent">
|
||||
%general-entities;
|
||||
]>
|
||||
|
||||
<sect1 id="ch-tools-glibc" role="wrap">
|
||||
<?dbhtml filename="glibc.html"?>
|
||||
|
||||
<sect1info condition="script">
|
||||
<productname>glibc</productname>
|
||||
<productnumber>&glibc-version;</productnumber>
|
||||
<address>&glibc-url;</address>
|
||||
</sect1info>
|
||||
|
||||
<title>Glibc-&glibc-version;</title>
|
||||
|
||||
<indexterm zone="ch-tools-glibc">
|
||||
<primary sortas="a-Glibc">Glibc</primary>
|
||||
<secondary>tools</secondary>
|
||||
</indexterm>
|
||||
|
||||
<sect2 role="package">
|
||||
<title/>
|
||||
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
|
||||
href="../chapter06/glibc.xml"
|
||||
xpointer="xpointer(/sect1/sect2[1]/para[1])"/>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>&buildtime;</segtitle>
|
||||
<segtitle>&diskspace;</segtitle>
|
||||
|
||||
<seglistitem>
|
||||
<seg>&glibc-ch5-sbu;</seg>
|
||||
<seg>&glibc-ch5-du;</seg>
|
||||
</seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
</sect2>
|
||||
|
||||
<sect2 role="installation">
|
||||
<title>Installation of Glibc</title>
|
||||
|
||||
<para>First, fix a build problem that affects i386 systems:</para>
|
||||
|
||||
<screen><userinput remap="pre">patch -Np1 -i ../&glibc-upstream-patch;</userinput></screen>
|
||||
|
||||
<para>The Glibc documentation recommends building Glibc outside of the source
|
||||
directory in a dedicated build directory:</para>
|
||||
|
||||
<screen><userinput remap="pre">mkdir -v ../glibc-build
|
||||
cd ../glibc-build</userinput></screen>
|
||||
|
||||
<para>Next, prepare Glibc for compilation:</para>
|
||||
|
||||
<screen><userinput remap="configure">../glibc-&glibc-version;/configure \
|
||||
--prefix=/tools \
|
||||
--host=$LFS_TGT \
|
||||
--build=$(../glibc-&glibc-version;/scripts/config.guess) \
|
||||
--disable-profile \
|
||||
--enable-kernel=&min-kernel; \
|
||||
--enable-obsolete-rpc \
|
||||
--with-headers=/tools/include \
|
||||
libc_cv_forced_unwind=yes \
|
||||
libc_cv_ctors_header=yes \
|
||||
libc_cv_c_cleanup=yes</userinput></screen>
|
||||
|
||||
<variablelist>
|
||||
<title>The meaning of the configure options:</title>
|
||||
|
||||
<varlistentry>
|
||||
<term><parameter>--host=$LFS_TGT, --build=$(../glibc-&glibc-version;/scripts/config.guess)</parameter></term>
|
||||
<listitem>
|
||||
<para>The combined effect of these switches is that Glibc's build system
|
||||
configures itself to cross-compile, using the cross-linker and
|
||||
cross-compiler in <filename class="directory">/tools</filename>.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><parameter>--disable-profile</parameter></term>
|
||||
<listitem>
|
||||
<para>This builds the libraries without profiling information. Omit
|
||||
this option if profiling on the temporary tools is necessary.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><parameter>--enable-kernel=&min-kernel;</parameter></term>
|
||||
<listitem>
|
||||
<para>This tells Glibc to compile the library with support
|
||||
for &min-kernel; and later Linux kernels. Workarounds for older
|
||||
kernels are not enabled.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><parameter>--enable-obsolete-rpc</parameter></term>
|
||||
<listitem>
|
||||
<para>This installs NIS and RPC related headers that are not
|
||||
installed by default. They are required to build GCC and by
|
||||
several BLFS packages.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><parameter>--with-headers=/tools/include</parameter></term>
|
||||
<listitem>
|
||||
<para>This tells Glibc to compile itself against the headers recently
|
||||
installed to the tools directory, so that it knows exactly what
|
||||
features the kernel has and can optimize itself accordingly.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><parameter>libc_cv_forced_unwind=yes</parameter></term>
|
||||
<listitem>
|
||||
<para>The linker installed during
|
||||
<xref linkend="ch-tools-binutils-pass1"/> was cross-compiled and as
|
||||
such cannot be used until Glibc has been installed. This means that
|
||||
the configure test for force-unwind support will fail, as it relies on
|
||||
a working linker. The libc_cv_forced_unwind=yes variable is passed in
|
||||
order to inform <command>configure</command> that force-unwind
|
||||
support is available without it having to run the test.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><parameter>libc_cv_c_cleanup=yes</parameter></term>
|
||||
<listitem>
|
||||
<para>Similarly, we pass libc_cv_c_cleanup=yes through to the
|
||||
<command>configure</command> script so that the test is skipped and C
|
||||
cleanup handling support is configured.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><parameter>libc_cv_ctors_header=yes</parameter></term>
|
||||
<listitem>
|
||||
<para>Similarly, we pass libc_cv_ctors_header=yes through to the
|
||||
<command>configure</command> script so that the test is skipped and
|
||||
gcc constructor support is configured.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
</variablelist>
|
||||
|
||||
<para>During this stage the following warning might appear:</para>
|
||||
|
||||
<blockquote>
|
||||
<screen><computeroutput>configure: WARNING:
|
||||
*** These auxiliary programs are missing or
|
||||
*** incompatible versions: msgfmt
|
||||
*** some features will be disabled.
|
||||
*** Check the INSTALL file for required versions.</computeroutput></screen>
|
||||
</blockquote>
|
||||
|
||||
<para>The missing or incompatible <command>msgfmt</command> program is
|
||||
generally harmless. This <command>msgfmt</command> program is part of the
|
||||
Gettext package which the host distribution should provide.</para>
|
||||
|
||||
<note><para>There have been reports that this package may fail when
|
||||
building as a "parallel make". If this occurs, rerun the make command
|
||||
with a "-j1" option.</para></note>
|
||||
|
||||
<para>Compile the package:</para>
|
||||
|
||||
<screen><userinput remap="make">make</userinput></screen>
|
||||
|
||||
<!--
|
||||
<para>This package does come with a test suite, however, it cannot be
|
||||
run at this time because we do not have a C++ compiler yet.</para>
|
||||
|
||||
<note>
|
||||
<para>The test suite also requires locale data to be installed in order to run
|
||||
successfully. Locale data provides information to the system regarding
|
||||
such things as the date, time, and currency formats accepted and output by
|
||||
system utilities. If the test suites are not being run in this chapter
|
||||
(as per the recommendation), there is no need to install the locales now.
|
||||
The appropriate locales will be installed in the next chapter. To install
|
||||
the Glibc locales anyway, use instructions from <xref
|
||||
linkend="ch-system-glibc" role="."/></para>
|
||||
</note>
|
||||
-->
|
||||
<para>Install the package:</para>
|
||||
|
||||
<screen><userinput remap="install">make install</userinput></screen>
|
||||
|
||||
<caution>
|
||||
<para>At this point, it is imperative to stop and ensure that the basic
|
||||
functions (compiling and linking) of the new toolchain are working as
|
||||
expected. To perform a sanity check, run the following commands:</para>
|
||||
|
||||
<screen><userinput>echo 'int main(){}' > dummy.c
|
||||
$LFS_TGT-gcc dummy.c
|
||||
readelf -l a.out | grep ': /tools'</userinput></screen>
|
||||
|
||||
<para>If everything is working correctly, there should be no errors,
|
||||
and the output of the last command will be of the form:</para>
|
||||
|
||||
<screen><computeroutput>[Requesting program interpreter: /tools/lib/ld-linux.so.2]</computeroutput></screen>
|
||||
|
||||
<para>Note that for 64-bit machines, the interpreter name will be
|
||||
<filename>/tools/lib64/ld-linux-x86-64.so.2</filename>.</para>
|
||||
|
||||
<para>If the output is not shown as above or there was no output at all,
|
||||
then something is wrong. Investigate and retrace the steps to find out
|
||||
where the problem is and correct it. This issue must be resolved before
|
||||
continuing on.</para>
|
||||
|
||||
<para>Once all is well, clean up the test files:</para>
|
||||
|
||||
<screen><userinput>rm -v dummy.c a.out</userinput></screen>
|
||||
|
||||
</caution>
|
||||
|
||||
<note><para>Building Binutils in the section after next will serve as an
|
||||
additional check that the toolchain has been built properly. If Binutils
|
||||
fails to build, it is an indication that something has gone wrong with the
|
||||
previous Binutils, GCC, or Glibc installations.</para></note>
|
||||
|
||||
</sect2>
|
||||
|
||||
<sect2 role="content">
|
||||
<title/>
|
||||
|
||||
<para>Details on this package are located in
|
||||
<xref linkend="contents-glibc" role="."/></para>
|
||||
|
||||
</sect2>
|
||||
|
||||
</sect1>
|
|
@ -1,84 +0,0 @@
|
|||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
|
||||
<!ENTITY % general-entities SYSTEM "../general.ent">
|
||||
%general-entities;
|
||||
]>
|
||||
|
||||
<sect1 id="ch-tools-gmp" role="wrap">
|
||||
<?dbhtml filename="gmp.html"?>
|
||||
|
||||
<sect1info condition="script">
|
||||
<productname>gmp</productname>
|
||||
<productnumber>&gmp-version;</productnumber>
|
||||
<address>&gmp-url;</address>
|
||||
</sect1info>
|
||||
|
||||
<title>GMP-&gmp-version;</title>
|
||||
|
||||
<indexterm zone="ch-tools-gmp">
|
||||
<primary sortas="a-GMP">GMP</primary>
|
||||
<secondary>tools</secondary>
|
||||
</indexterm>
|
||||
|
||||
<sect2 role="package">
|
||||
<title/>
|
||||
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
|
||||
href="../chapter06/gmp.xml"
|
||||
xpointer="xpointer(/sect1/sect2[1]/para[1])"/>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>&buildtime;</segtitle>
|
||||
<segtitle>&diskspace;</segtitle>
|
||||
|
||||
<seglistitem>
|
||||
<seg>&gmp-ch5-sbu;</seg>
|
||||
<seg>&gmp-ch5-du;</seg>
|
||||
</seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
</sect2>
|
||||
|
||||
<sect2 role="installation">
|
||||
<title>Installation of GMP</title>
|
||||
|
||||
<para>Prepare GMP for compilation:</para>
|
||||
|
||||
<screen><userinput remap="configure">./configure --prefix=/tools --enable-mpbsd</userinput></screen>
|
||||
|
||||
<variablelist>
|
||||
<title>The meaning of the configure option:</title>
|
||||
|
||||
<varlistentry>
|
||||
<term><parameter>--enable-mpbsd</parameter></term>
|
||||
<listitem>
|
||||
<para>This builds the Berkeley MP compatibility library</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
</variablelist>
|
||||
|
||||
<para>Compile the package:</para>
|
||||
|
||||
<screen><userinput remap="make">make</userinput></screen>
|
||||
|
||||
<para>To test the results, issue:</para>
|
||||
|
||||
<screen><userinput remap="test">make check</userinput></screen>
|
||||
|
||||
<para>Install the package:</para>
|
||||
|
||||
<screen><userinput remap="install">make install</userinput></screen>
|
||||
|
||||
</sect2>
|
||||
|
||||
<sect2 role="content">
|
||||
<title/>
|
||||
|
||||
<para>Details on this package are located in
|
||||
<xref linkend="contents-gmp" role="."/></para>
|
||||
|
||||
</sect2>
|
||||
|
||||
</sect1>
|
|
@ -1,74 +0,0 @@
|
|||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
|
||||
<!ENTITY % general-entities SYSTEM "../general.ent">
|
||||
%general-entities;
|
||||
]>
|
||||
|
||||
<sect1 id="ch-tools-grep" role="wrap">
|
||||
<?dbhtml filename="grep.html"?>
|
||||
|
||||
<sect1info condition="script">
|
||||
<productname>grep</productname>
|
||||
<productnumber>&grep-version;</productnumber>
|
||||
<address>&grep-url;</address>
|
||||
</sect1info>
|
||||
|
||||
<title>Grep-&grep-version;</title>
|
||||
|
||||
<indexterm zone="ch-tools-grep">
|
||||
<primary sortas="a-Grep">Grep</primary>
|
||||
<secondary>tools</secondary>
|
||||
</indexterm>
|
||||
|
||||
<sect2 role="package">
|
||||
<title/>
|
||||
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
|
||||
href="../chapter06/grep.xml"
|
||||
xpointer="xpointer(/sect1/sect2[1]/para[1])"/>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>&buildtime;</segtitle>
|
||||
<segtitle>&diskspace;</segtitle>
|
||||
|
||||
<seglistitem>
|
||||
<seg>&grep-ch5-sbu;</seg>
|
||||
<seg>&grep-ch5-du;</seg>
|
||||
</seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
</sect2>
|
||||
|
||||
<sect2 role="installation">
|
||||
<title>Installation of Grep</title>
|
||||
|
||||
<para>Prepare Grep for compilation:</para>
|
||||
|
||||
<screen><userinput remap="configure">./configure --prefix=/tools</userinput></screen>
|
||||
|
||||
<para>Compile the package:</para>
|
||||
|
||||
<screen><userinput remap="make">make</userinput></screen>
|
||||
|
||||
<para>Compilation is now complete. As discussed earlier, running the test
|
||||
suite is not mandatory for the temporary tools here in this chapter. To run
|
||||
the Grep test suite anyway, issue the following command:</para>
|
||||
|
||||
<screen><userinput remap="test">make check</userinput></screen>
|
||||
|
||||
<para>Install the package:</para>
|
||||
|
||||
<screen><userinput remap="install">make install</userinput></screen>
|
||||
|
||||
</sect2>
|
||||
|
||||
<sect2 role="content">
|
||||
<title/>
|
||||
|
||||
<para>Details on this package are located in
|
||||
<xref linkend="contents-grep" role="."/></para>
|
||||
|
||||
</sect2>
|
||||
|
||||
</sect1>
|
|
@ -1,74 +0,0 @@
|
|||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
|
||||
<!ENTITY % general-entities SYSTEM "../general.ent">
|
||||
%general-entities;
|
||||
]>
|
||||
|
||||
<sect1 id="ch-tools-gzip" role="wrap">
|
||||
<?dbhtml filename="gzip.html"?>
|
||||
|
||||
<sect1info condition="script">
|
||||
<productname>gzip</productname>
|
||||
<productnumber>&gzip-version;</productnumber>
|
||||
<address>&gzip-url;</address>
|
||||
</sect1info>
|
||||
|
||||
<title>Gzip-&gzip-version;</title>
|
||||
|
||||
<indexterm zone="ch-tools-gzip">
|
||||
<primary sortas="a-Gzip">Gzip</primary>
|
||||
<secondary>tools</secondary>
|
||||
</indexterm>
|
||||
|
||||
<sect2 role="package">
|
||||
<title/>
|
||||
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
|
||||
href="../chapter06/gzip.xml"
|
||||
xpointer="xpointer(/sect1/sect2[1]/para[1])"/>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>&buildtime;</segtitle>
|
||||
<segtitle>&diskspace;</segtitle>
|
||||
|
||||
<seglistitem>
|
||||
<seg>&gzip-ch5-sbu;</seg>
|
||||
<seg>&gzip-ch5-du;</seg>
|
||||
</seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
</sect2>
|
||||
|
||||
<sect2 role="installation">
|
||||
<title>Installation of Gzip</title>
|
||||
|
||||
<para>Prepare Gzip for compilation:</para>
|
||||
|
||||
<screen><userinput remap="configure">./configure --prefix=/tools</userinput></screen>
|
||||
|
||||
<para>Compile the package:</para>
|
||||
|
||||
<screen><userinput remap="make">make</userinput></screen>
|
||||
|
||||
<para>Compilation is now complete. As discussed earlier, running the test
|
||||
suite is not mandatory for the temporary tools here in this chapter. To run
|
||||
the Gzip test suite anyway, issue the following command:</para>
|
||||
|
||||
<screen><userinput remap="test">make check</userinput></screen>
|
||||
|
||||
<para>Install the package:</para>
|
||||
|
||||
<screen><userinput remap="install">make install</userinput></screen>
|
||||
|
||||
</sect2>
|
||||
|
||||
<sect2 role="content">
|
||||
<title/>
|
||||
|
||||
<para>Details on this package are located in
|
||||
<xref linkend="contents-gzip" role="."/></para>
|
||||
|
||||
</sect2>
|
||||
|
||||
</sect1>
|
|
@ -1,29 +0,0 @@
|
|||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
|
||||
<!ENTITY % general-entities SYSTEM "../general.ent">
|
||||
%general-entities;
|
||||
]>
|
||||
|
||||
<sect1 id="ch-tools-introduction">
|
||||
<?dbhtml filename="introduction.html"?>
|
||||
|
||||
<title>Introduction</title>
|
||||
|
||||
<para>This chapter shows how to build a minimal Linux system.
|
||||
This system will contain just enough tools to start constructing the final
|
||||
LFS system in <xref linkend="chapter-building-system"/> and allow a working
|
||||
environment with more user convenience than a minimum environment would.</para>
|
||||
|
||||
<para>There are two steps in building this minimal system. The first step
|
||||
is to build a new and host-independent toolchain (compiler, assembler,
|
||||
linker, libraries, and a few useful utilities). The second step uses this
|
||||
toolchain to build the other essential tools.</para>
|
||||
|
||||
<para>The files compiled in this chapter will be installed under the
|
||||
<filename class="directory">$LFS/tools</filename> directory to keep them
|
||||
separate from the files installed in the next chapter and the host
|
||||
production directories. Since the packages compiled here are temporary,
|
||||
we do not want them to pollute the soon-to-be LFS system.</para>
|
||||
|
||||
</sect1>
|
|
@ -1,125 +0,0 @@
|
|||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
|
||||
<!ENTITY % general-entities SYSTEM "../general.ent">
|
||||
%general-entities;
|
||||
]>
|
||||
|
||||
<sect1 id="ch-tools-libstdcpp" role="wrap">
|
||||
<?dbhtml filename="gcc-libstdc++.html"?>
|
||||
|
||||
<sect1info condition="script">
|
||||
<productname>libstdc++</productname>
|
||||
<productnumber>&gcc-version;</productnumber>
|
||||
<address>&gcc-url;</address>
|
||||
</sect1info>
|
||||
|
||||
<title>Libstdc++-&gcc-version;</title>
|
||||
|
||||
<indexterm zone="ch-tools-libstdcpp">
|
||||
<primary sortas="a-GCC">GCC</primary>
|
||||
<secondary>tools, libstdc++</secondary>
|
||||
</indexterm>
|
||||
|
||||
<sect2 role="package">
|
||||
<title/>
|
||||
|
||||
<para>Libstdc++ is the standard C++ library. It is needed for the correct
|
||||
operation of the g++ compiler.</para>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>&buildtime;</segtitle>
|
||||
<segtitle>&diskspace;</segtitle>
|
||||
|
||||
<seglistitem>
|
||||
<seg>&libstdcpp-ch5-sbu;</seg>
|
||||
<seg>&libstdcpp-ch5-du;</seg>
|
||||
</seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
</sect2>
|
||||
|
||||
<sect2 role="installation">
|
||||
<title>Installation of Target Libstdc++</title>
|
||||
|
||||
<note>
|
||||
<para><application>Libstdc++</application> is part of the GCC sources.
|
||||
You should first unpack the GCC tarball and change to the
|
||||
<filename>gcc-&gcc-version;</filename> directory.</para>
|
||||
</note>
|
||||
|
||||
<para>Create a directory for Libstdc++ and enter it:</para>
|
||||
|
||||
<screen><userinput remap="pre">mkdir -v ../gcc-build
|
||||
cd ../gcc-build</userinput></screen>
|
||||
|
||||
<para>Prepare Libstdc++ for compilation:</para>
|
||||
|
||||
<screen><userinput remap="configure">../gcc-&gcc-version;/libstdc++-v3/configure \
|
||||
--host=$LFS_TGT \
|
||||
--prefix=/tools \
|
||||
--disable-multilib \
|
||||
--disable-nls \
|
||||
--disable-libstdcxx-threads \
|
||||
--disable-libstdcxx-pch \
|
||||
--with-gxx-include-dir=/tools/$LFS_TGT/include/c++/&gcc-version;</userinput></screen>
|
||||
|
||||
<variablelist>
|
||||
<title>The meaning of the configure options:</title>
|
||||
|
||||
<varlistentry>
|
||||
<term><parameter>--host=...</parameter></term>
|
||||
<listitem>
|
||||
<para>Indicates to use the cross compiler we have just built
|
||||
instead of the one in <filename>/usr/bin</filename>.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><parameter>--disable-libstdcxx-threads</parameter></term>
|
||||
<listitem>
|
||||
<para>Since we have not yet built the C threads library, the C++
|
||||
one cannot be built either.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><parameter>--disable-libstdcxx-pch</parameter></term>
|
||||
<listitem>
|
||||
<para>This switch prevents the installation of precompiled
|
||||
include files, which are not needed at this stage.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><parameter>--with-gxx-include-dir=/tools/$LFS_TGT/include/c++/&gcc-version;</parameter></term>
|
||||
<listitem>
|
||||
<para>This is the location where the standard include files are
|
||||
searched by the C++ compiler. In a normal build, this information
|
||||
is automatically passed to the Libstdc++ <command>configure</command>
|
||||
options from the top level directory. In our case, this information
|
||||
must be explicitly given.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
</variablelist>
|
||||
|
||||
<para>Compile libstdc++ by running:</para>
|
||||
|
||||
<screen><userinput remap="make">make</userinput></screen>
|
||||
|
||||
<para>Install the library:</para>
|
||||
|
||||
<screen><userinput remap="install">make install</userinput></screen>
|
||||
|
||||
</sect2>
|
||||
|
||||
<sect2 role="content">
|
||||
<title/>
|
||||
|
||||
<para>Details on this package are located in
|
||||
<xref linkend="contents-gcc" role="."/></para>
|
||||
|
||||
</sect2>
|
||||
|
||||
</sect1>
|
|
@ -1,73 +0,0 @@
|
|||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
|
||||
<!ENTITY % general-entities SYSTEM "../general.ent">
|
||||
%general-entities;
|
||||
]>
|
||||
|
||||
<sect1 id="ch-tools-linux-headers" role="wrap">
|
||||
<?dbhtml filename="linux-headers.html"?>
|
||||
|
||||
<sect1info condition="script">
|
||||
<productname>linux</productname>
|
||||
<productnumber>&linux-version;</productnumber>
|
||||
<address>&linux-url;</address>
|
||||
</sect1info>
|
||||
|
||||
<title>Linux-&linux-version; API Headers</title>
|
||||
|
||||
<indexterm zone="ch-tools-linux-headers">
|
||||
<primary sortas="a-Linux">Linux</primary>
|
||||
<secondary>tools, API headers</secondary>
|
||||
</indexterm>
|
||||
|
||||
<sect2 role="package">
|
||||
<title/>
|
||||
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
|
||||
href="../chapter06/linux-headers.xml"
|
||||
xpointer="xpointer(/sect1/sect2[1]/para[1])"/>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>&buildtime;</segtitle>
|
||||
<segtitle>&diskspace;</segtitle>
|
||||
|
||||
<seglistitem>
|
||||
<seg>&linux-headers-ch5-sbu;</seg>
|
||||
<seg>&linux-headers-ch5-du;</seg>
|
||||
</seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
</sect2>
|
||||
|
||||
<sect2 role="installation">
|
||||
<title>Installation of Linux API Headers</title>
|
||||
|
||||
<para>The Linux kernel needs to expose an Application Programming Interface
|
||||
(API) for the system's C library (Glibc in LFS) to use. This is done
|
||||
by way of sanitizing various C header files that are shipped in the Linux
|
||||
kernel source tarball.</para>
|
||||
|
||||
<para>Make sure there are no stale files embedded in the package:</para>
|
||||
|
||||
<screen><userinput remap="pre">make mrproper</userinput></screen>
|
||||
|
||||
<para>Now extract the user-visible kernel headers from the source.
|
||||
They are placed in an intermediate local directory and copied to the needed
|
||||
location because the extraction process removes any existing files in
|
||||
the target directory.</para>
|
||||
|
||||
<screen><userinput remap="make">make INSTALL_HDR_PATH=dest headers_install
|
||||
</userinput><userinput remap="install">cp -rv dest/include/* /tools/include</userinput></screen>
|
||||
|
||||
</sect2>
|
||||
|
||||
<sect2 role="content">
|
||||
<title/>
|
||||
|
||||
<para>Details on this package are located in
|
||||
<xref linkend="contents-linux-headers" role="."/></para>
|
||||
|
||||
</sect2>
|
||||
|
||||
</sect1>
|
|
@ -1,74 +0,0 @@
|
|||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
|
||||
<!ENTITY % general-entities SYSTEM "../general.ent">
|
||||
%general-entities;
|
||||
]>
|
||||
|
||||
<sect1 id="ch-tools-m4" role="wrap">
|
||||
<?dbhtml filename="m4.html"?>
|
||||
|
||||
<sect1info condition="script">
|
||||
<productname>m4</productname>
|
||||
<productnumber>&m4-version;</productnumber>
|
||||
<address>&m4-url;</address>
|
||||
</sect1info>
|
||||
|
||||
<title>M4-&m4-version;</title>
|
||||
|
||||
<indexterm zone="ch-tools-m4">
|
||||
<primary sortas="a-M4">M4</primary>
|
||||
<secondary>tools</secondary>
|
||||
</indexterm>
|
||||
|
||||
<sect2 role="package">
|
||||
<title/>
|
||||
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
|
||||
href="../chapter06/m4.xml"
|
||||
xpointer="xpointer(/sect1/sect2[1]/para[1])"/>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>&buildtime;</segtitle>
|
||||
<segtitle>&diskspace;</segtitle>
|
||||
|
||||
<seglistitem>
|
||||
<seg>&m4-ch5-sbu;</seg>
|
||||
<seg>&m4-ch5-du;</seg>
|
||||
</seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
</sect2>
|
||||
|
||||
<sect2 role="installation">
|
||||
<title>Installation of M4</title>
|
||||
|
||||
<para>Prepare M4 for compilation:</para>
|
||||
|
||||
<screen><userinput remap="configure">./configure --prefix=/tools</userinput></screen>
|
||||
|
||||
<para>Compile the package:</para>
|
||||
|
||||
<screen><userinput remap="make">make</userinput></screen>
|
||||
|
||||
<para>Compilation is now complete. As discussed earlier, running the test
|
||||
suite is not mandatory for the temporary tools here in this chapter. To run
|
||||
the M4 test suite anyway, issue the following command:</para>
|
||||
|
||||
<screen><userinput remap="test">make check</userinput></screen>
|
||||
|
||||
<para>Install the package:</para>
|
||||
|
||||
<screen><userinput remap="install">make install</userinput></screen>
|
||||
|
||||
</sect2>
|
||||
|
||||
<sect2 role="content">
|
||||
<title/>
|
||||
|
||||
<para>Details on this package are located in
|
||||
<xref linkend="contents-m4" role="."/></para>
|
||||
|
||||
</sect2>
|
||||
|
||||
</sect1>
|
|
@ -1,86 +0,0 @@
|
|||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
|
||||
<!ENTITY % general-entities SYSTEM "../general.ent">
|
||||
%general-entities;
|
||||
]>
|
||||
<sect1 id="ch-tools-make" role="wrap">
|
||||
<?dbhtml filename="make.html"?>
|
||||
|
||||
<sect1info condition="script">
|
||||
<productname>make</productname>
|
||||
<productnumber>&make-version;</productnumber>
|
||||
<address>&make-url;</address>
|
||||
</sect1info>
|
||||
|
||||
<title>Make-&make-version;</title>
|
||||
|
||||
<indexterm zone="ch-tools-make">
|
||||
<primary sortas="a-Make">Make</primary>
|
||||
<secondary>tools</secondary>
|
||||
</indexterm>
|
||||
|
||||
<sect2 role="package">
|
||||
<title/>
|
||||
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
|
||||
href="../chapter06/make.xml"
|
||||
xpointer="xpointer(/sect1/sect2[1]/para[1])"/>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>&buildtime;</segtitle>
|
||||
<segtitle>&diskspace;</segtitle>
|
||||
|
||||
<seglistitem>
|
||||
<seg>&make-ch5-sbu;</seg>
|
||||
<seg>&make-ch5-du;</seg>
|
||||
</seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
</sect2>
|
||||
|
||||
<sect2 role="installation">
|
||||
<title>Installation of Make</title>
|
||||
|
||||
<para>Prepare Make for compilation:</para>
|
||||
|
||||
<screen><userinput remap="configure">./configure --prefix=/tools --without-guile</userinput></screen>
|
||||
|
||||
<variablelist>
|
||||
<title>The meaning of the configure option:</title>
|
||||
|
||||
<varlistentry>
|
||||
<term><parameter>--without-guile</parameter></term>
|
||||
<listitem>
|
||||
<para>This ensures that Make-&make-version; won't link against Guile libraries, which
|
||||
may be present on the host system, but won't be available within the
|
||||
<command>chroot</command> environment in the next chapter.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
|
||||
<para>Compile the package:</para>
|
||||
|
||||
<screen><userinput remap="make">make</userinput></screen>
|
||||
|
||||
<para>Compilation is now complete. As discussed earlier, running the test
|
||||
suite is not mandatory for the temporary tools here in this chapter. To run
|
||||
the Make test suite anyway, issue the following command:</para>
|
||||
|
||||
<screen><userinput remap="test">make check</userinput></screen>
|
||||
|
||||
<para>Install the package:</para>
|
||||
|
||||
<screen><userinput remap="install">make install</userinput></screen>
|
||||
|
||||
</sect2>
|
||||
|
||||
<sect2 role="content">
|
||||
<title/>
|
||||
|
||||
<para>Details on this package are located in
|
||||
<xref linkend="contents-make" role="."/></para>
|
||||
|
||||
</sect2>
|
||||
|
||||
</sect1>
|
|
@ -1,72 +0,0 @@
|
|||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
|
||||
<!ENTITY % general-entities SYSTEM "../general.ent">
|
||||
%general-entities;
|
||||
]>
|
||||
|
||||
<sect1 id="ch-tools-mpfr" role="wrap">
|
||||
<?dbhtml filename="mpfr.html"?>
|
||||
|
||||
<sect1info condition="script">
|
||||
<productname>mpfr</productname>
|
||||
<productnumber>&mpfr-version;</productnumber>
|
||||
<address>&mpfr-url;</address>
|
||||
</sect1info>
|
||||
|
||||
<title>MPFR-&mpfr-version;</title>
|
||||
|
||||
<indexterm zone="ch-tools-mpfr">
|
||||
<primary sortas="a-MPFR">MPFR</primary>
|
||||
<secondary>tools</secondary>
|
||||
</indexterm>
|
||||
|
||||
<sect2 role="package">
|
||||
<title/>
|
||||
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
|
||||
href="../chapter06/mpfr.xml"
|
||||
xpointer="xpointer(/sect1/sect2[1]/para[1])"/>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>&buildtime;</segtitle>
|
||||
<segtitle>&diskspace;</segtitle>
|
||||
|
||||
<seglistitem>
|
||||
<seg>&mpfr-ch5-sbu;</seg>
|
||||
<seg>&mpfr-ch5-du;</seg>
|
||||
</seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
</sect2>
|
||||
|
||||
<sect2 role="installation">
|
||||
<title>Installation of MPFR</title>
|
||||
|
||||
<para>Prepare MPFR for compilation:</para>
|
||||
|
||||
<screen><userinput remap="configure">./configure --prefix=/tools --enable-thread-safe</userinput></screen>
|
||||
|
||||
<para>Compile the package:</para>
|
||||
|
||||
<screen><userinput remap="make">make</userinput></screen>
|
||||
|
||||
<para>To test the results, issue:</para>
|
||||
|
||||
<screen><userinput remap="test">make check</userinput></screen>
|
||||
|
||||
<para>Install the package:</para>
|
||||
|
||||
<screen><userinput remap="install">make install</userinput></screen>
|
||||
|
||||
</sect2>
|
||||
|
||||
<sect2 role="content">
|
||||
<title/>
|
||||
|
||||
<para>Details on this package are located in
|
||||
<xref linkend="contents-mpfr" role="."/></para>
|
||||
|
||||
</sect2>
|
||||
|
||||
</sect1>
|
|
@ -1,122 +0,0 @@
|
|||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
|
||||
<!ENTITY % general-entities SYSTEM "../general.ent">
|
||||
%general-entities;
|
||||
]>
|
||||
|
||||
<sect1 id="ch-tools-ncurses" role="wrap">
|
||||
<?dbhtml filename="ncurses.html"?>
|
||||
|
||||
<sect1info condition="script">
|
||||
<productname>ncurses</productname>
|
||||
<productnumber>&ncurses-version;</productnumber>
|
||||
<address>&ncurses-url;</address>
|
||||
</sect1info>
|
||||
|
||||
<title>Ncurses-&ncurses-version;</title>
|
||||
|
||||
<indexterm zone="ch-tools-ncurses">
|
||||
<primary sortas="a-Ncurses">Ncurses</primary>
|
||||
<secondary>tools</secondary>
|
||||
</indexterm>
|
||||
|
||||
<sect2 role="package">
|
||||
<title/>
|
||||
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
|
||||
href="../chapter06/ncurses.xml"
|
||||
xpointer="xpointer(/sect1/sect2[1]/para[1])"/>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>&buildtime;</segtitle>
|
||||
<segtitle>&diskspace;</segtitle>
|
||||
|
||||
<seglistitem>
|
||||
<seg>&ncurses-ch5-sbu;</seg>
|
||||
<seg>&ncurses-ch5-du;</seg>
|
||||
</seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
</sect2>
|
||||
|
||||
<sect2 role="installation">
|
||||
<title>Installation of Ncurses</title>
|
||||
|
||||
<para>First, ensure that gawk is found first during configuration:</para>
|
||||
|
||||
<screen><userinput remap="pre">sed -i s/mawk// configure</userinput></screen>
|
||||
|
||||
<para>Prepare Ncurses for compilation:</para>
|
||||
|
||||
<screen><userinput remap="configure">./configure --prefix=/tools \
|
||||
--with-shared \
|
||||
--without-debug \
|
||||
--without-ada \
|
||||
--enable-widec \
|
||||
--enable-overwrite</userinput></screen>
|
||||
|
||||
<variablelist>
|
||||
<title>The meaning of the configure options:</title>
|
||||
|
||||
<varlistentry>
|
||||
<term><parameter>--without-ada</parameter></term>
|
||||
<listitem>
|
||||
<para>This ensures that Ncurses does not build support for the Ada
|
||||
compiler which may be present on the host but will not be available
|
||||
once we enter the <command>chroot</command> environment.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><parameter>--enable-overwrite</parameter></term>
|
||||
<listitem>
|
||||
<para>This tells Ncurses to install its header files into
|
||||
<filename class="directory">/tools/include</filename>, instead of
|
||||
<filename class="directory">/tools/include/ncurses</filename>, to
|
||||
ensure that other packages can find the Ncurses headers
|
||||
successfully.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><parameter>--enable-widec</parameter></term>
|
||||
<listitem>
|
||||
<para>This switch causes wide-character libraries (e.g., <filename
|
||||
class="libraryfile">libncursesw.so.&ncurses-version;</filename>)
|
||||
to be built instead of normal ones (e.g., <filename
|
||||
class="libraryfile">libncurses.so.&ncurses-version;</filename>).
|
||||
These wide-character libraries are usable in both multibyte and
|
||||
traditional 8-bit locales, while normal libraries work properly
|
||||
only in 8-bit locales. Wide-character and normal libraries are
|
||||
source-compatible, but not binary-compatible.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
</variablelist>
|
||||
|
||||
<para>Compile the package:</para>
|
||||
|
||||
<screen><userinput remap="make">make</userinput></screen>
|
||||
|
||||
<para>This package has a test suite, but it can only be run after the
|
||||
package has been installed. The tests reside in the
|
||||
<filename class="directory">test/</filename> directory. See the
|
||||
<filename>README</filename> file in that directory for further details.
|
||||
</para>
|
||||
|
||||
<para>Install the package:</para>
|
||||
|
||||
<screen><userinput remap="install">make install</userinput></screen>
|
||||
|
||||
</sect2>
|
||||
|
||||
<sect2 role="content">
|
||||
<title/>
|
||||
|
||||
<para>Details on this package are located in
|
||||
<xref linkend="contents-ncurses" role="."/></para>
|
||||
|
||||
</sect2>
|
||||
|
||||
</sect1>
|
|
@ -1,74 +0,0 @@
|
|||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
|
||||
<!ENTITY % general-entities SYSTEM "../general.ent">
|
||||
%general-entities;
|
||||
]>
|
||||
|
||||
<sect1 id="ch-tools-patch" role="wrap">
|
||||
<?dbhtml filename="patch.html"?>
|
||||
|
||||
<sect1info condition="script">
|
||||
<productname>patch</productname>
|
||||
<productnumber>&patch-version;</productnumber>
|
||||
<address>&patch-url;</address>
|
||||
</sect1info>
|
||||
|
||||
<title>Patch-&patch-version;</title>
|
||||
|
||||
<indexterm zone="ch-tools-patch">
|
||||
<primary sortas="a-Patch">Patch</primary>
|
||||
<secondary>tools</secondary>
|
||||
</indexterm>
|
||||
|
||||
<sect2 role="package">
|
||||
<title/>
|
||||
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
|
||||
href="../chapter06/patch.xml"
|
||||
xpointer="xpointer(/sect1/sect2[1]/para[1])"/>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>&buildtime;</segtitle>
|
||||
<segtitle>&diskspace;</segtitle>
|
||||
|
||||
<seglistitem>
|
||||
<seg>&patch-ch5-sbu;</seg>
|
||||
<seg>&patch-ch5-du;</seg>
|
||||
</seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
</sect2>
|
||||
|
||||
<sect2 role="installation">
|
||||
<title>Installation of Patch</title>
|
||||
|
||||
<para>Prepare Patch for compilation:</para>
|
||||
|
||||
<screen><userinput remap="configure">./configure --prefix=/tools</userinput></screen>
|
||||
|
||||
<para>Compile the package:</para>
|
||||
|
||||
<screen><userinput remap="make">make</userinput></screen>
|
||||
|
||||
<para>Compilation is now complete. As discussed earlier, running the test
|
||||
suite is not mandatory for the temporary tools here in this chapter. To run
|
||||
the Patch test suite anyway, issue the following command:</para>
|
||||
|
||||
<screen><userinput remap="test">make check</userinput></screen>
|
||||
|
||||
<para>Install the package:</para>
|
||||
|
||||
<screen><userinput remap="install">make install</userinput></screen>
|
||||
|
||||
</sect2>
|
||||
|
||||
<sect2 role="content">
|
||||
<title/>
|
||||
|
||||
<para>Details on this package are located in
|
||||
<xref linkend="contents-patch" role="."/></para>
|
||||
|
||||
</sect2>
|
||||
|
||||
</sect1>
|
|
@ -1,81 +0,0 @@
|
|||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
|
||||
<!ENTITY % general-entities SYSTEM "../general.ent">
|
||||
%general-entities;
|
||||
]>
|
||||
|
||||
<sect1 id="ch-tools-perl" role="wrap">
|
||||
<?dbhtml filename="perl.html"?>
|
||||
|
||||
<sect1info condition="script">
|
||||
<productname>perl</productname>
|
||||
<productnumber>&perl-version;</productnumber>
|
||||
<address>&perl-url;</address>
|
||||
</sect1info>
|
||||
|
||||
<title>Perl-&perl-version;</title>
|
||||
|
||||
<indexterm zone="ch-tools-perl">
|
||||
<primary sortas="a-Perl">Perl</primary>
|
||||
<secondary>tools</secondary>
|
||||
</indexterm>
|
||||
|
||||
<sect2 role="package">
|
||||
<title/>
|
||||
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
|
||||
href="../chapter06/perl.xml"
|
||||
xpointer="xpointer(/sect1/sect2[1]/para[1])"/>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>&buildtime;</segtitle>
|
||||
<segtitle>&diskspace;</segtitle>
|
||||
|
||||
<seglistitem>
|
||||
<seg>&perl-ch5-sbu;</seg>
|
||||
<seg>&perl-ch5-du;</seg>
|
||||
</seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
</sect2>
|
||||
|
||||
<sect2 role="installation">
|
||||
<title>Installation of Perl</title>
|
||||
<!--
|
||||
<para>First apply the following patch to adapt some hard-wired paths to the
|
||||
C library:</para>
|
||||
|
||||
<screen><userinput remap="pre">patch -Np1 -i ../&perl-libc-patch;</userinput></screen>
|
||||
|
||||
Note: -Dlibs=-lm below avoids looking for gdbm and db libraries causing failure
|
||||
-->
|
||||
<para>Prepare Perl for compilation:</para>
|
||||
|
||||
<screen><userinput remap="configure">sh Configure -des -Dprefix=/tools -Dlibs=-lm</userinput></screen>
|
||||
|
||||
<para>Build the package:</para>
|
||||
|
||||
<screen><userinput remap="make">make</userinput></screen>
|
||||
|
||||
<para>Although Perl comes with a test suite, it would be better to wait
|
||||
until it is installed in the next chapter.</para>
|
||||
|
||||
<para>Only a few of the utilities and libraries need to be installed at this
|
||||
time:</para>
|
||||
|
||||
<screen><userinput remap="install">cp -v perl cpan/podlators/pod2man /tools/bin
|
||||
mkdir -pv /tools/lib/perl5/&perl-version;
|
||||
cp -Rv lib/* /tools/lib/perl5/&perl-version;</userinput></screen>
|
||||
|
||||
</sect2>
|
||||
|
||||
<sect2 role="content">
|
||||
<title/>
|
||||
|
||||
<para>Details on this package are located in
|
||||
<xref linkend="contents-perl" role="."/></para>
|
||||
|
||||
</sect2>
|
||||
|
||||
</sect1>
|
|
@ -1,74 +0,0 @@
|
|||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
|
||||
<!ENTITY % general-entities SYSTEM "../general.ent">
|
||||
%general-entities;
|
||||
]>
|
||||
|
||||
<sect1 id="ch-tools-sed" role="wrap">
|
||||
<?dbhtml filename="sed.html"?>
|
||||
|
||||
<sect1info condition="script">
|
||||
<productname>sed</productname>
|
||||
<productnumber>&sed-version;</productnumber>
|
||||
<address>&sed-url;</address>
|
||||
</sect1info>
|
||||
|
||||
<title>Sed-&sed-version;</title>
|
||||
|
||||
<indexterm zone="ch-tools-sed">
|
||||
<primary sortas="a-Sed">Sed</primary>
|
||||
<secondary>tools</secondary>
|
||||
</indexterm>
|
||||
|
||||
<sect2 role="package">
|
||||
<title/>
|
||||
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
|
||||
href="../chapter06/sed.xml"
|
||||
xpointer="xpointer(/sect1/sect2[1]/para[1])"/>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>&buildtime;</segtitle>
|
||||
<segtitle>&diskspace;</segtitle>
|
||||
|
||||
<seglistitem>
|
||||
<seg>&sed-ch5-sbu;</seg>
|
||||
<seg>&sed-ch5-du;</seg>
|
||||
</seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
</sect2>
|
||||
|
||||
<sect2 role="installation">
|
||||
<title>Installation of Sed</title>
|
||||
|
||||
<para>Prepare Sed for compilation:</para>
|
||||
|
||||
<screen><userinput remap="configure">./configure --prefix=/tools</userinput></screen>
|
||||
|
||||
<para>Compile the package:</para>
|
||||
|
||||
<screen><userinput remap="make">make</userinput></screen>
|
||||
|
||||
<para>Compilation is now complete. As discussed earlier, running the test
|
||||
suite is not mandatory for the temporary tools here in this chapter. To run
|
||||
the Sed test suite anyway, issue the following command:</para>
|
||||
|
||||
<screen><userinput remap="test">make check</userinput></screen>
|
||||
|
||||
<para>Install the package:</para>
|
||||
|
||||
<screen><userinput remap="install">make install</userinput></screen>
|
||||
|
||||
</sect2>
|
||||
|
||||
<sect2 role="content">
|
||||
<title/>
|
||||
|
||||
<para>Details on this package are located in
|
||||
<xref linkend="contents-sed" role="."/></para>
|
||||
|
||||
</sect2>
|
||||
|
||||
</sect1>
|
|
@ -1,39 +0,0 @@
|
|||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
|
||||
<!ENTITY % general-entities SYSTEM "../general.ent">
|
||||
%general-entities;
|
||||
]>
|
||||
|
||||
<sect1 id="ch-tools-stripping">
|
||||
<?dbhtml filename="stripping.html"?>
|
||||
|
||||
<title>Stripping</title>
|
||||
|
||||
<para>The steps in this section are optional, but if the LFS partition is
|
||||
rather small, it is beneficial to learn that unnecessary items can be removed.
|
||||
The executables and libraries built so far contain about 70 MB of unneeded
|
||||
debugging symbols. Remove those symbols with:</para>
|
||||
|
||||
<screen><userinput>strip --strip-debug /tools/lib/*
|
||||
/usr/bin/strip --strip-unneeded /tools/{,s}bin/*</userinput></screen>
|
||||
|
||||
<para>These commands will skip a number of files, reporting that it does not
|
||||
recognize their file format. Most of these are scripts instead of binaries.
|
||||
Also use the system strip command to include the strip binary in /tools.</para>
|
||||
|
||||
<para>Take care <emphasis>not</emphasis> to use
|
||||
<parameter>--strip-unneeded</parameter> on the libraries. The static
|
||||
ones would be destroyed and the toolchain packages would need to be
|
||||
built all over again.</para>
|
||||
|
||||
<para>To save more, remove the documentation:</para>
|
||||
|
||||
<screen><userinput>rm -rf /tools/{,share}/{info,man,doc}</userinput></screen>
|
||||
|
||||
<para>At this point, you should have at least 3 GB of free space in
|
||||
<envar>$LFS</envar> that can be used to build and install Glibc and Gcc in
|
||||
the next phase. If you can build and install Glibc, you can build and install
|
||||
the rest too.</para>
|
||||
|
||||
</sect1>
|
|
@ -1,74 +0,0 @@
|
|||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
|
||||
<!ENTITY % general-entities SYSTEM "../general.ent">
|
||||
%general-entities;
|
||||
]>
|
||||
|
||||
<sect1 id="ch-tools-tar" role="wrap">
|
||||
<?dbhtml filename="tar.html"?>
|
||||
|
||||
<sect1info condition="script">
|
||||
<productname>tar</productname>
|
||||
<productnumber>&tar-version;</productnumber>
|
||||
<address>&tar-url;</address>
|
||||
</sect1info>
|
||||
|
||||
<title>Tar-&tar-version;</title>
|
||||
|
||||
<indexterm zone="ch-tools-tar">
|
||||
<primary sortas="a-Tar">Tar</primary>
|
||||
<secondary>tools</secondary>
|
||||
</indexterm>
|
||||
|
||||
<sect2 role="package">
|
||||
<title/>
|
||||
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
|
||||
href="../chapter06/tar.xml"
|
||||
xpointer="xpointer(/sect1/sect2[1]/para[1])"/>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>&buildtime;</segtitle>
|
||||
<segtitle>&diskspace;</segtitle>
|
||||
|
||||
<seglistitem>
|
||||
<seg>&tar-ch5-sbu;</seg>
|
||||
<seg>&tar-ch5-du;</seg>
|
||||
</seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
</sect2>
|
||||
|
||||
<sect2 role="installation">
|
||||
<title>Installation of Tar</title>
|
||||
|
||||
<para>Prepare Tar for compilation:</para>
|
||||
|
||||
<screen><userinput remap="configure">./configure --prefix=/tools</userinput></screen>
|
||||
|
||||
<para>Compile the package:</para>
|
||||
|
||||
<screen><userinput remap="make">make</userinput></screen>
|
||||
|
||||
<para>Compilation is now complete. As discussed earlier, running the test
|
||||
suite is not mandatory for the temporary tools here in this chapter. To run
|
||||
the Tar test suite anyway, issue the following command:</para>
|
||||
|
||||
<screen><userinput remap="test">make check</userinput></screen>
|
||||
|
||||
<para>Install the package:</para>
|
||||
|
||||
<screen><userinput remap="install">make install</userinput></screen>
|
||||
|
||||
</sect2>
|
||||
|
||||
<sect2 role="content">
|
||||
<title/>
|
||||
|
||||
<para>Details on this package are located in
|
||||
<xref linkend="contents-tar" role="."/></para>
|
||||
|
||||
</sect2>
|
||||
|
||||
</sect1>
|
|
@ -1,161 +0,0 @@
|
|||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
|
||||
<!ENTITY % general-entities SYSTEM "../general.ent">
|
||||
%general-entities;
|
||||
]>
|
||||
|
||||
<sect1 id="ch-tools-tcl" role="wrap">
|
||||
<?dbhtml filename="tcl.html"?>
|
||||
|
||||
<sect1info condition="script">
|
||||
<productname>tcl-core</productname>
|
||||
<productnumber>&tcl-version;</productnumber>
|
||||
<address>&tcl-url;</address>
|
||||
</sect1info>
|
||||
|
||||
<title>Tcl-core-&tcl-version;</title>
|
||||
|
||||
<indexterm zone="ch-tools-tcl">
|
||||
<primary sortas="a-Tcl">Tcl-core</primary>
|
||||
</indexterm>
|
||||
|
||||
<sect2 role="package">
|
||||
<title/>
|
||||
|
||||
<para>The Tcl package contains the Tool Command Language.</para>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>&buildtime;</segtitle>
|
||||
<segtitle>&diskspace;</segtitle>
|
||||
|
||||
<seglistitem>
|
||||
<seg>&tcl-ch5-sbu;</seg>
|
||||
<seg>&tcl-ch5-du;</seg>
|
||||
</seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
</sect2>
|
||||
|
||||
<sect2 role="installation">
|
||||
<title>Installation of Tcl-core</title>
|
||||
|
||||
<para>This package and the next three (Expect, DejaGNU, and Check) are
|
||||
installed to support running the test suites for GCC and Binutils and other
|
||||
packages. Installing four packages for testing purposes may seem
|
||||
excessive, but it is very reassuring, if not essential, to know that the
|
||||
most important tools are working properly. Even if the test suites are not
|
||||
run in this chapter (they are not mandatory), these packages are required
|
||||
to run the test suites in <xref linkend="chapter-building-system"/>.</para>
|
||||
|
||||
<para>Note that the Tcl package used here is a minimal version needed
|
||||
to run the LFS tests. For the full package, see the
|
||||
<ulink url='&blfs-book;general/tcl.html'>BLFS Tcl procedures</ulink>.</para>
|
||||
|
||||
<para>Prepare Tcl for compilation:</para>
|
||||
|
||||
<screen><userinput remap="configure">cd unix
|
||||
./configure --prefix=/tools</userinput></screen>
|
||||
|
||||
<para>Build the package:</para>
|
||||
|
||||
<screen><userinput remap="make">make</userinput></screen>
|
||||
|
||||
<para>Compilation is now complete. As discussed earlier, running the test
|
||||
suite is not mandatory for the temporary tools here in this chapter. To run
|
||||
the Tcl test suite anyway, issue the following command:</para>
|
||||
|
||||
<screen><userinput remap="test">TZ=UTC make test</userinput></screen>
|
||||
|
||||
<para>The Tcl test suite may experience failures under certain host
|
||||
conditions that are not fully understood. Therefore, test suite failures
|
||||
here are not surprising, and are not considered critical. The
|
||||
<parameter>TZ=UTC</parameter> parameter sets the time zone to Coordinated
|
||||
Universal Time (UTC), but only
|
||||
for the duration of the test suite run. This ensures that the clock tests
|
||||
are exercised correctly. Details on the <envar>TZ</envar> environment
|
||||
variable are provided in <xref linkend="chapter-bootscripts"/>.</para>
|
||||
|
||||
<para>Install the package:</para>
|
||||
|
||||
<screen><userinput remap="install">make install</userinput></screen>
|
||||
|
||||
<para>Make the installed library writable so debugging symbols can
|
||||
be removed later:</para>
|
||||
|
||||
<screen><userinput remap="install">chmod -v u+w /tools/lib/libtcl&tcl-major-version;.so</userinput></screen>
|
||||
|
||||
<para>Install Tcl's headers. The next package, Expect, requires them
|
||||
to build.</para>
|
||||
|
||||
<screen><userinput remap="install">make install-private-headers</userinput></screen>
|
||||
|
||||
<para>Now make a necessary symbolic link:</para>
|
||||
|
||||
<screen><userinput remap="install">ln -sv tclsh&tcl-major-version; /tools/bin/tclsh</userinput></screen>
|
||||
|
||||
</sect2>
|
||||
|
||||
<sect2 id="contents-tcl" role="content">
|
||||
<title>Contents of Tcl-core</title>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>Installed programs</segtitle>
|
||||
<segtitle>Installed library</segtitle>
|
||||
|
||||
<seglistitem>
|
||||
<seg>tclsh (link to tclsh&tcl-major-version;) and tclsh&tcl-major-version;</seg>
|
||||
<seg>libtcl&tcl-major-version;.so, libtclstub&tcl-major-version;.a</seg>
|
||||
</seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
<variablelist>
|
||||
<bridgehead renderas="sect3">Short Descriptions</bridgehead>
|
||||
<?dbfo list-presentation="list"?>
|
||||
<?dbhtml list-presentation="table"?>
|
||||
|
||||
<varlistentry id="tclsh&tcl-major-version;">
|
||||
<term><command>tclsh&tcl-major-version;</command></term>
|
||||
<listitem>
|
||||
<para>The Tcl command shell</para>
|
||||
<indexterm zone="ch-tools-tcl tclsh&tcl-major-version;">
|
||||
<primary sortas="b-tclsh&tcl-major-version;">tclsh&tcl-major-version;</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="tclsh">
|
||||
<term><command>tclsh</command></term>
|
||||
<listitem>
|
||||
<para>A link to tclsh&tcl-major-version;</para>
|
||||
<indexterm zone="ch-tools-tcl tclsh">
|
||||
<primary sortas="b-tclsh">tclsh</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="libtcl&tcl-major-version;.so">
|
||||
<term><filename class="libraryfile">libtcl&tcl-major-version;.so</filename></term>
|
||||
<listitem>
|
||||
<para>The Tcl library</para>
|
||||
<indexterm zone="ch-tools-tcl libtcl&tcl-major-version;.so">
|
||||
<primary sortas="c-libtcl&tcl-major-version;.so">libtcl&tcl-major-version;.so</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="libtclstub&tcl-major-version;.a">
|
||||
<term><filename class="libraryfile">libtclstub&tcl-major-version;.a</filename></term>
|
||||
<listitem>
|
||||
<para>The Tcl Stub library</para>
|
||||
<indexterm zone="ch-tools-tcl libtclstub&tcl-major-version;.a">
|
||||
<primary sortas="c-libtclstub&tcl-major-version;.a">libtclstub&tcl-major-version;.a</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
</variablelist>
|
||||
|
||||
</sect2>
|
||||
|
||||
</sect1>
|
|
@ -1,74 +0,0 @@
|
|||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
|
||||
<!ENTITY % general-entities SYSTEM "../general.ent">
|
||||
%general-entities;
|
||||
]>
|
||||
|
||||
<sect1 id="ch-tools-texinfo" role="wrap">
|
||||
<?dbhtml filename="texinfo.html"?>
|
||||
|
||||
<sect1info condition="script">
|
||||
<productname>texinfo</productname>
|
||||
<productnumber>&texinfo-version;</productnumber>
|
||||
<address>&texinfo-url;</address>
|
||||
</sect1info>
|
||||
|
||||
<title>Texinfo-&texinfo-version;</title>
|
||||
|
||||
<indexterm zone="ch-tools-texinfo">
|
||||
<primary sortas="a-Texinfo">Texinfo</primary>
|
||||
<secondary>tools</secondary>
|
||||
</indexterm>
|
||||
|
||||
<sect2 role="package">
|
||||
<title/>
|
||||
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
|
||||
href="../chapter06/texinfo.xml"
|
||||
xpointer="xpointer(/sect1/sect2[1]/para[1])"/>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>&buildtime;</segtitle>
|
||||
<segtitle>&diskspace;</segtitle>
|
||||
|
||||
<seglistitem>
|
||||
<seg>&texinfo-ch5-sbu;</seg>
|
||||
<seg>&texinfo-ch5-du;</seg>
|
||||
</seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
</sect2>
|
||||
|
||||
<sect2 role="installation">
|
||||
<title>Installation of Texinfo</title>
|
||||
|
||||
<para>Prepare Texinfo for compilation:</para>
|
||||
|
||||
<screen><userinput remap="configure">./configure --prefix=/tools</userinput></screen>
|
||||
|
||||
<para>Compile the package:</para>
|
||||
|
||||
<screen><userinput remap="make">make</userinput></screen>
|
||||
|
||||
<para>Compilation is now complete. As discussed earlier, running the test
|
||||
suite is not mandatory for the temporary tools here in this chapter. To run
|
||||
the Texinfo test suite anyway, issue the following command:</para>
|
||||
|
||||
<screen><userinput remap="test">make check</userinput></screen>
|
||||
|
||||
<para>Install the package:</para>
|
||||
|
||||
<screen><userinput remap="install">make install</userinput></screen>
|
||||
|
||||
</sect2>
|
||||
|
||||
<sect2 role="content">
|
||||
<title/>
|
||||
|
||||
<para>Details on this package are located in
|
||||
<xref linkend="contents-texinfo" role="."/></para>
|
||||
|
||||
</sect2>
|
||||
|
||||
</sect1>
|
|
@ -1,164 +0,0 @@
|
|||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
|
||||
<!ENTITY % general-entities SYSTEM "../general.ent">
|
||||
%general-entities;
|
||||
]>
|
||||
|
||||
<sect1 id="ch-tools-toolchaintechnotes">
|
||||
<?dbhtml filename="toolchaintechnotes.html"?>
|
||||
|
||||
<title>Toolchain Technical Notes</title>
|
||||
|
||||
<para>This section explains some of the rationale and technical details
|
||||
behind the overall build method. It is not essential to immediately
|
||||
understand everything in this section. Most of this information will be
|
||||
clearer after performing an actual build. This section can be referred
|
||||
to at any time during the process.</para>
|
||||
|
||||
<para>The overall goal of <xref linkend="chapter-temporary-tools"/> is to
|
||||
produce a temporary area that contains a known-good set of tools that can be
|
||||
isolated from the host system. By using <command>chroot</command>, the
|
||||
commands in the remaining chapters will be contained within that environment,
|
||||
ensuring a clean, trouble-free build of the target LFS system. The build
|
||||
process has been designed to minimize the risks for new readers and to provide
|
||||
the most educational value at the same time.</para>
|
||||
|
||||
<note>
|
||||
<para>Before continuing, be aware of the name of the working platform,
|
||||
often referred to as the target triplet. A simple way to determine the
|
||||
name of the target triplet is to run the <command>config.guess</command>
|
||||
script that comes with the source for many packages. Unpack the Binutils
|
||||
sources and run the script: <userinput>./config.guess</userinput> and note
|
||||
the output. For example, for a modern 32-bit Intel processor the
|
||||
output will likely be <emphasis>i686-pc-linux-gnu</emphasis>.</para>
|
||||
|
||||
<para>Also be aware of the name of the platform's dynamic linker, often
|
||||
referred to as the dynamic loader (not to be confused with the standard
|
||||
linker <command>ld</command> that is part of Binutils). The dynamic linker
|
||||
provided by Glibc finds and loads the shared libraries needed by a program,
|
||||
prepares the program to run, and then runs it. The name of the dynamic
|
||||
linker for a 32-bit Intel machine will be
|
||||
<filename class="libraryfile">ld-linux.so.2</filename>.
|
||||
A sure-fire way to determine the name of the dynamic linker is to
|
||||
inspect a random binary from the host system by running:
|
||||
<userinput>readelf -l <name of binary> | grep interpreter</userinput>
|
||||
and noting the output. The authoritative reference covering all platforms
|
||||
is in the <filename>shlib-versions</filename> file in the root of the Glibc
|
||||
source tree.</para>
|
||||
</note>
|
||||
|
||||
<para>Some key technical points of how the <xref
|
||||
linkend="chapter-temporary-tools"/> build method works:</para>
|
||||
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>Slightly adjusting the name of the working platform, by changing the
|
||||
"vendor" field target triplet by way of the
|
||||
<envar>LFS_TGT</envar> variable, ensures that the first build of Binutils
|
||||
and GCC produces a compatible cross-linker and cross-compiler. Instead of
|
||||
producing binaries for another architecture, the cross-linker and
|
||||
cross-compiler will produce binaries compatible with the current
|
||||
hardware.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para> The temporary libraries are cross-compiled. Because a
|
||||
cross-compiler by its nature cannot rely on anything from its host
|
||||
system, this method removes potential contamination of the target
|
||||
system by lessening the chance of headers or libraries from the host
|
||||
being incorporated into the new tools. Cross-compilation also allows for
|
||||
the possibility of building both 32-bit and 64-bit libraries on 64-bit
|
||||
capable hardware.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>Careful manipulation of the GCC source tells the compiler which target
|
||||
dynamic linker will be used.</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
|
||||
<para>Binutils is installed first because the <command>configure</command>
|
||||
runs of both GCC and Glibc perform various feature tests on the assembler
|
||||
and linker to determine which software features to enable or disable. This
|
||||
is more important than one might first realize. An incorrectly configured
|
||||
GCC or Glibc can result in a subtly broken toolchain, where the impact of
|
||||
such breakage might not show up until near the end of the build of an
|
||||
entire distribution. A test suite failure will usually highlight this error
|
||||
before too much additional work is performed.</para>
|
||||
|
||||
<para>Binutils installs its assembler and linker in two locations,
|
||||
<filename class="directory">/tools/bin</filename> and <filename
|
||||
class="directory">/tools/$LFS_TGT/bin</filename>. The tools in one
|
||||
location are hard linked to the other. An important facet of the linker is
|
||||
its library search order. Detailed information can be obtained from
|
||||
<command>ld</command> by passing it the <parameter>--verbose</parameter>
|
||||
flag. For example, an <userinput>ld --verbose | grep SEARCH</userinput>
|
||||
will illustrate the current search paths and their order. It shows which
|
||||
files are linked by <command>ld</command> by compiling a dummy program and
|
||||
passing the <parameter>--verbose</parameter> switch to the linker. For example,
|
||||
<userinput>gcc dummy.c -Wl,--verbose 2>&1 | grep succeeded</userinput>
|
||||
will show all the files successfully opened during the linking.</para>
|
||||
|
||||
<para>The next package installed is GCC. An example of what can be
|
||||
seen during its run of <command>configure</command> is:</para>
|
||||
|
||||
<screen><computeroutput>checking what assembler to use... /tools/i686-lfs-linux-gnu/bin/as
|
||||
checking what linker to use... /tools/i686-lfs-linux-gnu/bin/ld</computeroutput></screen>
|
||||
|
||||
<para>This is important for the reasons mentioned above. It also demonstrates
|
||||
that GCC's configure script does not search the PATH directories to find which
|
||||
tools to use. However, during the actual operation of <command>gcc</command>
|
||||
itself, the same search paths are not necessarily used. To find out which
|
||||
standard linker <command>gcc</command> will use, run:
|
||||
<userinput>gcc -print-prog-name=ld</userinput>.</para>
|
||||
|
||||
<para>Detailed information can be obtained from <command>gcc</command> by
|
||||
passing it the <parameter>-v</parameter> command line option while compiling
|
||||
a dummy program. For example, <userinput>gcc -v dummy.c</userinput> will show
|
||||
detailed information about the preprocessor, compilation, and assembly stages,
|
||||
including <command>gcc</command>'s included search paths and their order.</para>
|
||||
|
||||
<para>Next installed are sanitized Linux API headers. These allow the standard
|
||||
C library (Glibc) to interface with features that the Linux kernel will
|
||||
provide.</para>
|
||||
|
||||
<para>The next package installed is Glibc. The most important considerations
|
||||
for building Glibc are the compiler, binary tools, and kernel headers. The
|
||||
compiler is generally not an issue since Glibc will always use the compiler
|
||||
relating to the <parameter>--host</parameter> parameter passed to its
|
||||
configure script, e.g. in our case,
|
||||
<command>i686-lfs-linux-gnu-gcc</command>. The binary tools and kernel
|
||||
headers can be a bit more complicated. Therefore, take no risks and use the
|
||||
available configure switches to enforce the correct selections. After the run
|
||||
of <command>configure</command>, check the contents of the
|
||||
<filename>config.make</filename> file in the <filename
|
||||
class="directory">glibc-build</filename> directory for all important details.
|
||||
Note the use of <parameter>CC="i686-lfs-gnu-gcc"</parameter> to control which
|
||||
binary tools are used and the use of the <parameter>-nostdinc</parameter> and
|
||||
<parameter>-isystem</parameter> flags to control the compiler's include
|
||||
search path. These items highlight an important aspect of the Glibc
|
||||
package—it is very self-sufficient in terms of its build machinery and
|
||||
generally does not rely on toolchain defaults.</para>
|
||||
|
||||
<para>During the second pass of Binutils, we are able to utilize the
|
||||
<parameter>--with-lib-path</parameter> configure switch to control
|
||||
<command>ld</command>'s library search path.</para>
|
||||
|
||||
<para>For the second pass of GCC, its sources also need to be modified to
|
||||
tell GCC to use the new dynamic linker. Failure to do so will result in the
|
||||
GCC programs themselves having the name of the dynamic linker from the host
|
||||
system's <filename class="directory">/lib</filename> directory embedded into
|
||||
them, which would defeat the goal of getting away from the host. From this
|
||||
point onwards, the core toolchain is self-contained and self-hosted. The
|
||||
remainder of the <xref linkend="chapter-temporary-tools"/> packages all build
|
||||
against the new Glibc in <filename
|
||||
class="directory">/tools</filename>.</para>
|
||||
|
||||
<para>Upon entering the chroot environment in <xref
|
||||
linkend="chapter-building-system"/>, the first major package to be
|
||||
installed is Glibc, due to its self-sufficient nature mentioned above.
|
||||
Once this Glibc is installed into <filename
|
||||
class="directory">/usr</filename>, we will perform a quick changeover of the
|
||||
toolchain defaults, and then proceed in building the rest of the target
|
||||
LFS system.</para>
|
||||
|
||||
</sect1>
|
|
@ -1,106 +0,0 @@
|
|||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
|
||||
<!ENTITY % general-entities SYSTEM "../general.ent">
|
||||
%general-entities;
|
||||
]>
|
||||
|
||||
<sect1 id="ch-tools-util-linux" role="wrap">
|
||||
<?dbhtml filename="util-linux.html"?>
|
||||
|
||||
<sect1info condition="script">
|
||||
<productname>util-linux</productname>
|
||||
<productnumber>&util-linux-version;</productnumber>
|
||||
<address>&util-linux-url;</address>
|
||||
</sect1info>
|
||||
|
||||
<title>Util-linux-&util-linux-version;</title>
|
||||
|
||||
<indexterm zone="ch-tools-util-linux">
|
||||
<primary sortas="a-Util-linux">Util-linux</primary>
|
||||
<secondary>tools</secondary>
|
||||
</indexterm>
|
||||
|
||||
<sect2 role="package">
|
||||
<title/>
|
||||
|
||||
<para>The Util-linux package contains miscellaneous utility programs.</para>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>&buildtime;</segtitle>
|
||||
<segtitle>&diskspace;</segtitle>
|
||||
|
||||
<seglistitem>
|
||||
<seg>&util-linux-ch5-sbu;</seg>
|
||||
<seg>&util-linux-ch5-du;</seg>
|
||||
</seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
</sect2>
|
||||
|
||||
<sect2 role="installation">
|
||||
<title>Installation of Util-linux</title>
|
||||
|
||||
<para>Prepare Util-linux for compilation:</para>
|
||||
|
||||
<screen><userinput remap="configure">./configure --prefix=/tools \
|
||||
--without-python \
|
||||
--disable-makeinstall-chown \
|
||||
--without-systemdsystemunitdir \
|
||||
PKG_CONFIG=""</userinput></screen>
|
||||
|
||||
<variablelist>
|
||||
<title>The meaning of the configure option:</title>
|
||||
|
||||
<varlistentry>
|
||||
<term><parameter>--without-python</parameter></term>
|
||||
<listitem>
|
||||
<para>This switch disables using <application>Python</application>
|
||||
if it is installed on the host system. It avoids trying to build
|
||||
unneeded bindings.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><parameter>--disable-makeinstall-chown</parameter></term>
|
||||
<listitem>
|
||||
<para>This switch disables using the <command>chown</command> command
|
||||
during installation. This is not needed when installing into the
|
||||
/tools directory and avoids the necessity of installing as
|
||||
root.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><parameter>--without-systemdsystemunitdir</parameter></term>
|
||||
<listitem>
|
||||
<para>On systems that use systemd, the package tries to install
|
||||
a systemd specific file to a non-existent directory in /tools.
|
||||
This switch disables the unnecessary action.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><envar>PKG_CONFIG=""</envar></term>
|
||||
<listitem>
|
||||
<para>Setting this envronment variable prevents adding unneeded
|
||||
features that may be available on the host. Note that the location
|
||||
shown for setting this environment variable is different from other
|
||||
LFS sections where variables are set preceding the command. This
|
||||
location is shown to demonstrate an alternative way of setting an
|
||||
environment variable when using configure.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
|
||||
<para>Compile the package:</para>
|
||||
|
||||
<screen><userinput remap="make">make</userinput></screen>
|
||||
|
||||
<para>Install the package:</para>
|
||||
|
||||
<screen><userinput remap="install">make install</userinput></screen>
|
||||
|
||||
</sect2>
|
||||
|
||||
</sect1>
|
|
@ -1,74 +0,0 @@
|
|||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
|
||||
<!ENTITY % general-entities SYSTEM "../general.ent">
|
||||
%general-entities;
|
||||
]>
|
||||
|
||||
<sect1 id="ch-tools-xz" role="wrap">
|
||||
<?dbhtml filename="xz.html"?>
|
||||
|
||||
<sect1info condition="script">
|
||||
<productname>xz</productname>
|
||||
<productnumber>&xz-version;</productnumber>
|
||||
<address>&xz-url;</address>
|
||||
</sect1info>
|
||||
|
||||
<title>Xz-&xz-version;</title>
|
||||
|
||||
<indexterm zone="ch-tools-xz">
|
||||
<primary sortas="a-xz">Xz</primary>
|
||||
<secondary>tools</secondary>
|
||||
</indexterm>
|
||||
|
||||
<sect2 role="package">
|
||||
<title/>
|
||||
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
|
||||
href="../chapter06/xz.xml"
|
||||
xpointer="xpointer(/sect1/sect2[1]/para[1])"/>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>&buildtime;</segtitle>
|
||||
<segtitle>&diskspace;</segtitle>
|
||||
|
||||
<seglistitem>
|
||||
<seg>&xz-ch5-sbu;</seg>
|
||||
<seg>&xz-ch5-du;</seg>
|
||||
</seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
</sect2>
|
||||
|
||||
<sect2 role="installation">
|
||||
<title>Installation of Xz</title>
|
||||
|
||||
<para>Prepare Xz for compilation:</para>
|
||||
|
||||
<screen><userinput remap="configure">./configure --prefix=/tools</userinput></screen>
|
||||
|
||||
<para>Compile the package:</para>
|
||||
|
||||
<screen><userinput remap="make">make</userinput></screen>
|
||||
|
||||
<para>Compilation is now complete. As discussed earlier, running the test
|
||||
suite is not mandatory for the temporary tools here in this chapter. To run
|
||||
the Xz test suite anyway, issue the following command:</para>
|
||||
|
||||
<screen><userinput remap="test">make check</userinput></screen>
|
||||
|
||||
<para>Install the package:</para>
|
||||
|
||||
<screen><userinput remap="install">make install</userinput></screen>
|
||||
|
||||
</sect2>
|
||||
|
||||
<sect2 role="content">
|
||||
<title/>
|
||||
|
||||
<para>Details on this package are located in
|
||||
<xref linkend="contents-xz" role="."/></para>
|
||||
|
||||
</sect2>
|
||||
|
||||
</sect1>
|
|
@ -1,52 +0,0 @@
|
|||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
|
||||
<!ENTITY % general-entities SYSTEM "../general.ent">
|
||||
%general-entities;
|
||||
]>
|
||||
|
||||
<sect1 id="ch-system-aboutdebug">
|
||||
<?dbhtml filename="aboutdebug.html"?>
|
||||
|
||||
<title>About Debugging Symbols</title>
|
||||
|
||||
<para>Most programs and libraries are, by default, compiled with
|
||||
debugging symbols included (with <command>gcc</command>'s
|
||||
<parameter>-g</parameter> option). This means that when debugging a
|
||||
program or library that was compiled with debugging information
|
||||
included, the debugger can provide not only memory addresses, but also
|
||||
the names of the routines and variables.</para>
|
||||
|
||||
<para>However, the inclusion of these debugging symbols enlarges a
|
||||
program or library significantly. The following is an example of the
|
||||
amount of space these symbols occupy:</para>
|
||||
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>A <command>bash</command> binary with debugging symbols:
|
||||
1200 KB</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>A <command>bash</command> binary without debugging symbols:
|
||||
480 KB</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>Glibc and GCC files (<filename class="directory">/lib</filename>
|
||||
and <filename class="directory">/usr/lib</filename>) with debugging
|
||||
symbols: 87 MB</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>Glibc and GCC files without debugging symbols: 16 MB</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
|
||||
<para>Sizes may vary depending on which compiler and C library were used,
|
||||
but when comparing programs with and without debugging symbols, the
|
||||
difference will usually be a factor between two and five.</para>
|
||||
|
||||
<para>Because most users will never use a debugger on their system software,
|
||||
a lot of disk space can be regained by removing these symbols. The next
|
||||
section shows how to strip all debugging symbols from the programs and
|
||||
libraries.</para>
|
||||
|
||||
</sect1>
|
|
@ -1,156 +0,0 @@
|
|||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
|
||||
<!ENTITY % general-entities SYSTEM "../general.ent">
|
||||
%general-entities;
|
||||
]>
|
||||
|
||||
<sect1 id="ch-system-acl" role="wrap">
|
||||
<?dbhtml filename="acl.html"?>
|
||||
|
||||
<sect1info condition="script">
|
||||
<productname>acl</productname>
|
||||
<productnumber>&acl-version;</productnumber>
|
||||
<address>&acl-url;</address>
|
||||
</sect1info>
|
||||
|
||||
<title>Acl-&acl-version;</title>
|
||||
|
||||
<indexterm zone="ch-system-acl">
|
||||
<primary sortas="a-Acl">Acl</primary>
|
||||
</indexterm>
|
||||
|
||||
<sect2 role="package">
|
||||
<title/>
|
||||
|
||||
<para>The Acl package contains utilities to administer Access Control Lists,
|
||||
which are used to define more fine-grained discretionary access rights for
|
||||
files and directories.</para>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>&buildtime;</segtitle>
|
||||
<segtitle>&diskspace;</segtitle>
|
||||
|
||||
<seglistitem>
|
||||
<seg>&acl-ch6-sbu;</seg>
|
||||
<seg>&acl-ch6-du;</seg>
|
||||
</seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
</sect2>
|
||||
|
||||
<sect2 role="installation">
|
||||
<title>Installation of Acl</title>
|
||||
|
||||
<para>Modify the documentation directory so that it is a versioned
|
||||
directory:</para>
|
||||
|
||||
<screen><userinput remap="pre">sed -i -e 's|/@pkg_name@|&-@pkg_version@|' include/builddefs.in</userinput></screen>
|
||||
|
||||
<para>Fix some broken tests:</para>
|
||||
|
||||
<screen><userinput remap="pre">sed -i "s:| sed.*::g" test/{sbits-restore,cp,misc}.test</userinput></screen>
|
||||
|
||||
<para>Additionally, fix a bug that causes <command>getfacl -e</command>
|
||||
to segfault on overly long group name:</para>
|
||||
|
||||
<screen><userinput remap="pre">sed -i -e "/TABS-1;/a if (x > (TABS-1)) x = (TABS-1);" \
|
||||
libacl/__acl_to_any_text.c</userinput></screen>
|
||||
|
||||
<para>Prepare Acl for compilation:</para>
|
||||
|
||||
<screen><userinput remap="configure">./configure --prefix=/usr \
|
||||
--disable-static \
|
||||
--libexecdir=/usr/lib</userinput></screen>
|
||||
|
||||
<para>Compile the package:</para>
|
||||
|
||||
<screen><userinput remap="make">make</userinput></screen>
|
||||
|
||||
<para>The Acl tests need to be run on a filesystem that supports access
|
||||
controls after <application>Coreutils</application> has been built with the
|
||||
Acl libraries. If desired, return to this package and run <command>make -j1
|
||||
tests</command> after <application>Coreutils</application> has been built
|
||||
later in this chapter.</para>
|
||||
|
||||
<para>Install the package:</para>
|
||||
|
||||
<screen><userinput remap="install">make install install-dev install-lib
|
||||
chmod -v 755 /usr/lib/libacl.so</userinput></screen>
|
||||
|
||||
<para>The shared library needs to be moved to
|
||||
<filename class="directory">/lib</filename>, and as a result the
|
||||
<filename class="extension">.so</filename> file in
|
||||
<filename class="directory">/usr/lib</filename> will need to be recreated:</para>
|
||||
|
||||
<screen><userinput remap="install">mv -v /usr/lib/libacl.so.* /lib
|
||||
ln -sfv ../../lib/$(readlink /usr/lib/libacl.so) /usr/lib/libacl.so</userinput></screen>
|
||||
|
||||
</sect2>
|
||||
|
||||
<sect2 id="contents-acl" role="content">
|
||||
<title>Contents of Acl</title>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>Installed programs</segtitle>
|
||||
<segtitle>Installed library</segtitle>
|
||||
<segtitle>Installed directories</segtitle>
|
||||
|
||||
<seglistitem>
|
||||
<seg>chacl, getfacl, and setacl</seg>
|
||||
<seg>libacl.so</seg>
|
||||
<seg>/usr/include/acl and /usr/share/doc/acl-&acl-version;</seg>
|
||||
</seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
<variablelist>
|
||||
<bridgehead renderas="sect3">Short Descriptions</bridgehead>
|
||||
<?dbfo list-presentation="list"?>
|
||||
<?dbhtml list-presentation="table"?>
|
||||
|
||||
<varlistentry id="chacl">
|
||||
<term><command>chacl</command></term>
|
||||
<listitem>
|
||||
<para>Changes the access control list of a file
|
||||
or directory</para>
|
||||
<indexterm zone="ch-system-acl chacl">
|
||||
<primary sortas="b-chacl">chacl</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="getfacl">
|
||||
<term><command>getfacl</command></term>
|
||||
<listitem>
|
||||
<para>Gets file access control lists</para>
|
||||
<indexterm zone="ch-system-acl getfacl">
|
||||
<primary sortas="b-getfacl">getfacl</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="setacl">
|
||||
<term><command>setacl</command></term>
|
||||
<listitem>
|
||||
<para>Sets file access control lists</para>
|
||||
<indexterm zone="ch-system-acl setacl">
|
||||
<primary sortas="b-setacl">setacl</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="libacl">
|
||||
<term><filename class="libraryfile">libacl</filename></term>
|
||||
<listitem>
|
||||
<para>Contains the library functions for manipulating Access Control Lists</para>
|
||||
<indexterm zone="ch-system-acl libacl">
|
||||
<primary sortas="c-libacl">libacl</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
</variablelist>
|
||||
|
||||
</sect2>
|
||||
|
||||
</sect1>
|
|
@ -1,117 +0,0 @@
|
|||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
|
||||
<!ENTITY % general-entities SYSTEM "../general.ent">
|
||||
%general-entities;
|
||||
]>
|
||||
|
||||
<sect1 id="ch-system-adjusting">
|
||||
<?dbhtml filename="adjusting.html"?>
|
||||
|
||||
<title>Adjusting the Toolchain</title>
|
||||
|
||||
<para>Now that the final C libraries have been installed, it is time to adjust
|
||||
the toolchain so that it will link any
|
||||
newly compiled program against these new libraries.</para>
|
||||
|
||||
<para>First, backup the <filename class="directory">/tools</filename> linker,
|
||||
and replace it with the adjusted linker we made in chapter 5. We'll also create
|
||||
a link to its counterpart in <filename class="directory">/tools/$(gcc
|
||||
-dumpmachine)/bin</filename>:</para>
|
||||
|
||||
<screen><userinput>mv -v /tools/bin/{ld,ld-old}
|
||||
mv -v /tools/$(gcc -dumpmachine)/bin/{ld,ld-old}
|
||||
mv -v /tools/bin/{ld-new,ld}
|
||||
ln -sv /tools/bin/ld /tools/$(gcc -dumpmachine)/bin/ld</userinput></screen>
|
||||
|
||||
<para>Next, amend the GCC specs file so that it points to the new
|
||||
dynamic linker. Simply deleting all instances of <quote>/tools</quote> should
|
||||
leave us with the correct path to the dynamic linker. Also adjust the specs file
|
||||
so that GCC knows where to find the correct headers and Glibc start files.
|
||||
A <command>sed</command> command accomplishes this:</para>
|
||||
|
||||
<screen><userinput>gcc -dumpspecs | sed -e 's@/tools@@g' \
|
||||
-e '/\*startfile_prefix_spec:/{n;s@.*@/usr/lib/ @}' \
|
||||
-e '/\*cpp:/{n;s@$@ -isystem /usr/include@}' > \
|
||||
`dirname $(gcc --print-libgcc-file-name)`/specs</userinput></screen>
|
||||
|
||||
<para>It is a good idea to visually inspect the specs file to verify the
|
||||
intended change was actually made.</para>
|
||||
|
||||
<para>It is imperative at this point to ensure that the basic
|
||||
functions (compiling and linking) of the adjusted toolchain are working
|
||||
as expected. To do this, perform the following sanity checks:</para>
|
||||
|
||||
<screen os="a"><userinput>echo 'int main(){}' > dummy.c
|
||||
cc dummy.c -v -Wl,--verbose &> dummy.log
|
||||
readelf -l a.out | grep ': /lib'</userinput></screen>
|
||||
|
||||
<para os="b">There should be no errors,
|
||||
and the output of the last command will be (allowing for
|
||||
platform-specific differences in dynamic linker name):</para>
|
||||
|
||||
<screen os="c"><computeroutput>[Requesting program interpreter: /lib/ld-linux.so.2]</computeroutput></screen>
|
||||
|
||||
<para>Note that <filename class="directory">/lib</filename> is now
|
||||
the prefix of our dynamic linker.</para>
|
||||
|
||||
<para os="d">Now make sure that we're setup to use the correct start files:</para>
|
||||
|
||||
<screen os="e"><userinput>grep -o '/usr/lib.*/crt[1in].*succeeded' dummy.log</userinput></screen>
|
||||
|
||||
<para os="f">The output of the last command should be:</para>
|
||||
|
||||
<screen><computeroutput>/usr/lib/crt1.o succeeded
|
||||
/usr/lib/crti.o succeeded
|
||||
/usr/lib/crtn.o succeeded</computeroutput></screen>
|
||||
|
||||
<para os="g">Verify that the compiler is searching for the correct header
|
||||
files:</para>
|
||||
|
||||
<screen><userinput>grep -B1 '^ /usr/include' dummy.log</userinput></screen>
|
||||
|
||||
<para os="h">This command should return the following output:</para>
|
||||
|
||||
<screen><computeroutput>#include <...> search starts here:
|
||||
/usr/include</computeroutput></screen>
|
||||
|
||||
<para os="i">Next, verify that the new linker is being used with the correct search paths:</para>
|
||||
|
||||
<screen os="j"><userinput>grep 'SEARCH.*/usr/lib' dummy.log |sed 's|; |\n|g'</userinput></screen>
|
||||
|
||||
<para os="k">References to paths that have components with '-linux-gnu' should
|
||||
be ignored, but otherwise the output of the last command should be:</para>
|
||||
|
||||
<screen><computeroutput>SEARCH_DIR("/usr/lib")
|
||||
SEARCH_DIR("/lib");</computeroutput></screen>
|
||||
|
||||
<para os="l">Next make sure that we're using the correct libc:</para>
|
||||
|
||||
<screen os="m"><userinput>grep "/lib.*/libc.so.6 " dummy.log</userinput></screen>
|
||||
|
||||
<para os="n">The output of the last command (allowing for a lib64 directory
|
||||
on 64-bit hosts) should be:</para>
|
||||
|
||||
<screen os="o"><computeroutput>attempt to open /lib/libc.so.6 succeeded</computeroutput></screen>
|
||||
|
||||
<para os="p">Lastly, make sure GCC is using the correct dynamic linker:</para>
|
||||
|
||||
<screen os="q"><userinput>grep found dummy.log</userinput></screen>
|
||||
|
||||
<para os="r"> The output of the last command should be (allowing for
|
||||
platform-specific differences in dynamic linker name and a lib64 directory on
|
||||
64-bit hosts):</para>
|
||||
|
||||
<screen os="s"><computeroutput>found ld-linux.so.2 at /lib/ld-linux.so.2</computeroutput></screen>
|
||||
|
||||
<para os="t">If the output does not appear as shown above or is not received
|
||||
at all, then something is seriously wrong. Investigate and retrace the
|
||||
steps to find out where the problem is and correct it. The most likely
|
||||
reason is that something went wrong with the specs file adjustment. Any
|
||||
issues will need to be resolved before continuing on with the process.</para>
|
||||
|
||||
<para os="u">Once everything is working correctly, clean up the test files:</para>
|
||||
|
||||
<screen os="v"><userinput>rm -v dummy.c a.out dummy.log</userinput></screen>
|
||||
|
||||
</sect1>
|
|
@ -1,148 +0,0 @@
|
|||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
|
||||
<!ENTITY % general-entities SYSTEM "../general.ent">
|
||||
%general-entities;
|
||||
]>
|
||||
|
||||
<sect1 id="ch-system-attr" role="wrap">
|
||||
<?dbhtml filename="attr.html"?>
|
||||
|
||||
<sect1info condition="script">
|
||||
<productname>attr</productname>
|
||||
<productnumber>&attr-version;</productnumber>
|
||||
<address>&attr-url;</address>
|
||||
</sect1info>
|
||||
|
||||
<title>Attr-&attr-version;</title>
|
||||
|
||||
<indexterm zone="ch-system-attr">
|
||||
<primary sortas="a-Attr">Attr</primary>
|
||||
</indexterm>
|
||||
|
||||
<sect2 role="package">
|
||||
<title/>
|
||||
|
||||
<para>The attr package contains utilities to administer the extended
|
||||
attributes on filesystem objects.</para>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>&buildtime;</segtitle>
|
||||
<segtitle>&diskspace;</segtitle>
|
||||
|
||||
<seglistitem>
|
||||
<seg>&attr-ch6-sbu;</seg>
|
||||
<seg>&attr-ch6-du;</seg>
|
||||
</seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
</sect2>
|
||||
|
||||
<sect2 role="installation">
|
||||
<title>Installation of Attr</title>
|
||||
|
||||
<para>Modify the documentation directory so that it is a versioned
|
||||
directory:</para>
|
||||
|
||||
<screen><userinput remap="pre">sed -i -e 's|/@pkg_name@|&-@pkg_version@|' include/builddefs.in</userinput></screen>
|
||||
|
||||
<para>Prevent installation of manual pages that were already installed by
|
||||
the <xref linkend="man-pages"/> package:</para>
|
||||
|
||||
<screen><userinput remap="pre">sed -i -e "/SUBDIRS/s|man2||" man/Makefile</userinput></screen>
|
||||
|
||||
<para>Prepare Attr for compilation:</para>
|
||||
|
||||
<screen><userinput remap="configure">./configure --prefix=/usr --disable-static</userinput></screen>
|
||||
|
||||
<para>Compile the package:</para>
|
||||
|
||||
<screen><userinput remap="make">make</userinput></screen>
|
||||
|
||||
<para>The tests need to be run on a filesystem that supports extended
|
||||
attributes such as the ext2, ext3, or ext4 filesystems. The tests are also
|
||||
known to fail if running multiple simultaneous tests (-j option greater than
|
||||
1). To test the results, issue:</para>
|
||||
|
||||
<screen><userinput remap="test">make -j1 tests root-tests</userinput></screen>
|
||||
|
||||
<para>Install the package:</para>
|
||||
|
||||
<screen><userinput remap="install">make install install-dev install-lib
|
||||
chmod -v 755 /usr/lib/libattr.so</userinput></screen>
|
||||
|
||||
<para>The shared library needs to be moved to
|
||||
<filename class="directory">/lib</filename>, and as a result the
|
||||
<filename class="extension">.so</filename> file in
|
||||
<filename class="directory">/usr/lib</filename> will need to be recreated:</para>
|
||||
|
||||
<screen><userinput remap="install">mv -v /usr/lib/libattr.so.* /lib
|
||||
ln -sfv ../../lib/$(readlink /usr/lib/libattr.so) /usr/lib/libattr.so</userinput></screen>
|
||||
|
||||
</sect2>
|
||||
|
||||
<sect2 id="contents-attr" role="content">
|
||||
<title>Contents of Attr</title>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>Installed programs</segtitle>
|
||||
<segtitle>Installed library</segtitle>
|
||||
<segtitle>Installed directories</segtitle>
|
||||
|
||||
<seglistitem>
|
||||
<seg>attr, getfattr, and setattr</seg>
|
||||
<seg>libattr.so</seg>
|
||||
<seg>/usr/include/attr and /usr/share/doc/attr-&attr-version;</seg>
|
||||
</seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
<variablelist>
|
||||
<bridgehead renderas="sect3">Short Descriptions</bridgehead>
|
||||
<?dbfo list-presentation="list"?>
|
||||
<?dbhtml list-presentation="table"?>
|
||||
|
||||
<varlistentry id="attr">
|
||||
<term><command>attr</command></term>
|
||||
<listitem>
|
||||
<para>Extends attributes on filesystem objects</para>
|
||||
<indexterm zone="ch-system-attr attr">
|
||||
<primary sortas="b-attr">attr</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="getfattr">
|
||||
<term><command>getfattr</command></term>
|
||||
<listitem>
|
||||
<para>Gets the extended attributes of filesystem objects</para>
|
||||
<indexterm zone="ch-system-attr getfattr">
|
||||
<primary sortas="b-getfattr">getfattr</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="setattr">
|
||||
<term><command>setattr</command></term>
|
||||
<listitem>
|
||||
<para>Sets the extended attributes of filesystem objects</para>
|
||||
<indexterm zone="ch-system-attr setattr">
|
||||
<primary sortas="b-setattr">setattr</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="libattr">
|
||||
<term><filename class="libraryfile">libattr</filename></term>
|
||||
<listitem>
|
||||
<para>Contains the libbrary functions for manipulating extended attributes</para>
|
||||
<indexterm zone="ch-system-attr libattr">
|
||||
<primary sortas="c-libattr">libattr</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
</variablelist>
|
||||
|
||||
</sect2>
|
||||
|
||||
</sect1>
|
|
@ -1,182 +0,0 @@
|
|||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
|
||||
<!ENTITY % general-entities SYSTEM "../general.ent">
|
||||
%general-entities;
|
||||
]>
|
||||
|
||||
<sect1 id="ch-system-autoconf" role="wrap">
|
||||
<?dbhtml filename="autoconf.html"?>
|
||||
|
||||
<sect1info condition="script">
|
||||
<productname>autoconf</productname>
|
||||
<productnumber>&autoconf-version;</productnumber>
|
||||
<address>&autoconf-url;</address>
|
||||
</sect1info>
|
||||
|
||||
<title>Autoconf-&autoconf-version;</title>
|
||||
|
||||
<indexterm zone="ch-system-autoconf">
|
||||
<primary sortas="a-Autoconf">Autoconf</primary>
|
||||
</indexterm>
|
||||
|
||||
<sect2 role="package">
|
||||
<title/>
|
||||
|
||||
<para>The Autoconf package contains programs for producing shell scripts that
|
||||
can automatically configure source code.</para>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>&buildtime;</segtitle>
|
||||
<segtitle>&diskspace;</segtitle>
|
||||
|
||||
<seglistitem>
|
||||
<seg>&autoconf-ch6-sbu;</seg>
|
||||
<seg>&autoconf-ch6-du;</seg>
|
||||
</seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
</sect2>
|
||||
|
||||
<sect2 role="installation">
|
||||
<title>Installation of Autoconf</title>
|
||||
|
||||
<para>Prepare Autoconf for compilation:</para>
|
||||
|
||||
<screen><userinput remap="configure">./configure --prefix=/usr</userinput></screen>
|
||||
|
||||
<para>Compile the package:</para>
|
||||
|
||||
<screen><userinput remap="make">make</userinput></screen>
|
||||
|
||||
<para>To test the results, issue:</para>
|
||||
|
||||
<screen><userinput remap="test">make check</userinput></screen>
|
||||
|
||||
<para>This takes a long time, about 4.7 SBUs. In addition, 6 tests are skipped
|
||||
that use Automake. For full test coverage, Autoconf can be re-tested
|
||||
after Automake has been installed. In addition, two tests fail due to
|
||||
changes in libtool-2.4.3 and later.</para>
|
||||
|
||||
<para>Install the package:</para>
|
||||
|
||||
<screen><userinput remap="install">make install</userinput></screen>
|
||||
|
||||
</sect2>
|
||||
|
||||
<sect2 id="contents-autoconf" role="content">
|
||||
<title>Contents of Autoconf</title>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>Installed programs</segtitle>
|
||||
<segtitle>Installed directory</segtitle>
|
||||
|
||||
<seglistitem>
|
||||
<seg>autoconf, autoheader, autom4te, autoreconf, autoscan, autoupdate,
|
||||
and ifnames</seg>
|
||||
<seg>/usr/share/autoconf</seg>
|
||||
</seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
<variablelist>
|
||||
<bridgehead renderas="sect3">Short Descriptions</bridgehead>
|
||||
<?dbfo list-presentation="list"?>
|
||||
<?dbhtml list-presentation="table"?>
|
||||
|
||||
<varlistentry id="autoconf">
|
||||
<term><command>autoconf</command></term>
|
||||
<listitem>
|
||||
<para>Produces shell scripts that automatically configure software
|
||||
source code packages to adapt to many kinds of Unix-like systems;
|
||||
the configuration scripts it produces are independent—running
|
||||
them does not require the <command>autoconf</command> program</para>
|
||||
<indexterm zone="ch-system-autoconf autoconf">
|
||||
<primary sortas="b-autoconf">autoconf</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="autoheader">
|
||||
<term><command>autoheader</command> </term>
|
||||
<listitem>
|
||||
<para>A tool for creating template files of C
|
||||
<emphasis>#define</emphasis> statements for configure to use</para>
|
||||
<indexterm zone="ch-system-autoconf autoheader">
|
||||
<primary sortas="b-autoheader">autoheader</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="autom4te">
|
||||
<term><command>autom4te</command></term>
|
||||
<listitem>
|
||||
<para>A wrapper for the M4 macro processor</para>
|
||||
<indexterm zone="ch-system-autoconf autom4te">
|
||||
<primary sortas="b-autom4te">autom4te</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="autoreconf">
|
||||
<term><command>autoreconf</command></term>
|
||||
<listitem>
|
||||
<para>Automatically runs <command>autoconf</command>,
|
||||
<command>autoheader</command>, <command>aclocal</command>,
|
||||
<command>automake</command>, <command>gettextize</command>, and
|
||||
<command>libtoolize</command> in the correct order to save time
|
||||
when changes are made to <command>autoconf</command> and
|
||||
<command>automake</command> template files</para>
|
||||
<indexterm zone="ch-system-autoconf autoreconf">
|
||||
<primary sortas="b-autoreconf">autoreconf</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="autoscan">
|
||||
<term><command>autoscan</command> </term>
|
||||
<listitem>
|
||||
<para>Helps to create a <filename>configure.in</filename> file for a
|
||||
software package; it examines the source files in a directory tree,
|
||||
searching them for common portability issues, and creates a
|
||||
<filename>configure.scan</filename> file that serves as as a
|
||||
preliminary <filename>configure.in</filename> file for the
|
||||
package</para>
|
||||
<indexterm zone="ch-system-autoconf autoscan">
|
||||
<primary sortas="b-autoscan">autoscan</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="autoupdate">
|
||||
<term><command>autoupdate</command></term>
|
||||
<listitem>
|
||||
<para>Modifies a <filename>configure.in</filename> file that still
|
||||
calls <command>autoconf</command> macros by their old names to use the
|
||||
current macro names</para>
|
||||
<indexterm zone="ch-system-autoconf autoupdate">
|
||||
<primary sortas="b-autoupdate">autoupdate</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="ifnames">
|
||||
<term><command>ifnames</command> </term>
|
||||
<listitem>
|
||||
<para>Helps when writing <filename>configure.in</filename> files
|
||||
for a software package; it prints the identifiers that the package
|
||||
uses in C preprocessor conditionals [If a package has already been set
|
||||
up to have some portability, this program can help determine what
|
||||
<command>configure</command> needs to check for. It can also fill in
|
||||
gaps in a <filename>configure.in</filename> file generated by
|
||||
<command>autoscan</command>.]</para>
|
||||
<indexterm zone="ch-system-autoconf ifnames">
|
||||
<primary sortas="b-ifnames">ifnames</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
</variablelist>
|
||||
|
||||
</sect2>
|
||||
|
||||
</sect1>
|
|
@ -1,144 +0,0 @@
|
|||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
|
||||
<!ENTITY % general-entities SYSTEM "../general.ent">
|
||||
%general-entities;
|
||||
]>
|
||||
|
||||
<sect1 id="ch-system-automake" role="wrap">
|
||||
<?dbhtml filename="automake.html"?>
|
||||
|
||||
<sect1info condition="script">
|
||||
<productname>automake</productname>
|
||||
<productnumber>&automake-version;</productnumber>
|
||||
<address>&automake-url;</address>
|
||||
</sect1info>
|
||||
|
||||
<title>Automake-&automake-version;</title>
|
||||
|
||||
<indexterm zone="ch-system-automake">
|
||||
<primary sortas="a-Automake">Automake</primary>
|
||||
</indexterm>
|
||||
|
||||
<sect2 role="package">
|
||||
<title/>
|
||||
|
||||
<para>The Automake package contains programs for generating Makefiles for use
|
||||
with Autoconf.</para>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>&buildtime;</segtitle>
|
||||
<segtitle>&diskspace;</segtitle>
|
||||
|
||||
<seglistitem>
|
||||
<seg>&automake-ch6-sbu;</seg>
|
||||
<seg>&automake-ch6-du;</seg>
|
||||
</seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
</sect2>
|
||||
|
||||
<sect2 role="installation">
|
||||
<title>Installation of Automake</title>
|
||||
|
||||
<para>First fix a warning that is caused by perl-5.22 and later:</para>
|
||||
|
||||
<screen><userinput remap="pre">sed -i 's:/\\\${:/\\\$\\{:' bin/automake.in</userinput></screen>
|
||||
|
||||
<para>Prepare Automake for compilation:</para>
|
||||
|
||||
<screen><userinput remap="configure">./configure --prefix=/usr --docdir=/usr/share/doc/automake-&automake-version;</userinput></screen>
|
||||
|
||||
<para>Compile the package:</para>
|
||||
|
||||
<screen><userinput remap="make">make</userinput></screen>
|
||||
|
||||
<para>There are a couple of tests that incorrectly link to the
|
||||
wrong version of the flex library, so we temporarily work around
|
||||
the problem. Also, using the -j4 make option speeds up the tests, even on
|
||||
systems with only one processor, due to internal delays in individual
|
||||
tests. To test the results, issue:</para>
|
||||
|
||||
<screen><userinput remap="test">sed -i "s:./configure:LEXLIB=/usr/lib/libfl.a &:" t/lex-{clean,depend}-cxx.sh
|
||||
make -j4 check</userinput></screen>
|
||||
|
||||
<para>Install the package:</para>
|
||||
|
||||
<screen><userinput remap="install">make install</userinput></screen>
|
||||
|
||||
</sect2>
|
||||
|
||||
|
||||
<sect2 id="contents-automake" role="content">
|
||||
<title>Contents of Automake</title>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>Installed programs</segtitle>
|
||||
<segtitle>Installed directories</segtitle>
|
||||
|
||||
<seglistitem>
|
||||
<seg>aclocal, aclocal-&am-minor-version; (hard linked with aclocal), automake, and
|
||||
automake-&am-minor-version; (hard linked with automake) </seg>
|
||||
<seg>/usr/share/aclocal-&am-minor-version;, /usr/share/automake-&am-minor-version;, and
|
||||
/usr/share/doc/automake-&automake-version;</seg>
|
||||
</seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
<variablelist>
|
||||
<bridgehead renderas="sect3">Short Descriptions</bridgehead>
|
||||
<?dbfo list-presentation="list"?>
|
||||
<?dbhtml list-presentation="table"?>
|
||||
|
||||
<varlistentry id="aclocal">
|
||||
<term><command>aclocal</command></term>
|
||||
<listitem>
|
||||
<para>Generates <filename>aclocal.m4</filename> files based on the
|
||||
contents of <filename>configure.in</filename> files</para>
|
||||
<indexterm zone="ch-system-automake aclocal">
|
||||
<primary sortas="b-aclocal">aclocal</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="aclocalversion">
|
||||
<term><command>aclocal-&am-minor-version;</command></term>
|
||||
<listitem>
|
||||
<para>A hard link to <command>aclocal</command></para>
|
||||
<indexterm zone="ch-system-automake aclocalversion">
|
||||
<primary sortas="b-aclocal-&am-minor-version;">aclocal-&am-minor-version;</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="automake">
|
||||
<term><command>automake</command></term>
|
||||
<listitem>
|
||||
<para>A tool for automatically generating
|
||||
<filename>Makefile.in</filename> files from
|
||||
<filename>Makefile.am</filename> files [To create all the
|
||||
<filename>Makefile.in</filename> files for a package, run this program
|
||||
in the top-level directory. By scanning the
|
||||
<filename>configure.in</filename> file, it automatically finds each
|
||||
appropriate <filename>Makefile.am</filename> file and generates the
|
||||
corresponding <filename>Makefile.in</filename> file.]</para>
|
||||
<indexterm zone="ch-system-automake automake">
|
||||
<primary sortas="b-automake">automake</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="automake-version">
|
||||
<term><command>automake-&am-minor-version;</command></term>
|
||||
<listitem>
|
||||
<para>A hard link to <command>automake</command></para>
|
||||
<indexterm zone="ch-system-automake automake-version">
|
||||
<primary sortas="b-automake-&am-minor-version;">automake-&am-minor-version;</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
</variablelist>
|
||||
|
||||
</sect2>
|
||||
|
||||
</sect1>
|
|
@ -1,163 +0,0 @@
|
|||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
|
||||
<!ENTITY % general-entities SYSTEM "../general.ent">
|
||||
%general-entities;
|
||||
]>
|
||||
|
||||
<sect1 id="ch-system-bash" role="wrap">
|
||||
<?dbhtml filename="bash.html"?>
|
||||
|
||||
<sect1info condition="script">
|
||||
<productname>bash</productname>
|
||||
<productnumber>&bash-version;</productnumber>
|
||||
<address>&bash-url;</address>
|
||||
</sect1info>
|
||||
|
||||
<title>Bash-&bash-version;</title>
|
||||
|
||||
<indexterm zone="ch-system-bash">
|
||||
<primary sortas="a-Bash">Bash</primary>
|
||||
</indexterm>
|
||||
|
||||
<sect2 role="package">
|
||||
<title/>
|
||||
|
||||
<para>The Bash package contains the Bourne-Again SHell.</para>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>&buildtime;</segtitle>
|
||||
<segtitle>&diskspace;</segtitle>
|
||||
|
||||
<seglistitem>
|
||||
<seg>&bash-ch6-sbu;</seg>
|
||||
<seg>&bash-ch6-du;</seg>
|
||||
</seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
</sect2>
|
||||
|
||||
<sect2 role="installation">
|
||||
<title>Installation of Bash</title>
|
||||
|
||||
<para>First, apply the following patch to fix various bugs that have been
|
||||
addressed upstream:</para>
|
||||
|
||||
<screen><userinput remap="pre">patch -Np1 -i ../&bash-fixes-patch;</userinput></screen>
|
||||
|
||||
<para>Prepare Bash for compilation:</para>
|
||||
|
||||
<screen><userinput remap="configure">./configure --prefix=/usr \
|
||||
--bindir=/bin \
|
||||
--docdir=/usr/share/doc/bash-&bash-version; \
|
||||
--without-bash-malloc \
|
||||
--with-installed-readline</userinput></screen>
|
||||
|
||||
<variablelist>
|
||||
<title>The meaning of the new configure option:</title>
|
||||
|
||||
<varlistentry>
|
||||
<term><parameter>--with-installed-readline</parameter></term>
|
||||
<listitem>
|
||||
<para>This option tells Bash to use the <filename
|
||||
class="libraryfile">readline</filename> library that is already
|
||||
installed on the system rather than using its own readline
|
||||
version.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
</variablelist>
|
||||
|
||||
<para>Compile the package:</para>
|
||||
|
||||
<screen><userinput remap="make">make</userinput></screen>
|
||||
|
||||
<para>Skip down to <quote>Install the
|
||||
package</quote> if not running the test suite.</para>
|
||||
|
||||
<para>To prepare the tests, ensure that the <systemitem class="username">nobody</systemitem> user can write to the sources tree:</para>
|
||||
|
||||
<screen><userinput remap="test">chown -Rv nobody .</userinput></screen>
|
||||
|
||||
<para>Now, run the tests as the <systemitem
|
||||
class="username">nobody</systemitem> user:</para>
|
||||
|
||||
<screen><userinput remap="test">su nobody -s /bin/bash -c "PATH=$PATH make tests"</userinput></screen>
|
||||
|
||||
<para>Install the package:</para>
|
||||
|
||||
<screen><userinput remap="install">make install</userinput></screen>
|
||||
|
||||
<para>Run the newly compiled <command>bash</command> program (replacing the one that is
|
||||
currently being executed):</para>
|
||||
|
||||
<screen role="nodump"><userinput>exec /bin/bash --login +h</userinput></screen>
|
||||
|
||||
<note>
|
||||
<para>The parameters used make the <command>bash</command>
|
||||
process an interactive login shell and continue to disable hashing so
|
||||
that new programs are found as they become available.</para>
|
||||
</note>
|
||||
|
||||
</sect2>
|
||||
|
||||
<sect2 id="contents-bash" role="content">
|
||||
<title>Contents of Bash</title>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>Installed programs</segtitle>
|
||||
<segtitle>Installed directory</segtitle>
|
||||
|
||||
<seglistitem>
|
||||
<seg>bash, bashbug, and sh (link to bash)</seg>
|
||||
<seg>/usr/share/doc/bash-&bash-version;</seg>
|
||||
</seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
<variablelist>
|
||||
<bridgehead renderas="sect3">Short Descriptions</bridgehead>
|
||||
<?dbfo list-presentation="list"?>
|
||||
<?dbhtml list-presentation="table"?>
|
||||
|
||||
<varlistentry id="bash">
|
||||
<term><command>bash</command></term>
|
||||
<listitem>
|
||||
<para>A widely-used command interpreter; it performs many types of
|
||||
expansions and substitutions on a given command line before executing
|
||||
it, thus making this interpreter a powerful tool</para>
|
||||
<indexterm zone="ch-system-bash bash">
|
||||
<primary sortas="b-bash">bash</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="bashbug">
|
||||
<term><command>bashbug</command></term>
|
||||
<listitem>
|
||||
<para>A shell script to help the user compose and mail standard
|
||||
formatted bug reports concerning <command>bash</command></para>
|
||||
<indexterm zone="ch-system-bash bashbug">
|
||||
<primary sortas="b-bashbug">bashbug</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="sh">
|
||||
<term><command>sh</command></term>
|
||||
<listitem>
|
||||
<para>A symlink to the <command>bash</command> program; when invoked
|
||||
as <command>sh</command>, <command>bash</command> tries to mimic the
|
||||
startup behavior of historical versions of <command>sh</command> as
|
||||
closely as possible, while conforming to the POSIX standard as
|
||||
well</para>
|
||||
<indexterm zone="ch-system-bash sh">
|
||||
<primary sortas="b-sh">sh</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
</variablelist>
|
||||
|
||||
</sect2>
|
||||
|
||||
</sect1>
|
|
@ -1,127 +0,0 @@
|
|||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
|
||||
<!ENTITY % general-entities SYSTEM "../general.ent">
|
||||
%general-entities;
|
||||
]>
|
||||
|
||||
<sect1 id="ch-system-bc" role="wrap">
|
||||
<?dbhtml filename="bc.html"?>
|
||||
|
||||
<sect1info condition="script">
|
||||
<productname>bc</productname>
|
||||
<productnumber>&bc-version;</productnumber>
|
||||
<address>&bc-url;</address>
|
||||
</sect1info>
|
||||
|
||||
<title>Bc-&bc-version;</title>
|
||||
|
||||
<indexterm zone="ch-system-bc">
|
||||
<primary sortas="a-Bc">Bc</primary>
|
||||
</indexterm>
|
||||
|
||||
<sect2 role="package">
|
||||
<title/>
|
||||
|
||||
<para>The Bc package contains an arbitrary precision numeric processing
|
||||
language.</para>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>&buildtime;</segtitle>
|
||||
<segtitle>&diskspace;</segtitle>
|
||||
|
||||
<seglistitem>
|
||||
<seg>&bc-ch6-sbu;</seg>
|
||||
<seg>&bc-ch6-du;</seg>
|
||||
</seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
</sect2>
|
||||
|
||||
<sect2 role="installation">
|
||||
<title>Installation of Bc</title>
|
||||
|
||||
<para>First, fix some minor memory leaks in the code:</para>
|
||||
|
||||
<screen><userinput remap="pre">patch -Np1 -i ../&bc-memory-leak-patch;</userinput></screen>
|
||||
|
||||
<para>Prepare Bc for compilation:</para>
|
||||
|
||||
<screen><userinput remap="configure">./configure --prefix=/usr \
|
||||
--with-readline \
|
||||
--mandir=/usr/share/man \
|
||||
--infodir=/usr/share/info</userinput></screen>
|
||||
|
||||
<variablelist>
|
||||
<title>The meaning of the configure options:</title>
|
||||
|
||||
<varlistentry>
|
||||
<term><parameter>--with-readline</parameter></term>
|
||||
<listitem>
|
||||
<para>This option tells Bc to use the <filename
|
||||
class="libraryfile">readline</filename> library that is already
|
||||
installed on the system rather than using its own readline
|
||||
version.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
</variablelist>
|
||||
|
||||
<para>Compile the package:</para>
|
||||
|
||||
<screen><userinput remap="make">make</userinput></screen>
|
||||
|
||||
<para>To test bc, run the commands below. There is quite a bit of output,
|
||||
so you may want to redirect it to a file. There are a very small percentage
|
||||
of tests (10 of 12,144) that will indicate a round off error at the last
|
||||
digit.</para>
|
||||
|
||||
<screen><userinput remap="test">echo "quit" | ./bc/bc -l Test/checklib.b</userinput></screen>
|
||||
|
||||
<para>Install the package:</para>
|
||||
|
||||
<screen><userinput remap="install">make install</userinput></screen>
|
||||
|
||||
</sect2>
|
||||
|
||||
<sect2 id="contents-bc" role="content">
|
||||
<title>Contents of Bc</title>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>Installed programs</segtitle>
|
||||
|
||||
<seglistitem>
|
||||
<seg>bc and dc</seg>
|
||||
</seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
<variablelist>
|
||||
<bridgehead renderas="sect3">Short Descriptions</bridgehead>
|
||||
<?dbfo list-presentation="list"?>
|
||||
<?dbhtml list-presentation="table"?>
|
||||
|
||||
<varlistentry id="bc">
|
||||
<term><command>bc</command></term>
|
||||
<listitem>
|
||||
<para>is a command line calculator</para>
|
||||
<indexterm zone="ch-system-bc bc">
|
||||
<primary sortas="b-bc">bc</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="dc">
|
||||
<term><command>dc</command></term>
|
||||
<listitem>
|
||||
<para>is a reverse-polish command line calculator</para>
|
||||
<indexterm zone="ch-system-bc dc">
|
||||
<primary sortas="b-dc">dc</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
</variablelist>
|
||||
|
||||
</sect2>
|
||||
|
||||
</sect1>
|
|
@ -1,346 +0,0 @@
|
|||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
|
||||
<!ENTITY % general-entities SYSTEM "../general.ent">
|
||||
%general-entities;
|
||||
]>
|
||||
|
||||
<sect1 id="ch-system-binutils" role="wrap">
|
||||
<?dbhtml filename="binutils.html"?>
|
||||
|
||||
<sect1info condition="script">
|
||||
<productname>binutils</productname>
|
||||
<productnumber>&binutils-version;</productnumber>
|
||||
<address>&binutils-url;</address>
|
||||
</sect1info>
|
||||
|
||||
<title>Binutils-&binutils-version;</title>
|
||||
|
||||
<indexterm zone="ch-system-binutils">
|
||||
<primary sortas="a-Binutils">Binutils</primary>
|
||||
</indexterm>
|
||||
|
||||
<sect2 role="package">
|
||||
<title/>
|
||||
|
||||
<para>The Binutils package contains a linker, an assembler, and other
|
||||
tools for handling object files.</para>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>&buildtime;</segtitle>
|
||||
<segtitle>&diskspace;</segtitle>
|
||||
|
||||
<seglistitem>
|
||||
<seg>&binutils-ch6-sbu;</seg>
|
||||
<seg>&binutils-ch6-du;</seg>
|
||||
</seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
</sect2>
|
||||
|
||||
<sect2 role="installation">
|
||||
<title>Installation of Binutils</title>
|
||||
|
||||
<para>Verify that the PTYs are working properly inside the chroot
|
||||
environment by performing a simple test:</para>
|
||||
|
||||
<screen><userinput remap="test">expect -c "spawn ls"</userinput></screen>
|
||||
|
||||
<para>This command should output the following:</para>
|
||||
|
||||
<screen><computeroutput>spawn ls</computeroutput></screen>
|
||||
|
||||
<para>If, instead, the output includes the message below, then the environment
|
||||
is not set up for proper PTY operation. This issue needs to be resolved before
|
||||
running the test suites for Binutils and GCC:</para>
|
||||
|
||||
<screen><computeroutput>The system has no more ptys.
|
||||
Ask your system administrator to create more.</computeroutput></screen>
|
||||
<!--
|
||||
<para>Fix some LTO tests in the test suite:</para>
|
||||
|
||||
<screen><userinput remap="pre">patch -Np1 -i ../&binutils-lto-testsuite-patch;</userinput></screen>
|
||||
|
||||
<para>Enable binutils to recognize multiple plugins:</para>
|
||||
|
||||
<screen><userinput remap="pre">patch -Np1 -i ../&binutils-multiple-plugins-patch;</userinput></screen>
|
||||
-->
|
||||
<para>The Binutils documentation recommends building Binutils outside of the
|
||||
source directory in a dedicated build directory:</para>
|
||||
|
||||
<screen><userinput remap="pre">mkdir -v ../binutils-build
|
||||
cd ../binutils-build</userinput></screen>
|
||||
|
||||
<para>Prepare Binutils for compilation:</para>
|
||||
|
||||
<screen><userinput remap="configure">../binutils-&binutils-version;/configure --prefix=/usr \
|
||||
--enable-shared \
|
||||
--disable-werror</userinput></screen>
|
||||
|
||||
<para>Compile the package:</para>
|
||||
|
||||
<screen><userinput remap="make">make tooldir=/usr</userinput></screen>
|
||||
|
||||
<variablelist>
|
||||
<title>The meaning of the make parameter:</title>
|
||||
|
||||
<varlistentry>
|
||||
<term><parameter>tooldir=/usr</parameter></term>
|
||||
<listitem>
|
||||
<para>Normally, the tooldir (the directory where the executables will
|
||||
ultimately be located) is set to <filename
|
||||
class="directory">$(exec_prefix)/$(target_alias)</filename>. For
|
||||
example, x86_64 machines would expand that to <filename
|
||||
class="directory">/usr/x86_64-unknown-linux-gnu</filename>. Because this is
|
||||
a custom system, this target-specific directory in <filename
|
||||
class="directory">/usr</filename> is not required. <filename
|
||||
class="directory">$(exec_prefix)/$(target_alias)</filename> would be
|
||||
used if the system was used to cross-compile (for example, compiling a
|
||||
package on an Intel machine that generates code that can be executed
|
||||
on PowerPC machines).</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
</variablelist>
|
||||
|
||||
<important>
|
||||
<para>The test suite for Binutils in this section is considered critical.
|
||||
Do not skip it under any circumstances.</para>
|
||||
</important>
|
||||
|
||||
<para>Test the results:</para>
|
||||
|
||||
<screen><userinput remap="test">make check</userinput></screen>
|
||||
|
||||
<para>Install the package:</para>
|
||||
|
||||
<screen><userinput remap="install">make tooldir=/usr install</userinput></screen>
|
||||
|
||||
</sect2>
|
||||
|
||||
<sect2 id="contents-binutils" role="content">
|
||||
<title>Contents of Binutils</title>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>Installed programs</segtitle>
|
||||
<segtitle>Installed libraries</segtitle>
|
||||
<segtitle>Installed directory</segtitle>
|
||||
|
||||
<seglistitem>
|
||||
<seg>addr2line, ar, as, c++filt, elfedit, gprof, ld, ld.bfd, nm,
|
||||
objcopy, objdump, ranlib, readelf, size, strings, and strip</seg>
|
||||
<seg>libbfd.{a,so} and libopcodes.{a,so}</seg>
|
||||
<seg>/usr/lib/ldscripts</seg>
|
||||
</seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
<variablelist>
|
||||
<bridgehead renderas="sect3">Short Descriptions</bridgehead>
|
||||
<?dbfo list-presentation="list"?>
|
||||
<?dbhtml list-presentation="table"?>
|
||||
|
||||
<varlistentry id="addr2line">
|
||||
<term><command>addr2line</command></term>
|
||||
<listitem>
|
||||
<para>Translates program addresses to file names and line numbers;
|
||||
given an address and the name of an executable, it uses the debugging
|
||||
information in the executable to determine which source file and line
|
||||
number are associated with the address</para>
|
||||
<indexterm zone="ch-system-binutils addr2line">
|
||||
<primary sortas="b-addr2line">addr2line</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="ar">
|
||||
<term><command>ar</command></term>
|
||||
<listitem>
|
||||
<para>Creates, modifies, and extracts from archives</para>
|
||||
<indexterm zone="ch-system-binutils ar">
|
||||
<primary sortas="b-ar">ar</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="as">
|
||||
<term><command>as</command></term>
|
||||
<listitem>
|
||||
<para>An assembler that assembles the output of <command>gcc</command>
|
||||
into object files</para>
|
||||
<indexterm zone="ch-system-binutils as">
|
||||
<primary sortas="b-as">as</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="c-filt">
|
||||
<term><command>c++filt</command></term>
|
||||
<listitem>
|
||||
<para>Used by the linker to de-mangle C++ and Java symbols and to keep
|
||||
overloaded functions from clashing</para>
|
||||
<indexterm zone="ch-system-binutils c-filt">
|
||||
<primary sortas="b-c++filt">c++filt</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="elfedit">
|
||||
<term><command>elfedit</command></term>
|
||||
<listitem>
|
||||
<para>Updates the ELF header of ELF files</para>
|
||||
<indexterm zone="ch-system-binutils elfedit">
|
||||
<primary sortas="b-elfedit">elfedit</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="gprof">
|
||||
<term><command>gprof</command></term>
|
||||
<listitem>
|
||||
<para>Displays call graph profile data</para>
|
||||
<indexterm zone="ch-system-binutils gprof">
|
||||
<primary sortas="b-gprof">gprof</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="ld">
|
||||
<term><command>ld</command></term>
|
||||
<listitem>
|
||||
<para>A linker that combines a number of object and archive files
|
||||
into a single file, relocating their data and tying up symbol
|
||||
references</para>
|
||||
<indexterm zone="ch-system-binutils ld">
|
||||
<primary sortas="b-ld">ld</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="ld.bfd">
|
||||
<term><command>ld.bfd</command></term>
|
||||
<listitem>
|
||||
<para>Hard link to <command>ld</command></para>
|
||||
<indexterm zone="ch-system-binutils ld.bfd">
|
||||
<primary sortas="b-ld.bfd">ld.bfd</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="nm">
|
||||
<term><command>nm</command></term>
|
||||
<listitem>
|
||||
<para>Lists the symbols occurring in a given object file</para>
|
||||
<indexterm zone="ch-system-binutils nm">
|
||||
<primary sortas="b-nm">nm</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="objcopy">
|
||||
<term><command>objcopy</command></term>
|
||||
<listitem>
|
||||
<para>Translates one type of object file into another</para>
|
||||
<indexterm zone="ch-system-binutils objcopy">
|
||||
<primary sortas="b-objcopy">objcopy</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="objdump">
|
||||
<term><command>objdump</command></term>
|
||||
<listitem>
|
||||
<para>Displays information about the given object file, with options
|
||||
controlling the particular information to display; the information
|
||||
shown is useful to programmers who are working on the compilation
|
||||
tools</para>
|
||||
<indexterm zone="ch-system-binutils objdump">
|
||||
<primary sortas="b-objdump">objdump</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="ranlib">
|
||||
<term><command>ranlib</command></term>
|
||||
<listitem>
|
||||
<para>Generates an index of the contents of an archive and stores it
|
||||
in the archive; the index lists all of the symbols defined by archive
|
||||
members that are relocatable object files</para>
|
||||
<indexterm zone="ch-system-binutils ranlib">
|
||||
<primary sortas="b-ranlib">ranlib</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="readelf">
|
||||
<term><command>readelf</command></term>
|
||||
<listitem>
|
||||
<para>Displays information about ELF type binaries</para>
|
||||
<indexterm zone="ch-system-binutils readelf">
|
||||
<primary sortas="b-readelf">readelf</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="size">
|
||||
<term><command>size</command></term>
|
||||
<listitem>
|
||||
<para>Lists the section sizes and the total size for the given
|
||||
object files</para>
|
||||
<indexterm zone="ch-system-binutils size">
|
||||
<primary sortas="b-size">size</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="strings">
|
||||
<term><command>strings</command></term>
|
||||
<listitem>
|
||||
<para>Outputs, for each given file, the sequences of printable
|
||||
characters that are of at least the specified length (defaulting to
|
||||
four); for object files, it prints, by default, only the strings from
|
||||
the initializing and loading sections while for other types of files, it
|
||||
scans the entire file</para>
|
||||
<indexterm zone="ch-system-binutils strings">
|
||||
<primary sortas="b-strings">strings</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="strip">
|
||||
<term><command>strip</command></term>
|
||||
<listitem>
|
||||
<para>Discards symbols from object files</para>
|
||||
<indexterm zone="ch-system-binutils strip">
|
||||
<primary sortas="b-strip">strip</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="libbfd">
|
||||
<term><filename class="libraryfile">libbfd</filename></term>
|
||||
<listitem>
|
||||
<para>The Binary File Descriptor library</para>
|
||||
<indexterm zone="ch-system-binutils libbfd">
|
||||
<primary sortas="c-libbfd">libbfd</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="libopcodes">
|
||||
<term><filename class="libraryfile">libopcodes</filename></term>
|
||||
<listitem>
|
||||
<para>A library for dealing with opcodes—the <quote>readable
|
||||
text</quote> versions of instructions for the processor;
|
||||
it is used for building utilities like
|
||||
<command>objdump</command></para>
|
||||
<indexterm zone="ch-system-binutils libopcodes">
|
||||
<primary sortas="c-libopcodes">libopcodes</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
</variablelist>
|
||||
|
||||
</sect2>
|
||||
|
||||
</sect1>
|
|
@ -1,131 +0,0 @@
|
|||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
|
||||
<!ENTITY % general-entities SYSTEM "../general.ent">
|
||||
%general-entities;
|
||||
]>
|
||||
|
||||
<sect1 id="ch-system-bison" role="wrap">
|
||||
<?dbhtml filename="bison.html"?>
|
||||
|
||||
<sect1info condition="script">
|
||||
<productname>bison</productname>
|
||||
<productnumber>&bison-version;</productnumber>
|
||||
<address>&bison-url;</address>
|
||||
</sect1info>
|
||||
|
||||
<title>Bison-&bison-version;</title>
|
||||
|
||||
<indexterm zone="ch-system-bison">
|
||||
<primary sortas="a-Bison">Bison</primary>
|
||||
</indexterm>
|
||||
|
||||
<sect2 role="package">
|
||||
<title/>
|
||||
|
||||
<para>The Bison package contains a parser generator.</para>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>&buildtime;</segtitle>
|
||||
<segtitle>&diskspace;</segtitle>
|
||||
|
||||
<seglistitem>
|
||||
<seg>&bison-ch6-sbu;</seg>
|
||||
<seg>&bison-ch6-du;</seg>
|
||||
</seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
</sect2>
|
||||
|
||||
<sect2 role="installation">
|
||||
<title>Installation of Bison</title>
|
||||
<!-- bison only installs a static library
|
||||
<para>Inhibit static library installation:</para>
|
||||
|
||||
<screen><userinput remap="pre">sed -i '/lib_LIBRARIES =/d' Makefile.in</userinput></screen>
|
||||
-->
|
||||
<para>Prepare Bison for compilation:</para>
|
||||
|
||||
<screen><userinput remap="configure">./configure --prefix=/usr --docdir=/usr/share/doc/bison-&bison-version;</userinput></screen>
|
||||
|
||||
<para>Compile the package:</para>
|
||||
|
||||
<screen><userinput remap="make">make</userinput></screen>
|
||||
|
||||
<!--
|
||||
<para>To test the results (about 2.2 SBU), issue:</para>
|
||||
|
||||
<screen><userinput remap="test">make check</userinput></screen>
|
||||
-->
|
||||
<para>There is a circular dependency between bison and flex with regard to
|
||||
the checks. If desired, after installing flex in the next section, the
|
||||
bison checks can be run with <command>make check</command>.</para>
|
||||
|
||||
<para>Install the package:</para>
|
||||
|
||||
<screen><userinput remap="install">make install</userinput></screen>
|
||||
|
||||
</sect2>
|
||||
|
||||
<sect2 id="contents-bison" role="content">
|
||||
<title>Contents of Bison</title>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>Installed programs</segtitle>
|
||||
<segtitle>Installed library</segtitle>
|
||||
<segtitle>Installed directory</segtitle>
|
||||
|
||||
<seglistitem>
|
||||
<seg>bison and yacc</seg>
|
||||
<seg>liby.a</seg>
|
||||
<seg>/usr/share/bison</seg>
|
||||
</seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
<variablelist>
|
||||
<bridgehead renderas="sect3">Short Descriptions</bridgehead>
|
||||
<?dbfo list-presentation="list"?>
|
||||
<?dbhtml list-presentation="table"?>
|
||||
|
||||
<varlistentry id="bison">
|
||||
<term><command>bison</command></term>
|
||||
<listitem>
|
||||
<para>Generates, from a series of rules, a program for analyzing the
|
||||
structure of text files; Bison is a replacement for Yacc (Yet Another
|
||||
Compiler Compiler)</para>
|
||||
<indexterm zone="ch-system-bison bison">
|
||||
<primary sortas="b-bison">bison</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="yacc">
|
||||
<term><command>yacc</command></term>
|
||||
<listitem>
|
||||
<para>A wrapper for <command>bison</command>, meant for programs that
|
||||
still call <command>yacc</command> instead of <command>bison</command>;
|
||||
it calls <command>bison</command> with the <parameter>-y</parameter>
|
||||
option</para>
|
||||
<indexterm zone="ch-system-bison yacc">
|
||||
<primary sortas="b-yacc">yacc</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="liby">
|
||||
<term><filename class="libraryfile">liby</filename></term>
|
||||
<listitem>
|
||||
<para>The Yacc library containing implementations of Yacc-compatible
|
||||
<function>yyerror</function> and <function>main</function> functions;
|
||||
this library is normally not very useful, but POSIX requires it</para>
|
||||
<indexterm zone="ch-system-bison liby">
|
||||
<primary sortas="c-liby">liby</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
</variablelist>
|
||||
|
||||
</sect2>
|
||||
|
||||
</sect1>
|
|
@ -1,250 +0,0 @@
|
|||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
|
||||
<!ENTITY % general-entities SYSTEM "../general.ent">
|
||||
%general-entities;
|
||||
]>
|
||||
|
||||
<sect1 id="ch-system-bzip2" role="wrap">
|
||||
<?dbhtml filename="bzip2.html"?>
|
||||
|
||||
<sect1info condition="script">
|
||||
<productname>bzip2</productname>
|
||||
<productnumber>&bzip2-version;</productnumber>
|
||||
<address>&bzip2-url;</address>
|
||||
</sect1info>
|
||||
|
||||
<title>Bzip2-&bzip2-version;</title>
|
||||
|
||||
<indexterm zone="ch-system-bzip2">
|
||||
<primary sortas="a-Bzip2">Bzip2</primary>
|
||||
</indexterm>
|
||||
|
||||
<sect2 role="package">
|
||||
<title/>
|
||||
|
||||
<para>The Bzip2 package contains programs for compressing and decompressing
|
||||
files. Compressing text files with <command>bzip2</command> yields a much
|
||||
better compression percentage than with the traditional
|
||||
<command>gzip</command>.</para>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>&buildtime;</segtitle>
|
||||
<segtitle>&diskspace;</segtitle>
|
||||
|
||||
<seglistitem>
|
||||
<seg>&bzip2-ch6-sbu;</seg>
|
||||
<seg>&bzip2-ch6-du;</seg>
|
||||
</seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
</sect2>
|
||||
|
||||
<sect2 role="installation">
|
||||
<title>Installation of Bzip2</title>
|
||||
|
||||
<para>Apply a patch that will install the documentation for this package:</para>
|
||||
|
||||
<screen><userinput remap="pre">patch -Np1 -i ../&bzip2-docs-patch;</userinput></screen>
|
||||
|
||||
<para>The following command ensures installation of symbolic links are relative:</para>
|
||||
|
||||
<screen><userinput remap="pre">sed -i 's@\(ln -s -f \)$(PREFIX)/bin/@\1@' Makefile</userinput></screen>
|
||||
|
||||
<para>Ensure the man pages are installed into the correct location:</para>
|
||||
|
||||
<screen><userinput remap="pre">sed -i "s@(PREFIX)/man@(PREFIX)/share/man@g" Makefile</userinput></screen>
|
||||
|
||||
<para>Prepare Bzip2 for compilation with:</para>
|
||||
|
||||
<screen><userinput remap="make">make -f Makefile-libbz2_so
|
||||
make clean</userinput></screen>
|
||||
|
||||
<variablelist>
|
||||
<title>The meaning of the make parameter:</title>
|
||||
|
||||
<varlistentry>
|
||||
<term><parameter>-f Makefile-libbz2_so</parameter></term>
|
||||
<listitem>
|
||||
<para>This will cause Bzip2 to be built using a different
|
||||
<filename>Makefile</filename> file, in this case the
|
||||
<filename>Makefile-libbz2_so</filename> file, which creates a dynamic
|
||||
<filename class="libraryfile">libbz2.so</filename> library and links
|
||||
the Bzip2 utilities against it.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
</variablelist>
|
||||
|
||||
<para>Compile and test the package:</para>
|
||||
|
||||
<screen><userinput remap="make">make</userinput></screen>
|
||||
|
||||
<para>Install the programs:</para>
|
||||
|
||||
<screen><userinput remap="install">make PREFIX=/usr install</userinput></screen>
|
||||
|
||||
<para>Install the shared <command>bzip2</command> binary into the
|
||||
<filename class="directory">/bin</filename> directory, make
|
||||
some necessary symbolic links, and clean up:</para>
|
||||
|
||||
<screen><userinput remap="install">cp -v bzip2-shared /bin/bzip2
|
||||
cp -av libbz2.so* /lib
|
||||
ln -sv ../../lib/libbz2.so.1.0 /usr/lib/libbz2.so
|
||||
rm -v /usr/bin/{bunzip2,bzcat,bzip2}
|
||||
ln -sv bzip2 /bin/bunzip2
|
||||
ln -sv bzip2 /bin/bzcat</userinput></screen>
|
||||
|
||||
</sect2>
|
||||
|
||||
<sect2 id="contents-bzip2" role="content">
|
||||
<title>Contents of Bzip2</title>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>Installed programs</segtitle>
|
||||
<segtitle>Installed libraries</segtitle>
|
||||
<segtitle>Installed directory</segtitle>
|
||||
|
||||
<seglistitem>
|
||||
<seg>bunzip2 (link to bzip2), bzcat (link to bzip2), bzcmp (link to
|
||||
bzdiff), bzdiff, bzegrep (link to bzgrep), bzfgrep (link to bzgrep),
|
||||
bzgrep, bzip2, bzip2recover, bzless (link to bzmore), and bzmore</seg>
|
||||
<seg>libbz2.{a,so}</seg>
|
||||
<seg>/usr/share/doc/bzip2-&bzip2-version;</seg>
|
||||
</seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
<variablelist>
|
||||
<bridgehead renderas="sect3">Short Descriptions</bridgehead>
|
||||
<?dbfo list-presentation="list"?>
|
||||
<?dbhtml list-presentation="table"?>
|
||||
|
||||
<varlistentry id="bunzip2">
|
||||
<term><command>bunzip2</command></term>
|
||||
<listitem>
|
||||
<para>Decompresses bzipped files</para>
|
||||
<indexterm zone="ch-system-bzip2 bunzip2">
|
||||
<primary sortas="b-bunzip2">bunzip2</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="bzcat">
|
||||
<term><command>bzcat</command></term>
|
||||
<listitem>
|
||||
<para>Decompresses to standard output</para>
|
||||
<indexterm zone="ch-system-bzip2 bzcat">
|
||||
<primary sortas="b-bzcat">bzcat</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="bzcmp">
|
||||
<term><command>bzcmp</command></term>
|
||||
<listitem>
|
||||
<para>Runs <command>cmp</command> on bzipped files</para>
|
||||
<indexterm zone="ch-system-bzip2 bzcmp">
|
||||
<primary sortas="b-bzcmp">bzcmp</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="bzdiff">
|
||||
<term><command>bzdiff</command></term>
|
||||
<listitem>
|
||||
<para>Runs <command>diff</command> on bzipped files</para>
|
||||
<indexterm zone="ch-system-bzip2 bzdiff">
|
||||
<primary sortas="b-bzdiff">bzdiff</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="bzegrep">
|
||||
<term><command>bzegrep</command></term>
|
||||
<listitem>
|
||||
<para>Runs <command>egrep</command> on bzipped files</para>
|
||||
<indexterm zone="ch-system-bzip2 bzegrep">
|
||||
<primary sortas="b-bzegrep">bzegrep</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="bzfgrep">
|
||||
<term><command>bzfgrep</command></term>
|
||||
<listitem>
|
||||
<para>Runs <command>fgrep</command> on bzipped files</para>
|
||||
<indexterm zone="ch-system-bzip2 bzfgrep">
|
||||
<primary sortas="b-bzfgrep">bzfgrep</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="bzgrep">
|
||||
<term><command>bzgrep</command></term>
|
||||
<listitem>
|
||||
<para>Runs <command>grep</command> on bzipped files</para>
|
||||
<indexterm zone="ch-system-bzip2 bzgrep">
|
||||
<primary sortas="b-bzgrep">bzgrep</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="bzip2">
|
||||
<term><command>bzip2</command></term>
|
||||
<listitem>
|
||||
<para>Compresses files using the Burrows-Wheeler block sorting text
|
||||
compression algorithm with Huffman coding; the compression rate is
|
||||
better than that achieved by more conventional compressors using
|
||||
<quote>Lempel-Ziv</quote> algorithms, like <command>gzip</command></para>
|
||||
<indexterm zone="ch-system-bzip2 bzip2">
|
||||
<primary sortas="b-bzip2">bzip2</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="bzip2recover">
|
||||
<term><command>bzip2recover</command></term>
|
||||
<listitem>
|
||||
<para>Tries to recover data from damaged bzipped files</para>
|
||||
<indexterm zone="ch-system-bzip2 bzip2recover">
|
||||
<primary sortas="b-bzip2recover">bzip2recover</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="bzless">
|
||||
<term><command>bzless</command></term>
|
||||
<listitem>
|
||||
<para>Runs <command>less</command> on bzipped files</para>
|
||||
<indexterm zone="ch-system-bzip2 bzless">
|
||||
<primary sortas="b-bzless">bzless</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="bzmore">
|
||||
<term><command>bzmore</command></term>
|
||||
<listitem>
|
||||
<para>Runs <command>more</command> on bzipped files</para>
|
||||
<indexterm zone="ch-system-bzip2 bzmore">
|
||||
<primary sortas="b-bzmore">bzmore</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="libbz2">
|
||||
<term><filename class="libraryfile">libbz2</filename></term>
|
||||
<listitem>
|
||||
<para>The library implementing lossless, block-sorting data
|
||||
compression, using the Burrows-Wheeler algorithm</para>
|
||||
<indexterm zone="ch-system-bzip2 libbz2">
|
||||
<primary sortas="c-libbz2">libbz2</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
</variablelist>
|
||||
|
||||
</sect2>
|
||||
|
||||
</sect1>
|
|
@ -1,87 +0,0 @@
|
|||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
|
||||
<!ENTITY % general-entities SYSTEM "../general.ent">
|
||||
%general-entities;
|
||||
]>
|
||||
|
||||
<chapter id="chapter-building-system" xreflabel="Chapter 6">
|
||||
<?dbhtml dir="chapter06"?>
|
||||
<?dbhtml filename="chapter06.html"?>
|
||||
|
||||
<title>Installing Basic System Software</title>
|
||||
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="introduction.xml"/>
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="kernfs.xml"/>
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="pkgmgt.xml"/>
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="chroot.xml"/>
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="creatingdirs.xml"/>
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="createfiles.xml"/>
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="linux-headers.xml"/>
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="man-pages.xml"/>
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="glibc.xml"/>
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="adjusting.xml"/>
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="zlib.xml"/>
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="file.xml"/>
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="binutils.xml"/>
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="gmp.xml"/>
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="mpfr.xml"/>
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="mpc.xml"/>
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="gcc.xml"/>
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="bzip2.xml"/>
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="pkgconfig.xml"/>
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="ncurses.xml"/>
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="attr.xml"/>
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="acl.xml"/>
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="libcap.xml"/>
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="sed.xml"/>
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="shadow.xml"/>
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="psmisc.xml"/>
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="iana-etc.xml"/>
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="m4.xml"/>
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="bison.xml"/>
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="flex.xml"/>
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="grep.xml"/>
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="readline.xml"/>
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="bash.xml"/>
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="bc.xml"/>
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="libtool.xml"/>
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="gdbm.xml"/>
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="gperf.xml"/>
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="expat.xml"/>
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="inetutils.xml"/>
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="perl.xml"/>
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="xml-parser.xml"/>
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="intltool.xml"/>
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="autoconf.xml"/>
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="automake.xml"/>
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="xz.xml"/>
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="kmod.xml"/>
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="gettext.xml"/>
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="systemd.xml"/>
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="procps.xml"/>
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="e2fsprogs.xml"/>
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="coreutils.xml"/>
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="diffutils.xml"/>
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="gawk.xml"/>
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="findutils.xml"/>
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="groff.xml"/>
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="grub.xml"/>
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="less.xml"/>
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="gzip.xml"/>
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="iproute2.xml"/>
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="kbd.xml"/>
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="libpipeline.xml"/>
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="make.xml"/>
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="patch.xml"/>
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="dbus.xml"/>
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="util-linux.xml"/>
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="man-db.xml"/>
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="tar.xml"/>
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="texinfo.xml"/>
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="vim.xml"/>
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="aboutdebug.xml"/>
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="strippingagain.xml"/>
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="revisedchroot.xml"/>
|
||||
|
||||
</chapter>
|
|
@ -1,63 +0,0 @@
|
|||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
|
||||
<!ENTITY % general-entities SYSTEM "../general.ent">
|
||||
%general-entities;
|
||||
]>
|
||||
|
||||
<sect1 id="ch-system-chroot">
|
||||
<?dbhtml filename="chroot.html"?>
|
||||
|
||||
<title>Entering the Chroot Environment</title>
|
||||
|
||||
<para>It is time to enter the chroot environment to begin building and
|
||||
installing the final LFS system. As user <systemitem
|
||||
class="username">root</systemitem>, run the following command to enter the
|
||||
realm that is, at the moment, populated with only the temporary tools:</para>
|
||||
|
||||
<screen role="nodump"><userinput>chroot "$LFS" /tools/bin/env -i \
|
||||
HOME=/root \
|
||||
TERM="$TERM" \
|
||||
PS1='\u:\w\$ ' \
|
||||
PATH=/bin:/usr/bin:/sbin:/usr/sbin:/tools/bin \
|
||||
/tools/bin/bash --login +h</userinput></screen>
|
||||
|
||||
<para>The <parameter>-i</parameter> option given to the <command>env</command>
|
||||
command will clear all variables of the chroot environment. After that, only
|
||||
the <envar>HOME</envar>, <envar>TERM</envar>, <envar>PS1</envar>, and
|
||||
<envar>PATH</envar> variables are set again. The
|
||||
<parameter>TERM=$TERM</parameter> construct will set the <envar>TERM</envar>
|
||||
variable inside chroot to the same value as outside chroot. This variable is
|
||||
needed for programs like <command>vim</command> and <command>less</command>
|
||||
to operate properly. If other variables are needed, such as
|
||||
<envar>CFLAGS</envar> or <envar>CXXFLAGS</envar>, this is a good place to set
|
||||
them again.</para>
|
||||
|
||||
<para>From this point on, there is no need to use the
|
||||
<envar>LFS</envar> variable anymore, because all work will be restricted
|
||||
to the LFS file system. This is because the Bash shell is told that
|
||||
<filename class="directory">$LFS</filename> is now the root
|
||||
(<filename class="directory">/</filename>) directory.</para>
|
||||
|
||||
<para>Notice that <filename class="directory">/tools/bin</filename> comes last
|
||||
in the <envar>PATH</envar>. This means that a temporary tool will no longer be
|
||||
used once its final version is installed. This occurs when the shell does not
|
||||
<quote>remember</quote> the locations of executed binaries—for this
|
||||
reason, hashing is switched off by passing the <parameter>+h</parameter> option
|
||||
to <command>bash</command>.</para>
|
||||
|
||||
<para>Note that the <command>bash</command> prompt will say
|
||||
<computeroutput>I have no name!</computeroutput> This is normal because the
|
||||
<filename>/etc/passwd</filename> file has not been created yet.</para>
|
||||
|
||||
<note>
|
||||
<para>It is important that all the commands throughout the remainder of this
|
||||
chapter and the following chapters are run from within the chroot
|
||||
environment. If you leave this environment for any reason (rebooting for
|
||||
example), ensure that the virtual kernel filesystems are mounted as
|
||||
explained in <xref linkend="ch-system-bindmount"/> and <xref
|
||||
linkend="ch-system-kernfsmount"/> and enter chroot again before continuing
|
||||
with the installation.</para>
|
||||
</note>
|
||||
|
||||
</sect1>
|
File diff suppressed because it is too large
Load Diff
|
@ -1,252 +0,0 @@
|
|||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
|
||||
<!ENTITY % general-entities SYSTEM "../general.ent">
|
||||
%general-entities;
|
||||
]>
|
||||
|
||||
<sect1 id="ch-system-createfiles">
|
||||
<?dbhtml filename="createfiles.html"?>
|
||||
|
||||
<title>Creating Essential Files and Symlinks</title>
|
||||
|
||||
<indexterm zone="ch-system-createfiles">
|
||||
<primary sortas="e-/etc/passwd">/etc/passwd</primary>
|
||||
</indexterm>
|
||||
|
||||
<indexterm zone="ch-system-createfiles">
|
||||
<primary sortas="e-/etc/group">/etc/group</primary>
|
||||
</indexterm>
|
||||
|
||||
<indexterm zone="ch-system-createfiles">
|
||||
<primary sortas="e-/var/run/utmp">/var/run/utmp</primary>
|
||||
</indexterm>
|
||||
|
||||
<indexterm zone="ch-system-createfiles">
|
||||
<primary sortas="e-/var/log/btmp">/var/log/btmp</primary>
|
||||
</indexterm>
|
||||
|
||||
<indexterm zone="ch-system-createfiles">
|
||||
<primary sortas="e-/var/log/lastlog">/var/log/lastlog</primary>
|
||||
</indexterm>
|
||||
|
||||
<indexterm zone="ch-system-createfiles">
|
||||
<primary sortas="e-/var/log/wtmp">/var/log/wtmp</primary>
|
||||
</indexterm>
|
||||
|
||||
<para>Some programs use hard-wired paths to programs which do not exist yet. In
|
||||
order to satisfy these programs, create a number of symbolic links which will be
|
||||
replaced by real files throughout the course of this chapter after the software
|
||||
has been installed:</para>
|
||||
|
||||
<screen><userinput>ln -sv /tools/bin/{bash,cat,echo,pwd,stty} /bin
|
||||
ln -sv /tools/bin/perl /usr/bin
|
||||
ln -sv /tools/lib/libgcc_s.so{,.1} /usr/lib
|
||||
ln -sv /tools/lib/libstdc++.so{,.6} /usr/lib
|
||||
sed 's/tools/usr/' /tools/lib/libstdc++.la > /usr/lib/libstdc++.la
|
||||
ln -sv bash /bin/sh</userinput></screen>
|
||||
|
||||
<variablelist>
|
||||
<title>The purpose of each link:</title>
|
||||
|
||||
<varlistentry>
|
||||
<term><parameter><filename>/bin/bash</filename></parameter></term>
|
||||
<listitem>
|
||||
<para>Many <command>bash</command> scripts specify
|
||||
<filename>/bin/bash</filename>.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><parameter><filename>/bin/cat</filename></parameter></term>
|
||||
<listitem>
|
||||
<para>This pathname is hard-coded into Glibc's configure script.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><parameter><filename>/bin/echo</filename></parameter></term>
|
||||
<listitem>
|
||||
<para>This is to satisfy one of the tests in Glibc's test suite, which
|
||||
expects <filename>/bin/echo</filename>.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><parameter><filename>/bin/pwd</filename></parameter></term>
|
||||
<listitem>
|
||||
<para>Some <command>configure</command> scripts, particularly Glibc's,
|
||||
have this pathname hard-coded.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><parameter><filename>/bin/stty</filename></parameter></term>
|
||||
<listitem>
|
||||
<para>This pathname is hard-coded into Expect, therefore it is needed
|
||||
for Binutils and GCC test suites to pass.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><parameter><filename>/usr/bin/perl</filename></parameter></term>
|
||||
<listitem>
|
||||
<para>Many Perl scripts hard-code this path to the
|
||||
<command>perl</command> program.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><parameter><filename>/usr/lib/libgcc_s.so{,.1}</filename></parameter></term>
|
||||
<listitem>
|
||||
<para>Glibc needs this for the pthreads library to work.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><parameter><filename>/usr/lib/libstdc++{,.6}</filename></parameter></term>
|
||||
<listitem>
|
||||
<para>This is needed by several tests in Glibc's test suite, as well as
|
||||
for C++ support in GMP.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><parameter><filename>/usr/lib/libstdc++.la</filename></parameter></term>
|
||||
<listitem>
|
||||
<para>This prevents a <filename class="directory">/tools</filename>
|
||||
reference that would otherwise be in
|
||||
<filename>/usr/lib/libstdc++.la</filename> after GCC is installed.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><parameter><filename>/bin/sh</filename></parameter></term>
|
||||
<listitem>
|
||||
<para>Many shell scripts hard-code <filename>/bin/sh</filename>.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
</variablelist>
|
||||
|
||||
<para>Historically, Linux maintains a list of the mounted file systems in the
|
||||
file <filename>/etc/mtab</filename>. Modern kernels maintain this list
|
||||
internally and exposes it to the user via the <filename
|
||||
class="directory">/proc</filename> filesystem. To satisfy utilities that
|
||||
expect the presence of <filename>/etc/mtab</filename>, create the following
|
||||
symbolic link:</para>
|
||||
|
||||
<screen><userinput>ln -sv /proc/self/mounts /etc/mtab</userinput></screen>
|
||||
|
||||
<para>In order for user <systemitem class="username">root</systemitem> to be
|
||||
able to login and for the name <quote>root</quote> to be recognized, there
|
||||
must be relevant entries in the <filename>/etc/passwd</filename> and
|
||||
<filename>/etc/group</filename> files.</para>
|
||||
|
||||
<para>Create the <filename>/etc/passwd</filename> file by running the following
|
||||
command:</para>
|
||||
|
||||
<screen><userinput>cat > /etc/passwd << "EOF"
|
||||
<literal>root:x:0:0:root:/root:/bin/bash
|
||||
bin:x:1:1:bin:/dev/null:/bin/false
|
||||
daemon:x:6:6:Daemon User:/dev/null:/bin/false
|
||||
messagebus:x:18:18:D-Bus Message Daemon User:/var/run/dbus:/bin/false
|
||||
systemd-bus-proxy:x:72:72:systemd Bus Proxy:/:/bin/false
|
||||
systemd-journal-gateway:x:73:73:systemd Journal Gateway:/:/bin/false
|
||||
systemd-journal-remote:x:74:74:systemd Journal Remote:/:/bin/false
|
||||
systemd-journal-upload:x:75:75:systemd Journal Upload:/:/bin/false
|
||||
systemd-network:x:76:76:systemd Network Management:/:/bin/false
|
||||
systemd-resolve:x:77:77:systemd Resolver:/:/bin/false
|
||||
systemd-timesync:x:78:78:systemd Time Synchronization:/:/bin/false
|
||||
nobody:x:99:99:Unprivileged User:/dev/null:/bin/false</literal>
|
||||
EOF</userinput></screen>
|
||||
|
||||
<para>The actual password for <systemitem class="username">root</systemitem>
|
||||
(the <quote>x</quote> used here is just a placeholder) will be set later.</para>
|
||||
|
||||
<para>Create the <filename>/etc/group</filename> file by running the following
|
||||
command:</para>
|
||||
|
||||
<screen><userinput>cat > /etc/group << "EOF"
|
||||
<literal>root:x:0:
|
||||
bin:x:1:daemon
|
||||
sys:x:2:
|
||||
kmem:x:3:
|
||||
tape:x:4:
|
||||
tty:x:5:
|
||||
daemon:x:6:
|
||||
floppy:x:7:
|
||||
disk:x:8:
|
||||
lp:x:9:
|
||||
dialout:x:10:
|
||||
audio:x:11:
|
||||
video:x:12:
|
||||
utmp:x:13:
|
||||
usb:x:14:
|
||||
cdrom:x:15:
|
||||
adm:x:16:
|
||||
messagebus:x:18:
|
||||
systemd-journal:x:23:
|
||||
input:x:24:
|
||||
mail:x:34:
|
||||
systemd-bus-proxy:x:72:
|
||||
systemd-journal-gateway:x:73:
|
||||
systemd-journal-remote:x:74:
|
||||
systemd-journal-upload:x:75:
|
||||
systemd-network:x:76:
|
||||
systemd-resolve:x:77:
|
||||
systemd-timesync:x:78:
|
||||
nogroup:x:99:
|
||||
users:x:999:</literal>
|
||||
EOF</userinput></screen>
|
||||
|
||||
<para>The created groups are not part of any standard—they are groups
|
||||
decided on in part by the requirements of the Udev configuration in this
|
||||
chapter, and in part by common convention employed by a number of existing
|
||||
Linux distributions. In addition, some test suites rely on specific users
|
||||
or groups. The Linux Standard Base (LSB, available at <ulink
|
||||
url="http://www.linuxbase.org"/>) recommends only that, besides the group
|
||||
<systemitem class="groupname">root</systemitem> with a Group ID (GID) of 0,
|
||||
a group <systemitem class="groupname">bin</systemitem> with a GID of 1 be
|
||||
present. All other group names and GIDs can be chosen freely by the system
|
||||
administrator since well-written programs do not depend on GID numbers, but
|
||||
rather use the group's name.</para>
|
||||
|
||||
<para>To remove the <quote>I have no name!</quote> prompt, start a new
|
||||
shell. Since a full Glibc was installed in <xref
|
||||
linkend="chapter-temporary-tools"/> and the
|
||||
<filename>/etc/passwd</filename> and <filename>/etc/group</filename>
|
||||
files have been created, user name and group name resolution will now
|
||||
work:</para>
|
||||
|
||||
<screen role="nodump"><userinput>exec /tools/bin/bash --login +h</userinput></screen>
|
||||
|
||||
<para>Note the use of the <parameter>+h</parameter> directive. This tells
|
||||
<command>bash</command> not to use its internal path hashing. Without this
|
||||
directive, <command>bash</command> would remember the paths to binaries it has
|
||||
executed. To ensure the use of the newly compiled binaries as soon as they are
|
||||
installed, the <parameter>+h</parameter> directive will be used for the duration
|
||||
of this chapter.</para>
|
||||
|
||||
<para>The <command>login</command>, <command>agetty</command>, and
|
||||
<command>init</command> programs (and others) use a number of log
|
||||
files to record information such as who was logged into the system and
|
||||
when. However, these programs will not write to the log files if they
|
||||
do not already exist. Initialize the log files and give them
|
||||
proper permissions:</para>
|
||||
|
||||
<screen><userinput>touch /var/log/{btmp,lastlog,wtmp}
|
||||
chgrp -v utmp /var/log/lastlog
|
||||
chmod -v 664 /var/log/lastlog
|
||||
chmod -v 600 /var/log/btmp</userinput></screen>
|
||||
|
||||
<para>The <filename>/var/log/wtmp</filename> file records all logins and
|
||||
logouts. The <filename>/var/log/lastlog</filename> file records when each
|
||||
user last logged in. The <filename>/var/log/btmp</filename> file records the
|
||||
bad login attempts.</para>
|
||||
|
||||
<note><para>The <filename>/run/utmp</filename> file records the users that
|
||||
are currently logged in. This file is created dynamically in the boot
|
||||
scripts.</para></note>
|
||||
|
||||
</sect1>
|
|
@ -1,65 +0,0 @@
|
|||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
|
||||
<!ENTITY % general-entities SYSTEM "../general.ent">
|
||||
%general-entities;
|
||||
]>
|
||||
|
||||
<sect1 id="ch-system-creatingdirs">
|
||||
<?dbhtml filename="creatingdirs.html"?>
|
||||
|
||||
<title>Creating Directories</title>
|
||||
|
||||
<para>It is time to create some structure in the LFS file system. Create a
|
||||
standard directory tree by issuing the following commands:</para>
|
||||
|
||||
<screen><userinput>mkdir -pv /{bin,boot,etc/{opt,sysconfig},home,lib/firmware,mnt,opt}
|
||||
mkdir -pv /{media/{floppy,cdrom},sbin,srv,var}
|
||||
install -dv -m 0750 /root
|
||||
install -dv -m 1777 /tmp /var/tmp
|
||||
mkdir -pv /usr/{,local/}{bin,include,lib,sbin,src}
|
||||
mkdir -pv /usr/{,local/}share/{color,dict,doc,info,locale,man}
|
||||
mkdir -v /usr/{,local/}share/{misc,terminfo,zoneinfo}
|
||||
mkdir -v /usr/libexec
|
||||
mkdir -pv /usr/{,local/}share/man/man{1..8}
|
||||
|
||||
case $(uname -m) in
|
||||
x86_64) ln -sv lib /lib64
|
||||
ln -sv lib /usr/lib64
|
||||
ln -sv lib /usr/local/lib64 ;;
|
||||
esac
|
||||
|
||||
mkdir -v /var/{log,mail,spool}
|
||||
ln -sv /run /var/run
|
||||
ln -sv /run/lock /var/lock
|
||||
mkdir -pv /var/{opt,cache,lib/{color,misc,locate},local}</userinput></screen>
|
||||
|
||||
<para>Directories are, by default, created with permission mode 755, but
|
||||
this is not desirable for all directories. In the commands above, two
|
||||
changes are made—one to the home directory of user <systemitem
|
||||
class="username">root</systemitem>, and another to the directories for
|
||||
temporary files.</para>
|
||||
|
||||
<para>The first mode change ensures that not just anybody can enter
|
||||
the <filename class="directory">/root</filename> directory—the
|
||||
same as a normal user would do with his or her home directory. The
|
||||
second mode change makes sure that any user can write to the
|
||||
<filename class="directory">/tmp</filename> and <filename
|
||||
class="directory">/var/tmp</filename> directories, but cannot remove
|
||||
another user's files from them. The latter is prohibited by the so-called
|
||||
<quote>sticky bit,</quote> the highest bit (1) in the 1777 bit mask.</para>
|
||||
|
||||
<sect2>
|
||||
<title>FHS Compliance Note</title>
|
||||
|
||||
<para>The directory tree is based on the Filesystem Hierarchy Standard
|
||||
(FHS) (available at <ulink
|
||||
url="https://wiki.linuxfoundation.org/en/FHS"/>). The FHS also stipulates
|
||||
the optional existence some directories such as <filename
|
||||
class="directory">/usr/local/games</filename> and <filename
|
||||
class="directory">/usr/share/games</filename>. We create only the
|
||||
directories that are needed. However, feel free to create these
|
||||
directories. </para>
|
||||
</sect2>
|
||||
|
||||
</sect1>
|
|
@ -1,301 +0,0 @@
|
|||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
|
||||
<!ENTITY % general-entities SYSTEM "../general.ent">
|
||||
%general-entities;
|
||||
]>
|
||||
|
||||
<sect1 id="ch-system-db" role="wrap">
|
||||
<?dbhtml filename="db.html"?>
|
||||
|
||||
<sect1info condition="script">
|
||||
<productname>db</productname>
|
||||
<productnumber>&db-version;</productnumber>
|
||||
<address>&db-url;</address>
|
||||
</sect1info>
|
||||
|
||||
<title>Berkeley DB-&db-version;</title>
|
||||
|
||||
<indexterm zone="ch-system-db">
|
||||
<primary sortas="a-Berkeley-DB">Berkeley DB</primary>
|
||||
</indexterm>
|
||||
|
||||
<sect2 role="package">
|
||||
<title/>
|
||||
|
||||
<para>The Berkeley DB package contains programs and utilities used by many
|
||||
other applications for database related functions.</para>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>&buildtime;</segtitle>
|
||||
<segtitle>&diskspace;</segtitle>
|
||||
|
||||
<seglistitem>
|
||||
<seg>&db-ch6-sbu;</seg>
|
||||
<seg>&db-ch6-du;</seg>
|
||||
</seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
<tip>
|
||||
<title>Other Installation Possibilities</title>
|
||||
|
||||
<para>There are instructions to build this package in the BLFS book if you
|
||||
need to build the RPC server or additional language bindings. The
|
||||
additional language bindings will require additional packages to be
|
||||
installed. See <ulink url="&blfs-book;server/databases.html#db"/>
|
||||
for suggested installation instructions.</para>
|
||||
|
||||
<para>Also, GDBM <emphasis>could</emphasis> be used in place of Berkeley
|
||||
DB to satisfy Man-DB. However, since Berkeley DB is considered a core part
|
||||
of the LFS build, it will not be listed as a dependency for any package in
|
||||
the BLFS book. Likewise, many hours go into testing LFS with Berkeley DB
|
||||
installed, not with GDBM. If you fully understand the risks versus
|
||||
benefits of using GDBM and wish to use it anyway, see the BLFS
|
||||
instructions located at <ulink
|
||||
url="&blfs-book;general/gdbm.html"/></para>
|
||||
|
||||
</tip>
|
||||
|
||||
</sect2>
|
||||
|
||||
<sect2 role="installation">
|
||||
<title>Installation of Berkeley DB</title>
|
||||
|
||||
<para>Apply an upstream patch so that replication clients can open a
|
||||
sequence:</para>
|
||||
|
||||
<screen><userinput remap="pre">patch -Np1 -i ../&db-fixes-patch;</userinput></screen>
|
||||
|
||||
<para>Prepare Berkeley DB for compilation:</para>
|
||||
|
||||
<screen><userinput remap="configure">cd build_unix
|
||||
../dist/configure --prefix=/usr --enable-compat185 --enable-cxx</userinput></screen>
|
||||
|
||||
<variablelist>
|
||||
<title>The meaning of the configure options:</title>
|
||||
|
||||
<varlistentry>
|
||||
<term><parameter>--enable-compat185</parameter></term>
|
||||
<listitem>
|
||||
<para>This option enables building Berkeley DB 1.85 compatibility
|
||||
API.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><parameter>--enable-cxx</parameter></term>
|
||||
<listitem>
|
||||
<para>This option enables building C++ API libraries.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
</variablelist>
|
||||
|
||||
<para>Compile the package:</para>
|
||||
|
||||
<screen><userinput remap="make">make</userinput></screen>
|
||||
|
||||
<para>It is not possible to test the package meaningfully, because
|
||||
that would involve building Tcl bindings. Tcl bindings cannot be
|
||||
built properly now because Tcl is linked against Glibc in
|
||||
<filename class="directory">/tools</filename>, not against Glibc in
|
||||
<filename class="directory">/usr</filename>.</para>
|
||||
|
||||
<para>Install the package:</para>
|
||||
|
||||
<screen><userinput remap="install">make docdir=/usr/share/doc/db-&db-version; install</userinput></screen>
|
||||
|
||||
<variablelist>
|
||||
<title>The meaning of the make parameter:</title>
|
||||
|
||||
<varlistentry>
|
||||
<term><parameter>docdir=...</parameter></term>
|
||||
<listitem>
|
||||
<para>This variable specifies the correct place for the
|
||||
documentation.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
</variablelist>
|
||||
|
||||
<para>Fix the ownership of the installed documentation:</para>
|
||||
|
||||
<screen><userinput remap="install">chown -Rv root:root /usr/share/doc/db-&db-version;</userinput></screen>
|
||||
|
||||
</sect2>
|
||||
|
||||
<sect2 id="contents-db" role="content">
|
||||
<title>Contents of Berkeley DB</title>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>Installed programs</segtitle>
|
||||
<segtitle>Installed libraries</segtitle>
|
||||
|
||||
<seglistitem>
|
||||
<seg>db_archive, db_checkpoint, db_codegen, db_deadlock, db_dump,
|
||||
db_hotbackup, db_load, db_printlog, db_recover, db_stat, db_upgrade, and
|
||||
db_verify</seg>
|
||||
<seg>libdb.{a,so}and libdb_cxx.{a,so}</seg>
|
||||
</seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
<variablelist>
|
||||
<bridgehead renderas="sect3">Short Descriptions</bridgehead>
|
||||
<?dbfo list-presentation="list"?>
|
||||
<?dbhtml list-presentation="table"?>
|
||||
|
||||
<varlistentry id="db_archive">
|
||||
<term><command>db_archive</command></term>
|
||||
<listitem>
|
||||
<para>Prints the pathnames of log files that are no longer in use</para>
|
||||
<indexterm zone="ch-system-db db_archive">
|
||||
<primary sortas="b-db_archive">db_archive</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="db_checkpoint">
|
||||
<term><command>db_checkpoint</command></term>
|
||||
<listitem>
|
||||
<para>A daemon used to monitor and checkpoint database logs</para>
|
||||
<indexterm zone="ch-system-db db_checkpoint">
|
||||
<primary sortas="b-db_checkpoint">db_checkpoint</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="db_codegen">
|
||||
<term><command>db_codegen</command></term>
|
||||
<listitem>
|
||||
<para>Generates application code to create and configure Berkeley DB
|
||||
database environments and databases based on a simple description
|
||||
language, and writes it to one or more output files</para>
|
||||
<indexterm zone="ch-system-db db_codegen">
|
||||
<primary sortas="b-db_codegen">db_codegen</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="db_deadlock">
|
||||
<term><command>db_deadlock</command></term>
|
||||
<listitem>
|
||||
<para>A daemon used to abort lock requests when deadlocks are
|
||||
detected</para>
|
||||
<indexterm zone="ch-system-db db_deadlock">
|
||||
<primary sortas="b-db_deadlock">db_deadlock</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="db_dump">
|
||||
<term><command>db_dump</command></term>
|
||||
<listitem>
|
||||
<para>Converts database files to a plain-text file format readable
|
||||
by <command>db_load</command></para>
|
||||
<indexterm zone="ch-system-db db_dump">
|
||||
<primary sortas="b-db_dump">db_dump</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="db_hotbackup">
|
||||
<term><command>db_hotbackup</command></term>
|
||||
<listitem>
|
||||
<para>Creates <quote>hot backup</quote> or <quote>hot failover</quote>
|
||||
snapshots of Berkeley DB databases</para>
|
||||
<indexterm zone="ch-system-db db_hotbackup">
|
||||
<primary sortas="b-db_hotbackup">db_hotbackup</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="db_load">
|
||||
<term><command>db_load</command></term>
|
||||
<listitem>
|
||||
<para>Is used to create database files from plain-text files</para>
|
||||
<indexterm zone="ch-system-db db_load">
|
||||
<primary sortas="b-db_load">db_load</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="db_printlog">
|
||||
<term><command>db_printlog</command></term>
|
||||
<listitem>
|
||||
<para>Converts database log files to human readable text</para>
|
||||
<indexterm zone="ch-system-db db_printlog">
|
||||
<primary sortas="b-db_printlog">db_printlog</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="db_recover">
|
||||
<term><command>db_recover</command></term>
|
||||
<listitem>
|
||||
<para>Is used to restore a database to a consistent state after a
|
||||
failure</para>
|
||||
<indexterm zone="ch-system-db db_recover">
|
||||
<primary sortas="b-db_recover">db_recover</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="db_stat">
|
||||
<term><command>db_stat</command></term>
|
||||
<listitem>
|
||||
<para>Displays statistics for Berkeley databases</para>
|
||||
<indexterm zone="ch-system-db db_stat">
|
||||
<primary sortas="b-db_stat">db_stat</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="db_upgrade">
|
||||
<term><command>db_upgrade</command></term>
|
||||
<listitem>
|
||||
<para>Is used to upgrade database files to a newer version of
|
||||
Berkeley DB</para>
|
||||
<indexterm zone="ch-system-db db_upgrade">
|
||||
<primary sortas="b-db_upgrade">db_upgrade</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="db_verify">
|
||||
<term><command>db_verify</command></term>
|
||||
<listitem>
|
||||
<para>Is used to run consistency checks on database files</para>
|
||||
<indexterm zone="ch-system-db db_verify">
|
||||
<primary sortas="b-db_verify">db_verify</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
|
||||
<varlistentry id="libdb">
|
||||
<term><filename class="libraryfile">libdb.{a,so}</filename></term>
|
||||
<listitem>
|
||||
<para>Contains functions to manipulate database files from C
|
||||
programs</para>
|
||||
<indexterm zone="ch-system-db libdb">
|
||||
<primary sortas="c-libdb">libdb</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="libdb_cxx">
|
||||
<term><filename class="libraryfile">libdb_cxx.{a,so}</filename></term>
|
||||
<listitem>
|
||||
<para>Contains functions to manipulate database files from C++
|
||||
programs</para>
|
||||
<indexterm zone="ch-system-db libdb_cxx">
|
||||
<primary sortas="c-libdb_cxx">libdb_cxx</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
</variablelist>
|
||||
|
||||
</sect2>
|
||||
|
||||
</sect1>
|
|
@ -1,212 +0,0 @@
|
|||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
|
||||
<!ENTITY % general-entities SYSTEM "../general.ent">
|
||||
%general-entities;
|
||||
]>
|
||||
|
||||
<sect1 id="ch-system-dbus" role="wrap">
|
||||
<?dbhtml filename="dbus.html"?>
|
||||
|
||||
<sect1info condition="script">
|
||||
<productname>dbus</productname>
|
||||
<productnumber>&dbus-version;</productnumber>
|
||||
<address>&dbus-url;</address>
|
||||
</sect1info>
|
||||
|
||||
<title>D-Bus-&dbus-version;</title>
|
||||
|
||||
<indexterm zone="ch-system-dbus">
|
||||
<primary sortas="a-dbus">D-Bus</primary>
|
||||
</indexterm>
|
||||
|
||||
<sect2 role="package">
|
||||
<title/>
|
||||
|
||||
<para>D-Bus is a message bus system, a simple way for applications to talk
|
||||
to one another. D-Bus supplies both a system daemon (for events such as
|
||||
"new hardware device added" or "printer queue changed") and a
|
||||
per-user-login-session daemon (for general IPC needs among user
|
||||
applications). Also, the message bus is built on top of a general one-to-one
|
||||
message passing framework, which can be used by any two applications to
|
||||
communicate directly (without going through the message bus daemon).</para>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>&buildtime;</segtitle>
|
||||
<segtitle>&diskspace;</segtitle>
|
||||
|
||||
<seglistitem>
|
||||
<seg>&dbus-ch6-sbu;</seg>
|
||||
<seg>&dbus-ch6-du;</seg>
|
||||
</seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
</sect2>
|
||||
|
||||
<sect2 role="installation">
|
||||
<title>Installation of D-Bus</title>
|
||||
|
||||
<para>Prepare D-Bus for compilation:</para>
|
||||
|
||||
<screen><userinput remap="configure"> ./configure --prefix=/usr \
|
||||
--sysconfdir=/etc \
|
||||
--localstatedir=/var \
|
||||
--disable-static \
|
||||
--disable-doxygen-docs \
|
||||
--disable-xml-docs \
|
||||
--docdir=/usr/share/doc/dbus-&dbus-version; \
|
||||
--with-console-auth-dir=/run/console</userinput></screen>
|
||||
|
||||
<variablelist>
|
||||
<title>The meaning of the configure options:</title>
|
||||
|
||||
<varlistentry>
|
||||
<term><parameter>--with-console-auth-dir=/run/console</parameter></term>
|
||||
<listitem>
|
||||
<para>This specifies the location of the ConsoleKit auth
|
||||
directory.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
</variablelist>
|
||||
|
||||
<para>Compile the package:</para>
|
||||
|
||||
<screen><userinput remap="make">make</userinput></screen>
|
||||
|
||||
<para>This package does come with a test suite, but it requires several
|
||||
packages that are not included in LFS. Instructions for running the
|
||||
test suite can be found in the BLFS book at
|
||||
<ulink url="&blfs-book;general/dbus.html"/>.</para>
|
||||
|
||||
<para>Install the package:</para>
|
||||
|
||||
<screen><userinput remap="install">make install</userinput></screen>
|
||||
|
||||
<para>The shared library needs to be moved to
|
||||
<filename class="directory">/lib</filename>, and as a result the
|
||||
<filename class="extension">.so</filename> file in
|
||||
<filename class="directory">/usr/lib</filename> will need to be recreated:</para>
|
||||
|
||||
<screen><userinput remap="install">mv -v /usr/lib/libdbus-1.so.* /lib
|
||||
ln -sfv ../../lib/$(readlink /usr/lib/libdbus-1.so) /usr/lib/libdbus-1.so</userinput></screen>
|
||||
|
||||
<para>Create a symlink, so that D-Bus and systemd can use the same
|
||||
<filename>machine-id</filename> file:</para>
|
||||
|
||||
<screen><userinput remap="install">ln -sfv /etc/machine-id /var/lib/dbus</userinput></screen>
|
||||
|
||||
</sect2>
|
||||
|
||||
<sect2 id="contents-dbus" role="content">
|
||||
<title>Contents of D-Bus</title>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>Installed programs</segtitle>
|
||||
<segtitle>Installed libraries</segtitle>
|
||||
<segtitle>Installed directories</segtitle>
|
||||
|
||||
<seglistitem>
|
||||
<seg>dbus-cleanup-sockets, dbus-daemon, dbus-launch, dbus-monitor,
|
||||
dbus-run-session, dbus-send, and dbus-uuidgen</seg>
|
||||
<seg>libdbus-1.{a,so}</seg>
|
||||
<seg>/etc/dbus-1, /usr/include/dbus-1.0, /usr/lib/dbus-1.0,
|
||||
/usr/share/dbus-1, /usr/share/doc/dbus-&dbus-version;,
|
||||
and /var/lib/dbus</seg>
|
||||
</seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
<variablelist>
|
||||
<bridgehead renderas="sect3">Short Descriptions</bridgehead>
|
||||
<?dbfo list-presentation="list"?>
|
||||
<?dbhtml list-presentation="table"?>
|
||||
|
||||
<varlistentry id="dbus-cleanup-sockets">
|
||||
<term><command>dbus-cleanup-sockets</command></term>
|
||||
<listitem>
|
||||
<para>Used to clean up leftover sockets in a directory</para>
|
||||
<indexterm zone="ch-system-dbus dbus-cleanup-sockets">
|
||||
<primary sortas="b-dbus-cleanup-sockets">dbus-cleanup-sockets</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="dbus-daemon">
|
||||
<term><command>dbus-daemon</command></term>
|
||||
<listitem>
|
||||
<para>The D-Bus message bus daemon</para>
|
||||
<indexterm zone="ch-system-dbus dbus-daemon">
|
||||
<primary sortas="b-dbus-daemon">dbus-daemon</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="dbus-launch">
|
||||
<term><command>dbus-launch</command></term>
|
||||
<listitem>
|
||||
<para>Starts <command>dbus-daemon</command> from a shell
|
||||
script</para>
|
||||
<indexterm zone="ch-system-dbus dbus-launch">
|
||||
<primary sortas="b-dbus-launch">dbus-launch</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="dbus-monitor">
|
||||
<term><command>dbus-monitor</command></term>
|
||||
<listitem>
|
||||
<para>Monitors messages passing through a D-Bus message bus</para>
|
||||
<indexterm zone="ch-system-dbus dbus-monitor">
|
||||
<primary sortas="b-dbus-monitor">dbus-monitor</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="dbus-run-session">
|
||||
<term><command>dbus-run-session</command></term>
|
||||
<listitem>
|
||||
<para>Starts a session bus instance of <command>dbus-daemon</command>
|
||||
from a shell script and starts a specified program in that
|
||||
session</para>
|
||||
<indexterm zone="ch-system-dbus dbus-run-session">
|
||||
<primary sortas="b-dbus-run-session">dbus-run-session</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="dbus-send">
|
||||
<term><command>dbus-send</command></term>
|
||||
<listitem>
|
||||
<para>Sends a message to a D-Bus message bus</para>
|
||||
<indexterm zone="ch-system-dbus dbus-send">
|
||||
<primary sortas="b-dbus-send">dbus-send</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="dbus-uuidgen">
|
||||
<term><command>dbus-uuidgen</command></term>
|
||||
<listitem>
|
||||
<para>Generates a universally unique ID</para>
|
||||
<indexterm zone="ch-system-dbus dbus-uuidgen">
|
||||
<primary sortas="b-dbus-uuidgen">dbus-uuidgen</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="libdbus-1">
|
||||
<term><filename class="libraryfile">libdbus-1</filename></term>
|
||||
<listitem>
|
||||
<para>Contains API functions used to communicate with the D-Bus
|
||||
message bus</para>
|
||||
<indexterm zone="ch-system-dbus libdbus-1">
|
||||
<primary sortas="c-libdbus-1">libdbus-1</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
</variablelist>
|
||||
|
||||
</sect2>
|
||||
|
||||
</sect1>
|
|
@ -1,131 +0,0 @@
|
|||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
|
||||
<!ENTITY % general-entities SYSTEM "../general.ent">
|
||||
%general-entities;
|
||||
]>
|
||||
|
||||
<sect1 id="ch-system-diffutils" role="wrap">
|
||||
<?dbhtml filename="diffutils.html"?>
|
||||
|
||||
<sect1info condition="script">
|
||||
<productname>diffutils</productname>
|
||||
<productnumber>&diffutils-version;</productnumber>
|
||||
<address>&diffutils-url;</address>
|
||||
</sect1info>
|
||||
|
||||
<title>Diffutils-&diffutils-version;</title>
|
||||
|
||||
<indexterm zone="ch-system-diffutils">
|
||||
<primary sortas="a-Diffutils">Diffutils</primary>
|
||||
</indexterm>
|
||||
|
||||
<sect2 role="package">
|
||||
<title/>
|
||||
|
||||
<para>The Diffutils package contains programs that show the differences
|
||||
between files or directories.</para>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>&buildtime;</segtitle>
|
||||
<segtitle>&diskspace;</segtitle>
|
||||
|
||||
<seglistitem>
|
||||
<seg>&diffutils-ch6-sbu;</seg>
|
||||
<seg>&diffutils-ch6-du;</seg>
|
||||
</seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
</sect2>
|
||||
|
||||
<sect2 role="installation">
|
||||
<title>Installation of Diffutils</title>
|
||||
|
||||
<para>First fix a file so locale files are installed:</para>
|
||||
|
||||
<screen><userinput remap="pre">sed -i 's:= @mkdir_p@:= /bin/mkdir -p:' po/Makefile.in.in</userinput></screen>
|
||||
|
||||
<para>Prepare Diffutils for compilation:</para>
|
||||
|
||||
<screen><userinput remap="configure">./configure --prefix=/usr</userinput></screen>
|
||||
|
||||
<para>Compile the package:</para>
|
||||
|
||||
<screen><userinput remap="make">make</userinput></screen>
|
||||
|
||||
<para>To test the results, issue:</para>
|
||||
|
||||
<screen><userinput remap="test">make check</userinput></screen>
|
||||
|
||||
<para>The test-update-copyright.sh failure can be safely ignored.</para>
|
||||
|
||||
<para>Install the package:</para>
|
||||
|
||||
<screen><userinput remap="install">make install</userinput></screen>
|
||||
|
||||
</sect2>
|
||||
|
||||
|
||||
<sect2 id="contents-diffutils" role="content">
|
||||
<title>Contents of Diffutils</title>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>Installed programs</segtitle>
|
||||
|
||||
<seglistitem>
|
||||
<seg>cmp, diff, diff3, and sdiff</seg>
|
||||
</seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
<variablelist>
|
||||
<bridgehead renderas="sect3">Short Descriptions</bridgehead>
|
||||
<?dbfo list-presentation="list"?>
|
||||
<?dbhtml list-presentation="table"?>
|
||||
|
||||
<varlistentry id="cmp">
|
||||
<term><command>cmp</command></term>
|
||||
<listitem>
|
||||
<para>Compares two files and reports whether or in which bytes they
|
||||
differ</para>
|
||||
<indexterm zone="ch-system-diffutils cmp">
|
||||
<primary sortas="b-cmp">cmp</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="diff">
|
||||
<term><command>diff</command></term>
|
||||
<listitem>
|
||||
<para>Compares two files or directories and reports which lines in
|
||||
the files differ</para>
|
||||
<indexterm zone="ch-system-diffutils diff">
|
||||
<primary sortas="b-diff">diff</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="diff3">
|
||||
<term><command>diff3</command></term>
|
||||
<listitem>
|
||||
<para>Compares three files line by line</para>
|
||||
<indexterm zone="ch-system-diffutils diff3">
|
||||
<primary sortas="b-diff3">diff3</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="sdiff">
|
||||
<term><command>sdiff</command></term>
|
||||
<listitem>
|
||||
<para>Merges two files and interactively outputs the results</para>
|
||||
<indexterm zone="ch-system-diffutils sdiff">
|
||||
<primary sortas="b-sdiff">sdiff</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
</variablelist>
|
||||
|
||||
</sect2>
|
||||
|
||||
</sect1>
|
|
@ -1,550 +0,0 @@
|
|||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
|
||||
<!ENTITY % general-entities SYSTEM "../general.ent">
|
||||
%general-entities;
|
||||
]>
|
||||
|
||||
<sect1 id="ch-system-e2fsprogs" role="wrap">
|
||||
<?dbhtml filename="e2fsprogs.html"?>
|
||||
|
||||
<sect1info condition="script">
|
||||
<productname>e2fsprogs</productname>
|
||||
<productnumber>&e2fsprogs-version;</productnumber>
|
||||
<address>&e2fsprogs-url;</address>
|
||||
</sect1info>
|
||||
|
||||
<title>E2fsprogs-&e2fsprogs-version;</title>
|
||||
|
||||
<indexterm zone="ch-system-e2fsprogs">
|
||||
<primary sortas="a-E2fsprogs">E2fsprogs</primary>
|
||||
</indexterm>
|
||||
|
||||
<sect2 role="package">
|
||||
<title/>
|
||||
|
||||
<para>The E2fsprogs package contains the utilities for handling the
|
||||
<systemitem class="filesystem">ext2</systemitem> file system. It also
|
||||
supports the <systemitem class="filesystem">ext3</systemitem> and
|
||||
<systemitem class="filesystem">ext4</systemitem> journaling
|
||||
file systems.</para>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>&buildtime;</segtitle>
|
||||
<segtitle>&diskspace;</segtitle>
|
||||
|
||||
<seglistitem>
|
||||
<seg>&e2fsprogs-ch6-sbu;</seg>
|
||||
<seg>&e2fsprogs-ch6-du;</seg>
|
||||
</seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
</sect2>
|
||||
|
||||
<sect2 role="installation">
|
||||
<title>Installation of E2fsprogs</title>
|
||||
|
||||
<para>The E2fsprogs documentation recommends that the package be built in
|
||||
a subdirectory of the source tree: </para>
|
||||
|
||||
<screen><userinput remap="pre">mkdir -v build
|
||||
cd build</userinput></screen>
|
||||
|
||||
<para>Prepare E2fsprogs for compilation:</para>
|
||||
|
||||
<screen><userinput remap="configure">LIBS=-L/tools/lib \
|
||||
CFLAGS=-I/tools/include \
|
||||
PKG_CONFIG_PATH=/tools/lib/pkgconfig \
|
||||
../configure --prefix=/usr \
|
||||
--bindir=/bin \
|
||||
--with-root-prefix="" \
|
||||
--enable-elf-shlibs \
|
||||
--disable-libblkid \
|
||||
--disable-libuuid \
|
||||
--disable-uuidd \
|
||||
--disable-fsck</userinput></screen>
|
||||
|
||||
<variablelist>
|
||||
<title>The meaning of the environment variable and configure options:</title>
|
||||
|
||||
<varlistentry>
|
||||
<term><parameter>PKG_CONFIG_PATH, LIBS, CFLAGS</parameter></term>
|
||||
<listitem>
|
||||
<para>These variables enable e2fsprogs to be built using the
|
||||
<xref linkend="ch-tools-util-linux"/> package built earlier.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><parameter>--with-root-prefix=""</parameter> and
|
||||
<parameter>--bindir=/bin</parameter></term>
|
||||
<listitem>
|
||||
<para>Certain programs (such as the <command>e2fsck</command>
|
||||
program) are considered essential programs. When, for example,
|
||||
<filename class="directory">/usr</filename> is not mounted, these
|
||||
programs still need to be available. They belong in directories
|
||||
like <filename class="directory">/lib</filename> and <filename
|
||||
class="directory">/sbin</filename>. If this option is not passed
|
||||
to E2fsprogs' configure, the programs are installed into the
|
||||
<filename class="directory">/usr</filename> directory.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><parameter>--enable-elf-shlibs</parameter></term>
|
||||
<listitem>
|
||||
<para>This creates the shared libraries which some programs
|
||||
in this package use.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><parameter>--disable-*</parameter></term>
|
||||
<listitem>
|
||||
<para>This prevents E2fsprogs from building and installing the
|
||||
<systemitem class="library">libuuid</systemitem> and
|
||||
<systemitem class="library">libblkid</systemitem> libraries, the
|
||||
<systemitem class="daemon">uuidd</systemitem> daemon, and the
|
||||
<command>fsck</command> wrapper, as Util-Linux installs more
|
||||
recent versions.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
</variablelist>
|
||||
|
||||
<para>Compile the package:</para>
|
||||
|
||||
<screen><userinput remap="make">make</userinput></screen>
|
||||
|
||||
<para>To set up and run the test suite we need to first link some
|
||||
libraries from /tools/lib to a location where the test programs look.
|
||||
To run the tests, issue:</para>
|
||||
|
||||
<screen><userinput remap="test">ln -sfv /tools/lib/lib{blk,uu}id.so.1 lib
|
||||
make LD_LIBRARY_PATH=/tools/lib check</userinput></screen>
|
||||
|
||||
<para>One of the E2fsprogs tests will attempt to allocate 256 MB of memory.
|
||||
If you do not have significantly more RAM than this, be sure to enable
|
||||
sufficient swap space for the test. See <xref
|
||||
linkend="space-creatingfilesystem"/> and <xref linkend="space-mounting"/>
|
||||
for details on creating and enabling swap space.</para>
|
||||
|
||||
<para>Install the binaries, documentation, and shared libraries:</para>
|
||||
|
||||
<screen><userinput remap="install">make install</userinput></screen>
|
||||
|
||||
<para>Install the static libraries and headers:</para>
|
||||
|
||||
<screen><userinput remap="install">make install-libs</userinput></screen>
|
||||
|
||||
<para>Make the installed static libraries writable so debugging symbols can
|
||||
be removed later:</para>
|
||||
|
||||
<screen><userinput remap="install">chmod -v u+w /usr/lib/{libcom_err,libe2p,libext2fs,libss}.a</userinput></screen>
|
||||
|
||||
<para>This package installs a gzipped
|
||||
<filename class="extension">.info</filename> file but doesn't update the
|
||||
system-wide <filename>dir</filename> file. Unzip this file and then update
|
||||
the system <filename>dir</filename> file using the following
|
||||
commands.</para>
|
||||
|
||||
<screen><userinput remap="install">gunzip -v /usr/share/info/libext2fs.info.gz
|
||||
install-info --dir-file=/usr/share/info/dir /usr/share/info/libext2fs.info</userinput></screen>
|
||||
|
||||
<para>If desired, create and install some additional documentation by
|
||||
issuing the following commands:</para>
|
||||
|
||||
<screen><userinput remap="install">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</userinput></screen>
|
||||
</sect2>
|
||||
|
||||
<sect2 id="contents-e2fsprogs" role="content">
|
||||
<title>Contents of E2fsprogs</title>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>Installed programs</segtitle>
|
||||
<segtitle>Installed libraries</segtitle>
|
||||
<segtitle>Installed directories</segtitle>
|
||||
|
||||
<seglistitem>
|
||||
<seg>badblocks, chattr, compile_et, debugfs, dumpe2fs,e2freefrag,
|
||||
e2fsck, e2image, e2label, e2undo, e4defrag, filefrag, fsck.ext2,
|
||||
fsck.ext3, fsck.ext4, fsck.ext4dev, logsave, lsattr, mk_cmds, mke2fs,
|
||||
mkfs.ext2, mkfs.ext3, mkfs.ext4, mkfs.ext4dev, mklost+found,
|
||||
resize2fs, and tune2fs</seg>
|
||||
<seg>libcom_err.so, libe2p.so, libext2fs.so, and libss.so</seg>
|
||||
<seg>/usr/include/e2p, /usr/include/et, /usr/include/ext2fs,
|
||||
/usr/include/ss, /usr/share/et, and /usr/share/ss</seg>
|
||||
</seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
<variablelist>
|
||||
<bridgehead renderas="sect3">Short Descriptions</bridgehead>
|
||||
<?dbfo list-presentation="list"?>
|
||||
<?dbhtml list-presentation="table"?>
|
||||
|
||||
<varlistentry id="badblocks">
|
||||
<term><command>badblocks</command></term>
|
||||
<listitem>
|
||||
<para>Searches a device (usually a disk partition) for bad
|
||||
blocks</para>
|
||||
<indexterm zone="ch-system-e2fsprogs badblocks">
|
||||
<primary sortas="b-badblocks">badblocks</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="chattr">
|
||||
<term><command>chattr</command></term>
|
||||
<listitem>
|
||||
<para>Changes the attributes of files on an <systemitem
|
||||
class="filesystem">ext2</systemitem> file system; it also
|
||||
changes <systemitem class="filesystem">ext3</systemitem>
|
||||
file systems, the journaling version of <systemitem
|
||||
class="filesystem">ext2</systemitem> file systems</para>
|
||||
<indexterm zone="ch-system-e2fsprogs chattr">
|
||||
<primary sortas="b-chattr">chattr</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="compile_et">
|
||||
<term><command>compile_et</command></term>
|
||||
<listitem>
|
||||
<para>An error table compiler; it converts a table of error-code
|
||||
names and messages into a C source file suitable for use with the
|
||||
<filename class="libraryfile">com_err</filename> library</para>
|
||||
<indexterm zone="ch-system-e2fsprogs compile_et">
|
||||
<primary sortas="b-compile_et">compile_et</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="debugfs">
|
||||
<term><command>debugfs</command></term>
|
||||
<listitem>
|
||||
<para>A file system debugger; it can be used to examine and change
|
||||
the state of an <systemitem class="filesystem">ext2</systemitem>
|
||||
file system</para>
|
||||
<indexterm zone="ch-system-e2fsprogs debugfs">
|
||||
<primary sortas="b-debugfs">debugfs</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="dumpe2fs">
|
||||
<term><command>dumpe2fs</command></term>
|
||||
<listitem>
|
||||
<para>Prints the super block and blocks group information for the
|
||||
file system present on a given device</para>
|
||||
<indexterm zone="ch-system-e2fsprogs dumpe2fs">
|
||||
<primary sortas="b-dumpe2fs">dumpe2fs</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="e2freefrag">
|
||||
<term><command>e2freefrag</command></term>
|
||||
<listitem>
|
||||
<para>Reports free space fragmentation information</para>
|
||||
<indexterm zone="ch-system-e2fsprogs e2freefrag">
|
||||
<primary sortas="b-e2freefrag">e2freefrag</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="e2fsck">
|
||||
<term><command>e2fsck</command></term>
|
||||
<listitem>
|
||||
<para>Is used to check, and optionally repair <systemitem
|
||||
class="filesystem">ext2</systemitem> file systems and <systemitem
|
||||
class="filesystem">ext3</systemitem> file systems</para>
|
||||
<indexterm zone="ch-system-e2fsprogs e2fsck">
|
||||
<primary sortas="b-e2fsck">e2fsck</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="e2image">
|
||||
<term><command>e2image</command></term>
|
||||
<listitem>
|
||||
<para>Is used to save critical <systemitem
|
||||
class="filesystem">ext2</systemitem> file system data to a file</para>
|
||||
<indexterm zone="ch-system-e2fsprogs e2image">
|
||||
<primary sortas="b-e2image">e2image</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="e2label">
|
||||
<term><command>e2label</command></term>
|
||||
<listitem>
|
||||
<para>Displays or changes the file system label on the <systemitem
|
||||
class="filesystem">ext2</systemitem> file system present on a given
|
||||
device</para>
|
||||
<indexterm zone="ch-system-e2fsprogs e2label">
|
||||
<primary sortas="b-e2label">e2label</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="e2undo">
|
||||
<term><command>e2undo</command></term>
|
||||
<listitem>
|
||||
<para>Replays the undo log undo_log for an ext2/ext3/ext4 filesystem
|
||||
found on a device [This can be used to undo a failed operation by an
|
||||
e2fsprogs program.]</para>
|
||||
<indexterm zone="ch-system-e2fsprogs e2undo">
|
||||
<primary sortas="b-e2undo">e2undo</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="e4defrag">
|
||||
<term><command>e4defrag</command></term>
|
||||
<listitem>
|
||||
<para>Online defragmenter for ext4 filesystems</para>
|
||||
<indexterm zone="ch-system-e2fsprogs e4defrag">
|
||||
<primary sortas="b-e4defrag">e4defrag</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="filefrag">
|
||||
<term><command>filefrag</command></term>
|
||||
<listitem>
|
||||
<para>Reports on how badly fragmented a particular file might be</para>
|
||||
<indexterm zone="ch-system-e2fsprogs filefrag">
|
||||
<primary sortas="b-filefrag">filefrag</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="fsck.ext2">
|
||||
<term><command>fsck.ext2</command></term>
|
||||
<listitem>
|
||||
<para>By default checks <systemitem class="filesystem">ext2</systemitem>
|
||||
file systems and is a hard link to <command>e2fsck</command></para>
|
||||
<indexterm zone="ch-system-e2fsprogs fsck.ext2">
|
||||
<primary sortas="b-fsck.ext2">fsck.ext2</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="fsck.ext3">
|
||||
<term><command>fsck.ext3</command></term>
|
||||
<listitem>
|
||||
<para>By default checks <systemitem class="filesystem">ext3</systemitem>
|
||||
file systems and is a hard link to <command>e2fsck</command></para>
|
||||
<indexterm zone="ch-system-e2fsprogs fsck.ext3">
|
||||
<primary sortas="b-fsck.ext3">fsck.ext3</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="fsck.ext4">
|
||||
<term><command>fsck.ext4</command></term>
|
||||
<listitem>
|
||||
<para>By default checks <systemitem class="filesystem">ext4</systemitem>
|
||||
file systems and is a hard link to <command>e2fsck</command></para>
|
||||
<indexterm zone="ch-system-e2fsprogs fsck.ext4">
|
||||
<primary sortas="b-fsck.ext4">fsck.ext4</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="fsck.ext4dev">
|
||||
<term><command>fsck.ext4dev</command></term>
|
||||
<listitem>
|
||||
<para>By default checks <systemitem class="filesystem">ext4</systemitem>
|
||||
development file systems and is a hard link to
|
||||
<command>e2fsck</command></para>
|
||||
<indexterm zone="ch-system-e2fsprogs fsck.ext4dev">
|
||||
<primary sortas="b-fsck.ext4dev">fsck.ext4dev</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="logsave">
|
||||
<term><command>logsave</command></term>
|
||||
<listitem>
|
||||
<para>Saves the output of a command in a log file</para>
|
||||
<indexterm zone="ch-system-e2fsprogs logsave">
|
||||
<primary sortas="b-logsave">logsave</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="lsattr">
|
||||
<term><command>lsattr</command></term>
|
||||
<listitem>
|
||||
<para>Lists the attributes of files on a second extended file
|
||||
system</para>
|
||||
<indexterm zone="ch-system-e2fsprogs lsattr">
|
||||
<primary sortas="b-lsattr">lsattr</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="mk_cmds">
|
||||
<term><command>mk_cmds</command></term>
|
||||
<listitem>
|
||||
<para>Converts a table of command names and help messages into a C
|
||||
source file suitable for use with the <filename
|
||||
class="libraryfile">libss</filename> subsystem library</para>
|
||||
<indexterm zone="ch-system-e2fsprogs mk_cmds">
|
||||
<primary sortas="b-mk_cmds">mk_cmds</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="mke2fs">
|
||||
<term><command>mke2fs</command></term>
|
||||
<listitem>
|
||||
<para>Creates an <systemitem class="filesystem">ext2</systemitem>
|
||||
or <systemitem class="filesystem">ext3</systemitem> file system on
|
||||
the given device</para>
|
||||
<indexterm zone="ch-system-e2fsprogs mke2fs">
|
||||
<primary sortas="b-mke2fs">mke2fs</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="mkfs.ext2">
|
||||
<term><command>mkfs.ext2</command></term>
|
||||
<listitem>
|
||||
<para>By default creates <systemitem class="filesystem">ext2</systemitem>
|
||||
file systems and is a hard link to <command>mke2fs</command></para>
|
||||
<indexterm zone="ch-system-e2fsprogs mkfs.ext2">
|
||||
<primary sortas="b-mkfs.ext2">mkfs.ext2</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="mkfs.ext3">
|
||||
<term><command>mkfs.ext3</command></term>
|
||||
<listitem>
|
||||
<para>By default creates <systemitem class="filesystem">ext3</systemitem>
|
||||
file systems and is a hard link to <command>mke2fs</command></para>
|
||||
<indexterm zone="ch-system-e2fsprogs mkfs.ext3">
|
||||
<primary sortas="b-mkfs.ext3">mkfs.ext3</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="mkfs.ext4">
|
||||
<term><command>mkfs.ext4</command></term>
|
||||
<listitem>
|
||||
<para>By default creates <systemitem class="filesystem">ext4</systemitem>
|
||||
file systems and is a hard link to <command>mke2fs</command></para>
|
||||
<indexterm zone="ch-system-e2fsprogs mkfs.ext4">
|
||||
<primary sortas="b-mkfs.ext4">mkfs.ext4</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="mkfs.ext4dev">
|
||||
<term><command>mkfs.ext4dev</command></term>
|
||||
<listitem>
|
||||
<para>By default creates <systemitem class="filesystem">ext4</systemitem>
|
||||
development file systems and is a hard link to <command>mke2fs</command></para>
|
||||
<indexterm zone="ch-system-e2fsprogs mkfs.ext4dev">
|
||||
<primary sortas="b-mkfs.ext4dev">mkfs.ext4dev</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="mklost-found">
|
||||
<term><command>mklost+found</command></term>
|
||||
<listitem>
|
||||
<para>Used to create a <filename class="directory">lost+found</filename>
|
||||
directory on an <systemitem class="filesystem">ext2</systemitem> file
|
||||
system; it pre-allocates disk blocks to this directory to lighten the
|
||||
task of <command>e2fsck</command></para>
|
||||
<indexterm zone="ch-system-e2fsprogs mklost-found">
|
||||
<primary sortas="b-mklost+found">mklost+found</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="resize2fs">
|
||||
<term><command>resize2fs</command></term>
|
||||
<listitem>
|
||||
<para>Can be used to enlarge or shrink an <systemitem
|
||||
class="filesystem">ext2</systemitem> file system</para>
|
||||
<indexterm zone="ch-system-e2fsprogs resize2fs">
|
||||
<primary sortas="b-resize2fs">resize2fs</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="tune2fs">
|
||||
<term><command>tune2fs</command></term>
|
||||
<listitem>
|
||||
<para>Adjusts tunable file system parameters on an <systemitem
|
||||
class="filesystem">ext2</systemitem> file system</para>
|
||||
<indexterm zone="ch-system-e2fsprogs tune2fs">
|
||||
<primary sortas="b-tune2fs">tune2fs</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="libcom_err">
|
||||
<term><filename class="libraryfile">libcom_err</filename></term>
|
||||
<listitem>
|
||||
<para>The common error display routine</para>
|
||||
<indexterm zone="ch-system-e2fsprogs libcom_err">
|
||||
<primary sortas="c-libcom_err">libcom_err</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="libe2p">
|
||||
<term><filename class="libraryfile">libe2p</filename></term>
|
||||
<listitem>
|
||||
<para>Used by <command>dumpe2fs</command>, <command>chattr</command>,
|
||||
and <command>lsattr</command></para>
|
||||
<indexterm zone="ch-system-e2fsprogs libe2p">
|
||||
<primary sortas="c-libe2p">libe2p</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="libext2fs">
|
||||
<term><filename class="libraryfile">libext2fs</filename></term>
|
||||
<listitem>
|
||||
<para>Contains routines to enable user-level programs to manipulate an
|
||||
<systemitem class="filesystem">ext2</systemitem> file system</para>
|
||||
<indexterm zone="ch-system-e2fsprogs libext2fs">
|
||||
<primary sortas="c-libext2fs">libext2fs</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<!-- <varlistentry id="libquota">
|
||||
<term><filename class="libraryfile">libquota</filename></term>
|
||||
<listitem>
|
||||
<para>Provides an interface for creating and updating quota files
|
||||
and ext4 superblock fields</para>
|
||||
<indexterm zone="ch-system-e2fsprogs libquota">
|
||||
<primary sortas="c-libquota">libquota</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
-->
|
||||
<varlistentry id="libss">
|
||||
<term><filename class="libraryfile">libss</filename></term>
|
||||
<listitem>
|
||||
<para>Used by <command>debugfs</command></para>
|
||||
<indexterm zone="ch-system-e2fsprogs libss">
|
||||
<primary sortas="c-libss">libss</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
</variablelist>
|
||||
|
||||
</sect2>
|
||||
|
||||
</sect1>
|
|
@ -1,112 +0,0 @@
|
|||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
|
||||
<!ENTITY % general-entities SYSTEM "../general.ent">
|
||||
%general-entities;
|
||||
]>
|
||||
|
||||
<sect1 id="ch-system-expat" role="wrap">
|
||||
<?dbhtml filename="expat.html"?>
|
||||
|
||||
<sect1info condition="script">
|
||||
<productname>expat</productname>
|
||||
<productnumber>&expat-version;</productnumber>
|
||||
<address>&expat-url;</address>
|
||||
</sect1info>
|
||||
|
||||
<title>Expat-&expat-version;</title>
|
||||
|
||||
<indexterm zone="ch-system-expat">
|
||||
<primary sortas="a-Expat">Expat</primary>
|
||||
</indexterm>
|
||||
|
||||
<sect2 role="package">
|
||||
<title/>
|
||||
|
||||
<para>The Expat package contains a stream oriented C library for
|
||||
parsing XML.</para>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>&buildtime;</segtitle>
|
||||
<segtitle>&diskspace;</segtitle>
|
||||
|
||||
<seglistitem>
|
||||
<seg>&expat-ch6-sbu;</seg>
|
||||
<seg>&expat-ch6-du;</seg>
|
||||
</seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
</sect2>
|
||||
|
||||
<sect2 role="installation">
|
||||
<title>Installation of Expat</title>
|
||||
|
||||
<para>Prepare Expat for compilation:</para>
|
||||
|
||||
<screen><userinput remap="configure">./configure --prefix=/usr --disable-static</userinput></screen>
|
||||
|
||||
<para>Compile the package:</para>
|
||||
|
||||
<screen><userinput remap="make">make</userinput></screen>
|
||||
|
||||
<para>To test the results, issue:</para>
|
||||
|
||||
<screen><userinput remap="test">make check</userinput></screen>
|
||||
|
||||
<para>Install the package:</para>
|
||||
|
||||
<screen><userinput remap="install">make install</userinput></screen>
|
||||
|
||||
<para>If desired, install the documentation:</para>
|
||||
|
||||
<screen><userinput remap="install">install -v -dm755 /usr/share/doc/expat-&expat-version;
|
||||
install -v -m644 doc/*.{html,png,css} /usr/share/doc/expat-&expat-version;</userinput></screen>
|
||||
|
||||
</sect2>
|
||||
|
||||
<sect2 id="contents-expat" role="content">
|
||||
<title>Contents of Expat</title>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>Installed program</segtitle>
|
||||
<segtitle>Installed libraries</segtitle>
|
||||
<segtitle>Installed directory</segtitle>
|
||||
|
||||
<seglistitem>
|
||||
<seg>xmlwf</seg>
|
||||
<seg>libexpat.so</seg>
|
||||
<seg>/usr/share/doc/expat-&expat-version;</seg>
|
||||
</seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
<variablelist>
|
||||
<bridgehead renderas="sect3">Short Descriptions</bridgehead>
|
||||
<?dbfo list-presentation="list"?>
|
||||
<?dbhtml list-presentation="table"?>
|
||||
|
||||
<varlistentry id="xmlwf">
|
||||
<term><command>xmlwf </command></term>
|
||||
<listitem>
|
||||
<para>is a non-validating utility to check whether or not
|
||||
XML documents are well formed</para>
|
||||
<indexterm zone="ch-system-expat xmlwf">
|
||||
<primary sortas="b-xmlwf">xmlwf</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="libexpat">
|
||||
<term><filename class="libraryfile">libexpat</filename></term>
|
||||
<listitem>
|
||||
<para> contains API functions for parsing XML</para>
|
||||
<indexterm zone="ch-system-expat libexpat">
|
||||
<primary sortas="c-libexpat">libexpat</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
</variablelist>
|
||||
|
||||
</sect2>
|
||||
|
||||
</sect1>
|
|
@ -1,108 +0,0 @@
|
|||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
|
||||
<!ENTITY % general-entities SYSTEM "../general.ent">
|
||||
%general-entities;
|
||||
]>
|
||||
|
||||
<sect1 id="ch-system-file" role="wrap">
|
||||
<?dbhtml filename="file.html"?>
|
||||
|
||||
<sect1info condition="script">
|
||||
<productname>file</productname>
|
||||
<productnumber>&file-version;</productnumber>
|
||||
<address>&file-url;</address>
|
||||
</sect1info>
|
||||
|
||||
<title>File-&file-version;</title>
|
||||
|
||||
<indexterm zone="ch-system-file">
|
||||
<primary sortas="a-File">File</primary>
|
||||
</indexterm>
|
||||
|
||||
<sect2 role="package">
|
||||
<title/>
|
||||
|
||||
<para>The File package contains a utility for determining the type of a given
|
||||
file or files.</para>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>&buildtime;</segtitle>
|
||||
<segtitle>&diskspace;</segtitle>
|
||||
|
||||
<seglistitem>
|
||||
<seg>&file-ch6-sbu;</seg>
|
||||
<seg>&file-ch6-du;</seg>
|
||||
</seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
</sect2>
|
||||
|
||||
<sect2 role="installation">
|
||||
<title>Installation of File</title>
|
||||
|
||||
<para>Prepare File for compilation:</para>
|
||||
|
||||
<screen><userinput remap="configure">./configure --prefix=/usr</userinput></screen>
|
||||
|
||||
<para>Compile the package:</para>
|
||||
|
||||
<screen><userinput remap="make">make</userinput></screen>
|
||||
|
||||
<para>To test the results, issue:</para>
|
||||
|
||||
<screen><userinput remap="test">make check</userinput></screen>
|
||||
|
||||
<para>Install the package:</para>
|
||||
|
||||
<screen><userinput remap="install">make install</userinput></screen>
|
||||
|
||||
</sect2>
|
||||
|
||||
|
||||
<sect2 id="contents-file" role="content">
|
||||
<title>Contents of File</title>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>Installed programs</segtitle>
|
||||
<segtitle>Installed library</segtitle>
|
||||
|
||||
<seglistitem>
|
||||
<seg>file</seg>
|
||||
<seg>libmagic.so</seg>
|
||||
</seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
<variablelist>
|
||||
<bridgehead renderas="sect3">Short Descriptions</bridgehead>
|
||||
<?dbfo list-presentation="list"?>
|
||||
<?dbhtml list-presentation="table"?>
|
||||
|
||||
<varlistentry id="file">
|
||||
<term><command>file</command></term>
|
||||
<listitem>
|
||||
<para>Tries to classify each given file; it does this by performing
|
||||
several tests—file system tests, magic number tests, and language
|
||||
tests</para>
|
||||
<indexterm zone="ch-system-file file">
|
||||
<primary sortas="b-file">file</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="libmagic">
|
||||
<term><filename class="libraryfile">libmagic</filename></term>
|
||||
<listitem>
|
||||
<para>Contains routines for magic number recognition, used by the
|
||||
<command>file</command> program</para>
|
||||
<indexterm zone="ch-system-file libmagic">
|
||||
<primary sortas="c-libmagic">libmagic</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
</variablelist>
|
||||
|
||||
</sect2>
|
||||
|
||||
</sect1>
|
|
@ -1,172 +0,0 @@
|
|||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
|
||||
<!ENTITY % general-entities SYSTEM "../general.ent">
|
||||
%general-entities;
|
||||
]>
|
||||
|
||||
<sect1 id="ch-system-findutils" role="wrap">
|
||||
<?dbhtml filename="findutils.html"?>
|
||||
|
||||
<sect1info condition="script">
|
||||
<productname>findutils</productname>
|
||||
<productnumber>&findutils-version;</productnumber>
|
||||
<address>&findutils-url;</address>
|
||||
</sect1info>
|
||||
|
||||
<title>Findutils-&findutils-version;</title>
|
||||
|
||||
<indexterm zone="ch-system-findutils">
|
||||
<primary sortas="a-Findutils">Findutils</primary>
|
||||
</indexterm>
|
||||
|
||||
<sect2 role="package">
|
||||
<title/>
|
||||
|
||||
<para>The Findutils package contains programs to find files. These programs
|
||||
are provided to recursively search through a directory tree and to
|
||||
create, maintain, and search a database (often faster than the recursive
|
||||
find, but unreliable if the database has not been recently updated).</para>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>&buildtime;</segtitle>
|
||||
<segtitle>&diskspace;</segtitle>
|
||||
|
||||
<seglistitem>
|
||||
<seg>&findutils-ch6-sbu;</seg>
|
||||
<seg>&findutils-ch6-du;</seg>
|
||||
</seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
</sect2>
|
||||
|
||||
<sect2 role="installation">
|
||||
<title>Installation of Findutils</title>
|
||||
|
||||
<para>Prepare Findutils for compilation:</para>
|
||||
|
||||
<screen><userinput remap="configure">./configure --prefix=/usr --localstatedir=/var/lib/locate</userinput></screen>
|
||||
|
||||
<variablelist>
|
||||
<title>The meaning of the configure options:</title>
|
||||
|
||||
<varlistentry>
|
||||
<term><parameter>--localstatedir</parameter></term>
|
||||
<listitem>
|
||||
<para>This option changes the location of the <command>locate</command>
|
||||
database to be in <filename class="directory">/var/lib/locate</filename>,
|
||||
which is FHS-compliant.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
</variablelist>
|
||||
|
||||
<para>Compile the package:</para>
|
||||
|
||||
<screen><userinput remap="make">make</userinput></screen>
|
||||
|
||||
<para>To test the results, issue:</para>
|
||||
|
||||
<screen><userinput remap="test">make check</userinput></screen>
|
||||
|
||||
<para>Install the package:</para>
|
||||
|
||||
<screen><userinput remap="install">make install</userinput></screen>
|
||||
|
||||
<para>Some packages in BLFS and beyond expect the
|
||||
<command>find</command> program in <filename
|
||||
class="directory">/bin</filename>, so make sure
|
||||
it's placed there:</para>
|
||||
|
||||
<screen><userinput remap="install">mv -v /usr/bin/find /bin
|
||||
sed -i 's|find:=${BINDIR}|find:=/bin|' /usr/bin/updatedb</userinput></screen>
|
||||
|
||||
</sect2>
|
||||
|
||||
<sect2 id="contents-findutils" role="content">
|
||||
<title>Contents of Findutils</title>
|
||||
|
||||
<segmentedlist>
|
||||
<segtitle>Installed programs</segtitle>
|
||||
|
||||
<seglistitem>
|
||||
<seg>code, find, locate, oldfind, updatedb, and xargs</seg>
|
||||
</seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
<variablelist>
|
||||
<bridgehead renderas="sect3">Short Descriptions</bridgehead>
|
||||
<?dbfo list-presentation="list"?>
|
||||
<?dbhtml list-presentation="table"?>
|
||||
|
||||
<varlistentry id="code">
|
||||
<term><command>code</command></term>
|
||||
<listitem>
|
||||
<para>Was formerly used to produce <command>locate</command>
|
||||
databases; it is the ancestor of <command>frcode</command></para>
|
||||
<indexterm zone="ch-system-findutils code">
|
||||
<primary sortas="b-code">code</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="find">
|
||||
<term><command>find</command></term>
|
||||
<listitem>
|
||||
<para>Searches given directory trees for files matching the specified
|
||||
criteria</para>
|
||||
<indexterm zone="ch-system-findutils find">
|
||||
<primary sortas="b-find">find</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="locate">
|
||||
<term><command>locate</command></term>
|
||||
<listitem>
|
||||
<para>Searches through a database of file names and reports the names
|
||||
that contain a given string or match a given pattern</para>
|
||||
<indexterm zone="ch-system-findutils locate">
|
||||
<primary sortas="b-locate">locate</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="oldfind">
|
||||
<term><command>oldfind</command></term>
|
||||
<listitem>
|
||||
<para>Older version of find, using a different algorithm</para>
|
||||
<indexterm zone="ch-system-findutils oldfind">
|
||||
<primary sortas="b-oldfind">oldfind</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="updatedb">
|
||||
<term><command>updatedb</command></term>
|
||||
<listitem>
|
||||
<para>Updates the <command>locate</command> database; it scans the
|
||||
entire file system (including other file systems that are currently
|
||||
mounted, unless told not to) and puts every file name it finds into
|
||||
the database</para>
|
||||
<indexterm zone="ch-system-findutils updatedb">
|
||||
<primary sortas="b-updatedb">updatedb</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="xargs">
|
||||
<term><command>xargs</command></term>
|
||||
<listitem>
|
||||
<para>Can be used to apply a given command to a list of files</para>
|
||||
<indexterm zone="ch-system-findutils xargs">
|
||||
<primary sortas="b-xargs">xargs</primary>
|
||||
</indexterm>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
</variablelist>
|
||||
|
||||
</sect2>
|
||||
|
||||
</sect1>
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue