[U-Boot-Users] How to boot Multi-file image?

llandre r&d2 at dave-tech.it
Mon Aug 29 12:43:19 CEST 2005


Hi Wolfgang,

I followed the same procedure you described but the decompressed image 
partially
overwrote the compressed image. I fixed the tftp download address and now 
the kernel boots
perfectly.

Thanks for your help and best regards,
llandre

DAVE Electronics System House - R&D Department
web:   http://www.dave-tech.it
email: r&d2 at dave-tech.it


>In message <6.2.1.2.0.20050826164053.02f4ae60 at 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 at 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 at 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.
>
>#







More information about the U-Boot mailing list