Index: head/release/picobsd/doc/src/Makefile =================================================================== --- head/release/picobsd/doc/src/Makefile (revision 40701) +++ head/release/picobsd/doc/src/Makefile (revision 40702) @@ -1,14 +1,17 @@ # -# $Id$ +# $Id: Makefile,v 1.1 1998/09/26 17:23:01 abial Exp $ # .include "../../Version" +DATE!="date" + DOCS= bugs.html faq.html hardware.html how2build.html \ - intrinsics.html intro.html + intrinsics.html intro.html TODO.html all: ../../Version - for i in `ls *.html`; \ + for i in ${DOCS}; \ do \ - cat $${i}|sed -e 's/@VER@/${VER}/g' >../$${i}; \ + cat $${i}|sed -e 's/@VER@/${VER}/g' \ + -e 's/@DATE@/${DATE}/g' >../$${i}; \ done Index: head/release/picobsd/doc/src/TODO.html =================================================================== --- head/release/picobsd/doc/src/TODO.html (nonexistent) +++ head/release/picobsd/doc/src/TODO.html (revision 40702) @@ -0,0 +1,154 @@ + + + +

Small FreeBSD ToDo List. +

+ +

This list represents various tasks which are being collected from +discussions on freebsd-small, and which represent the general +direction and needs of using FreeBSD for small installations.

+ +

The tasks are arranged by how important they are to the overall +idea and goals of the project. If you are interested in doing some +part of the work, please contact the coordinator of PicoBSD project +(Andrzej Bialecki).

+ +
+ +

Short term tasks:

+ + +
+ +

Medium term tasks:

+ + + +
+ +

Long term tasks:

+ + + +
+ +

Other half-baked ideas...

+ +

(fill this in :-)

+ +
+Last modified: +@DATE@ + + +

Send your comments, ideas, and most importantly the code itself, to +abial@freebsd.org.

+ + + Property changes on: head/release/picobsd/doc/src/TODO.html ___________________________________________________________________ Added: svn:keywords ## -0,0 +1 ## +FreeBSD=%H \ No newline at end of property Index: head/release/picobsd/doc/src/bugs.html =================================================================== --- head/release/picobsd/doc/src/bugs.html (revision 40701) +++ head/release/picobsd/doc/src/bugs.html (revision 40702) @@ -1,129 +1,129 @@ - + History and Bug fixes

History and List of Bugfixes

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.

We tried to make this software bug-free, but life is life... Sorry for the inconvenience.

PicoBSD 0.42

PicoBSD 0.41

PicoBSD 0.4

PicoBSD 0.31

PicoBSD 0.3

The following bugs were found in this release of PicoBSD:

Last modified: -Mon Oct 12 00:51:45 PDT 1998 +@DATE@

Any comments? Send them to the author
Index: head/release/picobsd/doc/src/faq.html =================================================================== --- head/release/picobsd/doc/src/faq.html (revision 40701) +++ head/release/picobsd/doc/src/faq.html (revision 40702) @@ -1,247 +1,247 @@ - + PicoBSD FAQ

The PicoBSD FAQ


What is PicoBSD ?

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 PicoBSD home page.

What is this "pico" in the name?

It's an SI measure unit, which is equivalent of 10e-12. This is a good approximation of more colloquial "extremely small".

You can also think of normal FreeBSD as a system infested with fully grown daemons, and PicoBSD as a system infested with "the little people" :-).

What version of FreeBSD is PicoBSD based on ?

PicoBSD has versions based on FreeBSD 3.0-RELEASE, 3.0-current and FreeBSD 2.2.5-RELEASE. Andrzej Bialecki maintains the FreeBSD 3.0-RELEASE and -current versions and Dinesh Nair maintains the FreeBSD 2.2.5-RELEASE version. Both the versions don't differ by much except for the following:

As far as possible, both versions will be kept functionally similar, but occasionaly divergence may occur.

What is current version of PicoBSD?

Current version of PicoBSD is @VER@.

What can PicoBSD do?

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.

What are PicoBSD's minimum requirements?

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.

In case of "router" flavor, its requirements are even smaller: it can run in only 4MB of RAM, on a 386SX CPU.

Where do I get PicoBSD?

PicoBSD is available at the following locations: Additional mirror sites will be brought online as demand increases. If you're interested in mirroring the PicoBSD distribution, please get in touch with Dinesh Nair or Andrzej Bialecki.

How do I copy it to the floppy?

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 MSDOS COPY or Unix cp commands. Instead, an image copy must be done using tools such as  rawrite.exe or fdimage.exe under MSDOS and dd under Unix.

Under DOS you would do something like this:

while under Unix you would use something like:

How do I configure dialup PPP access on the Dialup flavour?

There is an auto-configuration script to configure PPP dialup access. Run /stand/dialup 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 /stand/update.

How do I set my DNS server ?

Use the provided /stand/ee editor and edit /etc/resolv.conf. Replace the domain with your domain and change the nameserver IP address to your nameserver or your ISP's nameserver. You may have as many nameserver lines as you want. Don't forget to run /stand/update to commit your changes to the floppy.

NOTE: starting with version 0.4, the dialup scripts asks you to set your nameserver as well as default domain name.

I can't execute the /stand/update on the "router" floppy.

The "router" floppy doesn't contain any real shell, so some commands work differently (and some don't work at all). In order to use this script you have to source it in, i.e.:

 	(48)/# pwd
 	/
 	(48)/# . /stand/update
 

How do I set my hostname ?

Edit /etc/rc.conf and change the value of the hostname variable.

PicoBSD has "mkdir" but not "rmdir". How can I delete subsdirectories?

"rm -d" will delete directories.

Can I use a modem configured on COM3/COM4 instead of COM1, COM2?

Yes, but these ports are initially disabled - most machines have only two serial ports anyway. You have to enable them in UserConfig.

Here are the preferred settings:

I see a configuration conflict the first time I boot PicoBSD. What should I do?

Disable those devices which are not present in your machine. If there is still some conflict, change the settings (I/O port, IRQ etc.).

Exception: if you're using a PS/2 mouse, the visual configuration tool will display CONF for sc0 and psm0. The default settings are correct, and you should simply ignore the warning.

What kind of SCSI support is there?

None. Either build your own version of PicoBSD, or just install normal FreeBSD distribution.

Using version 0.4 I get many strange messages on my console...

This is related in large part to DEVFS subsystem - it is still somewhat experimental, and its author left some diagnostics turned on.. They are harmless. Versions 0.4x, x>0 don't use DEVFS at all, as it was too experimental to work reliably...

How do I connect using PPP ?

Just run the PPP process, /stand/ppp. at the ppp on pico> prompt, type dial and sit back and wait for the modem to sing it's mating tunes. When the ppp on pico> prompt is capitalized to PPP on pico>, you've managed to succesfully achieve a link-level PPP and TCP/IP connection with your ISP. Additionally, the PPP program will enter Packet Mode. Remember, don't quit or close the PPP connection if you want to continue to access the Internet.  Type help at the ppp on pico> prompt for a list of PPP commands.

The PPP process is running on my screen. How do I use the browser or telnet to a host ?

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.

I can't establish a PPP connection. The mouse pointer randomly appears and disappears. and moving the mouse has no effect.

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 '. Edit /etc/rc.conf to specify the correct mouse port. Issue an 'update' commmand to save new configuration to the floppy, and reboot.

I saved my lynx configuration but it was not there when I rebooted. Why ?

The lynx configuration is saved in /etc/lynx.cfg. You should run /stand/update to commit this to the floppy when you change the configuration. In effect, anything you change in /etc can be committed by running /stand/update.

How come there are no manual pages ?

Well, this is a floppy-sized OS, so there's not enough space for full manpages. Instead, short help descriptions are given with the /stand/help program. If you need more detailed descriptions, take a look at the FreeBSD Handbook or the FreeBSD Home.
 
 


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!

Last Modified: -Thu Oct 15 23:31:28 CEST 1998 +@DATE@

Index: head/release/picobsd/doc/src/hardware.html =================================================================== --- head/release/picobsd/doc/src/hardware.html (revision 40701) +++ head/release/picobsd/doc/src/hardware.html (revision 40702) @@ -1,107 +1,112 @@ - +

Lists of supported hardware configurations.

Below you will find supported configurations for each of the flavors of PicoBSD as of version @VER@, as well as the lists of programs included.

Dialup version:

Router-like version:

Router version:

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 I need some people to test the early dial-in server version.

+ +
+Last modified: +@DATE@ + Index: head/release/picobsd/doc/src/how2build.html =================================================================== --- head/release/picobsd/doc/src/how2build.html (revision 40701) +++ head/release/picobsd/doc/src/how2build.html (revision 40702) @@ -1,189 +1,193 @@ - + <center>PicoBSD Development Kit</center>

How to build your own version of PicoBSD?

  1. Get the file picobsd.tgz. It contains the scripts you'll need. Also, I assume you run quite -current system with full sources installed.

    NOTE1: beginning with version 0.4, PicoBSD sources are maintained as part of official FreeBSD CVS repository, so if you have recent source tree you can find them in /src/release/picobsd.

    NOTE2: 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 Dinesh Nair which allows to build PicoBSD floppies on a earlier systems.

    Unpack the archive into your src/release/picobsd. You'll need at least 5MB of free space.

  2. Change working directory (cd build) and run the ./build 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/, router/, isp/ and net/ directories respectively. You should at least check ${TYPE}/config/PICOBSD file to make sure it contains the drivers you want.

    You can also choose a special type called 'custom'. You'll need to supply the full path to your own custom config tree constructed exactly like one of the standard config directories. Also, you'll probably want to adjust the number of inodes on MFS - see the stage1 script and look for INODES=.

    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 /kernel.config file.

  3. I assume you will use 1.44MB floppy. If not, please edit the file build/stage3.
  4. There are several directories which contain some sources and config files:
     	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
     

    There are no /etc/passwd nor /etc/pwd.db files on the "dial" floppy - in case of other types, they are reconstructed from /etc/master.passwd on each startup (and then put on MFS with the rest of /etc). In case of "dial" type floppy, you don't need them at all.

    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 login: prompt appears. In other words, it is almost equal to read-only floppy.

  5. Edit the set of installed programs.
  6. 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').
  7. You'll need at least 9MB of free disk space, and free /mnt directory.
  8. Do a cd build/ and fire off the ./build 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.

    WARNING: make sure you don't have stale .depend files around!!! You may encounter many strange errors during build process in that case.

    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:

    You can also remove 2>&1 redirections from Makefiles to see the stderr.
  9. Transfer this file to the floppy:
     		dd if=picobsd.bin of=/dev/rfd0
     
    (The 'build' script asks you if you want to do this.)

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.

If, for some reason, the scripts don't work for you at all, also let me know.

-<abial@nask.pl> +
+Last modified: +@DATE@ + +

<abial@nask.pl>

Index: head/release/picobsd/doc/src/intrinsics.html =================================================================== --- head/release/picobsd/doc/src/intrinsics.html (revision 40701) +++ head/release/picobsd/doc/src/intrinsics.html (revision 40702) @@ -1,126 +1,126 @@ - + <center>Details of building process</center>

Details of building process.

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:

Last modified: -Wed Aug 19 18:49:08 CEST 1998 +@DATE@
Index: head/release/picobsd/doc/src/intro.html =================================================================== --- head/release/picobsd/doc/src/intro.html (revision 40701) +++ head/release/picobsd/doc/src/intro.html (revision 40702) @@ -1,306 +1,306 @@ - + PicoBSD

PicoBSD


-

Contents:



What is it?

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!

PicoBSD is a one floppy version of FreeBSD 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.

PicoBSD is... well, pico-sized :-) , and the minimal hardware that is required to run it is 386SX CPU with 8MB of RAM (no HDD!).

Here you can find detailed list of supported hardware and features.

Current version of PicoBSD is @VER@, and this means that I consider it still 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... :-)


Where can I get it?

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.

You can download them from www.freebsd.org or one of its mirrors:

(See the feature list for more details)

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 here or at his server.


How can I use it?

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.

I assume you will use 1.44MB floppy to boot the system - other sizes (bigger) are not tested.

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 rawrite.exe or fdimage.exe to write this file directly on the raw floppy.

Under DOS you would do something like this:

 	C:\> fdimage.exe pb_xx-X.bin a:
 

while under Unix you would use something like:

 	dd if=pb_xx-X.bin of=/dev/rfd0
 

Then boot off this floppy and enjoy!

If you feel lost, try the 'help' command (it's available only on "dialup" floppies)


Create your own, custom version of PicoBSD!

I made available also the set of tools (a.k.a the PicoBSD Development Kit) I used to create the floppies (see also the detailed instructions)

You can also access the full CVS repository of PicoBSD - beginning with version 0.4 it's a part of official FreeBSD CVS and lives in src/release/picobsd. I also create the snapshots of this source tree - keep in mind that they are not so up-to-date as the tree in FreeBSD CVS. You can get the snapshot I made on Mon Oct 12 00:53:02 PDT 1998 here.

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!

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.

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 Dinesh Nair which builds ok on 2.2.6-R systems.

Version 0.31 was packed with pax(1) - newer versions are packed again with tar and gzip to avoid confusion... :-)

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!


Where can I get more info?

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!

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)

There are some system utilities which are unique to PicoBSD, and at this moment they are documented in detail only in source and READMEs :-(.

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.


Plans for the future

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:

Credits

The following people are either responsible for the very existence of this -project, or significantly eased my pains of gaining necessary knowledge:

+project, or significantly eased my pains in gaining necessary knowledge:

Licensing issues

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 contact me.

Last modified: -Fri Sep 4 01:17:44 PDT 1998 +@DATE@

Any comments? Send them to the author