386BSD 0.0

From Computer History Wiki
Jump to: navigation, search
386BSD 0.0 floppy

386 BSD 0.0 ... is bare. It is not what you would expect, being spoiled in multiuser systems!

As they state:

At the moment, 386BSD comes up single user, and requires manual starting of the system daemons, as well as filesystem checks. In use, one would minimally wish to type after booting:

fsck -p
mount -a

This will improve in forthcoming versions of 386BSD. Be aware that the user is running as the super-user, and care should be taken given the maximum privileges present.

That is right, no login, you are just running as root!!!!

The 0.0 announcement

386BSD 0.0 announcement


There have been three releases 
of "0.0", though.  The first wasn't really intended for global release, and 
was quickly followed by a "fixup" release, called "0.0new" by some.  Then 
another fixup version of 0.0 was released.  According to Bill, this couldn't 
be called 0.1, as there was something called 0.1 and 0.2 already in Beta 
test at a few sites.  So it stayed 0.0, and has been identified as "0.0newer" 
and the "3/17" release of 0.0, that I've seen.  (Possibly others, as well?) 

Oh man, no wonder it's so... confusing!? source from here, I wonder which one we have......

what runs

Well there isn't even a 'ps' command! Gcc is version 1.39! A 'full' install, binaries and source is 43mb! this is a super bare bones port!

  • Ethernet seems to be only WD 8003 cards, and NE2000 ...

building a kernel easily causes it to trap!..

danger ahead!

building a kernel

the first thing you'll have to deal with is missing commands..

  • sort
  • grep
  • test / [

getting this to run

So far no emulator can install from the boot disk. So I cheated.

NetBSD 0.8's floppy driver works (probably 386BSD 0.0p23 & 24 too) so I mounted the 0.0 floppy and copied the contents off. Then I took a copy of my NetBSD 0.8 hard disk (which started as 386BSD 0.1) newfs'd the a partition, mounted it, and copyied in the 0.0 files.

Much to my surprise not only did the 0.1 bootblocks load the 0.0 kernel, but the 0.0 kernel reads the 0.1 disk just fine.

And all the 'errors' about stray interrupts and 'format error in bad-sector file' are normal (it's in usenet) as 0.0 was a very touchy animal.<ref>actually it is still present in later version but controlled by wdquiet variable. --Roytam 06:54, 14 April 2012 (PDT)</ref> So, ignoring the floppy I ran it under Qemu and it's 'fast!...' but it works better when the clock is in the 1990's otherwise it'll reset back to 1970 and things act weird.

qemu -L pc-bios -hda 386bsd.disk -M isapc -net nic -net user -no-reboot -m 8 -startdate "1993-12-07"

right now the fastest and best option is Qemu. 0.11.1 is the highest version to work, as the 'SEABios' has issues with the boot loader. My image is here. The ethernet doesn't work right, just a few stray interrupt 0's then it freezes up. I wonder if it could be timing, that maybe a way to slow qemu down....?

critical patches

There was a flurry of fixes and addendums for 0.0 as it was a little rough around the edges..