I ran into some problems when booting vmlinux (1.3.62) on my M700-10.
On an SGI I have built and installed gcc 2.7.2 and binutils 2.6 (with patches)
as mipsel-linuxaout, for kernel cross-compilation. I put milo and the compiled
vmlinux on a floppy. I start milo from ARC with 'a:milo', and up to and
including the 'press enter to start Linux' everything looks good.
What happens during the linux boot seems to be that all I/O probing fails..
I have two different ethernet adapters. One is a non-jumpered NE2000, and
the other is a 3c503/16 jumpered to PIO. This is the one I would like to use,
as the NE2000 is twisted pair and my TP converter doesn't work. I have tried
to compile the kernel with driver for one, for the other, and for both, with
and without boards installed. The autoprobing fails in all cases.
At this stage I also got an 'illegal kernel paging request' (or something
like that, after the change below it disappeared and I don't have a syslog :-)
What I then tried was to hardcode the I/O address for the 3c503 at the
start of el2_probe(), apparently it then found it. (Can parameters be passed
through milo? I tried a few things, based on what I saw in the sources, but
it didn't make any difference that I could see.) The kernel paging error is
(I also threw in a bunch of printk's here and there, trying to find out where
the problem was.)
What now fails is the autoirq_setup(), it is called four times and then
it gives up.
Then root-nfs gives up and asks me to put in a root floppy and press ENTER.
I've prepared one, but the keyboard doesn't work!
Here is the booting sequence, typed in by hand (with possible mistakes because
my monitor is *real* bad in 1280x1024):
Console: colour MIPS-G364 160x64, 1 virtual console (max 63)
Calibrating delay loop.. ok - 49.87 BogoMIPS
VDMA: R4030 DMA pagetables initalized.
Memory: 31472k/32768k available (620k kernel code, 668k data)
Swansea [snip] NET3.033 for Linux 1.3.58
Swansea [snip] TCP/IP..
IP Protocols: ICMP, UDP, TCP
Checking for 'wait' instruction... unavailable.
Linux version 1.3.62 (tor@lrdpf) (gcc version 2.7.2) [snip]
initialize_kbd: reset kbd failed, not POR.
Floppy drive(s): fd0 is 1.44M
floppy0: no floppy controllers found
[here I used to get the kernel paging request problem]
[now it finds the 3c503 because of my hardcoded I/O address:]
3c503.c:v1.10 9/23/93 [snip]
eth0: 3c503 at i/o base 0x330, node 02 60 8c 7b 70 ac, using internal xcvr.
eth0: 3c503-PIO, 16kB RAM, using programmed I/O (REJUMPER for SHARED MEMORY)
[The above is correct, including the ethernet address. So it did read it..]
[now the autoirq_setup fails]
NFS: Unable to open at least one network device [I enabled some debug output]
Root-NFS: Unable to contact NFS server for root fs, using /dev/fd0 instead
NFS: Insert root floppy and press ENTER
And here I'm stuck, apparently because the initialize_kbd failed above.
In addition there is this "floppy0: no floppy controllers found".
My keyboard is a perfectly ok PS/2 compatible one, I'm using a similar one
on my Linux PC, and it works fine with milo.
Suggestions are welcome.. is my gcc sick (it looks good but..), or have I
managed to overlook something silly?