[U-Boot-Users] Ramdisk with u-boot

Gupta, Kshitij kshitij at ti.com
Thu Sep 25 06:52:45 CEST 2003

hi ,
	here is the complete log.  Both kernel and filesystem are stored in
the flash.  I see some differences in the do_bootm_linux function of ARM and
PPC, and I am planning to look at these differences and get some hints.
The way I think it should work is u-boot should copy the ramdisk fs to the
load address mentioned in the image header and should also pass the initrd
start address to the kernel.

OMAP1510 Innovator # setenv bootargs console=ttyS0,115200n8
 root=/dev/ram ip=off
OMAP1510 Innovator # bootm 0x100000 0x300000
## Booting image at 00100000 ...
   Image Name:   Linux Kernel Image
   Image Type:   ARM Linux Kernel Image (gzip compressed)
   Data Size:    686909 Bytes = 670.8 kB
   Load Address: 10c08000
   Entry Point:  10c08000
   Verifying Checks... OK
   Uncompressing Kere ... OK
## Loading Ramdisk Image 00300000 ...
   Image Name:   Disk
   Image Type:   Ainux RAMDisk Image (gzip compressed)
   Data Size:    3830 Bytes =  2.9 MB
   Load Address: 10800000
   Entry Point:  10800000
   Verifying Checksum OK

Starting kernel ..Uncompressing
.... done, booting the kernel.
Linux version 2.4.18_mvl30-innovator (a0875451 at lxlab001)
(gcc version 3.2.1 20020 (MontaVista)) #23 Wed Sep 24 10:47:10 IST 2003
CPU: ARM/TI925 m925Tsid(wb) revision 2
Machine: TI-Innoor/OMAP1510
On node 0 totalpage8192
zone(0): 8192 pageszone(1): 0 pages.
zone(2): 0 pages.
Kerel command line: console=ttyS0,115200n8 initrd=0x10800000,8M
root=/dev/ram ip=off
Console: colour dummy device 80x30
Calibrating delay lo.. 83.76 BogoMIPS
Memory: 32MB = 32MB total
Memory: 22440KB availe (1222K code, 304K data, 76K init)
Dentry-cache hash table entries: 4096 (order: 3, 32768 bytes)
Inode-cache hash table entries: 2048 (order: 2, 16384 bytes)
Mount-cache hashable entries: 512 (order: 0, 4096 bytes)
Buffer-cache hash table entries: 1024 (order: 0, 4096 bytes)
Page-cache hash table ries: 8192 (order: 3, 32768 bytes)
POSIX conformance testing by UNIFIX
Linux NET4.0 for Linux 2.4
Based upon Swansea Uersity Computer Society NET3.039
Initializing RT netlink socket
Innovator FPGA Rv 2.1 Board Rev 16
Power Management for OMAP1510 is initialized pm_idle 0xc0023ecc
apm: BIOS version 1.2Flags 0x02 (Driver version 1.13)
Starting kswapd
Disabling the OOf Memory Killer
JFFS2 version 2.1. (C) 2001, 2002 Red Hat, Inc., designed by Axis
pty: 256 Unix98 ptys configured
Serial driver version 5.05c (2001-07-08) with no serial options enabled
ttyS00 at 0xfff0000 (irq = 46) is a OMAP UART
ttyS01 at 0xfffb00 (irq = 47) is a OMAP UART
ttyS02 at 0xfffb9800rq = 15) is a OMAP UART
block: 64 slots per queue, batch=16
RAMDISK driver initalized: 16 RAM disks of 8192K size 1024 blocksize
smc9194.c:v0.15 12/15/00 by Erik Stahlman (erik at vt.edu)
eth0: SMC91C94/91C96rev 9) at 0xe8000300 IRQ:93 INTF:TP MEM:6144b ADDR:
innovator-ts: registered
OMAP flash 0: probin6-bit flash bus
Using static patition definition
Creating 4 MTD partits on "OMAP flash":
0x00020000-0x000600: "Params"
0x00260000-0x010000 : "Flash0 FileSys"
OMAP flash 1: pring 16-bit flash bus
Using static partitn definition
Creating 1 MTD parions on "OMAP flash":
0x00000000-0x01000 : "Flash1 FileSys"
DSPLinux FB (c) 01 RidgeRun, Inc.
Console: switching to colour frame buffer device 30x40
usb.c: registerenew driver usbdevfs
usb.c: registered neriver hub
usb-ohci.c: USB OHCI at membase 0xfffba000, IRQ 38
usb.c: new USB bus registered, assigned bus number 1
hub.c: USB hub found
hub.c: 3 ports detd
NET4: Linux TCP/IP 1.0 for NET4.0
IP Protocols: ICMP, UP, TCP, IGMP
IP: routing cache hash table of 512 buckets, 4Kbytes
TCP: Hash tables configured (established 2048 bind 4096)
NET4: Unix domain sock 1.0/SMP for Linux NET4.0.
RAMDISK: Couldn' find valid RAM disk image starting at 0.
Freeing initrd memory: 8192K
cramfs: wrong magic 
Kernel panic: VFS: Unale to mount root fs on 01:00


-----Original Message-----
From: Detlev Zundel [mailto:dzu at denx.de]
Sent: Wednesday, September 24, 2003 8:33 PM
To: Gupta, Kshitij
Cc: u-boot-users at lists.sourceforge.net
Subject: Re: [U-Boot-Users] Ramdisk with u-boot

Hi Kshitij,

> 	I am trying to boot the linux kernel with ramdisk support.
> The details of the ramdisk image are
> Image Name:   RAm Disk
> Created:      Wed Sep 24 11:55:02 2003
> Image Type:   ARM Linux RAMDisk Image (gzip compressed)
> Data Size:    3038830 Bytes = 2967.61 kB = 2.90 MB
> Load Address: 0x10800000
> Entry Point:  0x10800000
> The kernel is
> Image Name:   Linux Kernel Image
> Created:      Wed Sep 24 11:56:19 2003
> Image Type:   ARM Linux Kernel Image (gzip compressed)
> Data Size:    686909 Bytes = 670.81 kB = 0.66 MB
> Load Address: 0x10C08000
> Entry Point:  0x10C08000
> The bootargs :
> setenv bootargs console=ttyS0,115200n8 initrd=0x10800000,8M root=/dev/ram
> ip=off

If you use U-Boot (at least on PowerPC) you do _not_ need an "initrd"
argument, the RAM disk address is passed by U-Boot for you if a second
parameter to bootm appears.

> The kernel is compiled with ramdisk support. I store my kernel in the
> at location 0x100000 and I download the ramdisk in the ram at location
> 0x10000000 ( this is starting of my RAM). Now when I boot the kernel with
> the
> $ bootm 0x100000 0x10000000

You are aware that U-Boot takes its input in hexadecimal per default,
so this should rather be "bootm 100000 10000000".  But as a kernel is
started this might be a copy and paste problem.

> I get the following error
> RAMDISK: Couldn'find valid RAM disk image starting at 0.

Address 0 - looks bogus.

> Freeing initrd memory: 8192K
> cramfs: wrong magic
> Kernel panic: Unable to mount root fs on 01:00
> Am I missing some thing in my steps ??  Any comments will be greatly
> appreciated.

It would help a lot if you could provide us with a complete transcript
of the failing attempt.


Life is complex. It has real and imaginary components.

More information about the U-Boot mailing list