NetBSD 0.8 kernel boots!

Well, ok it’s not 100% the NetBSD 0.8 kernel, as a good chunk of the files have been intentionally removed from CVS. However from the announcement, it does make it clear that NetBSD 0.8 is 386 BSD pl22 with some pre pl23 changes thrown in. Since patch level 22 is lost, however patch level 23 is still around, then it wasn’t to hard to install a 386 BSD system, patch it to level 23, then unpack the NetBSD 0.8 sources, and fill in the missing parts.

I guess this is the Jurassic Park of kernels?

386bsd-pl22 booted

Anyways, here is the 386 BSD pl 23 kernel booting up

And now..

NetBSD 0.8 booted

NetBSD 0.8 booted

As you can see there is some differences in the boot strings, but at the same time, because so many files were just pulled in from 386 BSD, and I’m still using a 386 BSD userland, it reports itself as 386BSD.

dmesg’s were so small back then, here is the whole thing from the kernel:

386BSD 0.1 (GENERICISA) #2: Sun Dec  5 13:30:14 PST 2010
 root@branch.oldbsd.org:/usr/src/sys.386bsd/arch/compile/J
real mem  = 67104768
avail mem = 64663552
pc0 at 0x60-0x6f irq 1 on isa
pc0: color
wdc0 at 0x1f0-0x1f7 irq 14 on isa
wdc0: 
wd0 at wdc0 slave 0
fdc0 at 0x3f0-0x3f7 irq 6 drq 2 on isa
ne0 at 0x320 irq 10 on isa
 ethernet address 52:54:00:12:34:56
npx0 at 0xf0 irq 13 on isa

Oh well it was moderately interesting.

For the insane, the merged source is here. I’ll provide a snapshot of my build environment, under Qemu here.

This entry was posted in 386BSD, netbsd, qemu by neozeed. Bookmark the permalink.
avatar

About neozeed

What is there to tell? I've loved UNIX like things since I was first exposed to QNX in highschool (we had the Unisys ICONS!), and spent the better time of my teenage years trying to get my own UNIX... I should have bought Coherent in retrospect.. Anyways latched onto Linux in 1992, and then got some old BSD admin books and have been hooked on the VAX BSD & other big/ancient things since...!

7 thoughts on “NetBSD 0.8 kernel boots!

  1. I recently got hold of the real binary distribution of 0.8 (and 386BSD 0.1 with some precompiled ports). I’ll check soon(tm) how it looks when that boots.

    • wow that would be cool to have one way or the other. It has been a few years and I don’t recall if I made available the full list of what I changed, other than I vaguely recall it was on gunkies.

      Let me know if you can share the NetBSD 0.8, so I can add it on sourceforge…. 🙂

      • I tried mailing you at jsteve()supermega… since that was where I got new comment reply from. Maybe that didn’t work?

  2. Hello, do you mean, you’re looking for patchkit-0.2.2.tar.z?
    According to the README.1st
    “This patchkit represents the complete 0.2.2 patchkit, containing
    patch numbers 1 – 109. It’s also the first patchkit to use the
    new experimental patch range 10000 & “optional products” range 90000.”
    The file is located at
    ftp://minnie.tuhs.org/BSD/386bsd-0.1/unofficial/patch-kit/0.2.2

    Or you’re looking for something else related to 386BSD?

    • Its been four years so I’m not 100% sure. I think I eventually found a 0.8 distribution of netbsd without having to back port from 386 bsd

  3. Having read through all your posts regarding ancient versions of NetBSD, I have to say that you did a great job in restoring a 1990s picture of what UNIX computing looked like on commodity hardware. The NetBSD-0.9 binary distribution archive is also awesome. However, kernel floppy image does not boot on QEMU (Bochs BIOS) for some reason. Also, gsrc09 is broken (some files are missing).

    I did my own experiment and figured out that you actually don’t have to install 386BSD or load the floppy in Bochs before getting NetBSD-0.8 to run in QEMU. Just copy NetBSD 0.8 AHA kernel (386bsd) to a FreeBSD 1.0 boot floppy (correct me if I remembered the wrong release), and it will work like a charm. Well, to put it simply, this means using FreeBSD’s boot code to load NetBSD kernel given that they both derived from 386BSD 🙂 It is NetBSD’s buggy floppy boot code that is to blame, but to debug boot code is out of the scope of my project.

    For 0.9, I am unsure if the CVS checkout (netbsd-0.9-src.tar.gz) can be used instead for /usr/src, but at least a simple grep shows there is probably no “intentionally removed” file (as opposed to 0.8 where tens of files were deleted). Only gsrc09 is damaged, so just replace /usr/src/gnu directory contents with the CVS version. If anyone could find the original copies of gsrc09.024~026 (and make sure they are from the same CD-ROM; better get an ISO image), life would become a lot easier.

    Keep posting cool stuff!

    • A while ago I found a dump of the 1993 tree to the original NetBSD 0.8 here, although, it kind of kills the spirit of splicing in bits of 386BSD pl32 and NetBSD 0.9 to get a booting system, but it’s been saved!

      I’ll try to take a look at the broken gsrc, I’m not sure whats up with that, I did build world at one point, so I’d have to assume it was whole at one point.

      I’m glad you enjoyed the whole article set, sadly at the time, the majority of the feedback I got from people was ‘why bother’, and that 0.8 is too old to care about. But I still view NetBSD 0.8 & 0.9 as a historical significance along with 1.2 with the return to the VAX!

Leave a Reply

Your email address will not be published.

Notify me of followup comments via e-mail. You can also subscribe without commenting.