diff options
author | abial <abial@FreeBSD.org> | 1998-08-27 17:38:45 +0000 |
---|---|---|
committer | abial <abial@FreeBSD.org> | 1998-08-27 17:38:45 +0000 |
commit | d38ad5332060d44f048e5b407d0b8e17da9a909c (patch) | |
tree | 3a1c3f90cb24f6c1da60d6fc980d38317610a4c8 /release/picobsd/doc | |
download | FreeBSD-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.html | 82 | ||||
-rw-r--r-- | release/picobsd/doc/faq.html | 208 | ||||
-rw-r--r-- | release/picobsd/doc/hardware.html | 107 | ||||
-rw-r--r-- | release/picobsd/doc/how2build.html | 177 | ||||
-rw-r--r-- | release/picobsd/doc/intrinsics.html | 126 | ||||
-rw-r--r-- | release/picobsd/doc/intro.html | 300 |
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 <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. 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> +<BR> +<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>&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"><abial@nask.pl></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> |