[U-Boot-Users] starting an initrd

I realize that this may be off-topic here, but I'm hoping that someone has some insight that will help me to figure out what the problem is.
I'm running u-boot on a PXA255 based board, I've loaded u-boot in ram at 0xa1500000, the Linux kernel at 0xa0100000, compiled for 0xc0010000 (phy ram addresses get mapped from 0xa0000000 to 0xc0000000), and the ramdisk at 0xa1600000 to moved to 0xa1800000.
I haven't tried to set up an environment yet, the board I'm working on is a temporary development board and that portion is going to change on the final board.
The bootm command defaults to: bootm 0xa0100000 0xa1600000
Also, here is the command line that I'm passing to the Linux kernel: console=ttyS0,38400 initrd=0xa1800000,4096k root=/dev/ram init=/bin/sh
Here is the output from running u-boot:
U-Boot 1.1.3 (Jul 19 2005 - 10:37:00)
U-Boot code: A1500000 -> A1513E40 BSS: -> A1515894 RAM Configuration: Bank #0: a0000000 32 MB Bank #1: a4000000 0 kB Bank #2: a8000000 0 kB Bank #3: ac000000 0 kB Flash: 32 MB *** Warning - bad CRC, using default environment
In: serial Out: serial Err: serial Hit any key to stop autoboot: 0 ## Booting image at a0100000 ... Image Name: ARM-Linux-2.6 Image Type: ARM Linux Kernel Image (gzip compressed) Data Size: 662900 Bytes = 647.4 kB Load Address: a0010000 Entry Point: a0010000 Verifying Checksum ... OK Uncompressing GZip'd Kernel Image ... OK ## Loading Ramdisk Image at a1600000 ... Image Name: ARM-Linux-2.6.initrd Image Type: ARM Linux RAMDisk Image (gzip compressed) Data Size: 1000261 Bytes = 976.8 kB Load Address: a1800000 Entry Point: a1800000 Verifying Checksum ... OK
Starting kernel ...
Linux version 2.6.12-RC4-InHand2 (greg@rh9dev) (gcc version 3.3.4) #62 Tue Jul 19 10:42:15 PDT 2005 CPU: XScale-PXA255 [69052d06] revision 6 (ARMv5TE) CPU0: D VIVT undefined 5 cache CPU0: I cache: 32768 bytes, associativity 32, 32 byte lines, 32 sets CPU0: D cache: 32768 bytes, associativity 32, 32 byte lines, 32 sets Machine: InHand Electronics Fingertip3 initrd (0xa1800000 - 0xa1c00000) extends beyond physical memory - disabling initrd Memory policy: ECC disabled, Data cache writeback Memory clock: 99.53MHz (*27) Run Mode clock: 199.07MHz (*2) Turbo Mode clock: 199.07MHz (*1.0, inactive) Built 1 zonelists Kernel command line: console=ttyS0,38400 initrd=0xa1800000,4096k root=/dev/ram init=/bin/sh PID hash table entries: 128 (order: 7, 2048 bytes) Console: colour dummy device 80x30 Dentry cache hash table entries: 4096 (order: 2, 16384 bytes) Inode-cache hash table entries: 2048 (order: 1, 8192 bytes) Memory: 16MB = 16MB total Memory: 14720KB available (1110K code, 277K data, 68K init) Mount-cache hash table entries: 512 CPU: Testing write buffer coherency: ok Linux NoNET1.0 for Linux 2.6 JFFS2 version 2.2. (NAND) (C) 2001-2003 Red Hat, Inc. JFFS2: default compression mode: priority ttyS0 at MMIO 0x40100000 (irq = 15) is a FFUART ttyS1 at MMIO 0x40200000 (irq = 14) is a BTUART ttyS2 at MMIO 0x40700000 (irq = 13) is a STUART io scheduler noop registered io scheduler anticipatory registered io scheduler deadline registered io scheduler cfq registered RAMDISK driver initialized: 4 RAM disks of 4096K size 1024 blocksize physmap flash device: 2000000 at 0 phys_mapped_flash: Found 1 x16 devices at 0x0 in 16-bit bank Intel/Sharp Extended Query Table at 0x0031 Using buffer write method cfi_cmdset_0001: Erase suspend on write enabled RedBoot partition parsing not available mtd: Giving out device 0 to phys_mapped_flash mice: PS/2 mouse device common for all mice i2c /dev entries driver Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(1,0)
Any help anyone can give me to point out to me what is happening and/or what I'm doing wrong would be greatly appreciated.
Greg Wilson-Lindberg

In message MPEAJFOFNNOAIMOHBACIGENCEBAA.gl4jalopi@earthlink.net you wrote:
Also, here is the command line that I'm passing to the Linux kernel: console=ttyS0,38400 initrd=0xa1800000,4096k root=/dev/ram init=/bin/sh
The initrd= part should not be necessary (assuming that your kernel knows how to pick up a ramdisk from flash; this has been discussed here several times before, search the archives if necessary).
Linux version 2.6.12-RC4-InHand2 (greg@rh9dev) (gcc version 3.3.4) #62 Tue Jul 19 10:42:15 PDT 2005 CPU: XScale-PXA255 [69052d06] revision 6 (ARMv5TE) CPU0: D VIVT undefined 5 cache CPU0: I cache: 32768 bytes, associativity 32, 32 byte lines, 32 sets CPU0: D cache: 32768 bytes, associativity 32, 32 byte lines, 32 sets Machine: InHand Electronics Fingertip3 initrd (0xa1800000 - 0xa1c00000) extends beyond physical memory - disabling initrd
So your kernel does not know how to handle this. Fix it.
Any help anyone can give me to point out to me what is happening and/or what I'm doing wrong would be greatly appreciated.
I've posted the required patches several times before (or see the archives, or this PatchSet in the linuxarm tree on our CVS server):
--------------------- PatchSet 2657 Date: 2002/10/26 11:27:17 Author: wd Branch: HEAD Tag: (none) Log: Make ramdisks work if stored in flash memory.
Members: arch/arm/kernel/setup.c:1.3->1.4 arch/arm/mm/init.c:1.3->1.4 arch/arm/mm/mm-armv.c:1.2->1.3
---------------------
Best regards,
Wolfgang Denk

Thanks, Wolfgang for the pointer, I was being blind. The memory size was being set up wrong. I'm actually putting the ramdisk in memory along with everything else using a BDI2000.
Now I'm getting a little farther, am getting this: checking if image is initramfs...it isn't (bad gzip magic numbers); looks like an initrd
Guess I need to do more digging into how initrd's work in the 2.6 kernels.
Thanks again,
Greg
-----Original Message----- From: u-boot-users-admin@lists.sourceforge.net [mailto:u-boot-users-admin@lists.sourceforge.net]On Behalf Of Wolfgang Denk Sent: Tuesday, July 19, 2005 2:36 PM To: Greg Lindberg Cc: U-Boot-Users@lists.sourceforge.net Subject: Re: [U-Boot-Users] starting an initrd
In message MPEAJFOFNNOAIMOHBACIGENCEBAA.gl4jalopi@earthlink.net you wrote:
Also, here is the command line that I'm passing to the Linux kernel: console=ttyS0,38400 initrd=0xa1800000,4096k root=/dev/ram init=/bin/sh
The initrd= part should not be necessary (assuming that your kernel knows how to pick up a ramdisk from flash; this has been discussed here several times before, search the archives if necessary).
Linux version 2.6.12-RC4-InHand2 (greg@rh9dev) (gcc version
3.3.4) #62 Tue
Jul 19 10:42:15 PDT 2005 CPU: XScale-PXA255 [69052d06] revision 6 (ARMv5TE) CPU0: D VIVT undefined 5 cache CPU0: I cache: 32768 bytes, associativity 32, 32 byte lines, 32 sets CPU0: D cache: 32768 bytes, associativity 32, 32 byte lines, 32 sets Machine: InHand Electronics Fingertip3 initrd (0xa1800000 - 0xa1c00000) extends beyond physical memory
- disabling
initrd
So your kernel does not know how to handle this. Fix it.
Any help anyone can give me to point out to me what is
happening and/or what
I'm doing wrong would be greatly appreciated.
I've posted the required patches several times before (or see the archives, or this PatchSet in the linuxarm tree on our CVS server):
PatchSet 2657 Date: 2002/10/26 11:27:17 Author: wd Branch: HEAD Tag: (none) Log: Make ramdisks work if stored in flash memory.
Members: arch/arm/kernel/setup.c:1.3->1.4 arch/arm/mm/init.c:1.3->1.4 arch/arm/mm/mm-armv.c:1.2->1.3
Best regards,
Wolfgang Denk
-- Software Engineering: Embedded and Realtime Systems, Embedded Linux Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd@denx.de Why is an average signature file longer than an average Perl script??
SF.Net email is sponsored by: Discover Easy Linux Migration Strategies from IBM. Find simple to follow Roadmaps, straightforward articles, informative Webcasts and more! Get everything you need to get up to speed, fast. http://ads.osdn.com/?ad_id=7477&alloc_id=16492&op=click _______________________________________________ U-Boot-Users mailing list U-Boot-Users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/u-boot-users
participants (2)
-
Greg Lindberg
-
Wolfgang Denk