How to run RISC iX for yourself!

A place for discussing anything RISC iX, whether emulated or on original hardware!
Post Reply
Sophira
Posts: 113
Joined: Mon Sep 26, 2022 9:45 am
Contact:

How to run RISC iX for yourself!

Post by Sophira »

To commemorate the opening of the RISC iX forum, it feels like a good topic to start with (and perhaps to make sticky?) would be a mention of the cloned RISC iX hard disc image, which allows for people to run RISC iX on other machines and emulators! (Though do note that the process of writing the image to disc will wipe out any data it has on it - obviously not a problem for emulators since you can just make another image for RISC iX but for native machines you do need to be careful!)

The page linked above has download links for the image along with extensive notes and manuals, but one thing it doesn't mention is the root password, which is Tal540bo (thank you, Simon!). The password is case-sensitive, so the capital T is important.

The image is usable on both native hardware (see the requirements on the page) and emulators. (I've personally got it working fine on Arculator.)

If you use Arculator, you'll need to make sure you attach the disc image to an emulated AKA31 or AKA32 podule as those present themselves as SCSI drives - don't just use the regular drive tab, as that is for RISC OS 3+'s built-in IDE support.

Note that RISC iX is sensitive to being shut down cleanly - unlike RISC OS. To shut down RISC iX, you can either use the halt command as root (or reboot to return to RISC OS, although see below!), or use the pseudo-login name halt at the login prompt (which doesn't require a password by default).

Note that RISC OS is apparently generally not happy about starting warm, so returning directly from RISC iX is generally not recommended on real hardware. Instead, do a powercycle after a halt! (Thank you for the tip, IanJeffray!)

Documentation-wise, the page I linked to has uploaded versions of the RISC iX User Guide and RISC iX System Administrator's Guide near the bottom, but it's worthwhile also getting hold of the Unix System Manager's Manual for 4.3BSD (the version of BSD that RISC iX is based on; link goes to an uploaded version on archive.org), which the RISC iX manuals refer to sometimes.
iainfm
Posts: 602
Joined: Thu Jan 02, 2020 8:31 pm
Location: Dumbarton
Contact:

Re: How to run RISC iX for yourself!

Post by iainfm »

Thanks for putting this together. I'm looking forward to giving it a try. I originally saw RISC iX when it was launched at an Acorn Dealer event in London that I wangled an invitation to. It was being shown alongside the shiny new A540 (which suggests it was in 1990 according to Wikipedia, so I'd have been 16 or 17). I was far more interested in the A540 at the time (my longing for an A440 immediately vanished :lol:), but a few years later I was a SunOS sysadmin so wished I'd got to use it.

I did get it working on Arculator a year or two back, but I was having terrible performance issues on my laptop at the time. That's been fixed by a beefier one, so I'll give it another go when I get a bit of time :D
iainfm
Posts: 602
Joined: Thu Jan 02, 2020 8:31 pm
Location: Dumbarton
Contact:

Re: How to run RISC iX for yourself!

Post by iainfm »

Been trying to get this going under Arculator 2.2, but not having much luck.

Firstly, some tips...

The hdimage that unzips should be ok to use directly - just give it an .hdf extension and it 'works' as a drive. The SCSIwriter program is quite slow, so for emulation you can probably do a 'dd'-like method in a Windows command prompt by creating an empty file and then joining it onto the end of hdimage:

Code: Select all

fsutil file createnew blank.hdf <size to create in bytes>
copy /b hdimage+blank.hdf RISCiX.hdf
That bit all seems to work. After I configure scsifsdisks etc I can see the !RISCiX application and ScsiDM in the drive. Loading !RISCiX and changing to riscixfs I can catalogue the unix partition.

However, trying to bootstrap RISCiX the screen goes black. I get a flash of some oversized text saying "<<System" and "Message pending" (or something) and I'm left with an extra-wide Arculator window that's completely black, save for some very dark pixels towards the bottom that might be 1-pixel-high text, or could just be corruption.

Things I've tried:

A540 as the base machine to emulate
Different memory sizes
Different Acorn SCSI podules, in different slots
With/without network podule
With/without MEMC1a
With/without FPA
Different monitor configs

None of the above seems to make anything better or worse.

It's a bit strange because I have got it working under Arculator before, though that was on an ST506 drive and possibly a different version.
Simon
Posts: 329
Joined: Sun Apr 12, 2020 9:20 pm
Contact:

Re: How to run RISC iX for yourself!

Post by Simon »

I just unzipped the image and uses that directly as SCSI 0 device.

Then launch the !RISCiX app open it and middle click on the "RISCiX Boot" windows Device Defaults and check that you have sd 0 0 selected with this config.
Electron (+1, +3, AP5)
Electron (RH +1, Pegasus)
BBC B 1770, boobip, Acorn Speech,Econet)
BBC B+ 128k (Acorn Speech)
Master 512 (ARA III, VideoNuLA, Econet)
PiTubeDirect, RGBtoHDMI, Pi1MHZ
Master Compact (Econet)
Econet: RiscPC 700 / A3020 / A3000
User avatar
awilliams
Posts: 145
Joined: Sun Feb 22, 2015 10:51 am
Location: Adelaide, Australia
Contact:

Re: How to run RISC iX for yourself!

Post by awilliams »

From the 4Corn page on hardware it will boot from:

> [1] A3xx/A3000 (maybe), A4xx, A4xx/1, A540, R140, R225, R260. Not A5000, A4, A4000, A3010, A3020, or Risc PC or later)

I tested some of the outliers from this list in the day with the following results.

A3000 4M + AKA30 yes, but no ethernet as you only have one podule slot and none of the A3000 ether types are supported.
You need MEMC1a & 4Meg which I think rules out early A400 but not A440/1 or upgraded A420/1 or A410/1

There are no kernel drivers for the PCIO chips so that practically rules out everything A5000 or later but despite that it will boot on a 4M A5000 from AKA30 but with no keyboard driver. I failed to consider telneting it and finding out if that config was viable headless.

You will almost always get an kernel message about the backplane pal being missing when running this on non intended hardware, but this doesn't seem to be a problem.
Sophira
Posts: 113
Joined: Mon Sep 26, 2022 9:45 am
Contact:

Re: How to run RISC iX for yourself!

Post by Sophira »

Here's what I did to boot up RISC iX using the image in Arculator:

1. Firstly, you don't need to do any SCSIwriter or dd or anything. Just leave the hdimage file as is, except for renaming it to "hdimage.hdf" so that it shows up as a valid file.
2. Create a new configuration as follows:

Machine: Archimedes 540 (RISC iX is native to the A540, so it's the best machine to use and everything seems to work fine, keyboard included.)
CPU: ARM3 @ 26 MHz (though you should be able to use faster without issue)
FPU: None
Memory: 16 MB (I believe a standard memory for RISC iX would actually be 8 MB or so, but 16 MB works fine)
MEMC: MEMC1a (12 Mhz)
OS: RISC OS 2.01 (This is important! RISC iX won't boot if you're using RISC OS 3.11. Actually it does seem to boot; see below.)
Monitor: Multisync (This is also important if you want to use X11.)

3. Go to the Podules tab, and select Acorn AKA31 SCSI Podule as the first podule and Acorn Ethernet II podule (AEH50) as the second podule (note that RISC iX does not work with an AEH54). Configure the AKA31 so that ID 0 is a hard drive, and load the hdimage.hdf file into it. It should show up as having 528808 blocks and being 258 MB large.
4. OK out of everything, then run the machine.
5. Once at the desktop, press F12 and run the following commands (case does not matter, but the first command will fix things so that on subsequent boots you'll start off typing in lower case and not upper case):

Code: Select all

*Configure NoCaps
*Configure SCSIFSdiscs 1
*Configure MonitorType 1
*Configure Filesystem SCSI
*Configure Drive 4
6. Hard reset the machine.
7. Click on the "RISCiX" drive on the icon bar, then double-click on !RISCiX. You'll get a brief error before the desktop refreshes. This is normal - we haven't set up the device configuration yet, since we can't until the RISCiXFS module is loaded.
8. Don't click the icon on the iconbar yet! Instead, press F12 again and this time run the following commands:

Code: Select all

*Configure Device sd0
*Configure Unit 0
*Configure Partition 0
9. Hard reset the machine again.
10. Once again, click the "RISCiX" drive, then double-click !RISCiX. This time you should get no errors.
11. Click the RISCiX icon on the icon bar, then click OK when prompted.
12. RISC iX should start booting up. It'll check the disc, then start initialising the ethernet services, and eventually it'll give you a login prompt. Use the username "root" and the password "Tal540bo".
13. (hacker voice) You're in.
Last edited by Sophira on Wed Dec 13, 2023 12:24 am, edited 2 times in total.
Sophira
Posts: 113
Joined: Mon Sep 26, 2022 9:45 am
Contact:

Re: How to run RISC iX for yourself!

Post by Sophira »

It turns out I was wrong - RISC iX *does* boot under RISC OS 3.11 if you want to use that instead with the above instructions. I have no idea why I couldn't get it to work before.
User avatar
awilliams
Posts: 145
Joined: Sun Feb 22, 2015 10:51 am
Location: Adelaide, Australia
Contact:

Re: How to run RISC iX for yourself!

Post by awilliams »

I have never worked that out, it seems sensitive to things you might load after booting but I don't know what in particular.
My A540 deliberately loaded nothing on boot for this reason and will boot RISC iX if you do it straight away.

I always found it interesting that you can run RISC iX binaries from RISC OS with the RISC iX boot app. I also remember making a RISC OS App that just ran filer_opendir on RISCiXFS so you can look about in the RISC iX filesystem from RISC OS. A pity its read only though.

I imagined there must be a way to recover/reinstall RISC iX just using RISC OS SCSIDM, then a RISC iX floppy with things like newfs, mknod and tar which you might run from the RISC iX boot app to put back a tar file backup, but it escaped me to make it work. Thankfully there are simpler ways now!

The other thing is that Acorn put a lot of effort into making RISC iX look system 5 flavored despite being BSD derived. I remembered altering your path to the bsd flavored tools make compiling things like cern httpd much more successful.

It was also very important when cloning RISC iX to a new disk to use tar not cp, because their tar knows their sparse file compression algorithm and cp does not. The whole system ends up much bigger and won't fit on the same sized disk if you mess this up.
Sophira
Posts: 113
Joined: Mon Sep 26, 2022 9:45 am
Contact:

Re: How to run RISC iX for yourself!

Post by Sophira »

awilliams wrote: Tue Dec 12, 2023 10:56 pm The other thing is that Acorn put a lot of effort into making RISC iX look system 5 flavored despite being BSD derived. I remembered altering your path to the bsd flavored tools make compiling things like cern httpd much more successful.
I believe that's actually an officially-supported 4.3BSD thing, not just an Acorn thing, and it's to switch between a BSD environment and a more X/Open-conforming System V-like environment. (Or maybe it came from SunOS? I actually don't know on this point.) If you type "man 1v intro" it'll tell you more about it, how the path makes a difference, what the difference between /usr/bin and /usr/5bin is, etc.
paulb
Posts: 1767
Joined: Mon Jan 20, 2014 9:02 pm
Contact:

Re: How to run RISC iX for yourself!

Post by paulb »

Sophira wrote: Wed Dec 13, 2023 12:20 am I believe that's actually an officially-supported 4.3BSD thing, not just an Acorn thing, and it's to switch between a BSD environment and a more X/Open-conforming System V-like environment. (Or maybe it came from SunOS? I actually don't know on this point.) If you type "man 1v intro" it'll tell you more about it, how the path makes a difference, what the difference between /usr/bin and /usr/5bin is, etc.
I think I may have noted before that on Solaris, which was more a traditional System V thing than its predecessor, there were separate directories for the different flavours of utilities: /usr/xpg4/bin, /usr/ucb/bin, and so on. At least if my memories from a couple of decades or more in the past remain intact. It wouldn't surprise me if similar compatibility support had been around in products approaching from the other direction.
User avatar
sweh
Posts: 3315
Joined: Sat Mar 10, 2012 12:05 pm
Location: 07410 New Jersey
Contact:

Re: How to run RISC iX for yourself!

Post by sweh »

SunOS 4 used to put BSD stuff in bin and put SV stuff into 5bin. Solaris 2 onwards put SV stuff into bin and had ucb/bin and xpg4/bin as alternatives.

eg from my SunOS 4.1.3_U1B backup:

Code: Select all

% ls usr/5bin
ar         cflow  date.FCS  echo     ln     pax      sort  tic        tr
banner     chmod  df        expr     ls     paxcpio  stty  time       ustar
captoinfo  col    diff3     grep     m4     pg       su    touch
cat        cxref  dircmp    infocmp  nohup  pr       sum   touch.FCS
cc         date   du        lint     od     sed      tabs  tput
Rgds
Stephen
iainfm
Posts: 602
Joined: Thu Jan 02, 2020 8:31 pm
Location: Dumbarton
Contact:

Re: How to run RISC iX for yourself!

Post by iainfm »

Sophira wrote: Tue Dec 12, 2023 8:51 am Here's what I did to boot up RISC iX using the image in Arculator:
Thanks very much for that. Worked like a charm!

I think the thing I was missing was configuring the monitor type, but I deleted my earlier attempt so can't prove this!
iainfm
Posts: 602
Joined: Thu Jan 02, 2020 8:31 pm
Location: Dumbarton
Contact:

Re: How to run RISC iX for yourself!

Post by iainfm »

Is it possible to get networking/routing working in RISCiX/Arculator?

From Arculator's github page, it looks like I need to use SLiRP (and it's the only option available when I configure the network podule), with

IP address: 10.0.2.15
Netmask: 255.255.255.0
Gateway: 10.0.2.2
DNS: 10.0.2.3

I've changed /etc/hosts to give the riscix host 10.0.2.15 and /etc/netmasks (not convinced it's used) to
10.0.2.0 255.255.255.0

/etc/resolve.conf contains 10.0.2.3 as the name server, and I've edited /etc/rc.net to give it:
BROADCAST='broadcast 10.0.2.255'
and
NETMASK='netmask 0xffffff00'

That all works up to a point. en0 comes up with the correct IP, netmask and broadcast address, albeit with an error

ifconfig: socket: Protocol not supported

I can ping 10.0.2.15 (expected), 10.0.2.2 (great) but not 10.0.2.3 (odd).

However, beyond that I can't get any routing to my internal address range 192.168.0.0/24 (or further) to work.

I've tried various routing commands such as

route add default 10.0.2.2 0

And various permutations of destination, gateway and metric but I'm not getting any further, and I can't find/remember the early equivalent of traceroute (if there was one).

Any suggestions would be gratefully received!

Edit: It does say in the RISC OS networking setup guide: To test the configuration, press F12 then type "ping <Gateway>". Note that when using SLiRP, the gateway address is the only address that will respond to ping. So maybe what I'm seeing is normal(ish)?

Edit2: "route add default 10.0.2.2 1" does get internet routing working. I can ftp to servers on the internet, although they're not hugely keen on talking to me. DNS still isn't working for some reason. Maybe if I set the resolve.conf to something else...

Edit3: DNS working! The default name /etc/resolve.conf is wrong (I did wonder why this unix had the 'e' on the end. Rename/copy it to resolv.conf and bang in a name server (your router's IP for example) and it works :) Hmm, well, ish. nslookup works but ftp/ping/telnet etc don't seem to be able to resolve properly.

Edit4: Renaming/deleting /etc/named.boot is probably wise, unless you want to run a nameserver.
Sophira
Posts: 113
Joined: Mon Sep 26, 2022 9:45 am
Contact:

Re: How to run RISC iX for yourself!

Post by Sophira »

Apologies for the late reply - I've been suffering from a super bad stomach bug of some kind. I'm still recovering but I feel at the point where I can start using the computer again now.

As I understand it, SLiRP only works with TCP and UDP (with the exception of being able to ICMP ping the host, as I understand it), so that's why you're unable to ping any other machines.

I haven't tried FTP yet so I can't be sure, but if your problem is that you can't transfer files and it hangs when you try, the reason it isn't working is almost certainly because of how the FTP protocol is set up - by default FTP uses a command channel and a data channel, where the command channel is your initial connection to the FTP server and the data channel is formed by the client opening a port for the server to connect to. As far as I know, SLiRP does not allow for incoming connections unless port forwarding is configured - and I don't think there's currently a way to do that on Arculator.

Most FTP clients let you go into "passive mode" where the server instead opens another port for the client to connect to, but I have no idea if RISC iX's FTP program would have that or not.

If that's not your problem, then I'm not sure. I'll take a look at it myself when I can, though depending on how I feel that may take a bit.

I'm glad you've been able to get everything else working, though!
iainfm
Posts: 602
Joined: Thu Jan 02, 2020 8:31 pm
Location: Dumbarton
Contact:

Re: How to run RISC iX for yourself!

Post by iainfm »

Hi,

Thanks for this! FTP still eludes me, though I suspect a lot of that problem is to do with the old client on the RISCiX side not sending/receiving the expected commands/protocols for a modern FTP server.

So, I tried TFTP thinking that would be a lot more likely to succeed, but I've not had any joy with that either yet. I'll keep plugging away at it.

Telnet seems to work though. I found some weird virtual chat bar thing still operating on the internet, and could connect to that fine.

All I'm trying to do at the moment is transfer a newer (possibly) kernel to the emulated RISCiX OS that I found on archive.org. Things I've tried:

Writing it to a floppy - no dice, kernel is 900K and A540 only supports 800K discs
FTP - failed
TFTP - failed, but still trying
Creating a compressed tar image of the kernel and copying to/from floppy. Success! But RISCiX tar doesn't support compressed archives and there's no gzip binary (hmm, maybe I could find one in the same archive...)
Raw-writing the kernel to an HDF file and trying to copy it using the raw block device - drive wasn't seen in RiX.
Copying to the unix partition using riscixfs - Doesn't support write operations

My next idea is to split the file into two, transfer it via two floppies and recombine it in unix. The only reason I've not done this yet is the amount of faff required and my general laziness :mrgreen:

Kids these days don't realise how easy they've got it :D
Last edited by iainfm on Wed Dec 20, 2023 3:52 pm, edited 1 time in total.
Sophira
Posts: 113
Joined: Mon Sep 26, 2022 9:45 am
Contact:

Re: How to run RISC iX for yourself!

Post by Sophira »

Compiling a version of gzip for RISC iX doesn't seem like it'd be too difficult. I'll give it a shot when I can.
iainfm
Posts: 602
Joined: Thu Jan 02, 2020 8:31 pm
Location: Dumbarton
Contact:

Re: How to run RISC iX for yourself!

Post by iainfm »

That'd be great thanks!

I have succeeded in copying and booting the new(?) kernel. I installed ncompress on a raspberry pi and zipped the kernel with that. Copied it to a virtual floppy, then from that into RiX and uncompressed it. Simple :lol:

It boots, but I don't really know what the difference is. uname -a reports the same (RISC iX riscix 1.2 1x arm).

There is a banner at boot:

RISC iX test kernel root #1 special: made Wed Dec 8 07:40:24 1993

Apart from that the only noticeable difference so far is automountd grumbles that 'YP bind failed: args to yp function are bad'

I think the kernel sources are in the archive I got from archive.org if they're of any use/interest to anyone.
iainfm
Posts: 602
Joined: Thu Jan 02, 2020 8:31 pm
Location: Dumbarton
Contact:

Re: How to run RISC iX for yourself!

Post by iainfm »

Just for S&Gs I tried running RISC iX on an emulated A5000, and it worked fine. I just gave it the scsi and ethernet podules and *configured it as per the instructions (along with monitortype 4) and it booted straight away.

The floppy drive doesn't work, which is unsurprising, and I guess on real hardware there will be problems with (m)any ports that go through the superIO device, but I think it would run after a fashion.

I have an A5000, just no (Acorn) SCSI card to try it with :cry:
User avatar
IanJeffray
Posts: 5963
Joined: Sat Jun 06, 2020 3:50 pm
Contact:

Re: How to run RISC iX for yourself!

Post by IanJeffray »

iainfm wrote: Sat Dec 30, 2023 4:33 pm I have an A5000, just no (Acorn) SCSI card to try it with :cry:
IDE podule? viewtopic.php?t=24555
paulb
Posts: 1767
Joined: Mon Jan 20, 2014 9:02 pm
Contact:

Re: How to run RISC iX for yourself!

Post by paulb »

iainfm wrote: Sat Dec 30, 2023 4:33 pm Just for S&Gs I tried running RISC iX on an emulated A5000, and it worked fine. I just gave it the scsi and ethernet podules and *configured it as per the instructions (along with monitortype 4) and it booted straight away.

The floppy drive doesn't work, which is unsurprising, and I guess on real hardware there will be problems with (m)any ports that go through the superIO device, but I think it would run after a fashion.
Previously, I couldn't find any indication of support for running RISC iX on the A5000, nor much in the way of compatibility guidance. However, looking just now, I found this in the Acorn Enhanced Expansion Card Specification:
Some variants of the computer (Archimedes 400/1, 540, A5000 and R-Series) have extra logic on the backplane PCB, for expansion card interrupt management. The default/power on state of the logic leaves expansion card interrupts enabled, i.e. the logic can be ignored and the system will behave identically to the A300 and early A440 models. Two functions are added by the extra logic, a mask register and a status register. The logic is fitted to support RISC iX.
So, I imagine that there was some intention to offer RISC iX on the A5000, just as was done for the A540 and A400/1 machines, but then Acorn pulled the plug on RISC iX altogether. Curiously, RISC iX is listed in a RISC User article about ARM from 1996, almost as if it was still being offered, but I imagine that the author was using it to pad out the list. IBM's Workplace OS gets a mention, too, having been touted as a potential future platform for Acorn's operating systems at one point.
iainfm
Posts: 602
Joined: Thu Jan 02, 2020 8:31 pm
Location: Dumbarton
Contact:

Re: How to run RISC iX for yourself!

Post by iainfm »

IanJeffray wrote: Sat Dec 30, 2023 5:44 pm IDE podule? viewtopic.php?t=24555
Yeah, saw that. Very tempting. Might have to give it a go sometime! ❤️ 😁

I'll also need to check what ethernet podule is in in, but I'm sure it's not an Acorn one.
Post Reply

Return to “32-bit acorn software: RISC iX”