summaryrefslogtreecommitdiffstats
path: root/release/picobsd/doc
diff options
context:
space:
mode:
authorabial <abial@FreeBSD.org>1998-08-27 17:38:45 +0000
committerabial <abial@FreeBSD.org>1998-08-27 17:38:45 +0000
commitd38ad5332060d44f048e5b407d0b8e17da9a909c (patch)
tree3a1c3f90cb24f6c1da60d6fc980d38317610a4c8 /release/picobsd/doc
downloadFreeBSD-src-d38ad5332060d44f048e5b407d0b8e17da9a909c.zip
FreeBSD-src-d38ad5332060d44f048e5b407d0b8e17da9a909c.tar.gz
Initial import of PicoBSD v0.4 tree.
Diffstat (limited to 'release/picobsd/doc')
-rw-r--r--release/picobsd/doc/bugs.html82
-rw-r--r--release/picobsd/doc/faq.html208
-rw-r--r--release/picobsd/doc/hardware.html107
-rw-r--r--release/picobsd/doc/how2build.html177
-rw-r--r--release/picobsd/doc/intrinsics.html126
-rw-r--r--release/picobsd/doc/intro.html300
6 files changed, 1000 insertions, 0 deletions
diff --git a/release/picobsd/doc/bugs.html b/release/picobsd/doc/bugs.html
new file mode 100644
index 0000000..a320659
--- /dev/null
+++ b/release/picobsd/doc/bugs.html
@@ -0,0 +1,82 @@
+<HTML>
+<! $Id: bugs.html,v 1.3 1998/08/19 16:59:35 abial Exp $ >
+<HEAD>
+ <TITLE>History and Bug fixes</TITLE>
+</HEAD>
+<BODY>
+
+<center><h1>History and List of Bugfixes</h1></center>
+
+<p>This is the short release history of PicoBSD, as well as the list of bugs
+which were found. Some of them were already corrected, so that you should read
+the list before reporting a new one.</p>
+
+<p>We tried to make this software bug-free, but life is life... Sorry for the
+ inconvenience.</p>
+
+<h3>PicoBSD 0.4</h3>
+<ul>
+<li>
+ 1998.08.19: PicoBSD 0.4 released.
+ <p>New features include: NATd,
+ netstat, DEVFS/SLICE instead of standard /dev, additional network
+ drivers, and several minor fixes. Distribution contains also
+ a collection of small versions of system programs (TinyWare), among
+ them custom init(8).</p>
+ <p>I added also the fourth type of setup - 'router' - which is a
+ specialized version of PicoBSD that focuses on providing as small
+ as possible router solution.</p>
+</li>
+</ul>
+<h3>PicoBSD 0.31</h3>
+<ul>
+<li>
+ 1998.03.28: Some people reported that the binary files (*.flp) were
+ being corrupted during download because their browsers assumed that
+ these are text files. I changed the names to *.bin - their contents
+ is the same.
+</li>
+<li>
+ 1998.03.20: PicoBSD 0.31 released. New features include: SNMP daemon,
+ better creation of /kernel.config, some other minor fixes. Massive
+ changes in the building scripts. I also removed vn(4) driver from
+ "net" and "isp" floppies.
+</li>
+</ul>
+<h3>PicoBSD 0.3</h3>
+<p>The following bugs were found in this release of PicoBSD:</p>
+<ul>
+<li> 1998.02.27: A bug in kget(8) utility caused it to dump core in certain
+ situations. As a consequence, it wasn't possible to save the changes
+ made in UserConfig (-c). This will be corrected in the next release (or
+ bugfix issue).
+</li>
+<li> 1998.02.24: Wrongly sized MFS caused the passwd(1) on "net" type
+ floppy to fail because of lack of space for temporary files. This bug
+ affected only "net" floppies, and of course the scripts ("2000" looks
+ quite similar to "2200" :-(( ). Also, the 'update' script didn't work
+ as expected...
+<p> This was fixed the same day, and the corrected files are: pb03en1.zip,
+ pb03pn1.zip, and pbsd-s031.tgz respectively. They are now under standard
+ links on the main page of PicoBSD project, so if you downloaded after
+ this date, you shouldn't worry.</p>
+<p> Please check that you have the fixed versions - the archive name should
+ contain the tiny number, such as "pb03en<b>1</b>.zip", or
+ pbsd-s03<b>1</b>.tgz".</p>
+<li>
+ 1998.02.15: PicoBSD 0.3 released. This is the first version that I can
+ truly recommend - previous one was too buggy... :-)
+</li>
+</li>
+</ul>
+
+<h5>Last modified:
+Wed Aug 19 08:53:04 CEST 1998
+</h5>
+
+<HR align="center" width="100%">
+<CENTER><h5>Any comments? Send them to
+<A HREF="mailto:abial@nask.pl">the author</A> </h5></CENTER>
+
+</BODY>
+</HTML>
diff --git a/release/picobsd/doc/faq.html b/release/picobsd/doc/faq.html
new file mode 100644
index 0000000..2b59ffd
--- /dev/null
+++ b/release/picobsd/doc/faq.html
@@ -0,0 +1,208 @@
+<HTML>
+<! $Id: faq.html,v 1.2 1998/08/19 06:46:19 abial Exp $ >
+<HEAD>
+ <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
+ <META NAME="Author" CONTENT="Dinesh Nair">
+ <META NAME="Description" CONTENT="Frequently Asked Questions for PicoBSD">
+ <META NAME="Keywords" CONTENT="PicoBSD,FreeBSD,Unix,Dinesh Nair,Andrzej Bialecki,Network Computer">
+ <META NAME="GENERATOR" CONTENT="Mozilla/4.04 [en] (X11; I; FreeBSD 2.2.5-STABLE i386) [Netscape]">
+ <TITLE>PicoBSD FAQ</TITLE>
+</HEAD>
+<BODY TEXT="#000000" BGCOLOR="#FFFFFF" LINK="#0000EF" VLINK="#51188E" ALINK="#FF0000">
+
+<CENTER>
+<H1>
+The PicoBSD FAQ
+</H1></CENTER>
+
+<CENTER>
+<HR WIDTH="100%"></CENTER>
+<B>What is PicoBSD ?</B>
+
+<P>PicoBSD is a floppy sized version of popular operating system FreeBSD.
+It fits within a single bootable 1.44MB floppy and runs on a minimum i386
+with 8MB RAM. PicoBSD currently comes in four flavours: dialup, net, router and
+isp. For a description of how each of the flavours differ, take a look
+at the <B><A HREF="http://www.freebsd.org/~picobsd/picobsd.html">PicoBSD
+home page</A></B>.
+
+<P><B>What version of FreeBSD is PicoBSD based on ?</B>
+
+<P>PicoBSD has versions based on both FreeBSD 3.0-current and FreeBSD 2.2.5-RELEASE.
+<A HREF="mailto:abial@nask.pl">Andrzej Bialecki</A> maintains the <A HREF="http://www.freebsd.org/~picobsd/picobsd.html">FreeBSD
+3.0-current version</A> and <A HREF="mailto:dinesh@alphaque.com">Dinesh
+Nair</A> maintains the <A HREF="http://info.net-gw.com/picoBSD/">FreeBSD
+2.2.5-RELEASE</A> version. Both the versions don't differ by much except
+for the following:
+<UL TYPE=CIRCLE>
+<LI>
+the 3.0-current version is, well, more current so it has support for the
+latest whiz-bang devices; on the other hand, it sometimes mean it can
+provide functionality not yet present in 2.2.5-RELEASE</LI>
+
+<LI>
+the 2.2.5-RELEASE version is more stable and since binary sizes are smaller,
+it sometimes has a little more functionality than the 3.0-current version</LI>
+</UL>
+As far as possible, both versions will be kept functionally similar, but
+occasionaly divergence may occur.
+
+<P><B>What can PicoBSD do?</B>
+
+<P>With the TCP/IP capabilities of FreeBSD included in and based on the
+strong 4.4BSD TCP/IP stack, PicoBSD can be used as a low cost Network Computer.
+With a text based HTML 3.2 compliant browser (2.2.5-RELEASE version only)
+and Internet access tools such as telnet and ftp, it can serve as a low
+cost Internet dialup client. With support for mounting MSDOS and Unix harddisks,
+it also can be used as a portable OS which you can carry around in a floppy.
+The net and isp flavours would allow you to make use of those redundant
+i386es as a low cost router or dialin PPP server. With SNMP and firewall
+support built-in, PicoBSD provides the functionality of dedicated routers
+and dialin terminal servers.
+
+<P><B>What are PicoBSD's minimum requirements?</B>
+
+<P>PicoBSD runs on a minimum i386 with 8MB RAM for the dialup flavour and
+10MB RAM for the net and isp flavours. Diskspace requirements are a single
+1.44MB floppy. For on-demand PPP access, a modem would be required, either
+external or internal.
+For LAN access, an Ethernet NIC (support for 3Com, NE2000 etc available)
+would also be required.
+
+<P><B>Where do I get PicoBSD?</B> PicoBSD is available at the following
+locations:
+<UL TYPE=CIRCLE>
+<LI>
+<A HREF="http://www.freebsd.org/~picobsd/picobsd.html">PicoBSD based on
+FreeBSD 3.0-current</A> maintained by Andrzej Bialecki</LI>
+
+<LI>
+<A HREF="http://info.net-gw.com/picoBSD/">PicoBSD based on FreeBSD 2.2.5-RELEASE</A>
+maintained by Dinesh Nair</LI>
+</UL>
+Additional mirror sites will be brought online as demand increases. If
+you're interested in mirroring the PicoBSD distribution, please get in
+touch with <A HREF="mailto:dinesh@alphaque.com">Dinesh Nair</A> or
+<A HREF="mailto:abial@nask.pl">Andrzej Bialecki</A>.
+
+<P><B>How do I copy it to the floppy?</B>
+
+<P>The binary images provided as part of the PicoBSD distribution are 1.44MB
+sized floppy images. They cannot be copied to a floppy using the <I>MSDOS
+COPY</I> or <I>Unix cp</I> commands. Instead, an image copy must be done
+using tools such as&nbsp; <A HREF="ftp://ftp.freebsd.org/pub/FreeBSD/tools/rawrite.exe">rawrite.exe</A>
+or f<A HREF="ftp://ftp.freebsd.org/pub/FreeBSD/tools/fdimage.exe">dimage.exe</A>
+under MSDOS and <B>dd</B> under Unix.
+
+<P>Under DOS you would do something like this:
+<UL>
+<PRE><B>C:\> fdimage.exe picobsd.flp a:</B></PRE>
+</UL>
+while under Unix you would use something like:
+<UL><B>dd if=picobsd.flp of=/dev/rfd0</B></UL>
+
+<B>How do I configure dialup PPP access on the Dialup flavour?</B>
+
+<P>There is an auto-configuration script to configure PPP dialup access.
+Run <I>/stand/dialup</I> after booting up from the floppy and make the
+relevant menu selections. Once you've tested it to work, you should make
+your changes permanent by committing them to the floppy using <I>/stand/update</I>.
+
+<P><B>How do I set my DNS server ?</B>
+
+<P>Use the provided <I>/stand/ee</I> editor and edit <I>/etc/resolv.conf</I>.
+Replace the <U>domain</U> with your domain and change the <U>nameserver</U>
+IP address to your nameserver or your ISP's nameserver. You may have as
+many <U>nameserver</U> lines as you want. Don't forget to run <I>/stand/update</I>
+to commit your changes to the floppy.
+<p>NOTE: starting with version 0.4, the <i>dialup</i> scripts asks you to
+set your nameserver as well as default domain name.</p>
+
+<P><B>How do I set my hostname ?</B>
+
+<P>Edit /<I>etc/rc.conf</I> and change the value of the <U>hostname</U>
+variable.
+
+<p><b>PicoBSD has "mkdir" but not "rmdir". How can I delete
+subsdirectories?</b></p>
+<p>"rm -d" will delete directories.</p>
+
+<p><b>Can I use a modem configured on COM3/COM4 instead of COM1, COM2?</b></p>
+
+<p>Yes, but these ports are initially disabled - most machines have only
+two serial ports anyway. You have to enable them in UserConfig.</P>
+<p>Here are the preferred settings:</p>
+<ul>
+<li> sio0=COM1: port 0x3f8, irq 4, used by default for mouse (/dev/cuaa0)
+</li>
+<li> sio1=COM2: port 0x2f8, irq 3, used by default for modem (/dev/cuaa1)
+</li>
+<li> sio2=COM3: port 0x3e8, irq 5, disabled by default
+</li>
+<li> sio3=COM4: port 0x2e8, irq 10, disabled by default
+</li>
+</ul>
+
+<p><b>I see a configuration conflict the first time I boot PicoBSD. What
+should I do?</b></p>
+
+<p>Disable those devices which are not present in your machine. If there is
+still some conflict, change the settings (I/O port, IRQ etc.).</p>
+
+<p><b>What kind of SCSI support is there?</b></p>
+
+<p>None. Either build your own version of PicoBSD, or just install normal
+FreeBSD distribution.</p>
+
+<P><B>How do I connect using PPP ?</B>
+
+<P>Just run the PPP process, <I>/stand/ppp</I>. at the <B>ppp on pico></B>
+prompt, type <U>dial</U> and sit back and wait for the modem to sing it's
+mating tunes. When the <B>ppp on pico></B> prompt is capitalized to <B>PPP
+on pico></B>, you've managed to succesfully achieve a link-level PPP and
+TCP/IP connection with your ISP. Additionally, the PPP program will enter
+<I>Packet Mode</I>. Remember, don't <U>quit</U> or <U>close</U> the PPP
+connection if you want to continue to access the Internet.&nbsp; Type <U>help</U>
+at the <B>ppp on pico></B> prompt for a list of PPP commands.
+
+<P><B>The PPP process is running on my screen. How do I use the browser
+or telnet to a host ?</B>
+
+<P>PicoBSD has many virtual terminals, 10 on the dialup flavour. You have
+run PPP on the first virtual terminal. You can switch to the others and
+run the browser and telnet clients there. Switching thru the VTs is done
+by ALT-F1 for VT0, ALT-F2 for VT1, ALT-F3 for VT2 etc. From these terminals,
+you could use telnet or the lynx browser cum newsreader.
+
+<p><b>I can't establish a PPP connection. The mouse pointer randomly appears
+and disappears. and moving the mouse has no effect.</b></p>
+
+<p>You have the mouse driver configured to use the modem's serial port.
+Issue a 'ps -ax', remember the pid (process ID) of 'moused', then issue a
+'kill -9 <pid>'. Edit /etc/rc.conf to specify the correct mouse port. Issue
+an 'update' commmand to save new configuration to the floppy, and reboot.
+<P><B>I saved my lynx configuration but it was not there when I rebooted.
+Why ?</B>
+
+<P>The lynx configuration is saved in <I>/etc/lynx.cfg</I>. You should
+run /<I>stand/update</I> to commit this to the floppy when you change the
+configuration. In effect, anything you change in /etc can be committed
+by running /<I>stand/update</I>.
+
+<P><B>How come there are no manual pages ?</B>
+
+<P>Well, this is a floppy-sized OS, so there's not enough space for full
+manpages. Instead, short help descriptions are given with the <I>/stand/help</I>
+program. If you need more detailed descriptions, take a look at the <A HREF="http://www.freebsd.org/handbook/">FreeBSD
+Handbook</A> or the <A HREF="http://www.freebsd.org/">FreeBSD Home</A>.
+<BR>&nbsp;
+<BR>&nbsp;
+<HR WIDTH="100%">
+<CENTER><FONT SIZE=-1>More FAQ points will be added as feedback from the
+PicoBSD user community comes in. And big thanks to all of you who already
+sent us some suggestions!</FONT></CENTER>
+<P><B><FONT SIZE=-1>Last Modified:
+Sun Aug 9 13:40:15 CEST 1998
+</FONT></B></P>
+</BODY>
+</HTML>
diff --git a/release/picobsd/doc/hardware.html b/release/picobsd/doc/hardware.html
new file mode 100644
index 0000000..e8c7318
--- /dev/null
+++ b/release/picobsd/doc/hardware.html
@@ -0,0 +1,107 @@
+<html>
+<! $Id: hardware.html,v 1.3 1998/08/19 16:59:35 abial Exp $ >
+<body>
+<h1><center>Lists of supported hardware configurations.</center></h1>
+
+<p>Below you will find supported configurations for each of the flavors of
+PicoBSD as of version 0.4, as well as the lists of programs included.</p>
+
+<h3>Dialup version:</h3>
+<ul>
+<li>minimum 386SX CPU (either Intel, AMD, Cyrix etc - doesn't matter),
+</li>
+<li>minimum 8MB of RAM (some people reported success
+stories with 4MB only, but I certainly don't recommend it)
+</li>
+<li>a modem (for Internet connection using PPP protocol), either internal or
+external, connected to COM1-COM4. NOTE: COM3 and COM4 are disabled by default
+- you have to explicitly enable them in UserConfig.
+</li>
+<li>an Ethernet card for LAN connection:
+<ul>
+<li> ed - default settings: port 0x280, irq 10, iomem 0xd8000
+ <p>NE2000 compatible ISA and PCI cards, most SMC and 3C503</p>
+</li>
+<li> ep - default settings: port 0x300, irq 10,
+ <p>3C509 ISA card</p>
+</li>
+<li> ie - default settings: port 0x300, irq 10, iomem 0xd0000
+ <p>Intel EtherExpress ISA, StarLan, 3C507</p>
+</li>
+<li> le - default settings: port 0x300, irq 5, iomem 0xd0000
+ <p>DEC EtherWorks 2 and 3</p>
+</li>
+<li> lnc - default settings: port 0x280, irq 10, iomem 0xd0000
+ <p>Lance/PCNet</p>
+</li>
+<li> de - DEC21040-based PCI cards,
+</li>
+<li> fxp - Intel EtherExpress Pro/100B PCI card
+</li>
+</ul>
+</li>
+<li>10 virtual consoles plus console utilities (vidcontrol, kbdcontrol)
+</li>
+<li>basic networking tools: ifconfig, route, ping, ns (mini-netstat),
+traceroute
+</li>
+<li>basic remote access tools: telnet, ftp and SSH
+</li>
+<li>basic OS tools: shell, mount (FreeBSD, DOS, Linux), umount, ps, kill, vm
+(mini-vmstat), fsck, df, etc..
+</li>
+<li>editable configuration (/etc directory and kernel configuration)
+</li>
+<li>simple editor ee
+</li>
+<li>simple help system for people new to FreeBSD
+</li>
+</ul>
+<h3>Router-like version:</h3>
+<ul>
+<li>minimum 386SX CPU,
+</li>
+<li>minimum 10 MB of RAM (8MB for basic setup)
+</li>
+<li>support for PPP protocol on dialup/leased lines (using ijppp)
+</li>
+<li>support for several types of Ethernet cards (two of each kind) - see above
+for descriptions: ed, ie, ep, de, fxp, lnc
+</li>
+<li>network daemons: routing daemon (routed), inetd, telnetd, snmpd.
+</li>
+<li>IP Firewall and NAT daemon (natd).
+</li>
+<li>more OS utilities, including: syslogd, mount_nfs, network logins via
+telnet
+</li>
+<li>this version doesn't include: ssh, ftp
+</li>
+</ul>
+<h3>Router version:</h3>
+<ul>
+<li>minimum 386SX CPU,
+</li>
+<li>minimum 4 MB of RAM (6MB for running some additional daemons)
+</li>
+<li>support for PPP protocol on dialup/leased lines (using kernel ppp)
+</li>
+<li>support for several types of Ethernet cards - see above
+for descriptions: ed, ie, ep, de, fxp, lnc
+</li>
+<li>custom init(8), which includes also a simple command-line interface,
+and its own way to configure the system on startup.
+</li>
+<li>IP Firewall and NAT daemon (natd - it requires additional portion of RAM).
+</li>
+<li>very few OS tools, except those absolutely necessary,
+</li>
+</ul>
+
+<p>There's also the fourth version, which can serve as a dialin server - I hope
+you'll find it as a cheap yet reliable alternative to commercial communication
+servers :-)) This work is still in progress, and
+<A HREF="beta.html">I need some people to test</a> the early
+dial-in server version.</p>
+</body>
+</html>
diff --git a/release/picobsd/doc/how2build.html b/release/picobsd/doc/how2build.html
new file mode 100644
index 0000000..f37e7d2
--- /dev/null
+++ b/release/picobsd/doc/how2build.html
@@ -0,0 +1,177 @@
+<html>
+<! $Id: how2build.html,v 1.2 1998/08/19 16:59:36 abial Exp $ >
+<head>
+<title><center>PicoBSD Development Kit</center></title>
+</head>
+<body>
+<h1><center> How to build your own version
+ of PicoBSD?
+</center></h1>
+
+<ol>
+<li>
+ Get the file <code>picobsd.tgz</code>. It contains the scripts
+ you'll need. Also, I assume you run quite -current system with
+ full sources installed.
+
+<p> NOTE: there were some mysterious interactions between vn(4) driver and
+ 'disklabel auto' in versions earlier than 3.0. There is another set
+ of scripts prepared by <A HREF="mailto:dinesh@alphaque.com">Dinesh Nair
+ </a> which allows to build PicoBSD floppies on a earlier systems.</p>
+
+<p> Unpack the archive in some place with at least 5MB free space.</p>
+</li>
+<li> Change working directory (<code>cd build</code>) and run the
+ <code>./build</code> script. Select target language, size of MFS and
+ one of pre-canned setups (personal dialup, dialin server or
+ router-like). Details of each setup are contained in
+ dial/, isp/ and net/ directories respectively. You should at least
+ check <code>${TYPE}/config/PICOBSD</code> file to make sure it contains
+ the drivers you want.
+<p> I also recommend to adjust the ISA devices parameters to
+ match the ones of your hardware - though PicoBSD can save the
+ changes from UserConfig, this way it will produce smaller
+ <code>/kernel.config</code> file.</p>
+</li>
+<li> I assume you will use 1.44MB floppy. If not, please edit the file
+ <code>build/stage3</code>.
+</li>
+<li> There are several directories which contain some sources and config
+ files:
+<pre>
+ build/ main build directory; you MUST cd here!
+ dial/ config files for dialup setup
+ conf/ kernel config file
+ crunch1/ crunch of system programs
+ mfs.tree/ contains the MFS configuration
+ lang/ contains language-dependent files
+ floppy.tree/ contains the startup floppy hierarchy
+
+ isp/ config files for dialin server setup
+ ... (as above)
+ net/ config files for router-like setup
+ ... (as above)
+ tinyware/ collection of small system utilities
+ tools/ additional tools them needed during build
+</pre>
+<p> There are no <code>/etc/passwd</code> nor <code>/etc/pwd.db</code>
+ files on the "dial" floppy - in case of other types, they are
+ reconstructed from <code>/etc/master.passwd</code> on each startup
+ (and then put on MFS with the rest of <code>/etc</code>).
+ In case of "dial" type floppy, you don't need them at all.</p>
+
+<p> NOTE: thanks to the above, the floppy is needed only during startup,
+ and then only if you want to synchronize (possibly changed) MFS /etc
+ with the one on the floppy. It means that you can pull off the floppy
+ from the drive as soon as <code>login:</code> prompt appears.
+ In other words, it is almost equal to read-only floppy.</p>
+</li>
+<li> Edit the set of installed programs.
+<ul>
+<li> Go to <code>${TYPE}/crunch1</code> directory, and edit it
+ to suit your needs. Keep in mind that floppies aren't made
+ of rubber... :-)
+</li>
+<li> There are some patches included in these directories, which
+ are applied during build process to some of the Makefiles in
+ your <code>/usr/src</code>. These patches attempt to decrease
+ the size of some programs by cutting off rarely/unlikely used
+ parts. The patches are reversed when you do a
+ <code>make clean</code> (or <code>build/clean</code>
+ for that matter).
+<p> NOTE: patches may fail to apply, if your sources are too
+ different from the ones I used. Don't worry: they are so
+ straightforward that you can apply them by hand.</p>
+</li>
+<li> In order to have a functioning system you MUST include at
+ least <code>/stand/init</code>, or <code>/stand/oinit</code>,
+ or <code>/stand/sysinstall</code> in
+ your <code>crunch.conf</code>. Of course these can be your
+ own programs... But if you install the stock
+ <code>/sbin/init</code>, you
+ also have to install some others, like sh, getty, login etc...
+<p> This release of PicoBSD contains a small replacement for
+ init(8), called 'oinit'. You can find it in TinyWare
+ collection. The main building script allows you to use it
+ instead of normal init(8). <b>Be sure to read the oinit's docs
+ before you decide to use it!</b></p>
+</li>
+</ul>
+</li>
+<li> Make sure that the system you're running has /dev/[r]vn0* entries in
+ /dev directory (if not, you can make them with 'MAKEDEV vn0'), AND
+ that your running kernel has built-in vnode driver (there should be a
+ line in your kernel config file stating 'pseudo-device vn').
+</li>
+<li> You'll need at least 9MB of free disk space, and free /mnt directory.
+</li>
+<li> Do a <code>cd build/</code> and fire off the <code>./build</code>
+ script. Select the build parameters or 'n' for 'no change'. If all
+ is well, after some time (like 10-30m) you end up with a
+ 'picobsd.bin' file in this directory.
+
+<p> WARNING: make sure you don't have stale <code>.depend</code> files
+ around!!! You may encounter many strange errors during build process
+ in that case.</p>
+
+<p> If there were any errors, please execute each script by hand and try
+ to find what causes this error. Most often this will be one of the
+ following reasons:</p>
+<ul>
+<li> <code>crunchgen</code> can't find the source directory for a
+ program 'proggy':
+<ul>
+<li> make sure that the source directory for 'proggy' is called
+ 'proggy', otherwise the crunchgen won't find it
+</li>
+<li> make sure that the Makefile allows crunchgen to deduce the
+ set of objects to build. You can manually add an OBJS= ...
+ to the program's Makefile.
+</li>
+</ul>
+</li>
+<li> crunch fails to build.
+<ul>
+<li> check your system source tree for stale .depend files and/or
+ objects (*.o)
+</li>
+<li> see if the individual programs can be built using original
+ Makefiles. If not, cvsup the correct sources.
+</li>
+</ul>
+</li>
+<li> /: write failed - file system is full
+<ul>
+<li> this one is obvious - you wanted to put too many programs on
+ the MFS and/or the target floppy. Or, you really don't have
+ any space left on the root partition.. :-)
+</li>
+<li> also, you can check if the
+ MFS size is correctly reported while it's still mounted (right
+ after <code>stage1</code> script ends).
+</li>
+</ul>
+</ul>
+
+ You can also remove <code>2>&amp;1</code> redirections from Makefiles
+ to see the stderr.
+</li>
+<li> Transfer this file to the floppy:
+<pre>
+ dd if=picobsd.bin of=/dev/rfd0
+</pre>
+
+ (The 'build' script asks you if you want to do this.)
+</li>
+</ol>
+
+<p>That's all. You're welcome to change and improve these scripts. If you
+ stumble upon something which looks like a good idea to have it here, let me
+ know.</p>
+
+<p>If, for some reason, the scripts don't work for you at all, also let me
+ know.</p>
+
+<A HREF="mailto:abial@nask.pl">&lt;abial@nask.pl&gt;</a>
+</body>
+</html>
diff --git a/release/picobsd/doc/intrinsics.html b/release/picobsd/doc/intrinsics.html
new file mode 100644
index 0000000..af5e9a8
--- /dev/null
+++ b/release/picobsd/doc/intrinsics.html
@@ -0,0 +1,126 @@
+<html>
+<! $Id: intrinsics.html,v 1.2 1998/08/19 16:59:36 abial Exp $ >
+<head>
+<title><center>Details of building process</center></title>
+</head>
+<body>
+<h1><center> Details of building process.</center></h1>
+
+<p>For those of you who really want to know what's going on behind the scene,
+and can't quite deduce it from scripts themselves, here's short description of
+the build process:</p>
+
+<ul>
+<li> The './build' script sets the basic parameters of the floppy, such as:
+<ul>
+<li> LANGUAGE: language of the various system messages, and C locale.
+ Available choices are: "en" (English) and "pl" (Polish).
+</li>
+<li>
+ SIZE: size of the memory filesystem (MFS), which will contain all the
+ binaries (except the kernel). Make it big enough for all the pieces to
+ fit, but keep it as small as possible (remember that running system
+ needs some space in /var and /tmp!). Presently, "dial" type of floppy
+ requires at least SIZE=1700, and others require ca. 2800 (numbers
+ are in kB).
+</li>
+<li>
+ TYPE: determines which set of programs and which trees will be
+ installed on the floppies. This simply acts as a selector to dive into
+ respective subdirectories in ../. Presently, the TYPE can be one of:
+ "dial" (dialup floppy), "net" (networking floppy), "router" (router
+ floppy) or "isp" (work in progress - not really usable yet).
+</li>
+</ul>
+<li>
+ Then the './build' scripts checks if there is a kernel built on basis
+ of previously set parameters. The check is error prone, but is simple:
+ the target config file is called PICOBSD-${TYPE}.${SIZE}, and if there
+ exists a file called /sys/compile/PICOBSD-${TYPE}.${SIZE}/kernel, then
+ it is assumed it's the right one.
+
+<p> If there is no such file, the script starts compilation of the kernel,
+ using template in ../${YTPE}/conf/PICOBSD, and adding parameters which
+ determine the built-in MFS size.</p>
+<li>
+ Then the './build' script starts the consecutive stages of the build
+ process, which are performed by scripts (in the following order):
+ stage1, populate, stage2, stage3.
+</li>
+<li>
+ 'stage1' prepares the file called fs.PICOBSD with given size - it's a
+ placeholder for the future MFS. Next, it turns it into device (using
+ vnconfig), and then performs some tricks :-) which allow for
+ doing 'disklabel'. I use the 'auto' option to disklabel(8), which
+ behaves strangely in 2.2.x - what it's supposed to do is to
+ automagically determine the disk parameters from the underlying
+ device (in this case, /dev/rvn0). This works ok in 3.0-current, and
+ allows for using arbitrary (>1024kB) MFS sizes.
+
+<p> One notable exception here is with the "router" floppy - I use one
+ of extended floppy formats (820kB).</p>
+
+<p> After the file is labelled, the newfs(8) is run. Here you can adjust
+ the parameter -i, which can gain you some space on the MFS (sacrificing
+ available number of inodes, so be careful).</p>
+
+<p> Such prepared blank filesystem is mounted on /mnt. Here the stage1
+ ends.</p>
+</li>
+<li>
+ 'populate', as its name suggests, transfers all the pieces which will
+ reside in MFS, to the filesystem mounted on /mnt. This includes:
+<ul>
+<li> copying language dependent files from ../${TYPE}/lang/</li>
+<li> making the MFS hierarchy according to informations in
+ ../${TYPE}/mfs.tree/ subdir.
+<p> The MFS tree includes the /etc, which will contain the startup file
+ /etc/rc.
+ This file in turn doesn't do anything useful except copying the
+ real /etc hierarchy from the floppy filesystem. (There's one possible
+ improvement which comes to my mind - to have the whole /etc on the
+ floppy in tar.gz - this would require only one inode to store the whole
+ /etc, and we could gain some kB on the floppy)</p>
+</li>
+<li> making and installing the set of crunched programs, basing on the
+ description in ../${TYPE}/crunch1/crunch.conf. This involves
+ making the 'crunch', copying it to /mnt and making hard links to
+ the names of all the programs contained therein.</li>
+<li> preparing a short list of kernel symbols, which will be used by
+ various utilities at runtime. In case of "net" and "isp" floppy, it also
+ prepares the kvm_kernel.db database, which will be used by such
+ programs as ps, netstat and others</li>
+<li> preparing the list of "virgin" configuration of devices in kernel -
+ this list will be used by kget(8) program to save the changes to
+ /kernel.config file.</li>
+</ul>
+</li>
+<li>
+ 'stage2' prepares the target kernel. It takes the filesystem contained
+ in fs.PICOBSD (which has all the above pieces inside), and writes it
+ into the target kernel. Then it kzip(8)'s such construed kernel. This
+ process also strips the symbols from the kernel (that's why we prepared
+ the symbol list earlier).
+</li>
+<li>
+ 'stage3' does almost the same as 'stage1', but this time it prepares
+ the filesystem of the target floppy. Default size for the floppy is
+ set at 1440kB.
+<p> After preparing the filesystem (which again involves doing disklabel(8)
+ and newfs(8) - here you can notice that the resulting FS has very small
+ number of inodes in order to save space), the script transfers the
+ floppy hierarchy (which is
+ taken from ../${TYPE}/floppy.tree). Notice that it also contains
+ the /etc directory - its contents is copied right after bootup to the
+ real /etc in MFS. This allows for changing the system behaviour
+ (because you can't change the MFS contents without recompiling).</p>
+<p> The script finally copies previously prepared kernel to the floppy
+ filesystem. The filesystem is unmounted, and here the build process
+ ends.</p>
+</li>
+</ul>
+
+<h6>
+Last modified:
+Wed Aug 19 18:49:08 CEST 1998
+</h6>
diff --git a/release/picobsd/doc/intro.html b/release/picobsd/doc/intro.html
new file mode 100644
index 0000000..6c5ce16
--- /dev/null
+++ b/release/picobsd/doc/intro.html
@@ -0,0 +1,300 @@
+<HTML>
+<! $Id: intro.html,v 1.6 1998/08/19 17:32:59 abial Exp $ >
+<HEAD>
+ <TITLE>PicoBSD</TITLE>
+</HEAD>
+<BODY>
+
+<CENTER><h1><B>PicoBSD</B></h1>
+<HR shade align="center" size="8" width="25%"></P></CENTER>
+
+
+<IMG SRC="icons/daemon.gif" ALIGN="right">
+<p><b>Contents:</b></p>
+<ul>
+<li>
+<A HREF="#what">What is it</a>, and
+<A HREF="#hardware">what hardware is supported?</a>
+</li>
+<li>
+<A HREF="#where"><b>Where can I get it?</b></a>
+</li>
+<li>
+<A HREF="#how">How can I use it?</a>
+</li>
+<li>
+<A HREF="#create">Create your own, custom version of PicoBSD!</a>
+<p>Get the full PicoBSD Development Kit as well as full CVS repository of
+the project.</p>
+</li>
+<li>
+<A HREF="#info">Where can I get more info?</a>
+</li>
+<li>
+<A HREF="bugs.html">Release history and bugs parade...</a>
+<li>
+<A HREF="#future">Plans for the future.</a>
+</li>
+<li>
+<A HREF="#credits">Credits</a>
+</li>
+<li>
+<A HREF="#license">Licensing issues</a>
+</li>
+<li>
+<A HREF="faq.html">FAQ</a>
+</li>
+</ul>
+
+<HR shade align="center">
+<HR shade align="center">
+
+<A NAME="what"><h3>What is it?</h3>
+<p>If you ever dreamed about having really small, tiny, minimal system that
+would offer you benefits of Unix, while still fitting in reasonable space -
+here it is!</p>
+
+<p>PicoBSD is a one floppy version of
+<A HREF="http://www.freebsd.org/">FreeBSD</a> 3.0-current, which in its
+different variations allows you to have secure dialup access, small diskless
+router or even a dial-in server. And all this on only one standard 1.44MB
+floppy - no need to sacrifice over 100MB of your precious HDD space.</p>
+
+<p>PicoBSD is... well, pico-sized :-) , and the minimal hardware that
+is required to run it is 386SX CPU with 8MB of RAM (no HDD!).
+</p>
+
+<A NAME="hardware">
+<p>Here you can find detailed <A HREF="hardware.html">list of supported
+hardware and features</a>.
+
+<p>Current version of PicoBSD is 0.4, and this means that I consider it
+greatly immature, while on the other hand being somewhat tested and improved
+over previous versions. Does it tell you something? Well, at least you can
+try it - I cannot guarantee that it doesn't burn your house or blow up your
+machine, though the former is unlikely... :-)</p>
+
+<HR shade align="center">
+<A NAME="where"><h3>Where can I get it?</h3>
+<p>There are two language editions of PicoBSD - English and Polish one. You'll
+be probably more interested in the former :-) The only difference is in
+the set of fonts included, C locale, and the language of messages.</p>
+<p>You can download them from www.freebsd.org or one of its mirrors:</p>
+<ul>
+<li>Dialup version: <A HREF="http://www.freebsd.org/~picobsd/picobsd/pb_en-D.bin">English</a>
+(<A HREF="http://www.freebsd.org/~picobsd/picobsd/doc_dial/README.en">README</a>) or
+<A HREF="http://www.freebsd.org/~picobsd/picobsd/pb_pl-D.bin">Polish</a>
+(<A HREF="http://www.freebsd.org/~picobsd/picobsd/doc_dial/README.pl">README</a>)
+</li>
+<li>Networking (formerly known as 'router-like') version: <A HREF="http://www.freebsd.org/~picobsd/picobsd/pb_en-N.bin">English</a>
+(<A HREF="http://www.freebsd.org/~picobsd/picobsd/doc_net/README.en">README</a>)
+ or <A HREF="http://www.freebsd.org/~picobsd/picobsd/pb_pl-N.bin">Polish</a>
+(<A HREF="http://www.freebsd.org/~picobsd/picobsd/doc_net/README.pl">README</a>)
+</li>
+<li>Router version: <A HREF="http://www.freebsd.org/~picobsd/picobsd/pb_en-R.bin">English</a>
+(<A HREF="http://www.freebsd.org/~picobsd/picobsd/doc_router/README.en">README</a>)
+ or <A HREF="http://www.freebsd.org/~picobsd/picobsd/pb_pl-R.bin">Polish</a>
+(<A HREF="http://www.freebsd.org/~picobsd/picobsd/doc_router/README.pl">README</a>)
+</li>
+<li>Dial-in server version: waiting for <A HREF="beta.html">beta testers</a> ... :-)
+</ul>
+
+<p><i>(See the <A HREF="hardware.html">feature list</a> for more
+details)</i></p>
+
+<p>The above floppies were built from 3.0-current sources. Though they
+provide more features, they tend to be less stable than the latest
+RELEASE of FreeBSD. Dinesh Nair back-ported these scripts to the
+latest release (2.2.5), and continues development of PicoBSD using sources
+from that branch. You can find floppies built from 2.2.5 sources
+<A HREF="http://www.freebsd.org/~picobsd/picobsd225/">here</a> or at
+<A HREF="http://info.net-gw.com/picoBSD/">his server</a>.</p>
+
+<HR shade align="center">
+<A NAME="how"><h3>How can I use it?</h3>
+<p>Previous versions were packed with PKZIP(tm) compatible program - now they
+are simply the raw binary floppy images, so you just need to grab the
+appropriate version of the file.</p>
+
+<p>I assume you will use 1.44MB floppy to boot the system - other sizes
+(bigger) are not tested.</p>
+
+<p>The file 'pb_xx-X.bin' must be written onto a blank floppy. It does NOT
+mean that it can be copied using e.g. DOS 'copy' command. You must use a
+program like
+<A HREF="ftp://ftp.freebsd.org/pub/FreeBSD/tools/rawrite.exe">rawrite.exe</a>
+or
+<A HREF="ftp://ftp.freebsd.org/pub/FreeBSD/tools/fdimage.exe">fdimage.exe</a>
+ to write this file directly on the raw floppy.</p>
+
+<p>Under DOS you would do something like this:</p>
+<pre>
+ C:\> fdimage.exe pb_xx-X.bin a:
+</pre>
+
+<p>while under Unix you would use something like:</p>
+<pre>
+ dd if=pb_xx-X.bin of=/dev/rfd0
+</pre>
+
+<p>Then boot off this floppy and enjoy!</p>
+
+<p>If you feel lost, try the 'help' command (it's available only on "dialup"
+floppies)</p>
+
+<HR shade align="center">
+<h3>Create your own, custom version of PicoBSD!</h3>
+
+<p>I made available also the
+<A HREF="http://www.freebsd.org/~picobsd/picobsd/picobsd.tgz">set of tools</a>
+(a.k.a the PicoBSD Development Kit) I used to create the floppies (see also the
+ <A HREF="how2build.html">detailed instructions</a>)</p>
+
+<p>You can also get the copy of
+<A HREF="http://www.freebsd.org/~picobsd/pcvs.tgz">the CVS repository</a> of
+the project - CVSup operation is still under construction...</p>
+
+<p> Now, if you don't like the setup of PicoBSD, or you miss
+some program, or (better yet) you want to improve PicoBSD - you can grab the
+copy of exactly the same tools I used and build your own, customized
+ version! </p>
+
+<p>Think of it: if your're an ISP, you can build the dialup version for
+ your customers, including some scripts to automatically connect them to
+your site. You can also create a demo disk for your friend (or your boss! :-)).
+You can also build a firewall/router for your office, etc, etc...
+ possibilities are really endless and limited only by your imagination.</p>
+
+<p>You will need at least 10MB of free disk space for building, and of course
+the full system sources installed. I also assume that the sources are
+quite -current. There is also a back-ported version of the scripts prepared by
+<A HREF="mailto:dinesh@alphaque.com">Dinesh Nair</a> which builds ok on
+2.2.6-R systems.</p>
+
+<p>Version 0.31 was packed with pax(1) - newer versions are packed again
+with tar and gzip to avoid confusion... :-)</p>
+
+<p>I'm very interested in hearing from you about your experiences - if you
+come up with a setup you think is interesting, please let me know!</p>
+
+<HR shade align="center">
+<A NAME="info"><h3>Where can I get more info?</h3>
+
+<p>Almost all of the programs included on the floppies are exactly the
+same versions as in normal FreeBSD installation, so that the normal
+manual pages apply. However, I didn't include the manpages themselves -
+they would take over 200kB!</p>
+
+<p> For the total newbies, which would use (I assume)
+the 'dialup' version, there is a short README on the floppy which gives
+step by step instructions on how to get a dialup connection. There is also
+a script called 'dialup' which attempts to configure PPP to allow for automatic
+log in to your provider, and for background operation.
+There is also a small help system ('help' command)</p>
+
+<p> There are some system utilities which are unique to PicoBSD, and at this
+ moment they are documented in detail only in source and READMEs :-(.</p>
+
+
+<p>As for the new releases which will (hopefully) be prepared in the future:
+just keep an eye on this page. I'll also send announcements to FreeBSD mailing
+lists.</p>
+
+<HR shade align="center">
+<A NAME="future"><h3>Plans for the future</h3>
+
+<p>Well, I hope that thanks to your comments I'll be able to continuously
+improve the setup and contents of PicoBSD. I also have specific dreams (if
+dreams can be specific..) - here they are, as an incentive to your
+imagination and coding skills:</p>
+<ul>
+<li>
+To write a command line tool patterned after Cisco IOS, which could configure
+various aspects of router-like version of PicoBSD. I'm nowhere near with this
+goal - I even don't have any good idea how to do it cleanly (I do have some
+ideas, but I classify them as dirty hacks).
+</li>
+<li>
+To put an XWindow-like GUI on the 'dialup' floppy. (Update: you can look at
+<A HREF="http://www.freebsd.org/~picobsd/preview/preview2.tgz">preview
+version</a> and send me your comments).
+</li>
+<li>
+To gain some experience with solid state disks, and prepare standard images
+for e.g. 4MB versions of SSD, with Cisco 25xx-like contents... I also hope
+ to achieve this goal in the nearest
+future, thanks to involvement of some PicoBSD enthusiast :-)</p>
+(Update: I'm experimenting with an M-System's 16MB flash right now, and
+there is also ongoing development for a driver for their DiskOnChip)
+</li>
+<li>
+To be able to boot from more primitive filesystem than FFS - DOS or Minix
+would be just fine, as they don't waste so much space for their internals.
+</li>
+<li>
+To have an alternative to current MFS - it wastes a lot of space just
+because it mimicks the normal FFS on top of memory blocks...
+</li>
+<li>
+To further minimize the memory footprint of router-like setup. I'd like it
+to be able to run truely effortlessly on 4MB machines... This would
+probably include rewriting oinit(8) to run multithreaded.
+</li>
+<li>
+And many others, too vague to put them here. <b>You</b> can also suggest me
+some others applications/solutions you're dreaming of...
+</li>
+</ul>
+
+<A NAME="credits"><h3>Credits</h3>
+
+<p>The following people are either responsible for the very existence of this
+project, or significantly eased my pains of gaining necessary knowledge:</p>
+<ul>
+<li>
+the whole FreeBSD team for this magnificent OS, and their hard work of
+continuous development,
+</li>
+<li>
+Dinesh Nair, for co-development and preparing of the version which compiles
+on -RELEASE,
+</li>
+<li>
+Joe Greco, for his encouraging example of XKERNEL (some parts of the scripts
+still bear his fingerprints :-) (you can get it
+ <A HREF="../../../xkernel.tgz">here</a>).
+</li>
+<li>Goran Hasse of <A HREF="http://www.raditex.se">Raditex AB, Sweden</a>, for
+sending me an M-Systems' flash disk to experiment with.
+</li>
+<li>
+Mike Smith for various tips and encouragement.
+</li>
+<li>
+freebsd-* mailing lists participants, which helped me with some other
+pieces.
+</li>
+<li>
+and many other people who keep encouraging me to continue this work. Thanks,
+guys!
+</li>
+</ul>
+
+<A NAME="license"><h3>Licensing issues</h3>
+
+<p>PicoBSD is distributed under BSD copyright,
+which allows you to use it in various ways, including commercial
+applications. So grab it and enjoy! And if you feel that you want to help
+with this project, either by donating some time to write code, or by
+some other donation, just <A HREF="mailto:abial@nask.pl">contact me</a>.</p>
+
+<h5>Last modified:
+Fri Aug 7 08:35:20 CEST 1998
+</h5>
+
+<HR shade align="left" size="2" width="100%">
+<CENTER><h5>Any comments? Send them to
+<A HREF="mailto:abial@nask.pl">the author</A> </h5></CENTER>
+
+</BODY>
+</HTML>
OpenPOWER on IntegriCloud