Red Falcon
[H]ard DCOTM December 2023
- Joined
- May 7, 2007
- Messages
- 12,623
- Red Falcon's Guide to Installing NetBSD Mac68k on an unsupported Apple Quadra 950 -
:rimary Hardware Requirements::
- Apple Quadra 950 with Motorola 68040
- Apple keyboard and mouse (only for Mac OS)
- At least 16MB of FPM RAM (32MB or higher is recommended)
- At least 1MB of VRAM (only if X11 GUI is used)
- Seagate 2.5" Savvio 10K.1 ST973401LC SCSI-320 HDD (or similar)
- SCA SCSI 80-pin to 50-pin (16-bit to 8-bit bus-width) adapter
- Active 50-pin Male-to-Female SCSI-1/2 terminator (passive terminators will not work)
- Asante FN10TA 10BT RJ-45 10Base-T AAUI adapter (NuBus NIC adapters may or may not work)
- 3.6v 1/2 AA PRAM New Battery (20 year old batteries will not retain the ROM settings)
- Apple CD-150 or CD-300 SCSI-1 CD-ROM drive (anything beyond a 2x CD-ROM drive will not work)
- 4-pin Molex Male to 2x Female Power Y-Splitter
- Apple IIgs Cable Mini-Din8-Male--to--DB9-Serial
- 3rd party computer with Windows/Linux, a DB9 serial port, and Putty
::Secondary Hardware Requirements::
- Any modern Apple system running OS X from G3-present with Internet connection
- USB Floppy Drive (black IBM model works good for copying small files)
- Floppy diskettes (one to three will be needed)
- AztecMonster SCSI-to-CF adapter
- 4GB Hitachi CF Microdrive (NAND-based CF cards may be used, but are not as reliable)
- USB 2.0 Media Card Reader/Writer
:rimary Software Requirements::
- Apple Mac OS 8/8.1 OS Disc
- Apple Drive Setup (comes with OS 8 installer disc)
- NetBSD 6.1.5 Mac68k installer disc (optional if installing from HTTP or FTP)
- BSD/Mac68k Booter (runs in Mac OS - found on the Internet)
- NetBSD-INSTALL.gz or NetBSD-INSTALLSBC.gz bootable kernel file (found on the Internet)
- Stuffit Expander for OS X (2010 - PPC / 2014 - x86)
::Optional Software Requirements::
- System 7.1/7.5 (may be used, but it does not have the Drive Setup program)
- A/UX 3.0.1 to 3.1 (has Apple HD SC Setup)
- Apple HD SC Setup 7.3.5 (must be patched to format non-Apple HDDs without Apple firmware)
- Lido Disk Formatter (may be found on the Internet)
- FWB Hard Disk Tool (may be found on the Internet)
::Getting Started::
First, make sure you can get Mac OS 8 (or System 7) installed and running on your Quadra 950 utilizing the SCSI drive and adapters listed above in the Primary Hardware Requirements section.
You don't want to start this endeavour without a working system to start with.
With your spare floppy diskette(s), create a bootable diskette from Mac OS 8, and use the Apple Drive Setup Lite to format the SCSI HDD you have chosen.
With this formatting tool, you may create multiple partitions, and alter their sizes; I normally create three partitions for simplicity later on in NetBSD, but a minimum of two is needed.
Mac OS only needs around 400-500MB at absolute most; anything more is not needed.
All three (or two) partitions will be formatted as HFS by default.
Just install Mac OS onto one of the partitions, and leave the other(s) alone for now.
Once your Quadra 950 is up and running, you can leave things as-is.
There is no need for further configuration within Mac OS 8, as all network settings and other configuration options will be made in NetBSD once it has been installed and is running.
If you are using System 7.x, be sure to use the Memory Configuration menu and ensure 32-bit addressing is enabled; 24-bit will be enabled by default, but this limits addressable system memory to 16MB, instead of 4GB with 32-bit.
Mac OS 8 has 32-bit addressing enabled by default; do ensure than Virtual Memory and all RAM Disks are disabled, though.
Since the Motorola 68040 has a 32-bit address (memory) bus, there is no need to leave it in 24-bit mode, if the option is available.
The Quadra 950 should be running at least 16MB of FPM RAM, but 32MB-256MB is recommended.
Now, we want to use our other Apple system running OS X, with Internet connection, to go out and find the BSD/Mac68k Booter, the NetBSD-INSTALL.gz (gunzipped kernel), and Stuffit Expander.
Stuffit Expander will be needed to extract the HQX files; 3rd party websites and software most likely will not work, so save yourself a headache and use Stuffit Expander (the free version, if possible).
These files absolutely MUST be downloaded using OS X, due to the proprietary permissions Apple OSes give these particular files; the same goes for all software listed under the Optional Software Requirements section.
Do NOT download and save these files using Windows or Linux, as the files will not function when transferred to Mac OS on the Quadra 950 (they will appear as blank icons, and won't work).
While Stuffit Expander may be easy to find, I cannot guarantee how easy this will be for the rest of the files.
Once the files have been downloaded and extracted properly, they can be transferred to the Quadra 950.
Make sure to not gunzip or extract the netbsd-INSTALL.gz file.
The BSD/Mac68k Booter program will gunzip this file automatically.
This is where the CompactFlash card (NAND or MicroDrive), USB 2.0 media card reader/writer, and AztecMonster SCSI-to-CF adapter will come in handy.
Unfortunately, most of these files may be too big to use, but if you can get them on a floppy, you may use the USB floppy drive to copy them from OS X to Mac OS; make sure to format whatever disk you use as HFS, not HFS+.
Once the files have been copied, click on the BSD/Mac68k Booter to select it, and then click on File -> Get Info.
This will pull up the memory requirements for the program to run.
My system has 52MB of total system memory (FPM RAM), so I set the minimum size to 42MB, and the prefered size to 45MB (this is what will be reserved specifically for NetBSD).
Once this is done, click on the minimum size again for the changes to be made for both, and then check the Locked checkbox.
Close out of the Info window, and double-click on the BSD/Mac68K Booter icon to start it.
A blank window will appear, with a few options on the top menu.
Click on Options -> Booting.
You will want to select the first bullet, Mac OS file, then click on Set... in order to choose the installer kernel file (netbsd-INSTALL.gz).
After the file has been selected, ensure that your boot disk is correct.
The Quadra 950 is using SCSI, not PATA, so make sure to change your target ID; mine was not 0, but 1.
Click OK to close the Boot Options window.
Click on Options -> Serial ports.
This is where that Apple IIgs Cable Mini-Din8-Male--to--DB9-Serial will come in handy.
Check Serial Boot Echo and Serial Console on, and make sure the Modem bullet is selected.
Even though the cable is using the modem port on the back of the Quadra 950, it will be utilized as a standard stty serial connection.
Make sure the cable is plugged into a Windows (or Linux) system using Putty.
Click OK to close out of the Serial ports window.
Click on Options -> Monitor.
This should be ok by default, but if not, change the monitor depth to B&W or Grayscale (1-bit), then click OK.
Make sure your Putty session is set to the right COM port in Windows (or Linux), ensure VT100 is used if possible (VT220 may be ok as well), and have the session running.
This will pick up any signals being sent from the Quadra 950 automatically, so there will not be any login info or security certificates needed for this connection to be made.
Click on Options -> Boot Now.
Now here is where things start to get a bit tricky.
The Quadra 950 is not under NetBSD's support hardware list for a reason: the keyboard and mouse do not work under NetBSD!
According to many 3rd party sources I've found on the Internet, this is due to the Quadra 950 specifically being designed for A/UX, and as such, have two custom VLSI IC's in use, of which there are no BSD drivers for to this very day, or at least as of this writing (Nov. 2014).
However, all is not lost; this is why we have our nifty serial cable and Putty session running.
If everything goes right, your Quadra 950's monitor will turn completely gray, and Putty will start picking up the boot prompt text.
If everything goes wrong, you may need to play around a bit with the settings in Putty.
This was a bit flaky in Linux, but it has been 100% proven in Windows; of course a virtual terminal may also be used in Linux as well, so Putty is not required under Linux.
Once you are into the NetBSD installer menu, only choose to use part of the HDD and use the second one or two partitions we had left alone from above.
Do NOT utilize the whole HDD, as this will format and remove Mac OS and the Booter files, which are necessary to run NetBSD on this (or any) Apple Quadra; unfortunately, to my knowledge, there is no way to boot the system directly into NetBSD from the boot ROM; you can try EMILE, but this was only proven for GNU/Linux and has not been updated since 2008, so atempt it at your own risk.
Now, the 68040 at 33MHz is not a speed demon by today's standards, and while it is far more powerful than the 68030 at 50MHz, it may still take anywhere from 30 minutes to a full day for everything to install, depending on what you have chosen in the NetBSD installation menu, your Internet connection, and/or the speed of your CD-ROM drive (1x or 2x).
The system may act like it is frozen, or is stuck on some process, but I assure you it is not.
NetBSD will download (CD/HTTP/FTP) one file at a time, and will then gunzip that file, which is what takes the most time.
If you do get timeouts on your CD-ROM drive, it may be because the disc was burned at too high of a speed (try burning at 1-12x if possible), or that the drive may failing; with 20 year old hardware, this isn't too surprising.
Now, unlike GNU/Linux Debian Etch m68k, which no longer has any supported repositories anywhere on the Internet, NetBSD Mac68k 6.1.5 is fully supported.
If using the CD-ROM drive is not working out, make sure your NIC is connected to your Quadra 950, and feel free to use HTTP or FTP to download the necessary install files.
You may have to setup your router, managed switch, or other network equipment with a static IP address for the Quadra 950's NIC; the NetBSD install should ask you ahead of time whether you want to use DHCP or not, and I would recommend using DHCP, at least for the initial install.
Upon doing this, simply press Enter on your keyboard for the default options as they will work; there is no need to change anything for the network settings on the initial install, unless you really want to.
Now, even though the NIC is 10Base-T, and half-duplex at that, your download speeds will stay around 90-200KB/s (1-2.5Mbps) on average, assuming your Internet connection supports these speeds.
This is just due to the hardware's advanced age and the software currently being used for the transfer; I assure you nothing is wrong with your network or Internet connection.
Once everything has finished downloading and is installed (again, this may take a few hours), you may finish up the installer and have the option to reboot the computer.
Reboot the system and let it load back into Mac OS; you can leave your Putty session running, since there is no need to close it, as it will automatically stay connected to the Quadra 950.
Now, double-click on the BSD/Mac68k Booter, then click on Options -> Booting.
Since you have NetBSD installed, there will be no reason to use the installer kernel, so you may leave the BSD device bullet selected.
Do make sure to change your HDD ID again though, so it knows which HDD to scan for NetBSD installations.
Click OK to close the window.
Click on Options -> Serial ports.
Again, you will want to select the same two options we did above, earlier, then click OK to close the window; you may do the same for Monitors as above.
Click on Options -> Boot Now.
In your Putty console, let things load normally on this first boot; when it builds the RSA keys, this will take around 30-60 minutes, and again, I assure you, the system has not frozen and is indeed still working.
Once the RSA keys have been created, this is where things become REALLY tricky!
Normally, you have been able to type perfectly fine in your Putty session up to this point, but now, it may give you a message about ttyZ0 (or similar) not being configured properly, and thus, the system will no longer allow you to type, or enter anything.
You might think that you can SSH into the system, since the sshd is running, but alas, the only user account existing at this point is root, and NetBSD's policy by default is to disable root logins from SSH.
So, we can't type on the Quadra 950's keyboard, we can't type in the Putty session, and we can't SSH into the system in order to create a new user account.
Don't give up though, as I've found a way around this!
We can't power the system off through Putty at this point, nor do the key-switch functions on the Quadra work within NetBSD (or any other OS outside of Mac OS).
Simply pull the power cord out of the Quadra 950, and wait about 10 seconds for everything to come to a complete stop.
This is an unsafe meathod of powering down any equipment, but if you've come this far, you are probably willing to take risks as these.
NetBSD is highly resistant to corruption using the HDD I have listed above, and I have done this many, many times with testing in order to get this far, and have yet to have anything corrupted, so don't be too worried.
Plug the power cord back into the Quadra, and let it boot into Mac OS.
Again, start the NetBSD booter program with the exact same settings as we just did.
Everything should start to come back up within the Putty session.
Now, here is the trick to getting this to work.
Once the boot sequence has gotten to the point where the disk-check is being run, we will want to stop this.
Press Crtl+C on your keyboard to stop the disk check from finishing.
Now that the disk check is stopped, we may continue to type while logged in as root.
You may notice that you can't make any changes due to the disks being made read-only; this was because the disk check was running.
We can make everything writable again by using the command: mount -a
Now, you may create a new user account: useradd -G wheel yourusernamehere
This will add the user, and add them to the 'wheel' group, in order to not only allow that user account to SSH into the Quadra 950, but to also su to root with that account as well.
If you have already added a user, but want to add them to the 'wheel' group, do the following: user mod -G wheel yourusernamehere
Just to be sure that things will continue to work with the serial console after you have rebooted, we should make the fix for that as well, just in case things don't work properly in SSH; this way we won't have to pull the plug again to get back to this point.
To fix this, do the following: vi /etc/ttys
In this config file, there will be two lines under "Mac Build-in serial ports" you will want to change to look like the following:
ttyZ0 "/usr/libexec/getty std.9600" vt100 on secure
ttyZ1 "/usr/libexec/getty std.9600" vt100 on secure
Now, vi under NetBSD may operate slightly different than it does within GNU/Linux (for those not privvy to NetBSD).
Here are some basic commands to help you with vi:
a - add text
x - delete text
:q - quit and close the document
:q! - quit, close, and do not save changes to the document
:x - save the document
Esc - get out of whatever function you are currently in (a, for example)
I do recommend you have a basic knowledge of vi before going further though, especially if you aren't sure, as you do not want to bork a config file completely.
Once the file has been set and saved, you will want to configure rc.conf, to not only enable sshd by default, but also get the system out of single-user-mode.
To edit the file, do the following: vi /etc/rc.conf
Within the file, you will want to add the following:
rc_configured=YES
sshd=YES
Close and save the document, and then type 'reboot' to reboot the system.
Let the system load back into Mac OS, then do the same as we have above to get back into NetBSD.
Once everything comes up in the Putty session, you should still be able to type now, as well as SSH into the Quadra 950 using another session.
Be patient when SSHing into the system, as it will take a few moments for the connection to establish.
If you have Putty (or your connection terminal) set to timeout, either disable the timeout, or set it to 180 seconds or longer.
Once the connection has been made and the security key has been accepted, you may login with the new user account you created and added to the 'wheel' group.
To su to the root account, simply type: su -
From here, you no longer need the serial console, but are welcome to use it at any time, assuming you don't want it disabled.
From here on out, you may use your Quadra 950 with NetBSD, an "unsupported system", however you like!
If you do decide to utilize the system as an Apache web server, I would highly recommend storing your files within a RAM disk (using NetBSD), as FPM RAM has very low latency compared to the disk drive and SCSI-1 bus, and has a maximum data transfer rate of ~177MB/s, compared to 5MB/s for the SCSI-1 bus.
As the NetBSD developers state, "Of course it runs NetBSD"!
::Extended Notes::
For those of you who are using the PDS (Processor Direct Slot) with a PowerPC 601 CPU, this will either need to be taken out, or disabled in Mac OS.
NetBSD Mac68k only supports Motorola 68k CPUs, and does not support PowerPC CPUs.
If you are lucky enough to have the 128KB L2 cache card for the PDS, you may use that as NetBSD will take advantage of it.
Just be sure not to use the 32KB L2 cache cards, as they are designed for much older Apple systems.
For better performance, it may be possible to utilize a SCSI-2 NuBus'90 card with a second HDD if you wish to utilize the higher performance; the highest I have seen from 3rd party sources is around 20MB/s, which is much improved over the built-in SCSI-1 bus of only 5MB/s.
Just be sure to use the built-in SCSI-1 bus for the HDD running Mac OS, as the the NuBus'90 cards are not bootable by the boot ROM or Mac OS as of this posting.
For improved CPU performance, there are PowerPump Accellerator cards, available on eBay; they come with the NuBus'90 adapter, custom ROM card, overclocking software, and heatsink with active fan (not noisy at all).
These will allow the Motorola 68040 to be overclocked from 33MHz stock to 40Mhz+.
3rd party sources also state that it is possible to overclock the Motorola 68040 up to 50MHz using a 100MHz oscillator, instead of the 66MHz stock part.
Try this at your own risk, as I cannot guarantee this will successfully work.
::Special Thanks::
I could not have found any of this information without the many people who have donated their time and knowledge across the Internet and across decades of time.
Much of the research and concepts I have come up with and discovered up to this point, was while researching A/UX and GNU/Linux on the 68k CPU architecture.
There are a lot of amazing things still waiting to be discovered on the Internet, from websites dating back to 1996 to present, along with some of the websites like A/UX Penelope being archived.
The credit for getting this idea and process started go out to the following:
NetBSD - Developers and Software Engineers.
68k Macintosh Liberation Army - Forum Members who experimented with different HDDs and benchmark tools.
A/UX Penelope - Rest in Peace.
Gheorghe Ardelean - Who may have found half of this solution first back in 2006, but never shared how he got there!
Game Sack - For giving me the motivation to do this with their Sharp X68000 review.
Dennis Nedry - For giving me the motivation to do this originally with a Quadra 700, and to not get eaten by dinosaurs.
::Helpful Links::
NetBSD Mac68k
NetBSD Mac68k Install Guide
Classic Mac Networking (System 6 through OS 9)
68k Macintosh Liberation Army - Classic Forum
A/UX Installation and Booting
A/UX Penelope (archived - still has many resources and guides)
Apple A/UX Project and Information
Quadra 950 Booting Issues
A/UX FAQ
Early Macintosh Image Loader (EMILE - Helpful for booting straight from startup to GNU/Linux, possibly NetBSD)
A/UX Software Programs and Binaries
BootX (PowerPC Macs only)
Oracle 7 for A/UX Help Guide
:rimary Hardware Requirements::
- Apple Quadra 950 with Motorola 68040
- Apple keyboard and mouse (only for Mac OS)
- At least 16MB of FPM RAM (32MB or higher is recommended)
- At least 1MB of VRAM (only if X11 GUI is used)
- Seagate 2.5" Savvio 10K.1 ST973401LC SCSI-320 HDD (or similar)
- SCA SCSI 80-pin to 50-pin (16-bit to 8-bit bus-width) adapter
- Active 50-pin Male-to-Female SCSI-1/2 terminator (passive terminators will not work)
- Asante FN10TA 10BT RJ-45 10Base-T AAUI adapter (NuBus NIC adapters may or may not work)
- 3.6v 1/2 AA PRAM New Battery (20 year old batteries will not retain the ROM settings)
- Apple CD-150 or CD-300 SCSI-1 CD-ROM drive (anything beyond a 2x CD-ROM drive will not work)
- 4-pin Molex Male to 2x Female Power Y-Splitter
- Apple IIgs Cable Mini-Din8-Male--to--DB9-Serial
- 3rd party computer with Windows/Linux, a DB9 serial port, and Putty
::Secondary Hardware Requirements::
- Any modern Apple system running OS X from G3-present with Internet connection
- USB Floppy Drive (black IBM model works good for copying small files)
- Floppy diskettes (one to three will be needed)
- AztecMonster SCSI-to-CF adapter
- 4GB Hitachi CF Microdrive (NAND-based CF cards may be used, but are not as reliable)
- USB 2.0 Media Card Reader/Writer
:rimary Software Requirements::
- Apple Mac OS 8/8.1 OS Disc
- Apple Drive Setup (comes with OS 8 installer disc)
- NetBSD 6.1.5 Mac68k installer disc (optional if installing from HTTP or FTP)
- BSD/Mac68k Booter (runs in Mac OS - found on the Internet)
- NetBSD-INSTALL.gz or NetBSD-INSTALLSBC.gz bootable kernel file (found on the Internet)
- Stuffit Expander for OS X (2010 - PPC / 2014 - x86)
::Optional Software Requirements::
- System 7.1/7.5 (may be used, but it does not have the Drive Setup program)
- A/UX 3.0.1 to 3.1 (has Apple HD SC Setup)
- Apple HD SC Setup 7.3.5 (must be patched to format non-Apple HDDs without Apple firmware)
- Lido Disk Formatter (may be found on the Internet)
- FWB Hard Disk Tool (may be found on the Internet)
::Getting Started::
First, make sure you can get Mac OS 8 (or System 7) installed and running on your Quadra 950 utilizing the SCSI drive and adapters listed above in the Primary Hardware Requirements section.
You don't want to start this endeavour without a working system to start with.
With your spare floppy diskette(s), create a bootable diskette from Mac OS 8, and use the Apple Drive Setup Lite to format the SCSI HDD you have chosen.
With this formatting tool, you may create multiple partitions, and alter their sizes; I normally create three partitions for simplicity later on in NetBSD, but a minimum of two is needed.
Mac OS only needs around 400-500MB at absolute most; anything more is not needed.
All three (or two) partitions will be formatted as HFS by default.
Just install Mac OS onto one of the partitions, and leave the other(s) alone for now.
Once your Quadra 950 is up and running, you can leave things as-is.
There is no need for further configuration within Mac OS 8, as all network settings and other configuration options will be made in NetBSD once it has been installed and is running.
If you are using System 7.x, be sure to use the Memory Configuration menu and ensure 32-bit addressing is enabled; 24-bit will be enabled by default, but this limits addressable system memory to 16MB, instead of 4GB with 32-bit.
Mac OS 8 has 32-bit addressing enabled by default; do ensure than Virtual Memory and all RAM Disks are disabled, though.
Since the Motorola 68040 has a 32-bit address (memory) bus, there is no need to leave it in 24-bit mode, if the option is available.
The Quadra 950 should be running at least 16MB of FPM RAM, but 32MB-256MB is recommended.
Now, we want to use our other Apple system running OS X, with Internet connection, to go out and find the BSD/Mac68k Booter, the NetBSD-INSTALL.gz (gunzipped kernel), and Stuffit Expander.
Stuffit Expander will be needed to extract the HQX files; 3rd party websites and software most likely will not work, so save yourself a headache and use Stuffit Expander (the free version, if possible).
These files absolutely MUST be downloaded using OS X, due to the proprietary permissions Apple OSes give these particular files; the same goes for all software listed under the Optional Software Requirements section.
Do NOT download and save these files using Windows or Linux, as the files will not function when transferred to Mac OS on the Quadra 950 (they will appear as blank icons, and won't work).
While Stuffit Expander may be easy to find, I cannot guarantee how easy this will be for the rest of the files.
Once the files have been downloaded and extracted properly, they can be transferred to the Quadra 950.
Make sure to not gunzip or extract the netbsd-INSTALL.gz file.
The BSD/Mac68k Booter program will gunzip this file automatically.
This is where the CompactFlash card (NAND or MicroDrive), USB 2.0 media card reader/writer, and AztecMonster SCSI-to-CF adapter will come in handy.
Unfortunately, most of these files may be too big to use, but if you can get them on a floppy, you may use the USB floppy drive to copy them from OS X to Mac OS; make sure to format whatever disk you use as HFS, not HFS+.
Once the files have been copied, click on the BSD/Mac68k Booter to select it, and then click on File -> Get Info.
This will pull up the memory requirements for the program to run.
My system has 52MB of total system memory (FPM RAM), so I set the minimum size to 42MB, and the prefered size to 45MB (this is what will be reserved specifically for NetBSD).
Once this is done, click on the minimum size again for the changes to be made for both, and then check the Locked checkbox.
Close out of the Info window, and double-click on the BSD/Mac68K Booter icon to start it.
A blank window will appear, with a few options on the top menu.
Click on Options -> Booting.
You will want to select the first bullet, Mac OS file, then click on Set... in order to choose the installer kernel file (netbsd-INSTALL.gz).
After the file has been selected, ensure that your boot disk is correct.
The Quadra 950 is using SCSI, not PATA, so make sure to change your target ID; mine was not 0, but 1.
Click OK to close the Boot Options window.
Click on Options -> Serial ports.
This is where that Apple IIgs Cable Mini-Din8-Male--to--DB9-Serial will come in handy.
Check Serial Boot Echo and Serial Console on, and make sure the Modem bullet is selected.
Even though the cable is using the modem port on the back of the Quadra 950, it will be utilized as a standard stty serial connection.
Make sure the cable is plugged into a Windows (or Linux) system using Putty.
Click OK to close out of the Serial ports window.
Click on Options -> Monitor.
This should be ok by default, but if not, change the monitor depth to B&W or Grayscale (1-bit), then click OK.
Make sure your Putty session is set to the right COM port in Windows (or Linux), ensure VT100 is used if possible (VT220 may be ok as well), and have the session running.
This will pick up any signals being sent from the Quadra 950 automatically, so there will not be any login info or security certificates needed for this connection to be made.
Click on Options -> Boot Now.
Now here is where things start to get a bit tricky.
The Quadra 950 is not under NetBSD's support hardware list for a reason: the keyboard and mouse do not work under NetBSD!
According to many 3rd party sources I've found on the Internet, this is due to the Quadra 950 specifically being designed for A/UX, and as such, have two custom VLSI IC's in use, of which there are no BSD drivers for to this very day, or at least as of this writing (Nov. 2014).
However, all is not lost; this is why we have our nifty serial cable and Putty session running.
If everything goes right, your Quadra 950's monitor will turn completely gray, and Putty will start picking up the boot prompt text.
If everything goes wrong, you may need to play around a bit with the settings in Putty.
This was a bit flaky in Linux, but it has been 100% proven in Windows; of course a virtual terminal may also be used in Linux as well, so Putty is not required under Linux.
Once you are into the NetBSD installer menu, only choose to use part of the HDD and use the second one or two partitions we had left alone from above.
Do NOT utilize the whole HDD, as this will format and remove Mac OS and the Booter files, which are necessary to run NetBSD on this (or any) Apple Quadra; unfortunately, to my knowledge, there is no way to boot the system directly into NetBSD from the boot ROM; you can try EMILE, but this was only proven for GNU/Linux and has not been updated since 2008, so atempt it at your own risk.
Now, the 68040 at 33MHz is not a speed demon by today's standards, and while it is far more powerful than the 68030 at 50MHz, it may still take anywhere from 30 minutes to a full day for everything to install, depending on what you have chosen in the NetBSD installation menu, your Internet connection, and/or the speed of your CD-ROM drive (1x or 2x).
The system may act like it is frozen, or is stuck on some process, but I assure you it is not.
NetBSD will download (CD/HTTP/FTP) one file at a time, and will then gunzip that file, which is what takes the most time.
If you do get timeouts on your CD-ROM drive, it may be because the disc was burned at too high of a speed (try burning at 1-12x if possible), or that the drive may failing; with 20 year old hardware, this isn't too surprising.
Now, unlike GNU/Linux Debian Etch m68k, which no longer has any supported repositories anywhere on the Internet, NetBSD Mac68k 6.1.5 is fully supported.
If using the CD-ROM drive is not working out, make sure your NIC is connected to your Quadra 950, and feel free to use HTTP or FTP to download the necessary install files.
You may have to setup your router, managed switch, or other network equipment with a static IP address for the Quadra 950's NIC; the NetBSD install should ask you ahead of time whether you want to use DHCP or not, and I would recommend using DHCP, at least for the initial install.
Upon doing this, simply press Enter on your keyboard for the default options as they will work; there is no need to change anything for the network settings on the initial install, unless you really want to.
Now, even though the NIC is 10Base-T, and half-duplex at that, your download speeds will stay around 90-200KB/s (1-2.5Mbps) on average, assuming your Internet connection supports these speeds.
This is just due to the hardware's advanced age and the software currently being used for the transfer; I assure you nothing is wrong with your network or Internet connection.
Once everything has finished downloading and is installed (again, this may take a few hours), you may finish up the installer and have the option to reboot the computer.
Reboot the system and let it load back into Mac OS; you can leave your Putty session running, since there is no need to close it, as it will automatically stay connected to the Quadra 950.
Now, double-click on the BSD/Mac68k Booter, then click on Options -> Booting.
Since you have NetBSD installed, there will be no reason to use the installer kernel, so you may leave the BSD device bullet selected.
Do make sure to change your HDD ID again though, so it knows which HDD to scan for NetBSD installations.
Click OK to close the window.
Click on Options -> Serial ports.
Again, you will want to select the same two options we did above, earlier, then click OK to close the window; you may do the same for Monitors as above.
Click on Options -> Boot Now.
In your Putty console, let things load normally on this first boot; when it builds the RSA keys, this will take around 30-60 minutes, and again, I assure you, the system has not frozen and is indeed still working.
Once the RSA keys have been created, this is where things become REALLY tricky!
Normally, you have been able to type perfectly fine in your Putty session up to this point, but now, it may give you a message about ttyZ0 (or similar) not being configured properly, and thus, the system will no longer allow you to type, or enter anything.
You might think that you can SSH into the system, since the sshd is running, but alas, the only user account existing at this point is root, and NetBSD's policy by default is to disable root logins from SSH.
So, we can't type on the Quadra 950's keyboard, we can't type in the Putty session, and we can't SSH into the system in order to create a new user account.
Don't give up though, as I've found a way around this!
We can't power the system off through Putty at this point, nor do the key-switch functions on the Quadra work within NetBSD (or any other OS outside of Mac OS).
Simply pull the power cord out of the Quadra 950, and wait about 10 seconds for everything to come to a complete stop.
This is an unsafe meathod of powering down any equipment, but if you've come this far, you are probably willing to take risks as these.
NetBSD is highly resistant to corruption using the HDD I have listed above, and I have done this many, many times with testing in order to get this far, and have yet to have anything corrupted, so don't be too worried.
Plug the power cord back into the Quadra, and let it boot into Mac OS.
Again, start the NetBSD booter program with the exact same settings as we just did.
Everything should start to come back up within the Putty session.
Now, here is the trick to getting this to work.
Once the boot sequence has gotten to the point where the disk-check is being run, we will want to stop this.
Press Crtl+C on your keyboard to stop the disk check from finishing.
Now that the disk check is stopped, we may continue to type while logged in as root.
You may notice that you can't make any changes due to the disks being made read-only; this was because the disk check was running.
We can make everything writable again by using the command: mount -a
Now, you may create a new user account: useradd -G wheel yourusernamehere
This will add the user, and add them to the 'wheel' group, in order to not only allow that user account to SSH into the Quadra 950, but to also su to root with that account as well.
If you have already added a user, but want to add them to the 'wheel' group, do the following: user mod -G wheel yourusernamehere
Just to be sure that things will continue to work with the serial console after you have rebooted, we should make the fix for that as well, just in case things don't work properly in SSH; this way we won't have to pull the plug again to get back to this point.
To fix this, do the following: vi /etc/ttys
In this config file, there will be two lines under "Mac Build-in serial ports" you will want to change to look like the following:
ttyZ0 "/usr/libexec/getty std.9600" vt100 on secure
ttyZ1 "/usr/libexec/getty std.9600" vt100 on secure
Now, vi under NetBSD may operate slightly different than it does within GNU/Linux (for those not privvy to NetBSD).
Here are some basic commands to help you with vi:
a - add text
x - delete text
:q - quit and close the document
:q! - quit, close, and do not save changes to the document
:x - save the document
Esc - get out of whatever function you are currently in (a, for example)
I do recommend you have a basic knowledge of vi before going further though, especially if you aren't sure, as you do not want to bork a config file completely.
Once the file has been set and saved, you will want to configure rc.conf, to not only enable sshd by default, but also get the system out of single-user-mode.
To edit the file, do the following: vi /etc/rc.conf
Within the file, you will want to add the following:
rc_configured=YES
sshd=YES
Close and save the document, and then type 'reboot' to reboot the system.
Let the system load back into Mac OS, then do the same as we have above to get back into NetBSD.
Once everything comes up in the Putty session, you should still be able to type now, as well as SSH into the Quadra 950 using another session.
Be patient when SSHing into the system, as it will take a few moments for the connection to establish.
If you have Putty (or your connection terminal) set to timeout, either disable the timeout, or set it to 180 seconds or longer.
Once the connection has been made and the security key has been accepted, you may login with the new user account you created and added to the 'wheel' group.
To su to the root account, simply type: su -
From here, you no longer need the serial console, but are welcome to use it at any time, assuming you don't want it disabled.
From here on out, you may use your Quadra 950 with NetBSD, an "unsupported system", however you like!
If you do decide to utilize the system as an Apache web server, I would highly recommend storing your files within a RAM disk (using NetBSD), as FPM RAM has very low latency compared to the disk drive and SCSI-1 bus, and has a maximum data transfer rate of ~177MB/s, compared to 5MB/s for the SCSI-1 bus.
As the NetBSD developers state, "Of course it runs NetBSD"!
::Extended Notes::
For those of you who are using the PDS (Processor Direct Slot) with a PowerPC 601 CPU, this will either need to be taken out, or disabled in Mac OS.
NetBSD Mac68k only supports Motorola 68k CPUs, and does not support PowerPC CPUs.
If you are lucky enough to have the 128KB L2 cache card for the PDS, you may use that as NetBSD will take advantage of it.
Just be sure not to use the 32KB L2 cache cards, as they are designed for much older Apple systems.
For better performance, it may be possible to utilize a SCSI-2 NuBus'90 card with a second HDD if you wish to utilize the higher performance; the highest I have seen from 3rd party sources is around 20MB/s, which is much improved over the built-in SCSI-1 bus of only 5MB/s.
Just be sure to use the built-in SCSI-1 bus for the HDD running Mac OS, as the the NuBus'90 cards are not bootable by the boot ROM or Mac OS as of this posting.
For improved CPU performance, there are PowerPump Accellerator cards, available on eBay; they come with the NuBus'90 adapter, custom ROM card, overclocking software, and heatsink with active fan (not noisy at all).
These will allow the Motorola 68040 to be overclocked from 33MHz stock to 40Mhz+.
3rd party sources also state that it is possible to overclock the Motorola 68040 up to 50MHz using a 100MHz oscillator, instead of the 66MHz stock part.
Try this at your own risk, as I cannot guarantee this will successfully work.
::Special Thanks::
I could not have found any of this information without the many people who have donated their time and knowledge across the Internet and across decades of time.
Much of the research and concepts I have come up with and discovered up to this point, was while researching A/UX and GNU/Linux on the 68k CPU architecture.
There are a lot of amazing things still waiting to be discovered on the Internet, from websites dating back to 1996 to present, along with some of the websites like A/UX Penelope being archived.
The credit for getting this idea and process started go out to the following:
NetBSD - Developers and Software Engineers.
68k Macintosh Liberation Army - Forum Members who experimented with different HDDs and benchmark tools.
A/UX Penelope - Rest in Peace.
Gheorghe Ardelean - Who may have found half of this solution first back in 2006, but never shared how he got there!
Game Sack - For giving me the motivation to do this with their Sharp X68000 review.
Dennis Nedry - For giving me the motivation to do this originally with a Quadra 700, and to not get eaten by dinosaurs.
::Helpful Links::
NetBSD Mac68k
NetBSD Mac68k Install Guide
Classic Mac Networking (System 6 through OS 9)
68k Macintosh Liberation Army - Classic Forum
A/UX Installation and Booting
A/UX Penelope (archived - still has many resources and guides)
Apple A/UX Project and Information
Quadra 950 Booting Issues
A/UX FAQ
Early Macintosh Image Loader (EMILE - Helpful for booting straight from startup to GNU/Linux, possibly NetBSD)
A/UX Software Programs and Binaries
BootX (PowerPC Macs only)
Oracle 7 for A/UX Help Guide
Last edited: