# 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.2-RELEASE, 4.0-current and FreeBSD 2.2.5-RELEASE. Andrzej Bialecki maintains the FreeBSD 3.x-RELEASE and -current versions and Dinesh Nair maintains the FreeBSD 2.2.5-RELEASE version. Both the versions are different:

- the 3.x-RELEASE version is the one actively maintained, and provides support for many new devices
- the 2.2.5-RELEASE version is not maintained anymore - the only difference is that it has lynx on board.

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 as low as 4MB of RAM, on a 386SX CPU.

Where do I get PicoBSD?

PicoBSD is available at the following locations:

- PicoBSD based on FreeBSD 3.0-RELEASE and -current maintained by Andrzej Bialecki
- PicoBSD based on FreeBSD 2.2.5-RELEASE prepared by Dinesh Nair

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:

    C:\> fdimage.exe picobsd.flp a:

while under Unix you would use something like:

dd if=picobsd.flp of=/dev/rfd0

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 script 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:

- sio0=COM1: port 0x3f8, irq 4, used by default for mouse (/dev/cuaa0)
- sio1=COM2: port 0x2f8, irq 3, used by default for modem (/dev/cuaa1)
- sio2=COM3: port 0x3e8, irq 5, disabled by default
- sio3=COM4: port 0x2e8, irq 10, disabled by default

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: @DATE@