All,
thanks for your responses, I'm getting a little further. One useful
avenue is to boot a shell, in this case ash.static. This gives me a '#'
prompt. I only had to write an interrupt driven serial device driver and
(hey presto) I've got something that is responding to commands (well, sort
of). This got me pretty excited on Friday.
The big issue that I have is that no commands actually return. So,
for example, if I launch a new ash.static, I can use it's internal commands
but if I exit, well I never see a prompt from the original ash.static. I
have
a statically linked "hello world" program too and that never comes back
(it should just print 'hello cruel world' and exit). I light the amber LED
when the idle task is running and it doesn't relight (normally, it's lit when
ash is waiting for input). Does this mean that something is making the
system busy? It (the kernel) can be found in or near the signal code
when I stop the box and peek. What would stop signals working?
Could it be the terminal driver? It seems happy, characters are echoed
but nothing is done about them (shell not now really running?).
Shared libraries just plain don't work. It's maybe the above problem
but I've fixed at least one problem with the ROM FS (it never returned
an error if genuinely couldn't find a file). The shared library loaded
claims that I have 'invalid ELF libraries'. Soft links stuffed? Maybe but
it gets /dev/console right - that's a soft link to /dev/tty0. I guess that I
could use a ramdisk at startup. Way back though, I think that I was
having the same problems.
OK, so I though, it's caches. I checked out the cache flushing
code with a _fine_ toothcomb and (in the end) I turned the caches off
(720 has a unified I and D cache of 8K) - no change.
Oh, and the SCSI disk that I have is OSF formatted (ie alpha Linux)
with 3 partitions. The ncr810 code recognises all of this but cannot find
an ext2 filesystem on the second partition, /dev/sda2.
Going back to /sbin/init - that crashes the system somewhere in
setscheduler()
with r2 corrupted (I think). Why is setscheduler() being called?
Any hints appreciated.
Dave
----------------------------------------------------------------------
David A Rusling Consulting Engineer
ARM Limited
Liberty House,
Moorbridge Road,
Maidenhead, SL6 8LT
Tel: UK-(0)1628-427754
Fax: UK-(0)1628-780551
e-mail: [EMAIL PROTECTED]
----------------------------------------------------------------------
unsubscribe: body of `unsubscribe linux-arm' to [EMAIL PROTECTED]