EmbeddedRelated.com
Forums

AT91RM9200 linux kernel panic

Started by roboman152 May 26, 2006
Hi all, after disabling the data and I cache my kernel boots!
However Im having initrd load issues, I load in a ext2 image at
0x20A00000

and I get an odd error listed below.. suggestions?

Linux version 2.6.14 (roboman@gooseProduction) (gcc version 3.4.5) #6 Thu
May 25 21:15:23 EDT 2006
CPU: ARM920T [41129200] revision 0 (ARMv4T)
Machine: Atmel AT91RM9200-DK
Memory policy: ECC disabled, Data cache buffered
Clocks: CPU 179 MHz, master 59 MHz, main 18.432 MHz
CPU0: D VIVT write-back cache
CPU0: I cache: 16384 bytes, associativity 64, 32 byte lines, 8 sets
CPU0: D cache: 16384 bytes, associativity 64, 32 byte lines, 8 sets
Built 1 zonelists
Kernel command line: console=ttyS0,115200n8 mem=16M@0x20000000
root=/dev/ram0 rw initrd=0x20A00000,1180000
PID hash table entries: 128 (order: 7, 2048 bytes)
Console: colour dummy device 80x30
Dentry cache hash table entries: 4096 (order: 2, 16384 bytes)
Inode-cache hash table entries: 2048 (order: 1, 8192 bytes)
Memory: 16MB = 16MB total
Memory: 13472KB available (1177K code, 286K data, 76K init)
Mount-cache hash table entries: 512
CPU: Testing write buffer coherency: ok
checking if image is initramfs...it isn't (no cpio magic); looks like an
initrd
softlockup thread 0 started up.
Freeing initrd memory: 1152K
Linux NoNET1.0 for Linux 2.6
SCSI subsystem initialized
usbcore: registered new driver usbfs
usbcore: registered new driver hub
NetWinder Floating Point Emulator V0.97 (double precision)
AT91 Real Time Clock driver.
AT91 SPI driver loaded
AT91 Watchdog Timer enabled (5 seconds)
ttyS0 at MMIO 0xfefff200 (irq = 1) is a AT91_SERIAL
ttyS1 at MMIO 0xfefc4000 (irq = 7) is a AT91_SERIAL
io scheduler noop registered
io scheduler anticipatory registered
RAMDISK driver initialized: 16 RAM disks of 1024K size 1024 blocksize
at91_dataflash: AT45DB161B detected [spi0] (2162688 bytes)
Creating 3 MTD partitions on "AT45DB161B.spi0":
0x00000000-0x00021000 : "bootloader"
0x00021000-0x000e7000 : "kernel"
0x000e7000-0x00210000 : "filesystem"
usbmon: debugfs is not available
Initializing USB Mass Storage driver...
usbcore: registered new driver usb-storage
USB Mass Storage support registered.
mice: PS/2 mouse device common for all mice
i2c /dev entries driver
Found AT91 i2c
RAMDISK: Compressed image found at block 0
RAMDISK: incomplete write (-28 != 32768) 1048576
VFS: Mounted root (ext2 filesystem).
Freeing init memory: 76K
attempt to access beyond end of device
ram0: rw=0, want=5838, limit=2048
Buffer I/O error on device ram0, logical block 2918
attempt to access beyond end of device
ram0: rw=0, want=5846, limit=2048
Buffer I/O error on device ram0, logical block 2922
attempt to access beyond end of device
ram0: rw=0, want=5838, limit=2048
Buffer I/O error on device ram0, logical block 2918
attempt to access beyond end of device
ram0: rw=0, want=5846, limit=2048
Buffer I/O error on device ram0, logical block 2922
Warning: unable to open an initial console.
attempt to access beyond end of device
ram0: rw=0, want=4750, limit=2048
attempt to access beyond end of device
ram0: rw=0, want=4750, limit=2048
attempt to access beyond end of device
ram0: rw=0, want=2662, limit=2048
attempt to access beyond end of device
ram0: rw=0, want=2662, limit=2048
attempt to access beyond end of device
ram0: rw=0, want=2752, limit=2048
attempt to access beyond end of device
ram0: rw=0, want=2752, limit=2048
Kernel panic - not syncing: No init found.  Try passing init= option to
kernel.

You need to read the error code a bit more closer. The first error says
that it performed an incomplete write on the ramdisk, which explains
the last error that it failed to find an init as there isn't a rootfs
for the kernel to find init from. The rootfs would have been in the
ramdisk if it had created it correctly.

Make sure that the parameters on your bootargs matches those of your
ramdisk, but from the errors in your capture, it appears that it ran
out of memory to work with.

roboman152 wrote:
> Hi all, after disabling the data and I cache my kernel boots! > However Im having initrd load issues, I load in a ext2 image at > 0x20A00000 > > and I get an odd error listed below.. suggestions? > > Linux version 2.6.14 (roboman@gooseProduction) (gcc version 3.4.5) #6 Thu > May 25 21:15:23 EDT 2006 > CPU: ARM920T [41129200] revision 0 (ARMv4T) > Machine: Atmel AT91RM9200-DK > Memory policy: ECC disabled, Data cache buffered > Clocks: CPU 179 MHz, master 59 MHz, main 18.432 MHz > CPU0: D VIVT write-back cache > CPU0: I cache: 16384 bytes, associativity 64, 32 byte lines, 8 sets > CPU0: D cache: 16384 bytes, associativity 64, 32 byte lines, 8 sets > Built 1 zonelists > Kernel command line: console=ttyS0,115200n8 mem=16M@0x20000000 > root=/dev/ram0 rw initrd=0x20A00000,1180000 > PID hash table entries: 128 (order: 7, 2048 bytes) > Console: colour dummy device 80x30 > Dentry cache hash table entries: 4096 (order: 2, 16384 bytes) > Inode-cache hash table entries: 2048 (order: 1, 8192 bytes) > Memory: 16MB = 16MB total > Memory: 13472KB available (1177K code, 286K data, 76K init) > Mount-cache hash table entries: 512 > CPU: Testing write buffer coherency: ok > checking if image is initramfs...it isn't (no cpio magic); looks like an > initrd > softlockup thread 0 started up. > Freeing initrd memory: 1152K > Linux NoNET1.0 for Linux 2.6 > SCSI subsystem initialized > usbcore: registered new driver usbfs > usbcore: registered new driver hub > NetWinder Floating Point Emulator V0.97 (double precision) > AT91 Real Time Clock driver. > AT91 SPI driver loaded > AT91 Watchdog Timer enabled (5 seconds) > ttyS0 at MMIO 0xfefff200 (irq = 1) is a AT91_SERIAL > ttyS1 at MMIO 0xfefc4000 (irq = 7) is a AT91_SERIAL > io scheduler noop registered > io scheduler anticipatory registered > RAMDISK driver initialized: 16 RAM disks of 1024K size 1024 blocksize > at91_dataflash: AT45DB161B detected [spi0] (2162688 bytes) > Creating 3 MTD partitions on "AT45DB161B.spi0": > 0x00000000-0x00021000 : "bootloader" > 0x00021000-0x000e7000 : "kernel" > 0x000e7000-0x00210000 : "filesystem" > usbmon: debugfs is not available > Initializing USB Mass Storage driver... > usbcore: registered new driver usb-storage > USB Mass Storage support registered. > mice: PS/2 mouse device common for all mice > i2c /dev entries driver > Found AT91 i2c > RAMDISK: Compressed image found at block 0 > RAMDISK: incomplete write (-28 != 32768) 1048576 > VFS: Mounted root (ext2 filesystem). > Freeing init memory: 76K > attempt to access beyond end of device > ram0: rw=0, want=5838, limit=2048 > Buffer I/O error on device ram0, logical block 2918 > attempt to access beyond end of device > ram0: rw=0, want=5846, limit=2048 > Buffer I/O error on device ram0, logical block 2922 > attempt to access beyond end of device > ram0: rw=0, want=5838, limit=2048 > Buffer I/O error on device ram0, logical block 2918 > attempt to access beyond end of device > ram0: rw=0, want=5846, limit=2048 > Buffer I/O error on device ram0, logical block 2922 > Warning: unable to open an initial console. > attempt to access beyond end of device > ram0: rw=0, want=4750, limit=2048 > attempt to access beyond end of device > ram0: rw=0, want=4750, limit=2048 > attempt to access beyond end of device > ram0: rw=0, want=2662, limit=2048 > attempt to access beyond end of device > ram0: rw=0, want=2662, limit=2048 > attempt to access beyond end of device > ram0: rw=0, want=2752, limit=2048 > attempt to access beyond end of device > ram0: rw=0, want=2752, limit=2048 > Kernel panic - not syncing: No init found. Try passing init= option to > kernel.
Thank you for the help, I have since found the initial ramdisk size choice
in the kernel configs, after boosting it to about 4MB It actually mounts
the RootFS however it dies a little farther in when trying to bring up the
Eth interface..... and when dies I mean, no error, no nothing, just
silently stops booting..... Im gunna debug a lil on my own and post a new
thread in a few days if I get stumped. Again thanks for the help!


>You need to read the error code a bit more closer. The first error says >that it performed an incomplete write on the ramdisk, which explains >the last error that it failed to find an init as there isn't a rootfs >for the kernel to find init from. The rootfs would have been in the >ramdisk if it had created it correctly. > >Make sure that the parameters on your bootargs matches those of your >ramdisk, but from the errors in your capture, it appears that it ran >out of memory to work with. > >roboman152 wrote: >> Hi all, after disabling the data and I cache my kernel boots! >> However Im having initrd load issues, I load in a ext2 image at >> 0x20A00000 >> >> and I get an odd error listed below.. suggestions? >> >> Linux version 2.6.14 (roboman@gooseProduction) (gcc version 3.4.5) #6
Thu
>> May 25 21:15:23 EDT 2006 >> CPU: ARM920T [41129200] revision 0 (ARMv4T) >> Machine: Atmel AT91RM9200-DK >> Memory policy: ECC disabled, Data cache buffered >> Clocks: CPU 179 MHz, master 59 MHz, main 18.432 MHz >> CPU0: D VIVT write-back cache >> CPU0: I cache: 16384 bytes, associativity 64, 32 byte lines, 8 sets >> CPU0: D cache: 16384 bytes, associativity 64, 32 byte lines, 8 sets >> Built 1 zonelists >> Kernel command line: console=ttyS0,115200n8 mem=16M@0x20000000 >> root=/dev/ram0 rw initrd=0x20A00000,1180000 >> PID hash table entries: 128 (order: 7, 2048 bytes) >> Console: colour dummy device 80x30 >> Dentry cache hash table entries: 4096 (order: 2, 16384 bytes) >> Inode-cache hash table entries: 2048 (order: 1, 8192 bytes) >> Memory: 16MB = 16MB total >> Memory: 13472KB available (1177K code, 286K data, 76K init) >> Mount-cache hash table entries: 512 >> CPU: Testing write buffer coherency: ok >> checking if image is initramfs...it isn't (no cpio magic); looks like
an
>> initrd >> softlockup thread 0 started up. >> Freeing initrd memory: 1152K >> Linux NoNET1.0 for Linux 2.6 >> SCSI subsystem initialized >> usbcore: registered new driver usbfs >> usbcore: registered new driver hub >> NetWinder Floating Point Emulator V0.97 (double precision) >> AT91 Real Time Clock driver. >> AT91 SPI driver loaded >> AT91 Watchdog Timer enabled (5 seconds) >> ttyS0 at MMIO 0xfefff200 (irq = 1) is a AT91_SERIAL >> ttyS1 at MMIO 0xfefc4000 (irq = 7) is a AT91_SERIAL >> io scheduler noop registered >> io scheduler anticipatory registered >> RAMDISK driver initialized: 16 RAM disks of 1024K size 1024 blocksize >> at91_dataflash: AT45DB161B detected [spi0] (2162688 bytes) >> Creating 3 MTD partitions on "AT45DB161B.spi0": >> 0x00000000-0x00021000 : "bootloader" >> 0x00021000-0x000e7000 : "kernel" >> 0x000e7000-0x00210000 : "filesystem" >> usbmon: debugfs is not available >> Initializing USB Mass Storage driver... >> usbcore: registered new driver usb-storage >> USB Mass Storage support registered. >> mice: PS/2 mouse device common for all mice >> i2c /dev entries driver >> Found AT91 i2c >> RAMDISK: Compressed image found at block 0 >> RAMDISK: incomplete write (-28 != 32768) 1048576 >> VFS: Mounted root (ext2 filesystem). >> Freeing init memory: 76K >> attempt to access beyond end of device >> ram0: rw=0, want=5838, limit=2048 >> Buffer I/O error on device ram0, logical block 2918 >> attempt to access beyond end of device >> ram0: rw=0, want=5846, limit=2048 >> Buffer I/O error on device ram0, logical block 2922 >> attempt to access beyond end of device >> ram0: rw=0, want=5838, limit=2048 >> Buffer I/O error on device ram0, logical block 2918 >> attempt to access beyond end of device >> ram0: rw=0, want=5846, limit=2048 >> Buffer I/O error on device ram0, logical block 2922 >> Warning: unable to open an initial console. >> attempt to access beyond end of device >> ram0: rw=0, want=4750, limit=2048 >> attempt to access beyond end of device >> ram0: rw=0, want=4750, limit=2048 >> attempt to access beyond end of device >> ram0: rw=0, want=2662, limit=2048 >> attempt to access beyond end of device >> ram0: rw=0, want=2662, limit=2048 >> attempt to access beyond end of device >> ram0: rw=0, want=2752, limit=2048 >> attempt to access beyond end of device >> ram0: rw=0, want=2752, limit=2048 >> Kernel panic - not syncing: No init found. Try passing init= option
to
>> kernel. > >