diff --git a/en_US.ISO8859-1/books/handbook/Makefile b/en_US.ISO8859-1/books/handbook/Makefile
index b27f0720db..4cbcbb1588 100644
--- a/en_US.ISO8859-1/books/handbook/Makefile
+++ b/en_US.ISO8859-1/books/handbook/Makefile
@@ -1,254 +1,255 @@
#
# $FreeBSD$
#
# Build the FreeBSD Handbook.
#
# ------------------------------------------------------------------------
#
# Handbook-specific variables
#
# WITH_PGPKEYS The print version of the handbook only prints PGP
# fingerprints by default. If you would like for the
# entire key to be displayed, then set this variable.
# This option has no affect on the HTML formats.
#
# Handbook-specific targets
#
# pgpkeyring This target will read the contents of
# pgpkeys/chapter.sgml and will extract all of
# the pgpkeys to standard out. This output can then
# be redirected into a file and distributed as a
# public keyring of FreeBSD developers that can
# easily be imported into PGP/GPG.
#
# ------------------------------------------------------------------------
.PATH: ${.CURDIR}/../../share/sgml/glossary
MAINTAINER= doc@FreeBSD.org
DOC?= book
FORMATS?= html-split
HAS_INDEX= true
USE_PS2PDF= yes
INSTALL_COMPRESSED?= gz
INSTALL_ONLY_COMPRESSED?=
IMAGES_EN = advanced-networking/isdn-bus.eps
IMAGES_EN+= advanced-networking/isdn-twisted-pair.eps
IMAGES_EN+= advanced-networking/natd.eps
IMAGES_EN+= advanced-networking/net-routing.pic
IMAGES_EN+= advanced-networking/static-routes.pic
IMAGES_EN+= geom/striping.pic
IMAGES_EN+= install/adduser1.scr
IMAGES_EN+= install/adduser2.scr
IMAGES_EN+= install/adduser3.scr
IMAGES_EN+= install/boot-mgr.scr
IMAGES_EN+= install/console-saver1.scr
IMAGES_EN+= install/console-saver2.scr
IMAGES_EN+= install/console-saver3.scr
IMAGES_EN+= install/console-saver4.scr
IMAGES_EN+= install/desktop.scr
IMAGES_EN+= install/disklabel-auto.scr
IMAGES_EN+= install/disklabel-ed1.scr
IMAGES_EN+= install/disklabel-ed2.scr
IMAGES_EN+= install/disklabel-fs.scr
IMAGES_EN+= install/disklabel-root1.scr
IMAGES_EN+= install/disklabel-root2.scr
IMAGES_EN+= install/disklabel-root3.scr
IMAGES_EN+= install/disk-layout.eps
IMAGES_EN+= install/dist-set.scr
IMAGES_EN+= install/dist-set2.scr
IMAGES_EN+= install/docmenu1.scr
IMAGES_EN+= install/ed0-conf.scr
IMAGES_EN+= install/ed0-conf2.scr
IMAGES_EN+= install/edit-inetd-conf.scr
IMAGES_EN+= install/fdisk-drive1.scr
IMAGES_EN+= install/fdisk-drive2.scr
IMAGES_EN+= install/fdisk-edit1.scr
IMAGES_EN+= install/fdisk-edit2.scr
IMAGES_EN+= install/ftp-anon1.scr
IMAGES_EN+= install/ftp-anon2.scr
IMAGES_EN+= install/hdwrconf.scr
IMAGES_EN+= install/keymap.scr
IMAGES_EN+= install/main1.scr
IMAGES_EN+= install/mainexit.scr
IMAGES_EN+= install/main-std.scr
IMAGES_EN+= install/main-options.scr
IMAGES_EN+= install/main-doc.scr
IMAGES_EN+= install/main-keymap.scr
IMAGES_EN+= install/media.scr
IMAGES_EN+= install/mouse1.scr
IMAGES_EN+= install/mouse2.scr
IMAGES_EN+= install/mouse3.scr
IMAGES_EN+= install/mouse4.scr
IMAGES_EN+= install/mouse5.scr
IMAGES_EN+= install/mouse6.scr
IMAGES_EN+= install/mta-main.scr
IMAGES_EN+= install/net-config-menu1.scr
IMAGES_EN+= install/net-config-menu2.scr
IMAGES_EN+= install/nfs-server-edit.scr
IMAGES_EN+= install/ntp-config.scr
IMAGES_EN+= install/options.scr
IMAGES_EN+= install/pkg-cat.scr
IMAGES_EN+= install/pkg-confirm.scr
IMAGES_EN+= install/pkg-install.scr
IMAGES_EN+= install/pkg-sel.scr
IMAGES_EN+= install/probstart.scr
IMAGES_EN+= install/routed.scr
IMAGES_EN+= install/security.scr
IMAGES_EN+= install/sysinstall-exit.scr
IMAGES_EN+= install/timezone1.scr
IMAGES_EN+= install/timezone2.scr
IMAGES_EN+= install/timezone3.scr
IMAGES_EN+= install/userconfig.scr
IMAGES_EN+= install/userconfig2.scr
IMAGES_EN+= install/xf86setup.scr
IMAGES_EN+= mail/mutt1.scr
IMAGES_EN+= mail/mutt2.scr
IMAGES_EN+= mail/mutt3.scr
IMAGES_EN+= mail/pine1.scr
IMAGES_EN+= mail/pine2.scr
IMAGES_EN+= mail/pine3.scr
IMAGES_EN+= mail/pine4.scr
IMAGES_EN+= mail/pine5.scr
IMAGES_EN+= install/example-dir1.eps
IMAGES_EN+= install/example-dir2.eps
IMAGES_EN+= install/example-dir3.eps
IMAGES_EN+= install/example-dir4.eps
IMAGES_EN+= install/example-dir5.eps
IMAGES_EN+= security/ipsec-network.pic
IMAGES_EN+= security/ipsec-crypt-pkt.pic
IMAGES_EN+= security/ipsec-encap-pkt.pic
IMAGES_EN+= security/ipsec-out-pkt.pic
IMAGES_EN+= vinum/vinum-concat.pic
IMAGES_EN+= vinum/vinum-mirrored-vol.pic
IMAGES_EN+= vinum/vinum-raid10-vol.pic
IMAGES_EN+= vinum/vinum-raid5-org.pic
IMAGES_EN+= vinum/vinum-simple-vol.pic
IMAGES_EN+= vinum/vinum-striped-vol.pic
IMAGES_EN+= vinum/vinum-striped.pic
# Images from the cross-document image library
IMAGES_LIB= callouts/1.png
IMAGES_LIB+= callouts/2.png
IMAGES_LIB+= callouts/3.png
IMAGES_LIB+= callouts/4.png
IMAGES_LIB+= callouts/5.png
IMAGES_LIB+= callouts/6.png
IMAGES_LIB+= callouts/7.png
IMAGES_LIB+= callouts/8.png
IMAGES_LIB+= callouts/9.png
IMAGES_LIB+= callouts/10.png
#
# SRCS lists the individual SGML files that make up the document. Changes
# to any of these files will force a rebuild
#
# SGML content
SRCS+= audit/chapter.sgml
SRCS+= book.sgml
SRCS+= colophon.sgml
SRCS+= freebsd-glossary.sgml
SRCS+= advanced-networking/chapter.sgml
SRCS+= basics/chapter.sgml
SRCS+= bibliography/chapter.sgml
SRCS+= boot/chapter.sgml
SRCS+= config/chapter.sgml
SRCS+= cutting-edge/chapter.sgml
SRCS+= desktop/chapter.sgml
SRCS+= disks/chapter.sgml
SRCS+= eresources/chapter.sgml
SRCS+= firewalls/chapter.sgml
SRCS+= geom/chapter.sgml
SRCS+= install/chapter.sgml
SRCS+= introduction/chapter.sgml
SRCS+= kernelconfig/chapter.sgml
SRCS+= l10n/chapter.sgml
SRCS+= linuxemu/chapter.sgml
SRCS+= mac/chapter.sgml
SRCS+= mail/chapter.sgml
SRCS+= mirrors/chapter.sgml
SRCS+= multimedia/chapter.sgml
+SRCS+= nanobsd/chapter.sgml
SRCS+= network-servers/chapter.sgml
SRCS+= pgpkeys/chapter.sgml
SRCS+= ports/chapter.sgml
SRCS+= ppp-and-slip/chapter.sgml
SRCS+= preface/preface.sgml
SRCS+= printing/chapter.sgml
SRCS+= security/chapter.sgml
SRCS+= serialcomms/chapter.sgml
SRCS+= users/chapter.sgml
SRCS+= vinum/chapter.sgml
SRCS+= x11/chapter.sgml
# Entities
SRCS+= chapters.ent
SYMLINKS= ${DESTDIR} index.html handbook.html
# Turn on all the chapters.
CHAPTERS?= ${SRCS:M*chapter.sgml}
SGMLFLAGS+= ${CHAPTERS:S/\/chapter.sgml//:S/^/-i chap./}
SGMLFLAGS+= -i chap.freebsd-glossary
pgpkeyring: pgpkeys/chapter.sgml
@${JADE} -V nochunks ${OTHERFLAGS} ${JADEOPTS} -d ${DSLPGP} -t sgml ${MASTERDOC}
#
# Handbook-specific variables
#
.if defined(WITH_PGPKEYS)
JADEFLAGS+= -V withpgpkeys
.endif
URL_RELPREFIX?= ../../../..
DOC_PREFIX?= ${.CURDIR}/../../..
#
# rules generating lists of mirror site from XML database.
#
XMLDOCS= mirrors-ftp:::mirrors.sgml.ftp.inc.tmp \
mirrors-cvsup:::mirrors.sgml.cvsup.inc.tmp \
eresources:::eresources.sgml.www.inc.tmp
DEPENDSET.DEFAULT= transtable mirror
XSLT.DEFAULT= ${XSL_MIRRORS}
XML.DEFAULT= ${XML_MIRRORS}
NO_TIDY.DEFAULT= yes
PARAMS.mirrors-ftp+= --param 'type' "'ftp'" \
--param 'proto' "'ftp'" \
--param 'target' "'handbook/mirrors/chapter.sgml'"
PARAMS.mirrors-cvsup+= --param 'type' "'cvsup'" \
--param 'proto' "'cvsup'" \
--param 'target' "'handbook/mirrors/chapter.sgml'"
PARAMS.eresources+= --param 'type' "'www'" \
--param 'proto' "'http'" \
--param 'target' "'handbook/eresources/chapter.sgml'"
SRCS+= mirrors.sgml.ftp.inc \
mirrors.sgml.cvsup.inc \
eresources.sgml.www.inc
CLEANFILES+= mirrors.sgml.ftp.inc mirrors.sgml.ftp.inc.tmp \
mirrors.sgml.cvsup.inc mirrors.sgml.cvsup.inc.tmp \
eresources.sgml.www.inc eresources.sgml.www.inc.tmp
.include "${DOC_PREFIX}/share/mk/doc.project.mk"
.for p in ftp cvsup
mirrors.sgml.${p}.inc: mirrors.sgml.${p}.inc.tmp
${SED} -e 's,<\([^ >]*\)\([^>]*\)/>,<\1\2>\1>,;s,,,'\
< $@.tmp > $@ || (${RM} -f $@ && false)
.endfor
eresources.sgml.www.inc: eresources.sgml.www.inc.tmp
${SED} -e 's,<\([^ >]*\)\([^>]*\)/>,<\1\2>\1>,;s,,,'\
< $@.tmp > $@ || (${RM} -f $@ && false)
diff --git a/en_US.ISO8859-1/books/handbook/book.sgml b/en_US.ISO8859-1/books/handbook/book.sgml
index 8990443b02..65ebe21bbd 100644
--- a/en_US.ISO8859-1/books/handbook/book.sgml
+++ b/en_US.ISO8859-1/books/handbook/book.sgml
@@ -1,343 +1,345 @@
%books.ent;
%chapters;
%txtfiles;
+
%pgpkeys;
]>
FreeBSD HandbookThe FreeBSD Documentation ProjectFebruary 1999199519961997199819992000200120022003200420052006The FreeBSD Documentation Project
&bookinfo.legalnotice;
&tm-attrib.freebsd;
&tm-attrib.3com;
&tm-attrib.3ware;
&tm-attrib.arm;
&tm-attrib.adaptec;
&tm-attrib.adobe;
&tm-attrib.apple;
&tm-attrib.corel;
&tm-attrib.creative;
&tm-attrib.cvsup;
&tm-attrib.heidelberger;
&tm-attrib.ibm;
&tm-attrib.ieee;
&tm-attrib.intel;
&tm-attrib.intuit;
&tm-attrib.linux;
&tm-attrib.lsilogic;
&tm-attrib.m-systems;
&tm-attrib.macromedia;
&tm-attrib.microsoft;
&tm-attrib.netscape;
&tm-attrib.nexthop;
&tm-attrib.opengroup;
&tm-attrib.oracle;
&tm-attrib.powerquest;
&tm-attrib.realnetworks;
&tm-attrib.redhat;
&tm-attrib.sap;
&tm-attrib.sun;
&tm-attrib.symantec;
&tm-attrib.themathworks;
&tm-attrib.thomson;
&tm-attrib.usrobotics;
&tm-attrib.vmware;
&tm-attrib.waterloomaple;
&tm-attrib.wolframresearch;
&tm-attrib.xfree86;
&tm-attrib.xiph;
&tm-attrib.general;
Welcome to FreeBSD! This handbook covers the installation and day
to day use of FreeBSD &rel2.current;-RELEASE
and FreeBSD &rel.current;-RELEASE.
This manual is a work in progress and is the work
of many individuals. Many sections do not yet exist and some of those
that do exist need to be updated. If you are interested in helping
with this project, send email to the &a.doc;. The latest version of
this document is always available from the FreeBSD web site
(previous versions of this handbook can be obtained from ).
It may also be downloaded in a variety of formats and compression
options from the FreeBSD FTP
server or one of the numerous mirror sites. If you would prefer
to have a hard copy of the handbook, you can purchase one at the
FreeBSD Mall. You
may also want to search the
handbook.
&chap.preface;
Getting StartedThis part of the FreeBSD Handbook is for users and
administrators who are new to FreeBSD. These chapters:Introduce you to FreeBSD.Guide you through the installation process.Teach you &unix; basics and fundamentals.Show you how to install the wealth of third party
applications available for FreeBSD.Introduce you to X, the &unix; windowing system, and
detail how to configure a desktop environment that makes you
more productive.We have tried to keep the number of forward references in
the text to a minimum so that you can read this section of the
Handbook from front to back with the minimum page flipping
required.Common TasksNow that the basics have been covered, this part of the
FreeBSD Handbook will discuss some frequently used features of
FreeBSD. These chapters:Introduce you to popular and useful desktop
applications: browsers, productivity tools, document
viewers, etc.Introduce you to a number of multimedia tools
available for FreeBSD.Explain the process of building a customized FreeBSD
kernel, to enable extra functionality on your system.Describe the print system in detail, both for desktop
and network-connected printer setups.Show you how to run Linux applications on your FreeBSD
system.Some of these chapters recommend that you do some prior
reading, and this is noted in the synopsis at the beginning of
each chapter.System AdministrationThe remaining chapters of the FreeBSD Handbook cover all
aspects of FreeBSD system administration. Each chapter
starts by describing what you will learn as a result of reading
the chapter, and also details what you are expected to know
before tackling the material.These chapters are designed to be read when
you need the information. You do not have to read them in any
particular order, nor do you need to read all of them before you
can begin using FreeBSD.
+
Network CommunicationFreeBSD is one of the most widely deployed operating
systems for high performance network servers. The chapters in
this part cover:Serial communicationPPP and PPP over EthernetElectronic MailRunning Network ServersFirewallsOther Advanced Networking TopicsThese chapters are designed to be read when
you need the information. You do not have to read them in any
particular order, nor do you need to read all of them before you
can begin using FreeBSD in a network environment.Appendices
&chap.colophon;
diff --git a/en_US.ISO8859-1/books/handbook/chapters.ent b/en_US.ISO8859-1/books/handbook/chapters.ent
index e912b11ad4..d06de775b7 100644
--- a/en_US.ISO8859-1/books/handbook/chapters.ent
+++ b/en_US.ISO8859-1/books/handbook/chapters.ent
@@ -1,59 +1,60 @@
+
diff --git a/en_US.ISO8859-1/books/handbook/nanobsd/Makefile b/en_US.ISO8859-1/books/handbook/nanobsd/Makefile
new file mode 100644
index 0000000000..db8f4339d6
--- /dev/null
+++ b/en_US.ISO8859-1/books/handbook/nanobsd/Makefile
@@ -0,0 +1,15 @@
+#
+# Build the Handbook with just the content from this chapter.
+#
+# $FreeBSD$
+#
+
+CHAPTERS= nanobsd/chapter.sgml
+
+VPATH= ..
+
+MASTERDOC= ${.CURDIR}/../${DOC}.${DOCBOOKSUFFIX}
+
+DOC_PREFIX?= ${.CURDIR}/../../../..
+
+.include "../Makefile"
diff --git a/en_US.ISO8859-1/books/handbook/nanobsd/chapter.sgml b/en_US.ISO8859-1/books/handbook/nanobsd/chapter.sgml
new file mode 100644
index 0000000000..fbaffbb3d7
--- /dev/null
+++ b/en_US.ISO8859-1/books/handbook/nanobsd/chapter.sgml
@@ -0,0 +1,469 @@
+
+
+
+
+
+
+ Daniel
+ Gerzo
+ Written by
+
+
+
+
+
+ NanoBSD
+
+
+ Introduction to NanoBSD
+
+ NanoBSD
+
+ NanoBSD is a tool currently
+ developed by &a.phk;. It creates a &os; system image for embedded
+ applications, suitable for use on a Compact Flash card (or other
+ mass storage medium).
+
+ It can be used to build specialized install images, designed
+ for easy installation and maintenance of systems commonly called computer appliances.
+ Computer appliances have their hardware and software bundled in
+ the product, which means all applications are pre-installed. The
+ appliance is plugged into an existing network and can begin
+ working (almost) immediately.
+
+ The features of NanoBSD include:
+
+
+
+ Ports and packages work as in &os; — Every single
+ application can be installed and used in a NanoBSD image, the same way as in
+ &os;.
+
+
+
+ No missing functionality — If it is possible to do
+ something with &os;, it is possible to do the same thing with
+ NanoBSD, unless the specific feature
+ or features were explicitly removed from
+ the NanoBSD image when it was
+ created.
+
+
+
+ Everything is read-only at run-time — It is safe to
+ pull the power-plug. There is no necessity to run
+ &man.fsck.8; after a non-graceful shutdown of the system.
+
+
+
+ Easy to build and customize — Making use of just one
+ shell script and one configuration file it is possible to
+ build reduced and customized images satisfying any arbitrary set of
+ requirements.
+
+
+
+
+
+ NanoBSD Howto
+
+
+ The design of NanoBSD
+
+ Once the image is present on the medium, it is possible to
+ boot NanoBSD. The mass storage
+ medium is divided into three parts by default:
+
+
+
+ Two image partitions: code#1
+ and code#2.
+
+
+
+ The configuration file partition, which can be mounted
+ under the /cfg directory at run
+ time.
+
+
+
+ These partitions are normally mounted read-only.
+
+ The /etc and
+ /var directories are
+ &man.md.4; (malloc) disks.
+
+ The configuration file partition persists under the
+ /cfg directory. It
+ contains files for /etc
+ directory and is briefly mounted read-only right after the
+ system boot, therefore it is required to copy modified files
+ from /etc back to the
+ /cfg directory if changes
+ are expected to persist after the system restarts.
+
+
+ Making persistent changes to /etc/resolv.conf
+
+ &prompt.root; vi /etc/resolv.conf
+[...]
+&prompt.root; mount /cfg
+&prompt.root; cp /etc/resolv.conf /cfg
+&prompt.root; umount /cfg
+
+
+
+ The partition containing
+ /cfg should be mounted
+ only at boot time and while overriding the configuration
+ files.
+
+ Keeping /cfg mounted
+ at all times is not a good idea, especially if the NanoBSD
+ system runs off a mass storage medium that may be adversely
+ affected by a large number of writes to the partition
+ (i.e. when the filesystem syncer flushes data to the system
+ disks).
+
+
+
+
+ Building a NanoBSD image
+
+ A NanoBSD image is built using a
+ simple nanobsd.sh shell script, which can
+ be found in the
+ /usr/src/tools/tools/nanobsd
+ directory. This script creates an image, which can be copied on
+ the storage medium using the &man.dd.1; utility.
+
+ The necessary commands to build a
+ NanoBSD image are:
+
+ &prompt.root; cd /usr/src/tools/tools/nanobsd
+&prompt.root; sh nanobsd.sh
+&prompt.root; cd /usr/obj/nanobsd.full
+&prompt.root; dd if=_.disk.full of=/dev/da0 bs=64k
+
+
+
+ Change the current directory to the base directory of the
+ NanoBSD build script.
+
+
+
+ Start the build process.
+
+
+
+ Change the current directory to the place where the built
+ images are located.
+
+
+
+ Install NanoBSD onto the
+ storage medium.
+
+
+
+
+
+ Customizing a NanoBSD image
+
+ This is probably the most important and most interesting
+ feature of NanoBSD. This is also
+ where you will be spending most of the time when
+ developing with NanoBSD.
+
+ Invocation of the following command will force the
+ nanobsd.sh to read its configuration from
+ the myconf.nano file located in the current
+ directory:
+
+ &prompt.root; sh nanobsd.sh -c myconf.nano
+
+ Customization is done in two ways:
+
+
+
+ Configuration options
+
+
+
+ Custom functions
+
+
+
+
+ Configuration options
+
+ With configuration settings, it is possible to configure options
+ passed to both the buildworld
+ and installworld stages of the
+ NanoBSD build process, as well as internal
+ options passed to the main build process of
+ NanoBSD. Through these options it is
+ possible to cut the system down, so it will fit on as little as
+ 64MB. You can use the configuration options to trim down &os; even
+ more, until it will consists of just the kernel and two or three
+ files in the userland.
+
+ The configuration file consists of configuration options,
+ which override the default values. The most important
+ directives are:
+
+
+
+ NANO_NAME — Name of build
+ (used to construct the workdir names).
+
+
+
+ NANO_SRC — Path to the source
+ tree used to build the image.
+
+
+
+ NANO_KERNEL — Name of kernel
+ configuration file used to build kernel.
+
+
+
+ CONF_BUILD — Options passed
+ to the buildworld stage of the build.
+
+
+
+ CONF_INSTALL — Options passed
+ to the installworld stage of the build.
+
+
+
+ CONF_WORLD — Options passed to both
+ the buildworld and
+ the installworld stage of the build.
+
+
+
+ FlashDevice — Defines what type of
+ media to use. Check the FlashDevice.sub
+ file for more details.
+
+
+
+
+
+ Custom functions
+
+ It is possible to fine-tune
+ NanoBSD using shell functions in
+ the configuration file. The following example illustrates the
+ basic model of custom functions:
+
+ cust_foo () (
+ echo "bar=topless" > \
+ ${NANO_WORLDDIR}/etc/foo
+)
+customize_cmd cust_foo
+
+ A more useful example of a customization function is the
+ following, which changes the default size of the
+ /etc directory
+ from 5MB to 30MB:
+
+ cust_etc_size () (
+ cd ${NANO_WORLDDIR}/conf
+ echo 30000 > default/etc/md_size
+)
+customize_cmd cust_etc_size
+
+ There are a few default pre-defined customization functions
+ ready for use:
+
+
+
+ cust_comconsole — Disables
+ &man.getty.8; on the VGA devices
+ (the /dev/ttyv* device nodes) and enables
+ the use of the COM1 serial port as the system console.
+
+
+
+ cust_allow_ssh_root — Allow
+ root to login via &man.sshd.8;.
+
+
+
+ cust_install_files —
+ Installs files from the nanobsd/Files
+ directory, which contains some useful scripts for system
+ administration.
+
+
+
+
+
+ Configuration file example
+
+ A complete example of a configuration file for building a
+ custom NanoBSD image can be:
+
+ NANO_NAME=custom
+NANO_SRC=/usr/src
+NANO_KERNEL=MYKERNEL
+NANO_IMAGES=2
+
+CONF_BUILD='
+NO_KLDLOAD=YES
+NO_NETGRAPH=YES
+NO_PAM=YES
+'
+
+CONF_INSTALL='
+NO_ACPI=YES
+NO_BLUETOOTH=YES
+NO_CVS=YES
+NO_FORTRAN=YES
+NO_HTML=YES
+NO_LPR=YES
+NO_MAN=YES
+NO_SENDMAIL=YES
+NO_SHAREDOCS=YES
+NO_EXAMPLES=YES
+NO_INSTALLLIB=YES
+NO_CALENDAR=YES
+NO_MISC=YES
+NO_SHARE=YES
+'
+
+CONF_WORLD='
+NO_BIND=YES
+NO_MODULES=YES
+NO_KERBEROS=YES
+NO_GAMES=YES
+NO_RESCUE=YES
+NO_LOCALES=YES
+NO_SYSCONS=YES
+NO_INFO=YES
+'
+
+FlashDevice SanDisk 1G
+
+cust_nobeastie() (
+ touch ${NANO_WORLDDIR}/boot/loader.conf
+ echo "beastie_disable=\"YES\"" >> ${NANO_WORLDDIR}/boot/loader.conf
+)
+
+customize_cmd cust_comconsole
+customize_cmd cust_install_files
+customize_cmd cust_allow_ssh_root
+customize_cmd cust_nobeastie
+
+
+
+
+ Updating NanoBSD
+
+ The update process of NanoBSD is
+ relatively simple:
+
+
+
+ Build a new NanoBSD image, as
+ usual.
+
+
+
+ Upload the new image into an unused partition of a
+ running NanoBSD appliance.
+
+ The most important difference of this step from the
+ initial NanoBSD installation is that
+ now instead of using the _.disk.full file
+ (which contains an image of the entire disk),
+ the _.disk.image image is installed (which
+ contains an image of a single system partition).
+
+
+
+ Reboot, and start the system from the newly installed
+ partition.
+
+
+
+ If all goes well, the upgrade is finished.
+
+
+
+ If anything goes wrong, reboot back into the previous
+ partition (which contains the old, working image), to restore system
+ functionality as fast as possible. Fix any problems of the new
+ build, and repeat the process.
+
+
+
+ To install new image onto the running
+ NanoBSD system, it is possible to use
+ either the updatep1 or
+ updatep2 script located in the
+ /root directory, depending
+ from which partition is running the current system.
+
+ According to which services are available on host serving
+ new NanoBSD image and what type of
+ transfer is prefered, it is possible to examine one of these
+ three ways:
+
+
+ Using &man.ftp.1;
+
+ If the transfer speed is in first place, use this
+ example:
+
+ &prompt.root; ftp myhost
+get _.disk.image "| sh updatep1"
+
+
+
+ Using &man.ssh.1;
+
+ If a secure transfer is prefered, consider using this
+ example:
+
+ &prompt.root; ssh myhost cat _.disk.image.gz | zcat | sh updatep1
+
+
+
+ Using &man.nc.1;
+
+ Try this example if the remote host is not running neither
+ &man.ftp.1; or &man.sshd.8; service:
+
+
+
+ At first, open a TCP listener on host serving the
+ image and make it send the image to client:
+
+ myhost&prompt.root; nc -l 2222 < _.disk.image
+
+
+ Make sure that the used port is not blocked to
+ receive incomming connections from
+ NanoBSD host by
+ firewall.
+
+
+
+ Connect to the host serving new image and execute
+ updatep1 sript:
+
+ &prompt.root; nc myhost 2222 | sh updatep1
+
+
+
+
+
+