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

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 initrd=0x10800000,8M 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 Linux........................................... .... done, booting the kernel. Linux version 2.4.18_mvl30-innovator (a0875451@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 Communications AB. 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@vt.edu) eth0: SMC91C94/91C96rev 9) at 0xe8000300 IRQ:93 INTF:TP MEM:6144b ADDR: 00:0b:36 :00:04:31 innovator-ts: registered OMAP flash 0: probin6-bit flash bus Using static patition definition Creating 4 MTD partits on "OMAP flash": 0x00000000-0x00020000"BootLoader" 0x00020000-0x000600: "Params" 0x00060000-0x00260000"Kernel" 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
regards -kshitij
-----Original Message----- From: Detlev Zundel [mailto:dzu@denx.de] Sent: Wednesday, September 24, 2003 8:33 PM To: Gupta, Kshitij Cc: u-boot-users@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
flash
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.
Cheers Detlev
participants (1)
-
Gupta, Kshitij