[U-Boot-Users] U-boot+Arm linux 2.4.19-rmk7 boot problem

Hai Guys,
I find the Kernel Entry Address and Load address for ARM kernel. it is 0x8000. Now my system hangs after "Kernel panic: VFS: Unable to mount root fs on 01:00". The kernel has Ramdisk support,ext2 file system support.I dont know where i m doing mistake.
## Booting image at 50040000 ... Image Name: Linux Kernel Image Image Type: ARM Linux Kernel Image (gzip compressed) Data Size: 707679 Bytes = 691.1 kB Load Address: 00008000 Entry Point: 00008000 Verifying Checksum ... OK Uncompressing Kernel Image ... OK ## Loading Ramdisk Image at 50160000 ... Image Name: Ram Disk Image Image Type: ARM Linux RAMDisk Image (gzip compressed) Data Size: 2795019 Bytes = 2.7 MB Load Address: 00000000 Entry Point: 00000000 Verifying Checksum ... OK
Starting kernel ...
Uncompressing Linux................................................. done, booting the kernel. Linux version 2.4.19-rmk7-ds1 (root@Gargouille.comodoindia) (gcc version 3.2.1) #1 Thu May 27 19:34CPU: XScale-IXP4xx/IXC11xx revision 1 Machine: Intel IXDP425 Development Platform alloc_bootmem_low memtable_init On node 0 totalpages: 4096 zone(0): 4096 pages. zone(1): 0 pages. zone(2): 0 pages. Kernel command line: console=ttyS0,115200 root=/dev/ram rw ip=off Calibrating delay loop... 263.78 BogoMIPS Memory: 16MB = 16MB total Memory: 14556KB available (1156K code, 242K data, 216K init) XScale Cache/TLB Locking Copyright(c) 2001 MontaVista Software, Inc. Dentry cache hash table entries: 2048 (order: 2, 16384 bytes) Inode cache hash table entries: 1024 (order: 1, 8192 bytes) Mount-cache hash table entries: 512 (order: 0, 4096 bytes) Buffer-cache hash table entries: 1024 (order: 0, 4096 bytes) Page-cache hash table entries: 4096 (order: 2, 16384 bytes) POSIX conformance testing by UNIFIX PCI: bus0: Fast back to back transfers enabled Linux NET4.0 for Linux 2.4 Based upon Swansea University Computer Society NET3.039 Initializing RT netlink socket Starting kswapd JFFS2 version 2.1. (C) 2001 Red Hat, Inc., designed by Axis Communications AB. i2c-dev.o: Registered 'IXP425 I2C Adapter' as minor 0 pty: 256 Unix98 ptys configured Serial driver version 5.05c (2001-07-08) with MANY_PORTS SHARE_IRQ SERIAL_PCI enabled ttyS00 at 0xff000003x (irq = 15) is a XScale UART ttyS01 at 0xff001003x (irq = 13) is a XScale UART Loaded PCF8594C2 I2C EEPROM NVRAM driver RAMDISK driver initialized: 16 RAM disks of 4192K size 1024 blocksize Using buffer write method No RedBoot partition table detected in IXP425 Flash Using static MTD partitions. Creating 2 MTD partitions on "IXP425 Flash": 0x00040000-0x00440000 : "image" 0x00440000-0x00fc0000 : "user" NET4: Linux TCP/IP 1.0 for NET4.0 IP Protocols: ICMP, UDP, TCP IP: routing cache hash table of 512 buckets, 4Kbytes TCP: Hash tables configured (established 1024 bind 2048) NET4: Unix domain sockets 1.0/SMP for Linux NET4.0. NetWinder Floating Point Emulator V0.95 (c) 1998-1999 Rebel.com Kernel panic: VFS: Unable to mount root fs on 01:00
Thanks Prakash

On Fri, May 28, 2004 at 10:42:04AM +0530, Annamalai Prakash wrote:
I find the Kernel Entry Address and Load address for ARM kernel. it is 0x8000. Now my system hangs after "Kernel panic: VFS: Unable to mount root fs on 01:00". The kernel has Ramdisk support,ext2 file system support.I dont know where i m doing mistake.
Hmm, this is more Linux related, you should ask these questions on arm-linux-kernel.
## Booting image at 50040000 ... Image Name: Linux Kernel Image Image Type: ARM Linux Kernel Image (gzip compressed) Data Size: 707679 Bytes = 691.1 kB Load Address: 00008000 Entry Point: 00008000 Verifying Checksum ... OK Uncompressing Kernel Image ... OK ## Loading Ramdisk Image at 50160000 ... Image Name: Ram Disk Image Image Type: ARM Linux RAMDisk Image (gzip compressed) Data Size: 2795019 Bytes = 2.7 MB Load Address: 00000000 Entry Point: 00000000 Verifying Checksum ... OK
Any reason why you use an initrd on an embedded system? initrds are for mainstream distributions who want to completely modularize their kernels, and I doubt that this is what you have in mind ;)
Are you sure your memory map is ok? I don't know the IXPs, but on ARM you normally have flash at 0x0, so loading the Linux kernel to 0x0+0x8000 and loading the initrd to 0x0 is probably not the best idea.
Creating 2 MTD partitions on "IXP425 Flash": 0x00040000-0x00440000 : "image" 0x00440000-0x00fc0000 : "user"
This suggests that you want to boot from mtd0: add 'root=/dev/mtdblock0' to your kernel command line options.
If you really want to boot from the initrd make sure that your kernel does support it.
Robert

In message 20040528052946.GJ3369@pengutronix.de you wrote:
## Booting image at 50040000 ... Image Name: Linux Kernel Image Image Type: ARM Linux Kernel Image (gzip compressed) Data Size: 707679 Bytes = 691.1 kB Load Address: 00008000 Entry Point: 00008000 Verifying Checksum ... OK Uncompressing Kernel Image ... OK ## Loading Ramdisk Image at 50160000 ... Image Name: Ram Disk Image Image Type: ARM Linux RAMDisk Image (gzip compressed) Data Size: 2795019 Bytes = 2.7 MB Load Address: 00000000 Entry Point: 00000000 Verifying Checksum ... OK
Any reason why you use an initrd on an embedded system? initrds are for mainstream distributions who want to completely modularize their kernels, and I doubt that this is what you have in mind ;)
C'mon Robert. You know very well that it is very common to put the root filesystem on a ramdisk in embedded systems. It has a couple of advantages (and disadvantages, too).
Are you sure your memory map is ok? I don't know the IXPs, but on ARM you normally have flash at 0x0, so loading the Linux kernel to 0x0+0x8000 and loading the initrd to 0x0 is probably not the best idea.
You are right about the kernel addresses being probably much too low; but Load Address and Entry Point don't play a role for the ramdisk.
Best regards,
Wolfgang Denk

Hai Guys,
I find the Kernel Entry Address and Load address for ARM kernel.
it is 0x8000. Now my system hangs after "Kernel panic: VFS: Unable to mount root fs on 01:00". The kernel has Ramdisk support,ext2 file system support.I dont know where i m doing mistake.
You can check the ramdisk address you give to the kernel is the adress where it is decompressed by u-boot.
Uncompressing Linux................................................. done, booting the kernel. Linux version 2.4.19-rmk7-ds1 (root@Gargouille.comodoindia) (gcc version 3.2.1) #1 Thu May 27 19:34CPU: XScale-IXP4xx/IXC11xx revision 1
This is not the best toolchain to use. IIRC, arm toolchains between 2.95.3 and 3.3 may contain bug.
JP Francois
participants (4)
-
Annamalai Prakash
-
Jean-Philippe Francois
-
Robert Schwebel
-
Wolfgang Denk