Please consider a donation to the Higher Intellect project. See https://preterhuman.net/donate.php or the Donate to Higher Intellect page for more info. |
Difference between revisions of "Installing Domain/OS on an HP Series 400"
(Create initial page) |
|||
Line 111: | Line 111: | ||
- Move the cursor to the command area and type <code>shut</code> to cleanly shut down the system. Wait for the shutdown complete message. | - Move the cursor to the command area and type <code>shut</code> to cleanly shut down the system. Wait for the shutdown complete message. | ||
+ | |||
+ | |||
+ | [[Category:How-To]] |
Latest revision as of 11:16, 5 February 2023
This page documents how to install Domain/OS on a HP Series 400 with an emulated SCSI drive. Because the only installation media that I know of is tape images, the installation will happen using a Domain/OS system running in emulation under MAME. Buckle up.
Note: this page will be updated as progress on this project is made
Prerequisites
1. A HP Series 400 computer. Presumably the same instructions will work on any other Domain/OS capable machine, as long as it has Ethernet connectivity.
2. A Linux computer that can build and run MAME. (This computer will be called mamepc
below.) It's maybe possible to do this under OSX, but I don't know how to configure the networking. A Raspberry Pi may work fine; I'm using an Orange Pi 5 which is more powerful than a RPi 4. You need something that can run the emulation at full speed.
3. An ethernet switch.
4. An AUI-10baseT trensciever for the Series 40. (Or thinnet cabling and a way to get your Linux box on a thinnet network!)
5. A Raspberry Pi Pico + some hardware to emulate a Domain keyboard (unless you have a real Domain keyboard!). See below for instructions.
6. PiSCSI or another SCSI emulator, such as SCSI2SD or ZuluSCSI. NOTE: the internal 50-pin SCSI port in the Series 400 is keyed upside down! (You'll need a cable without a key so you can plug it in upside down into either the board or your emulator!)
7. Your linux computer and the Series 400 connected together through a switch. I removed other traffic from this (no internet) just to reduce the spam the Series 400 would have to deal with.
Setting up the emulator
We need to build MAME, install Domain/OS SR10.4, and configure the system.
Building MAME
1. Clone https://github.com/mamedev/mame (I used rev 33c6487b886eac
).
2. Install (Debuan) libsdl2-dev, libsdl2-ttf-dev, libfontconfig-dev.
3. Edit makefile:
- search for SOURCES
and set
SOURCES = src/mame/apollo/apollo.cpp
- set USE_QTDEBUG = 0
4. Run
make -s -j16
and wait a while. Note: you may get various SDL2 compilation errors; you may have to fiddle with code depending on versions of SDL.
Installing the Emulator
1. Set up the boot ROMs. Instructions here: http://mess.redump.net/howto/apollo#how_to_setup_the_boot_roms
2. Download all files in https://bitsavers.org/bits/Apollo/Apollo_JRJ/SR10.4/ somewhere. Uncompress them (so you have just .ct
files.
3. Make an `.awd` file exactly 348701760 bytes in size.
4. To make your life easier, you can run MAME/MESS with some flags to put things in a window. Also good to know is that the INSERT key on your keyboard toggles access to the MAME UI; when UI controls are enabled, press TAB to open the MAME menu. Be careful when pressing ESC if the UI controls are enabled; if you press it outside of the MAME menu, it will exit the emulator! If this happens, make sure you run salvol
(EX SALVOL
) before booting back into DOMAIN_OS
4. You're going to generally follow the instructions here http://mess.redump.net/howto/apollo#how_to_install_domainos_sr104_in_a_new_disk_image_file but with some modifications.
- recent MAME has issues created the awd file; you have to create one manually -- make sure you create the 348MB image, the 150MB one won't be big enough
- use "expert" mode, not "novice" mode. Specify the list of SAU directories you want included explicitly. Use: sau7 sau8 sau9 sau10 sau11 sau12 sau14
(note: this is the full list supported by SR10.4)
- when you get to selecting the template, if #11 (large) is not available, it means your disk isn't big enough (you didn't use a the 348mb disk)
- I'm going to assume you're retaining node ID 12345 and hostname dn3500
5. Proceed with http://mess.redump.net/howto/apollo#how_to_create_the_registry_in_domainos
6. Proceed with http://mess.redump.net/howto/apollo#how_to_start_tcpip_in_domainos
7. Note that you won't have working TCP/IP until you actually configure the Linux host. The apollo mame guide is out of date for networking.
Configuring Linux for networking
(TODO -- expand detail)
- Use the mame script to create a tun/tap device
- Turn off forwarding and proxy arp
- use socat to forward everything between the two interfaces
- select tun/tap from the MAME network interface menu
At this point you should be able to use /etc/ping
inside the emulator.
Configure for serving
1. Log in as root
.
2. touch /etc/daemons/rtsvc
3. Edit /etc/rc
(use vi
), search for rtsvc
. Uncomment one of the calls to it, and change the parameters to -dev ETH802.13AT -noroute
.
4. Edit /etc/rc.user
, and uncomment all of the Aegis daemons up to the network license daemon. You don't need that, or the dialout daemon, or the print spooler etc.
5. Edit /sys/net/diskless_nodes
(TODO -- I don't think this is the right filename, it's somewhere in that dir) and add the node ID of your Series 400 to the end. (See later sections on how to get the node ID.)
6. Shutdown and restart (the emulation).
Prepare your Series 400
I'm assuming you have an HP-IL keyboard instead of a Domain keyboard. If you have a Domain keyboard, lucky you -- they seem to be incredibly rare.
Put the system in Domain mode
(TODO) Enter cfg, select systype, select Domain
Create your PiSCSI image
(TODO) Create ST1210N image. Set SCSI ID 6. (Note: remember internal SCSI port is keyed upside down)
Sanity Check
1. Turn on the system. Hit enter to get to the MD
prompt.
2. Type DEVS
, hit enter. You should see your SCSI hard disk appear in the listing. (TODO: provide example)
3. Type NID
, hit enter. Take note of your Node ID.
4. Type DI N 12345
, hit enter. ("Use network as primary, explicitly talk to node 12345")
5. Type LD
, hit enter. If all is set up right with networking, netman
, and your install, you should see a listing show up from //dn3500/sau11
.
Domain/OS Survival Notes
This is a great survival reference: https://web-docs.gsi.de/~kraemer/COLLECTION/www.hunkler.com/aegis/aegis_sg.html
- Move the cursor to the command area and type shut
to cleanly shut down the system. Wait for the shutdown complete message.