Debugging Kernel Panic

Snaidy
Hello All,
I am getting an error while trying to port linux and boot in mini2440,using
nfs root file system I am using
Linux 2.6.32.2
GCC http://www.friendlyarm.net/dl.php?fi...-gcc-4.4.3.tgz

I am building rootfs from this reference,

http://processors.wiki.ti.com/index....nux_on_OMAP35x

The error I am getting in the Terminal is
Scanning device for bad blocks
Bad eraseblock 5275 at 0x000029360000
Bad eraseblock 5277 at 0x0000293a0000
Bad eraseblock 6406 at 0x0000320c0000
Creating 4 MTD partitions on "NAND 1GiB 3,3V 8-bit":
0x000000000000-0x000000060000 : "supervivi"
0x000000060000-0x000000260000 : "Kernel"
0x000000260000-0x000040260000 : "root"
mtd: partition "root" extends beyond the end of device "NAND 1GiB 3,3V
8-bit" -0
0x000000000000-0x000040000000 : "nand"
ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
s3c2410-ohci s3c2410-ohci: S3C24XX OHCI
s3c2410-ohci s3c2410-ohci: new USB bus registered, assigned bus number 1
s3c2410-ohci s3c2410-ohci: irq 42, io mem 0x49000000
usb usb1: New USB device found, idVendor=1d6b, idProduct=0001
usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
usb usb1: Product: S3C24XX OHCI
usb usb1: Manufacturer: Linux 2.6.29.4-FriendlyARM ohci_hcd
usb usb1: SerialNumber: s3c24xx
usb usb1: configuration #1 chosen from 1 choice
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 2 ports detected
Initializing USB Mass Storage driver...
usbcore: registered new interface driver usb-storage
USB Mass Storage support registered.
usbcore: registered new interface driver usbserial
usbserial: USB Serial Driver core
USB Serial support registered for pl2303
usbcore: registered new interface driver pl2303
pl2303: Prolific PL2303 USB to serial adaptor driver
mice: PS/2 mouse device common for all mice
s3c2410 TouchScreen successfully loaded
input: s3c2410 TouchScreen as /devices/virtual/input/input0
S3C24XX RTC, (c) 2004,2006 Simtec Electronics
s3c2410-rtc s3c2410-rtc: rtc disabled, re-enabling
s3c2410-rtc s3c2410-rtc: rtc core: registered s3c as rtc0
i2c /dev entries driver
s3c2440-i2c s3c2440-i2c: slave address 0x10
s3c2440-i2c s3c2440-i2c: bus frequency set to 98 KHz
s3c2440-i2c s3c2440-i2c: i2c-0: S3C I2C adapter
S3C2410 Watchdog Timer, (c) 2004 Simtec Electronics
s3c2410-wdt s3c2410-wdt: watchdog inactive, reset disabled, irq enabled
mapped channel 0 to 0
s3c2440-sdi s3c2440-sdi: powered down.
s3c2440-sdi s3c2440-sdi: initialisation done.
s3c2440-sdi s3c2440-sdi: running at 0kHz (requested: 0kHz).
s3c2440-sdi s3c2440-sdi: running at 198kHz (requested: 197kHz).
s3c2440-sdi s3c2440-sdi: running at 198kHz (requested: 197kHz).
s3c2440-sdi s3c2440-sdi: running at 198kHz (requested: 197kHz).
s3c2440-sdi s3c2440-sdi: powered down.
usbcore: registered new interface driver usbhid
usbhid: v2.6:USB HID core driver
Advanced Linux Sound Architecture Driver Version 1.0.18a.
No device for DAI UDA134X
No device for DAI s3c24xx-i2s
S3C24XX_UDA134X SoC Audio driver
UDA134X SoC Audio Codec
asoc: UDA134X <-> s3c24xx-i2s mapping ok
ALSA device list:
#0: S3C24XX_UDA134X (UDA134X)
TCP cubic registered
RPC: Registered udp transport module.
RPC: Registered tcp transport module.
lib80211: common routines for IEEE802.11 drivers
s3c2410-rtc s3c2410-rtc: setting system clock to 2124-09-24 18:44:01 UTC
(58790)
eth0: link down
IP-Config: Complete:
device=eth0, addr=192.168.1.123, mask=255.255.255.0, gw=192.168.1.1,
host=192.168.1.123, domain=, nis-domain=(none),
bootserver=192.168.1.122, rootserver=192.168.1.122, rootpath=
Looking up port of RPC 100003/2 on 192.168.1.122
eth0: link up, 100Mbps, full-duplex, lpa 0x4DE1
Looking up port of RPC 100005/1 on 192.168.1.122
VFS: Mounted root (nfs filesystem) on device 0:11.
Freeing init memory: 124K
Kernel panic - not syncing: Attempted to kill init!


Please tell me how we can debug this error .I don't have JTAG.Is there any
other way to do this,
I also used the config_mini2440_W35 came along the kernel

Juergen Beisert
Fix this error first:

> mtd: partition "root" extends beyond the end of device "NAND 1GiB 3,3V
> 8-bit"

Then I guess your target will find a root filesystem and works as expected.

Juergen Beisert
Ups, sorry. You are using NFS root. Does the 'init' binary in your root
filesystem matches the ARMv4 core the S3C2440 CPU comes with? "readelf -a
/path/to/your/init" should show "Tag_CPU_arch: v4T"

Snaidy
Hello Thank u For ur reply,
I am using the Busybox file system and init is in sbin/init and when done
readelf I got the response

No version information found in this file.
Attribute Section: aeabi
File Attributes
  Tag_CPU_name: "4T"
  Tag_CPU_arch: v4T
  Tag_ARM_ISA_use: Yes
  Tag_THUMB_ISA_use: Thumb-1
  Tag_ABI_PCS_wchar_t: 4
  Tag_ABI_FP_denormal: Needed
  Tag_ABI_FP_exceptions: Needed
  Tag_ABI_FP_number_model: IEEE 754
  Tag_ABI_align_needed: 8-byte
  Tag_ABI_enum_size: int

Juergen Beisert
Are you sure your kernel mounts the correct NFS root filesystem? From your
kernel log I can see it mounts something successfully. But I cannot see
what it mounts.

Snaidy
Yes I am too not sure,thats why I want to know any debugging method
available to debug the kernel boot up.

Juergen Beisert
The kernel reports at the beginning of its log the kernel command line
content. This line should contain the correct
"nfsroot=/the/path/to/your/nfs/root" setting.