NetBSD/acorn32 Frequently Asked Questions
General Information
- I've upgraded my Acorn machine to RISCOS 4.x. How do I boot NetBSD?
- How do I boot an NC? What do I need?
- I've seen !BtRiscBSD, !BtNetBSD and boot32. What should I use?
Supported hardware
- What machines are supported by NetBSD/acorn32?
- What if I have a machine that isn't mentioned?
- On-board hardware
- Ethernet interfaces
- IO cards
X Servers
- I'm running on a RiscPC or A7000. What X Server should I get?
- I've got the X server but it only works at the same resolution as my console. How do I change the resolution?
Networking (and Network Booting)
- My EtherM card sometimes hangs after booting. What should I do?
- Help! My RiscPC's etherH card won't configure under NetBSD/acorn32.
Performance
- I'm seeing random crashes in applications/the compiler. What is happening?
- On my RiscPC, SCSI transfer rates suck. What should I do?
General Information
I've upgraded my Acorn machine to RISCOS 4.x. How do I boot NetBSD?
The bootloader shipped with NetBSD works under RISC OS 4. For earlier NetBSD releases there is a RISC OS 3 and RISC OS 4 compatible bootloader, including memfix for Kinetic based systems, available at ftp://ftp.NetBSD.org/pub/NetBSD/arch/acorn32/riscos/.
How do I boot an NC? What do I need?
Booting an NC is fairly straightforward using the
boot32 bootloader. On powerup the NC initialises itself and
asks for its configuration on the LAN using BOOTP/DHCP. First,
add a record to dhcpd.conf(5) for the machine and (re)start
the dhcpd(8) service after adding dhcpd=YES
in
your rc.conf(5) file. Here is an example for a machine
called `elmo':
host elmo { hardware ethernet 0:0:a4:11:7b:f6; fixed-address elmo.reinoud.kasbah; option routers 192.168.2.1; filename "/usr/export/elmo"; option root-path "/usr/export/elmo"; }
Note that the filename
option is needed,
otherwise it sends the NC a strange file to load that will
fail with “insufficient access”. Giving the
home directory means nothing to the NC and is ignored.
Second, you need to export an NFS tree for the NC's root
filesystem. This is done by adding an exports(5) entry
and running the nfsd(8) and mountd(8) services by
setting nfs_server=YES
in rc.conf(5). Here
is an example /etc/exports
entry:
/usr/export/elmo -maproot=root elmo
Next, place the bootloader (boot32,ffa)
and kernel (netbsd
or
netbsd.gz
) in the
/usr/export/elmo
directory.
The final step is to create a file called !NFSBoot,feb
with the following contents:
*NFS *RMLoad boot32 *Wimpslot -next 3000k *WimpMode 32 *desktop *boot32 netbsd *BASIC
To check your NC's settings and such, you can uncomment
the *desktop
line and be dropped into the BASIC
interpreter where you can use `*' CLI commands. Using the CLI
itself is not possible on the NC due to an irritating little
module called `CLIProtect'.
I've seen !BtRiscBSD, !BtNetBSD and boot32. What should I use?
Use boot32 when possible; it's a RISC OS module currently in development. It ought to be able to boot all supported machines. If it fails for whatever reason, please report it to the mailing list with as many details as possible submit a problem report.
If it failed you can try the older bootloader !BtNetBSD, the predecessor of boot32. The oldest bootloader, !BtRiscBSD, should not be used anymore unless you are using very old versions of NetBSD, like 1.4.x and older. It is not supported anymore.
Supported hardware
What machines are supported by NetBSD/acorn32?
NetBSD/acorn32 runs on the Acorn range of 32bit ARM computers and derivatives, such as the Castle Kinetic RiscPC and Acorn's own Network Computer. A full list can be found on the main NetBSD/acorn32 page.
What if I have a machine that isn't mentioned?
Early Acorn machines with ARM2 and ARM3 processors are supported by NetBSD/acorn26. Newer ARM machines are supported by a number of ports. See NetBSD ports by CPU for details.
On-board hardware
Most standard Acorn hardware is supported. This includes VIDC (video console), IOMD (general purpose IO), serial ports, parallel ports, mice (both quadrature and PS/2), internal IDE interfaces, floppy disks and keyboards.
Ethernet interfaces
NetBSD/acorn32 supports all interfaces with machine-independent podulebus drivers, and also:
RISC OS driver name | Manufacturer | NetBSD driver name |
---|---|---|
Ether1 | Acorn | ie0 |
EtherH NIC | I-cubed | ne0 |
EtherM NIC | ANT | ne0 |
EtherH and EtherM NIC drivers are the best performers.
IO cards
In addition to modules with machine-independent drivers, the following IO cards are supported:
-
Acorn SCSI (
asc
) -
Cumana SCSI I (
csa
) -
Cumana SCSI II (
csc
) -
Alsystems Powertec SCSI II (
ptsc
) (maybe/apparently SCSI III) -
MCS Connect32 (
cosc
) -
Yellowstone RapIDE (
rapide
) (issue 2 - approximately 15% faster than internal IDE) -
Simtec low-cost IDE (
simide
) (approximately the same speed as internal IDE)
The speed of the SCSI drivers is presently relatively poor, whereas the IDE drivers perform well.
X Servers
I'm running on a RiscPC or A7000. What X Server should I get?
The NetBSD xsrc distribution supports the RiscPC and A7000 display hardware. The server is called Xacorn32VIDC.
I've got the X server but it only works at the same resolution as my console. How do I change the resolution?
For older NetBSD releases (-1.5.x) you need a utility called setvideo; for newer wscons consoles this is not yet possible. This is considered a missing feature and will hopefully be addressed in the future.
This utility is available in source form from ftp://ftp.NetBSD.org/pub/NetBSD/arch/acorn32/misc/misc-src-riscpc.tar.gz. Once you have compiled and installed setvideo and have installed a RISC OS monitor definition file in /etc/monitor.conf you will be able to use setvideo to change the X server colour depth and resolution by running it before starting the X server with startx.
Networking (and Network Booting)
My EtherM card sometimes hangs after booting. What should I do?
This is a known problem, and appears to be a flaw in the card design that stops the interface from being turned off when it should be. All we can recommend is rebooting until it works.
Help! My RiscPC's etherH card won't configure under NetBSD/acorn32.
There are many fixes for this. The best one seems to be to either configure the card or reset the card in your !Boot file under RiscOS. (The latter has been found to be more reliable with older cards, but most people seem to prefer configuring the card and then letting NetBSD reset it).
Performance
I'm seeing random crashes in applications/the compiler. What is happening?
Your machine probably has a hardware fault which may or may not be correctable depending on the cause.
Possible causes of this problem are:
-
Out of tolerance or bad memory. Try replacing or removing memory and see if the problem persists.
-
Acorn RiscPC computers may be suffering from a motherboard timing problem. This timing problem problem is due to an unnecessary capacitor on the board and can be provoked by heavy memory usage, since NetBSD is a much more intensive user of memory than RISC OS. People with x86 second processor cards and Kinetic upgrade cards have experienced similar problems in RISC OS as these pieces of hardware can cause similar stress on the RiscPC memory subsystem.
-
It may be a buggy StrongARM processor. All StrongARM processors prior to revision S have a bug in the handling of LDR instructions on a page boundary. An LDR instruction in this position can cause a bad page fault. If you have one of these processors (and you have exhausted all other potential causes) this may be the cause of your problem.
On my RiscPC, SCSI transfer rates suck. What should I do?
Use IDE. This isn't a frivolous answer. The NetBSD/acorn32 SCSI driver for the RiscPC isn't very responsive.
Back to NetBSD/acorn32 ports page