I've been playing with putting different small program in place of init
on the small ram disk as well as compiling things like the USB host
drivers into the kernel. Unfortunately, the kernel crashes every now and
then.
The most reproducible and clearest crash is when I try to write to the
ramdisk file system (a 4MB ext2) just with fopen() etc.
Calling fopen(fileName,"rt") works fine, but the fopen(fileName,"wt")
causes a kernel "oops" 48 bytes into __wake_up_common of kernel/sched.c.
I've managed to get the output on the framebuffer at a sensible pace by
adding a delay loop to printk() (and later finding an option for it in
the config). So I've written down as best as I can the stack trace:
kernel/sched.c: __wake_up_common
kernel/sched.c: __wake_up
kernel/wait.c: __wake_up_bit
mm/filemap.c: unlock_page
fs/buffer.c: generic_write_end
mm/filemap.c: generic_file_buffered_write
mm/filemap.c: generic_file_aio_write_nolock
mm/filemap.c: generic_file_aio_write
fs/read_write.c: do_sync_write
fs/read_write.c: vfs_write
fs/read_write.c: sys_write
Doing various other things, like trying to start busybox's ash shell, or
loading the client or host USB drivers causes crashes starting at other
places, usually passing through the ext2 or general file systems and
always ending in __wake_up_common.
Do you have any suggestions for working out what's going on? If not,
should I write an e-mail to the kernel maintainers?
You mentioned before about using the handhelds.org kernel, I wasn't
aware it existed when I started so am using the 2.6.24 kernel straight
off of kernel.org. What version is the handhelds.org kernel, because I
notice that /arch/arm/mach-pxa/pxa300.c and others don't exist. Those
files (which are the support for the chip in the IPAQ 214 are only
present from 2.6.24 (the latest).
Any suggestions?
Oliford
_______________________________________________
Haret mailing list
[email protected]
https://handhelds.org/mailman/listinfo/haret