Subject: First attempt partly successful (very long)
To: None <port-arm32@NetBSD.ORG>
From: Kjetil Bernhard Thomassen <thomassk@oslo.geco-prakla.slb.com>
List: port-arm32
Date: 07/01/1996 23:44:10
Finally I have the 1.1 beta of RiscBSD installed on my Risc PC 600.

It has been very difficult to get where I am now, and I would never
have made it without my friend Kim Øyhus (kim@pvv.unit.no).

He helped me get started and explained what I needed and also
showed how to use unixfs.

My conclusion about RiscBSD so far is that it is not suitable for
people without UNIX system administrator experience.

There are too many traps that one can fall into, and with no
trouble-shooting information there is very little to do when
things go wrong.

Once RiscBSD is up and running, then it is ok for novices.

In other words. The installation process need to be streamlined
and much more trouble-shooting information must be included.
My first contribution in this respect will be to send my comments
on the installation manual to Mark Brinicombe.


My Risc PC
==========

My Risc PC 600 has the following spec:
- Old motherboard
- 1 slice
- RISC OS 3 v. 3.5
- ARM610
- 2 MB VRAM
- 48 MB DRAM (32+16)
- 2x210 Conner IDE harddisk (A5k type)
- Acorn 16-bit Sound Upgrade (Minnie)
- Acorn Access+ (I-Cubed) Ethernet card (EtherH) in network slot
using TP (Twisted Pair) network at work.
- Acorn AKA-32 SCSI card (Mk III, issue 1) (WD33C93A SCSI chip)
- MediaVision ReNO X2A SCSI-2 CD-ROM (2x)
- HP C3325A 2GB SCSI-2 disk
- Maxtor LXT213SY 210 MB SCSI-1 disk

My Risc PC is fully on the Internet with it's own IP-address.
I am borrowing this from my PC at work, so it is not online all the
time. Also, it is hidden behind a firewall in the U.S.A. even though
it is physically located in Sandvika, Norway (outside Oslo).

During the installation process, I have used the following software
on the RISC OS side in addition to the supplied ones:
- ANT Internet Suite
- Acorn TCP/IP Protocol Suite (Release 2) NFS client
- SparkFS 1.27
- StrongED 4.00
- !Printers v. 1.53
- !Hform


My Current RiscBSD setup
========================

I am currently booting RiscBSD off my HP SCSI-disk. I have set
that SCSI-disk up with 1.3 GB for RiscBSD and the rest is
reserved for RISC OS. My Acorn SCSI card only supports one
partition, and I have formatted the first 500 MB as a RISC OS
disk.

I have set max processes to 64 and I am booting directly to
multi-user mode.

I am using kernel 4339.


Unsolved problems
=================

Ethernet interface
------------------

This is still causing me some problems with errors like:
- Interrupt not serviced
- Receive error: Missed packet
- Receive error: packet received intact (this should happen)

Still, the networking works pretty well when ftp'ing the sets from
one of the other UNIX-boxes here.


Unixfs does not work with my SCSI disk
--------------------------------------

When I try to mount my RiscBSD SCSI-disk with Unixfs, it gives me
the following error message:

"Error - Invalid filesystem superblock or unknown superblock format"

The same error message comes when I boot from the SCSI-disk, but
if I just ignore it, everything boots fine.


RiscBSD Installer V1.9 does not show all installed sets
-------------------------------------------------------

When I list all the sets installed, it does not list the etc and
a couple of the others, even though there are installed, and
information in /var is available on these.


X11 sets need the x11r6base set, not available for beta
-------------------------------------------------------

I tried to install all the x* sets, and the following sets
cannot be installed:
xarm15, xarm15m, xdm, tk, xarchie, xaw3d, xcontrib, xfig, xftp,
xpaint, xpixmap, xpm, xrn, xv

The reason for this is that they depend upon the x11r6base set
that is not available for beta. There is an x11r6 set that has
been installed, but to no avail.


Problems fixed while installing
===============================

I run into a lot of problems, and I had fixed a few of them.

bb_riscbsd
----------

This did not check correctly for SCSI when typing S. It always
ended up with using ADFS. I just made a new copy of this program
and set it to SCSI all the time.

Also, it did not use the correct SWI for my SCSI card. It tried
to use an SWI called SCSI_DiscOp, but on the Acorn card, this
is correctly called SCSIFS_DiscOp. I believe that other SCSI
cards start their SWI's with SCSI_ in order to avoid conflict
with Acorn's software.

When these two problems were fixed, I managed to create a RiscBSD
partition on my HP SCSI disk.

I was also unable to use my whole second IDE disc with this program.
It needed to have a RISC OS partition on this disc, so I set up a
30 MB partition with !Hform. !Hform was unable to format a 10 MB
partition as I originally intended.


What we did, and the results
============================

I bought myself a new SCSI-disk in order to split this between RiscBSD
and RISC OS. Since I have RISC OS 3 v. 3.5 and my Acorn SCSI card does
not accept more than one partition for RISC OS, I decided to split the
disk in two pieces: 500 MB for RISC OS and the rest for RiscBSD.

So, my aim was to install RiscBSD from scratch to the SCSI-disk.
>From the discussions on the mailing-list and the information on
the W3, it became clear to me that that would not be a problem.
My Acorn SCSI-card was supported, and all arguments were concerned
with the fact that the SCSI driver for Cumana and Powertec SCSI-2
was not too good.

So, yesterday (Sat 29 Jun 1996) Kim Øyhus came to me at work
and we started this process. He had been using RiscBSD for a
long time, and he had a decent setup on his Risc PC 700.

At this time the first release of the 1.2 beta was available,
but it could not be installed from scratch since the boot-loader
code was not ready.

We therefore decided to go for the 1.1 beta first.

We got the code, installed it on my RISC OS partition on my new
SCSI-disk, and then we started.

The first step was to install a kernal in the !BtRiscBSD application,
and we fetched the latest kernal from the kernals directory.
This kernal we installed in the same directory as the !BtRiscBSD
application and tell this application where it was.

Then we created the installation floppy and ran the !BtRiscBSD
application with the /dev/fd0a as the boot device, and set up
a 1440 KB RAM disc.

This booted fine, and we ran the installation script and when
it was about time to start making the file system on the SCSI
disc. Then we were informed that this was a read-only filing
system, and we could not install something there.

We also tried to do this once more, but this time booting from
the /dev/rd0a. Same result.

At this time we gave up the SCSI-disk, and decided to install a base
system without X11 on one of my IDE drives.

So, I spent a lot of time freeing my IDE drive by copying the data
to my SCSI drives and deleting unwanted data.

Then we were ready to try again on the IDE drive. We decided to
allocate the whole disc to RiscBSD, and deleted everything from
this drive. Then we dismounted the drive and removed it from
RISC OS, as we intend to have the whole disc allocated to RiscBSD.

Then we did the install process once more, with the same result.
Read-only filesystem.

I remembered that there was an old kernel in the same directory
as the inst-11 file, so we decided to try that one.

This time it looked more promising until it crashed on some SCSI
problems. We concluded that it was incompatible with my SCSI
card, and decided to remove all SCSI devices. This meant that
we had to copy all the RiscBSD software to the first IDE drive,
and that again meant that I had to clean up and (re)move some
data. But, this obstacle was also passed.

Once again we tried to boot RiscBSD and once again we hit the
Read-only file system. Then Kim finally remembered that we
need to run the bb_riscbsd program first.

We tried to do that, but bb_riscbsd did not like the drive. I
concluded that perhaps it needed a RISC OS partition, so I tried
to make one using !Hform. First I tried to use a 1 cylinder disk,
but that did not work. !Hform was unable to format it and gavet
the usual error message "Drive not understood, has it been formatted?"
We tried with 10 MB. No use.

Finally we formatted the whole disc and then tried with a 30 MB
partition. That was succesful, and we could try to use bb_riscbsd
once more. Now it worked.

So, finally we were able to boot RiscBSD from the RAM-disk and
this time we managed to install it onto the harddisk.

We booted from the harddisk with the old kernal, and it worked, so
we installed the new kernal and that worked too.

Then we ran the /usr/local/sbin/inst program and created the
/usr/distrib directory and the protection of this to 777, and
we also made sure that the / and /usr had 755.

At this time it was getting pretty late, so we started to transfer
the base set from the ftp distribution site to a UNIX box at work
and used NFS to transfer this to the /usr/distrib directory that
was mounted using unixfs.

We did not manage to get the base set installed, but we got it
transferred.

The day after (Sun 30 Jun 1996) I was on my own, and I started by
reading the installation notes. I had not done that on Saturday,
but I had trusted that Kim new what he was/we were doing.

When I read these notes I saw that if we had followed these, we
would only have failed on one point. That is when we tried to
use the whole disc for RiscBSD. The installation notes says that
this is possible, but we know better (see point about bb_riscbsd
above).

Anyway the process went along, and here is the rest of the story.

My first step was to try to boot native in single-user mode.
That went perfectly, and I continued to follow the installation
notes from point 28 as I had already transferred the base set
with unixfs to the correct directory.

I installed the base, misc, etc, bash, config, local, kern and
misc sets, and then I went into multiuser.

I did not configure the system, but halted the system.

Then I booted in single-user mode once more, and tried to install
the more sets, the root directory was mounted as read-only, and
when I tried to list the installed sets using inst, there were
none. I tried to boot several times into single-user mode, but
the root file system was read-only every time.

Also, there was no "Configure" command anywhere on the system.

I then went into multiuser and tried to configure the system with
rcm, and voila: No problem.
Then I reinstalled base and the other sets, and now the system works
fine both in single-user and multi-user environments.

I configured my EtherH card and that worked fine except for the
gateway. That did not work until I inserted the IP-address of the
gateway in the /etc/mygate file. route would not accept the hostname
in this file even if the host was specified both un-qualified and
qualified in the /etc/hosts file. It would claim that this was a
"Bad value".

When I try to list the installed sets, it will not list the etc
set as installed.


Now I had a working RiscBSD, so now I could proceed with the task
that should have worked the first time: Getting RiscBSD to boot
off my SCSI disk.

That was not an easy matter, but I made it. Here is the story.

The first thing to do was to get the partition created with bb_riscbsd.
This program always seemed to find my ADFS disc, even if I specified
SCSI, so I changed it so that it would only use SCSI.
That gave me an error, and the reason for that was that Acorn
have named the SWI's SCSIFS_*, and the program tried to use
SCSI_DiscOp. That was easily fixed, and then I was up and
running and made the partition.

I then printed the install script by dragging this from the unixfs
filer window to the NFS-printer.

I then booted RiscBSD from my IDE drive and ran this script to
create the disktab entry and ran the necessary commands to create
the new file system on my SCSI-disk and then used the tar command
to copy the whole file system from my IDE disk.

I then edited the /etc/fstab manually and halted RiscBSD.

Then the excitement came. Would it be able to boot off my SCSI disk?
I tried it, and I got the following error message:
8

Error - Invalid filesystem superblock or unknown superblock format.

Press SPACE or click mouse to continue.


I then clicked the mouse, and RiscBSD booted off my SCSI disk. YEAH!!!

I was up and running on my SCSI disk.

I then ftp'ed the last sets from my normal UNIX workstation and
tried to install them. I was unable to install a lot of X sets,
because these needs to have the x11r6base set installed. That
was not available for the beta version, but I had installed
the 13-part x11r6 set. Do we have a bug here?

Also, unixfs does not work with SCSIFS. It gives the same error
message as !BtRiscBSD.


The rest of the story is that I started to make this documentation.


Final comments
==============

After I made this document, I have discovered a couple of more
things with my installation.

1) I am in fact running the latest 1.2 beta kernel with the 1.1
sets. This may explain e.g. the network problems.
2) I am not booting native, since I need to specify the native
kernel with a unixfs: path name.
3) The scsi driver for my Acorn card is very poor. On my new
HP disk, I only get 170 KB/s when copying the kernel to /dev/null.
>From the IDE drive, I get 760 KB/s.
The same figures when reading 512 KB files in RiscOS is 1050 KB/s
and 1180 KB/s on the HP and IDE respectively.

Do I need to write my own driver?

Also, I would very much like to be able to do all disk setup
under RiscBSD. This will at present mean that until we have the
RiscBSD software for ADFS E-format, it will be impossible to
detect the size of the RISC OS partition. I can live with that.

But, all in all, we are getting somewhere.

Kjetil B. Thomassen
mailto:thomassk@oslo.geco-prakla.slb.com