John Joyce <[EMAIL PROTECTED]> writes:
> On Mon, 19 Apr 1999, Ashley Ward wrote:
> > Linux cannot seem to see the ICS IDE interface - booting this configuration
> > gives this:
> >
> > Now booting the kernel
> > Console: [...]
> > Calibrating delay loop.. ok - 222.00 BogoMIPS
> > Memory: 35188k/36864k available (796k kernel code, 36k reserved, 844k data)
> > Probing expansion cards:
> > 1: [003D:00AE] IDE & CDFS Expansion Card
> > 8: [0046:00EC] i-cubed ltd, EtherLan 600 interface (00:c0:32:00:43:07)
>
> Yup you've got the same problem as me - the manufacturer ID has changed
> from 0x3c to 0x3d; apparently this has been fixed in later versions. You
> need somebody to send you a kernel which is slightly doctored to suit. A
> kindly soul sent me one but I still can't get the install program to go -
> now it stiffs the machine totally (no Alt/f keys, no ctrl/alt/del) at the
> 'partition disk' stage. I've not yet had chance to investigate that one.
Thanks for the help, John.
I've now got the thing working - it's a little bodged, but I think we're
happy.
A few notes about how I bodged everything together. None of this is
probably the best way, but I hope the information might help someone else.
StrongARM RPC, with ICS IDE card and 8Gb disc.
o Create the RISCOS partition with the IDEFormat (ICS) program
o Use the alpha PartMan to create the Linux partitions. Note that it may
display the disc geometry incorrectly. Correct this. You will probably need
to fix the Template file in PartMan to allow you to enter a big enough
number for cylinders.
o Compile a kernel. A few modifications need to be made here as well (I'm
using 2.0.36). Mark Seaborn posted a change to the adfspart_check_ICS()
function in arch/arm/drivers/block/adfspart.c. Also MANU_ICS in
include/asm-arm/ecard.h needs changing from 0x003c to 0x003d for this
(recent) ICS IDE card: note the message
Probing expansion cards:
1: [003D:00AE] IDE & CDFS Expansion Card
on booting. http://members.xoom.com/chrissawer/kernelcomp.html tells how to
build a kernel quite nicely - unfortunately I didn't discover it until
after I had done the job! One thing to note is that trying to use an
uncompressed kernel does not work - you must make zImage and use that
(using the uncompressed version just hangs the machine).
o Now try and install it. Unfortunately the fdisk program does not
recognise the Ids of the partitions created with PartMan - it says:
Device Boot Begin Start End Blocks Id System
/tmp/hdc1 0 1 12485 6291976 100 Filecore
/tmp/hdc2 12485 12485 16179 1862240 ffff Unknown
/tmp/hdc3 16179 16180 16383 102816 ffff Unknown
Although fdisk has the code to change the Ids to Linux Native and Swap, it
does not have the code to write the information back to the disc.
So, instead, create the filesystems manually: go to the shell in the
installer program (Alt-F2 I think).
mknod /tmp/hdc2 b 22 2
mke2fs -v /tmp/hdc2
Go back to the installation program. Use the menu to jump to locate
software, choose software, and install. It does not have a swap partition
yet (and mkswap does not appear to be on the installation discs - I assume
it is built into the installer program) but this does not matter. When you
have the OS up and running, do mkswap manually. After the install,
/mnt/bin/sync (a few times for tradition's sake ;) and then reboot.
Now unfortunately, the !Linux application (even the new one from the
'testing' directory on the FTP site) also does not recognise the
partitions. Not really a problem though as the kernel can be put on the
RISC OS disc, and !Linux run with -bootkernel <path to kernel>. You need to
provide the option "root=/dev/hdc" as a kernel argument - this can be
automated with the handy "-args" option in the new !Linux application. So,
in short, I've created a one line Obey file that calls !Linux with the
-bootkernel and -args options to give it the info that it cannot read from
the partitions.
We have an EtherH card. Getting the modules for this is an interesting
task. The 'modules' package on the FTP site appears to be for kernel
2.0.35. I could recompile them, or insmod them with some option to allow
earlier modules, but I found the easiest solution was to copy them off the
root-rpc disk created during installation, and modify
/etc/rc.d/init.d/network to load them (I know, a bodge, but it works).
I also had to move the CDROM (a Matshita) to the ICS interface - when
plugged into the Acorn IDE port on the motherboard, Linux hangs after
detecting it on booting. Booting with "hdb=noprobe" or similar does not
solve the problem. Moving it to the new interface solves the problem.
The ethernet card (an EtherH) gives problems: "eth0: Reentering the
interrupts handler!" messages appear, sometimes so many that the machine is
unusable for a period. (I've seen some other messages about this recently -
the card is plugged into the NIC slot on the motherboard FYI). Never mind -
the card doesn't live in this machine anyway, and file transfers still
work. It works fine in my (non-StrongARM) RiscPC.
Hope this helps someone.
Ash.
--
Ashley Ward - Graduate Teaching Assistant - PhD year 1
[EMAIL PROTECTED] - http://www.dcs.warwick.ac.uk/~ashley/
Room 102, Department of Computer Science, University of Warwick, Coventry
unsubscribe: body of `unsubscribe linux-arm' to [EMAIL PROTECTED]