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
Debugging Kernel Panic
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.
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"
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
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.
Yes I am too not sure,thats why I want to know any debugging method available to debug the kernel boot up.
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.