
In message 6.2.1.2.0.20050826164053.02f4ae60@192.168.2.1 you wrote:
I made a multi-file imgage as described here http://www.denx.de/twiki/bin/view/DULG/CombiningKernelAndRamdisk but I can't boot it bacuse the kernel does not find the ramdisk image. How to say to the kernel where to find it? Isuspect I'm missing some command line parameters ...
Enable debugging to see if all ATAGs are passed correctly...
Here is how it works for me (with a 2.4 kernel):
Normal "uImage" and "uRamdisk":
-> mkimage -l uImage Image Name: ARM Linux-2.4.27 Created: Tue Jan 18 22:51:40 2005 Image Type: ARM Linux Kernel Image (gzip compressed) Data Size: 697368 Bytes = 681.02 kB = 0.67 MB Load Address: 0x20008000 Entry Point: 0x20008000 -> mkimage -l uRamdisk Image Name: Simple Embedded Linux Framework Created: Wed Nov 10 01:35:20 2004 Image Type: ARM Linux RAMDisk Image (gzip compressed) Data Size: 1502217 Bytes = 1467.01 kB = 1.43 MB Load Address: 0x00000000 Entry Point: 0x00000000
Extract raw (compressed) images:
-> dd if=uImage of=kernel.gz bs=64 skip=1 10896+1 records in 10896+1 records out -> dd if=uRamdisk of=ramdisk.gz bs=64 skip=1 23472+1 records in 23472+1 records out
Build multi-file image:
-> mkimage -A arm -T multi -C gzip -a 0x20008000 -e 0x20008000 -n 'Multi-File Test Image' -d kernel.gz:ramdisk.gz uMulti Image Name: Multi-File Test Image Created: Sun Aug 28 00:15:01 2005 Image Type: ARM Linux Multi-File Image (gzip compressed) Data Size: 2199597 Bytes = 2148.04 kB = 2.10 MB Load Address: 0x20008000 Entry Point: 0x20008000 Contents: Image 0: 697368 Bytes = 681 kB = 0 MB Image 1: 1502217 Bytes = 1467 kB = 1 MB
On the target:
Download:
=> tftp $(loadaddr) cmcpu2/uMulti TFTP from server 192.168.1.1; our IP address is 192.168.20.1 Filename 'cmcpu2/uMulti'. Load address: 0x20800000 Loading: ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ######################################## done Bytes transferred = 2199661 (21906d hex)
Check:
=> imi 20800000
## Checking Image at 20800000 ... Image Name: Multi-File Test Image Created: 2005-08-27 22:15:01 UTC Image Type: ARM Linux Multi-File Image (gzip compressed) Data Size: 2199597 Bytes = 2.1 MB Load Address: 20008000 Entry Point: 20008000 Contents: Image 0: 697368 Bytes = 681 kB Image 1: 1502217 Bytes = 1.4 MB Verifying Checksum ... OK
Boot:
=> print bootargs bootargs=root=/dev/ram rw ip=192.168.20.1:192.168.1.1:192.168.1.254:255.255.0.0:cmcpu2:eth0:off panic=1 => bootm 20800000 ## Booting image at 20800000 ... Image Name: Multi-File Test Image Created: 2005-08-27 22:15:01 UTC Image Type: ARM Linux Multi-File Image (gzip compressed) Data Size: 2199597 Bytes = 2.1 MB Load Address: 20008000 Entry Point: 20008000 Contents: Image 0: 697368 Bytes = 681 kB Image 1: 1502217 Bytes = 1.4 MB Verifying Checksum ... OK Uncompressing Multi-File Image ... OK
Starting kernel ...
Linux version 2.4.27-vrs1 (wd@atlas.denx.de) (gcc version 3.3.3 (DENX ELDK 3.1 3.3.3-8)) #1 Tue Jan 18 22:49:47 MET 2005 CPU: Arm920Tid(wb) revision 0 Machine: ATMEL AT91RM9200 On node 0 totalpages: 4096 zone(0): 4096 pages. zone(1): 0 pages. zone(2): 0 pages. Kernel command line: root=/dev/ram rw ip=192.168.20.1:192.168.1.1:192.168.1.254:255.255.0.0:cmcpu2:eth0:off panic=1 Calibrating delay loop... 34.50 BogoMIPS Memory: 16MB = 16MB total Memory: 13080KB available (1289K code, 271K data, 56K init) 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) CPU: Testing write buffer: pass POSIX conformance testing by UNIFIX Linux NET4.0 for Linux 2.4 Based upon Swansea University Computer Society NET3.039 Initializing RT netlink socket Starting kswapd Installing knfsd (copyright (C) 1996 okir@monad.swb.de). JFFS2 version 2.1. (C) 2001 Red Hat, Inc., designed by Axis Communications AB. RAMDISK driver initialized: 16 RAM disks of 8192K size 1024 blocksize Amd/Fujitsu Extended Query Table v1.3 at 0x0040 number of CFI chips: 1 cfi_cmdset_0002: Disabling fast programming due to code brokenness. Creating 5 MTD partitions on "CMC PU2 flash": 0x00000000-0x00020000 : "Firmware" 0x00020000-0x00030000 : "Environment" 0x00030000-0x000f0000 : "Kernel" 0x000f0000-0x00780000 : "Filesystem 1" 0x00780000-0x00800000 : "Filesystem 2" i2c-core.o: i2c core module version 2.6.1 (20010830) i2c-dev.o: i2c /dev entries driver module version 2.6.1 (20010830) ttyS0 at MMIO 0xfefc0000 (irq = 6) is a AT91_SERIAL ttyS1 at MMIO 0xfefc4000 (irq = 7) is a AT91_SERIAL ttyS2 at MMIO 0xfefc8000 (irq = 8) is a AT91_SERIAL ttyS3 at MMIO 0xfefcc000 (irq = 9) is a AT91_SERIAL ttyS4 at MMIO 0xfefff200 (irq = 1) is a AT91_SERIAL eth0: Link now 100-FullDuplex eth0: AT91 ethernet at 0xfefbc000 int=24 100-FullDuplex (f6:70:1d:61:b5:9d) eth0: Davicom 9196 PHY (Copper) AT91 Watchdog Timer enabled (5 seconds) Found AT91 i2c I2C: RS5C372 RTC driver successfully loaded CMC buzzer driver $Revision: 0.2 $ CMC digital IO driver $Revision: 0.2 $ Serial driver version 0.03 (2004-12-17) with no serial options enabled ttyS5 at 0xc2084000 (irq = 29) is a TI16752 ttyS6 at 0xc2086000 (irq = 30) is a TI16752 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) eth0: Link now 100-FullDuplex IP-Config: Complete: device=eth0, addr=192.168.20.1, mask=255.255.0.0, gw=192.168.1.254, host=cmcpu2, domain=, nis-domain=(none), bootserver=192.168.1.1, rootserver=192.168.1.1, rootpath= NET4: Unix domain sockets 1.0/SMP for Linux NET4.0. NetWinder Floating Point Emulator V0.97 (double precision) RAMDISK: Compressed image found at block 0 Freeing initrd memory: 1467K VFS: Mounted root (ext2 filesystem). Freeing init memory: 56K
BusyBox v0.60.5 (2004.11.10-00:31+0000) Built-in shell (msh) Enter 'help' for a list of built-in commands.
#
Best regards,
Wolfgang Denk