Darwin 0.3 booted multiuser!


I know it doesn’t look exciting, but really it is!


NetInfo is completely broken, but I just disabled it, I don’t think anyone cares.  It is missing some kernel system call, and copying the one from Rhapsody results in missing calls in the /System library.  So instead of spending more time on it, I just had the startup comment it out.

The headers and spiraling dependencies of things is out of control, so it really needs to be re-built.  But there is enough there for it to boot up, you can telnet into it, and compile simple programs.

As far as I’m aware none of the early Darwin’s ever were released as binary for x86, so I guess that is a nice thing.

The EIDE driver is still busted, I spent a day trying to debug it to come to the conclusion that, yes it does lose interrupts.  While stacking OO drivers to add features sure looks nice, it makes fundamental issues, either in the Driver itself, or the object framework (let’s face it, nothing is defect free) hard for an outsider to find.  From the outside I used to think it was either the DMA or the multisector transfers screwing it up, but with source in hand, disabling both did nothing.

4.4 BSD (darwin) (ttyp0)

login: root
[darwin:~] root# hostinfo
Mach kernel version:
Kernel Release 5.5:
Sun Apr 30 10:53:53 SGT 2017; root(rcbuilder):kernel-7/BUILD/RELEASE_I386
Copyright (c) 1988-1995,1997-1999 Apple Computer, Inc. All Rights Reserved.

Kernel configured for a single processor only.
1 processor is physically available.
Processor type: pentium (Intel Pentium)
Processor active: 0
Primary memory available: 64.00 megabytes.
Default processor set: 40 tasks, 71 threads, 1 processors
Load average: 0.99, Mach factor: 0.00
[darwin:~] root#

For people who like this kind of stuff.  In my limited testing, I found some configure scripts don’t like the idea of a Darwin with a major number of zero.  And seeing that this would fall into place during OS X Server 1.0.2, which makes it Rhapsody 5.5.  I don’t think either of the 1.2 or 1.2v3 Rhapsody 5.6 versions were ever released to the public in source, but maybe someone has a copy somewhere.

And, of course here is a gratuitous dmesg.

Kernel Release 5.5:
Sun Apr 30 10:53:53 SGT 2017; root(rcbuilder):kernel-7/BUILD/RELEASE_I386
Copyright (c) 1988-1995,1997-1999 Apple Computer, Inc. All Rights Reserved.

physical memory = 64.00 megabytes.
using 227 buffers containing 1.27 megabytes of memory
available memory = 59.19 megabytes. vm_page_free_count = 1d99
minimum quantum is 10 ms
Copyright (c) 1982, 1986, 1989, 1991, 1993
The Regents of the University of California. All rights reserved.

PCI Ver=2.10 BusCount=1 Features=[ BIOS16 CM1 ]
Found PCI 2.0 device: ID=0x12378086 at Dev=0 Func=0 Bus=0
Found PCI 2.0 device: ID=0x70008086 at Dev=1 Func=0 Bus=0
Found PCI 2.0 device: ID=0x70108086 at Dev=1 Func=1 Bus=0
Found PCI 2.0 device: ID=0x00a81013 at Dev=2 Func=0 Bus=0
Found PCI 2.0 device: ID=0x802910ec at Dev=3 Func=0 Bus=0
PCI bus support enabled
PnP: Plug and Play support enabled
ISA/EISA bus support enabled
ISA bus
DriverKit version 500
hc0: device detected at port 0x1f0 irq 14
hc0: Checking for ATA drive 0… Detected
hc0: Checking for ATA drive 1…
hc0: Checking for ATAPI drive 1…
hc0: Resetting drives…
Registering: hc0
hd0: QEMU HARDDISK 0.9.0
hd0: 4063 cylinders, 16 heads, 63 spt (disk geometry)
hd0: using multisector (16) transfers.
Registering: hd0
hd0: Device Block Size: 512 bytes
hd0: Device Capacity: 1999 MB
hd0: Disk Label: Disk
hc1: device detected at port 0x170 irq 15
hc1: Checking for ATA drive 0…
hc1: Checking for ATAPI drive 0… Detected
hc1: Checking for ATA drive 1…
hc1: Checking for ATAPI drive 1…
hc1: Resetting drives…
hc1: LBA supported.
hc1: buffer type 3, 512 sectors.
Registering: hc1
IDEDisk: disk 0 is ATAPI
Registering: sc0
sd0: QEMU QEMU CD-ROM 0.9.
Registering: sd0 at Target 0 LUN 0 at sc0
sd0: Disk Not Ready
Registering: fc0
Registering: PS2Controller
Registering: PCKeyboard0
PCI bus support enabled
Registering: PCI0
Registering: EISA0
Registering: event0
Registering: kmDevice0
rootdev 300, howto 40000
BusMouse mouseInit: no resolution in config table. Default is 400
Bus mouse running
Registering: BusMouse
Display0: Cirrus Logic GD5434 detected (2097152 Bytes)
Display0: PCI Dev: 2 Func: 0 Bus: 0
Display: Mode selected: 800 x 600 @ 60 Hz (RGB:256/8)
Registering: Display0
NE2000 Generic Driver v0.9.1b
by Gabor Sebestyen

Vendor: RealTek RTL-8029
BASE: 0xc100; IRQ: 11
Registering: en0
en0: Ethernet address 52:54:00:12:34:56
Device inited…

This entry was posted in Darwin by neozeed. Bookmark the permalink.

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...!

9 thoughts on “Darwin 0.3 booted multiuser!

    • I was thinking of using more so as a server, although I want to figur eout how the display port works, for maybe full screen gaming…

      That said, if you overlay a Rhapsody DR2 install, you can use it’s UI…

  1. sorry to post here but but I don’t know where else can I do that

    did you ever play with Microsoft LAN Manager?
    if you did, do you how to setup Microsoft LAN Manager for Remotebooting DOS and windows

    PS: Can you install LAN maanger as a Server on DOS? (because the option for SERVER is geryed in DOS but works on OS/2 for some reason LAN Manager in DOS can only be workstation)

    Thanks for Anwsering and Best Regards

    • you want RIPL, which is what Microsoft used for remote IPL, aka net booting. I’ve only set it up once, and it was in the era of Windows 95, and it was… far far too slow for what we needed, and we dumped it after initially getting it to work.

      The server platform would be OS/2, as it was the ‘higher end’ server, along with HPFS/386 which included hooks for ACL’s unlike the normal user mode HPFS.

      • OK Thanks for you think you could write a tutorial about settings RPL or first on how to setup LAN Manager (as I can’t find anything on google)

        Thanks for Anwsering and Best Regards

        PS: Do you know what can I use Netware 3.12 for? (web server over IPX (is this possible?), because I have it installed in virtualbox and got Client for Netware working on DOS (still don’t know how to mound a netware drive), but now I am stuck I don’t even know how to load apps on it (do you know of any apps that required netware?))

      • Tcpip was an add-on for NetWare, and I only used it on version 4 to do SNMP polling. It’s really only good for mapping drives. The main problem is that NetWare is… Basically a single program. It doesn’t do process isolation, so one NLM can crash the whole thing down. I’ve seen Oracle for NetWare, although to say it was temperamental is a great understatement.

        UNIX, and Windows NT are far superior hosting platforms, and that is why both are still around to this day.

        In my experience, the NetWare file and print services for Windows NT, is the way to go, if you really need IPX/SPX, but nobody needs it.

        Even Microsoft Windows for Workgroups offers a far superior groupware solution as it not only supports sharing drives and printers, but it also has a simple network chat program, and includes a the mail post office.

        It was around this point, 1992 that Microsoft saw the nesicitaty of networking, and bundled it in going forward. The same thing goes for TCP/IP, which was such a big market

  2. I worked somewhere where we had POP and SMTP services running on NetWare, and I think it was with this software which is still available! http://www.pmail.com/ If you’re looking to waste a bunch of time on NetWare, this might be a fun project.

Leave a Reply

Your email address will not be published.

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