aboutsummaryrefslogtreecommitdiff
path: root/en_US.ISO8859-1/articles/fbsd-from-scratch/article.xml
diff options
context:
space:
mode:
Diffstat (limited to 'en_US.ISO8859-1/articles/fbsd-from-scratch/article.xml')
-rw-r--r--en_US.ISO8859-1/articles/fbsd-from-scratch/article.xml109
1 files changed, 47 insertions, 62 deletions
diff --git a/en_US.ISO8859-1/articles/fbsd-from-scratch/article.xml b/en_US.ISO8859-1/articles/fbsd-from-scratch/article.xml
index 8adbfcb619..16ae1f14fe 100644
--- a/en_US.ISO8859-1/articles/fbsd-from-scratch/article.xml
+++ b/en_US.ISO8859-1/articles/fbsd-from-scratch/article.xml
@@ -1,26 +1,21 @@
<?xml version="1.0" encoding="iso-8859-1"?>
-<!DOCTYPE article PUBLIC "-//FreeBSD//DTD DocBook XML V4.5-Based Extension//EN"
- "../../../share/xml/freebsd45.dtd" [
-<!ENTITY scratch.ap "<application>FreeBSD From Scratch</application>">
+<!DOCTYPE article PUBLIC "-//FreeBSD//DTD DocBook XML V5.0-Based Extension//EN"
+ "../../../share/xml/freebsd50.dtd" [
+<!ENTITY scratch.ap "<application xmlns='http://docbook.org/ns/docbook'>FreeBSD From Scratch</application>">
]>
+<article xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0" xml:lang="en">
+ <info><title>FreeBSD From Scratch</title>
+
-<article xmlns:xi="http://www.w3.org/2001/XInclude" lang='en'>
- <articleinfo>
- <title>FreeBSD From Scratch</title>
-
- <author>
- <firstname>Jens</firstname>
- <surname>Schweikhardt</surname>
- <affiliation>
+ <author><personname><firstname>Jens</firstname><surname>Schweikhardt</surname></personname><affiliation>
<address><email>schweikh@FreeBSD.org</email></address>
- </affiliation>
- </author>
+ </affiliation></author>
<copyright>
<year>2002,2003,2004,2008</year>
<holder>Jens Schweikhardt</holder>
</copyright>
- <legalnotice id="trademarks" role="trademarks">
+ <legalnotice xml:id="trademarks" role="trademarks">
&tm-attrib.freebsd;
&tm-attrib.adobe;
&tm-attrib.general;
@@ -29,7 +24,6 @@
<pubdate>$FreeBSD$</pubdate>
<releaseinfo>$FreeBSD$</releaseinfo>
- </articleinfo>
<abstract>
<para>This article describes my efforts at &scratch.ap;: a fully
@@ -39,15 +33,16 @@
think <command>make world</command> is a wonderful concept,
&scratch.ap; extends it to <command>make evenmore</command>.</para>
</abstract>
+ </info>
- <sect1 id="introduction">
+ <sect1 xml:id="introduction">
<title>Introduction</title>
<para>Have you ever upgraded your system with <command>make world</command>?
There is a problem if you have only one system on your disks. If
- the <maketarget>installworld</maketarget> fails partway through,
+ the <buildtarget>installworld</buildtarget> fails partway through,
you are left with a broken system that might not even boot any
- longer. Or maybe the <maketarget>installworld</maketarget> runs
+ longer. Or maybe the <buildtarget>installworld</buildtarget> runs
smoothly but the new kernel does not boot. Then it is time to
reach for the Fixit CD and dig for those backups you have taken
half a year ago.</para>
@@ -61,7 +56,7 @@
If you think that this task should be automated as well, read on.</para>
</sect1>
- <sect1 id="why">
+ <sect1 xml:id="why">
<title>Why would I (not) want &scratch.ap;?</title>
<para>This is a legitimate question. We have
@@ -104,8 +99,8 @@
</itemizedlist>
<para>The well known way to build and install the world, as
- described in <ulink url="http://www.FreeBSD.org/doc/en_US.ISO8859-1/books/handbook/makeworld.html">the
- Handbook</ulink>, by default replaces
+ described in <link xlink:href="http://www.FreeBSD.org/doc/en_US.ISO8859-1/books/handbook/makeworld.html">the
+ Handbook</link>, by default replaces
the existing system. Only the kernel and modules are saved.
System binaries, headers and a lot of other files are overwritten;
obsolete files are still present and can cause surprises. If the
@@ -148,8 +143,7 @@
you feel like an update is in order, you simply toggle the
partitions you want to wipe and reinstall.</para>
- <para>Maybe you have heard of or even tried <ulink
- url="http://www.linuxfromscratch.org/">Linux From Scratch</ulink>,
+ <para>Maybe you have heard of or even tried <link xlink:href="http://www.linuxfromscratch.org/">Linux From Scratch</link>,
or LFS for short. LFS also describes how to build and install a
system from scratch in empty partitions using a running system.
The focus in LFS seems to be to show the role of each system
@@ -186,7 +180,7 @@
</itemizedlist>
</sect1>
- <sect1 id="prerequisites">
+ <sect1 xml:id="prerequisites">
<title>Prerequisites</title>
<para>For going the &scratch.ap; way, you need to have:</para>
@@ -224,7 +218,7 @@
</itemizedlist>
</sect1>
- <sect1 id="stage1">
+ <sect1 xml:id="stage1">
<title>Stage One: System Installation</title>
<para>The first version of this article used a single shell script
@@ -239,7 +233,7 @@
argument, like</para>
<informalexample>
- <screen>&prompt.root; <userinput>./stage_1.sh <replaceable>default</replaceable></userinput></screen>
+ <screen>&prompt.root; <userinput>./stage_1.sh default</userinput></screen>
</informalexample>
<para>will read its configuration from
@@ -292,7 +286,7 @@
call, these binaries will die with <literal>SIGSYS, Bad
system call</literal>, because the old kernel does not have
that system call. I have seen other issues when I tried
- building <filename role="package">lang/perl5.8</filename>.</para>
+ building <package>lang/perl5.8</package>.</para>
</listitem>
</itemizedlist>
@@ -312,7 +306,7 @@
<listitem>
<para>successfully completed <command>make buildkernel
- KERNCONF=<replaceable>whatever</replaceable></command></para>
+ KERNCONF=whatever</command></para>
</listitem>
</itemizedlist>
@@ -376,16 +370,14 @@ Do you wish to delete what is left of /var/tmp/temproot.stage1? [no] <userinput>
<para>The answer does not matter since <filename>stage_1.sh</filename> will
run &man.cap.mkdb.1; for you in any case.</para>
- <para>Here is the author's <ulink
- url="stage_1.conf.default"><filename>stage_1.conf.default</filename></ulink>,
+ <para>Here is the author's <link xlink:href="stage_1.conf.default"><filename>stage_1.conf.default</filename></link>,
which you need to modify substantially. The comments give you
enough information what to change.</para>
-<programlisting><xi:include href="stage_1.conf.default" parse="text"/></programlisting>
+<programlisting><xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="stage_1.conf.default" parse="text"/></programlisting>
- <para>Download <ulink
- url="stage_1.conf.default"><filename>stage_1.conf.default</filename>
- </ulink>.</para>
+ <para>Download <link xlink:href="stage_1.conf.default"><filename>stage_1.conf.default</filename>
+ </link>.</para>
<para>Running this script installs a system that when booted
provides:</para>
@@ -414,7 +406,7 @@ Do you wish to delete what is left of /var/tmp/temproot.stage1? [no] <userinput>
libraries and programs.</para>
</sect1>
- <sect1 id="stage2">
+ <sect1 xml:id="stage2">
<title>Stage Two: Ports Installation</title>
<note>
@@ -434,7 +426,7 @@ Do you wish to delete what is left of /var/tmp/temproot.stage1? [no] <userinput>
with exactly one argument to denote a config file, e.g.</para>
<informalexample>
- <screen>&prompt.root; <userinput>./stage_2.sh <replaceable>default</replaceable></userinput></screen>
+ <screen>&prompt.root; <userinput>./stage_2.sh default</userinput></screen>
</informalexample>
<para>which will read the list of ports from
@@ -454,14 +446,14 @@ Do you wish to delete what is left of /var/tmp/temproot.stage1? [no] <userinput>
<para>In fact you can specify arbitrary shell commands, so you are
not restricted to simple <command>make</command> invocations:</para>
- <programlisting>java jdk16 echo true > files/license.sh; make install BATCH=yes &lt; /dev/null
+ <programlisting>java jdk16 echo true &gt; files/license.sh; make install BATCH=yes &lt; /dev/null
print acroread8 yes accept | make install PAGER=ls
x11-fonts gnu-unifont make install &amp;&amp; mkfontdir /usr/local/lib/X11/fonts/local
news inn-stable CONFIGURE_ARGS="--enable-uucp-rnews --enable-setgid-inews" make install</programlisting>
<para>The first two lines are examples how you can handle ports
asking you to accept a licence. Note how the line for
- <filename role="package">news/inn-stable</filename> is an example
+ <package>news/inn-stable</package> is an example
for a one-shot shell variable assignment to
<literal>CONFIGURE_ARGS</literal>. The port
<filename>Makefile</filename> will use this as an initial value
@@ -485,13 +477,12 @@ news inn-stable CONFIGURE_ARGS="--enable-uucp-rnews --enable-setgid-inews"
<filename>LOGDIR/category+port</filename> is created for each port
it actually installs.</para>
-<programlisting><xi:include href="stage_2.conf.default" parse="text"/></programlisting>
+<programlisting><xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="stage_2.conf.default" parse="text"/></programlisting>
- <para>Download <ulink
- url="stage_2.conf.default"><filename>stage_2.conf.default</filename></ulink>.</para>
+ <para>Download <link xlink:href="stage_2.conf.default"><filename>stage_2.conf.default</filename></link>.</para>
</sect1>
- <sect1 id="stage3">
+ <sect1 xml:id="stage3">
<title>Stage Three</title>
<para>You have installed your beloved ports during stage two. Some
@@ -507,7 +498,7 @@ news inn-stable CONFIGURE_ARGS="--enable-uucp-rnews --enable-setgid-inews"
what you want to configure simply by running:</para>
<informalexample>
- <screen>&prompt.root; <userinput>make -f stage_3.mk <replaceable>target</replaceable></userinput></screen>
+ <screen>&prompt.root; <userinput>make -f stage_3.mk target</userinput></screen>
</informalexample>
<para>As with <filename>stage_2.sh</filename> make sure you have
@@ -516,7 +507,7 @@ news inn-stable CONFIGURE_ARGS="--enable-uucp-rnews --enable-setgid-inews"
somewhere on the new system.</para>
</sect1>
- <sect1 id="limitations">
+ <sect1 xml:id="limitations">
<title>Limitations</title>
<para>The automated installation of a port may prove difficult if it
@@ -528,8 +519,8 @@ news inn-stable CONFIGURE_ARGS="--enable-uucp-rnews --enable-setgid-inews"
make install</command>. For other ports you need to investigate
where exactly the interactive command is located and deal with it
appropriately. See the examples above for
- <filename role="package">print/acroread8</filename> and
- <filename role="package">java/jdk16</filename>.</para>
+ <package>print/acroread8</package> and
+ <package>java/jdk16</package>.</para>
<para>You should also be aware of upgrade issues for config files.
In general you do not know when and if the format or contents of a
@@ -576,39 +567,33 @@ fi
</sect1>
- <sect1 id="files">
+ <sect1 xml:id="files">
<title>The Files</title>
<para>Here are the three files you need beside the config files
already shown above.</para>
- <para>This is the <ulink
- url="stage_1.sh"><filename>stage_1.sh</filename></ulink>
+ <para>This is the <link xlink:href="stage_1.sh"><filename>stage_1.sh</filename></link>
script, which you should not need to modify.</para>
-<programlisting><xi:include href="stage_1.sh" parse="text"/></programlisting>
+<programlisting><xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="stage_1.sh" parse="text"/></programlisting>
- <para>Download <ulink
- url="stage_1.sh"><filename>stage_1.sh</filename></ulink>.</para>
+ <para>Download <link xlink:href="stage_1.sh"><filename>stage_1.sh</filename></link>.</para>
- <para>This is the <ulink
- url="stage_2.sh"><filename>stage_2.sh</filename></ulink>
+ <para>This is the <link xlink:href="stage_2.sh"><filename>stage_2.sh</filename></link>
script. You may want to modify the variables at the
beginning.</para>
-<programlisting><xi:include href="stage_2.sh" parse="text"/></programlisting>
+<programlisting><xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="stage_2.sh" parse="text"/></programlisting>
- <para>Download <ulink
- url="stage_2.sh"><filename>stage_2.sh</filename></ulink>.</para>
+ <para>Download <link xlink:href="stage_2.sh"><filename>stage_2.sh</filename></link>.</para>
- <para>This is my <ulink
- url="stage_3.mk"><filename>stage_3.mk</filename></ulink> to
+ <para>This is my <link xlink:href="stage_3.mk"><filename>stage_3.mk</filename></link> to
give you an idea how to automate all reconfiguration.</para>
-<programlisting><xi:include href="stage_3.mk" parse="text"/></programlisting>
+<programlisting><xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="stage_3.mk" parse="text"/></programlisting>
- <para>Download <ulink
- url="stage_3.mk"><filename>stage_3.mk</filename></ulink>.</para>
+ <para>Download <link xlink:href="stage_3.mk"><filename>stage_3.mk</filename></link>.</para>
</sect1>
</article>