Subject: Installing ARMLinux on SCSI Drives

From: Chris Nelson <[email-masked]>
Date: Sat, 28 Nov 1998 11:58:43 +0000

I am having quite a few problems installing ARMLinux on my SCSI SyJet drive.
I have been following Paul Vigay's excellent guide to installation, with 
the necessary modifications for a SCSI installation.  My drive is connected
via a Powertek SCSI II card. My system is a 32Mb/2Mb RiscPC600 with a SA110.

My first problem was creating the partitions on the SCSI drive.  I 
partitioned my disc into two halves, and used the BB_RiscBD SCSI/powertek 
partition fix recommended in a mail to this list in June by Tom Palmer, then 
when I use PartMan to create the Linux partitions (ADFS,Linux Table, Linux
Native, Linux Swap). Running PartMan a second time shows that the partitions 
were not set up correctly, so I set them up again.  This time, PartMan 
insists on overlapping the ADFS partition with the Linux Table and Native 
partitions.  So I turned to the alpha PartMan release. This does not have 
the overlapping partition problem, but doesn't appear to create a Linux 
Table partition (at least it isn't listed), so there is one less partition 
on the disc (ADFS, Linux Native, Linux Swap). 

I decided to go ahead and do the Linux Installation anyway, and booted of
the floppy, loaded the supplemental disc as recommended in Paul's guide. 
When it comes to copying the RPMS directory to the Linux Native partition 
now to be on sdb2, I had to modify the process slightly.  Rather than copy
the file when the installation is at the 'Installation Path' window (step 45
in Paul's instructions) I found that my SCSI devices were not found until
I had told the installer I had a powertek SCSI device, and had it autodetect
the connected drives.  Now I could create /dev/sdb2, create the file system
copy the RPMS and go on to the swap drive initialisation.  This was my next
major stumbling block. The installer cannot find the swap partition, does
not seem to find sdb3 at all. I finally solved this by repartitioning my 
SCSI drive, but this time, creating 3 partitions, one ADFS and two empty. I
ran BB_RiscBSD as before, and used the alpha version of PartMan to set up
the two partitions as Native and Swap respectively.  I then retraced all my
steps (i.e. copying all files etc :-( ) and this time the installer found my
swap drive and initiallised it without problems.

I now found I could follow the installation without any changes (after 
remembering to load the base and instim tar files into the RedHat directory!)
The installer unpacked the distribution and went on to ask me about my 
keyboard, mouse, timezone, and asked for my password.  It seemed that I'd
cracked it!  As expected I got the 'I couldn't find a kernel' error, and I
resync'ed the drives and rebooted. If I now run the linux application booting
from a kernel in an ADFS partition like before, but now specifying my root
device as 'root=/dev/sdb2' at the 'extra arguments' prompt, the installation
halts (after listing attached devices) with an error message:

Kernel panic: VFS: could not mount the root fs on [08:12]

(the cursor is still flashing at this point btw)

This is a bit irritating putting it mildly. 

Assuming that the numbers in square brackets are the major and minor numbers
of the root device, I was surprised that they weren't [08:18] for sdb2. I
tried fooling the system by entering /dev/sdb8 at the extra arguments prompt
but whilst the correct major and minor numbers were now used, the same error
occurred.

If I go back into the Linux installation to the point after telling the
installer that I have a powertek SCSI interface, I can make the /dev/sdb2
node myself, mount the partition onto /hd (or whatever), and check that all
the files are still there (they are), so the partition itself seems fine.

Should I assume that the standard kernel (and the Linux boot application) 
are not capable of booting up a root device from SCSI? If this is the case,
is it possible to compile a kernel that recognises the Powertek set up? and
could some kind soul do this for me? (since clearly I cannot).

If I use the Linux application to boot up directly (rather than booting from 
floppy) I get the 'invalid bmap magic in first sector of partition' error.
I used the recommended steps in the FAQ, I.e. create a /etc/boot.conf file
and run loadmap to try to remedy this.  Since I cannot mount sdb2 as root,
I had to use the -r and -R parameters of loadmap to create the bmap on the
device mounted to a subdirectory (it did seem to work, but who can tell?)
I still get the invalid bmap error however.

Is it not possible to create a valid bmap table unless the proposed root 
device is already mounted as root? (which I can't do).

If I use the alpha version of the Linux application, I get an invalid Linux
partition error instead of the bmap magic error (I tried several different
partition numbers just in case).

I would be grateful for any advice for things to try, especially from people
who have succesfully installed ARMLinux on a powertek SCSI II system.

Chris
unsubscribe: body of `unsubscribe linux-arm' to [email-masked]