[U-Boot] multi image kernel+ramdisk

daniel formolo formolo.softsul at gmail.com
Tue Jul 9 15:46:51 CEST 2013


Hi, I am trying to boot with a multi image file that was generated with
mkimage. The uboot decompress the file and find the kernel, but is not find
the filesystem. How can I fix the ramdisk address in ram to call bootm in
right way?

- command line used to mkimage:   mkimage -A arm -T multi -C gzip -a 0 -e 0
-n 'test multifile' -d vmlinux:ramdisk.gz uMulti


*- Bellow is the log:*

## Booting kernel from Legacy Image at 80007fc0 ...
Image Name: test multifile
Image Type: ARM Linux Multi-File Image (gzip compressed)
Data Size: 14018554 Bytes = 13.4 MiB
Load Address: 00000000
Entry Point: 00000000
Contents:
Image 0: 3207239 Bytes = 3.1 MiB
Image 1: 10811302 Bytes = 10.3 MiB
Verifying Checksum ... OK
## Loading init Ramdisk from Legacy Image at 80007fc0 ...
Image Name: test multifile
Image Type: ARM Linux Multi-File Image (gzip compressed)
Data Size: 14018554 Bytes = 13.4 MiB
Load Address: 00000000
Entry Point: 00000000
Contents:
Image 0: 3207239 Bytes = 3.1 MiB
Image 1: 10811302 Bytes = 10.3 MiB
Verifying Checksum ... OK
No Linux ARM Ramdisk Image
Ramdisk image is corrupt or invalid


*- Bellow are the environment variables:*

U-Boot# printenv

baudrate=115200

bootargs=console=ttyO0,115200n8

bootargs_defaults=setenv bootargs console=${console} ${optargs}

bootcmd=if mmc rescan ${mmcdev}; then echo SD/MMC found on device
${mmcdev};if run loadbootenv; then echo Loaded environment from ${bootenv};r

un importbootenv;fi;if test -n $uenvcmd; then echo Running uenvcmd ...;run
uenvcmd;fi;if run loaduimagefat; then run mmcboot;elif run loaduima

ge; then run mmcboot;else echo Cound not find ${bootfile} ;fi;else run
nandboot;fi;

bootdelay=3

bootenv=uEnv.txt

bootfile=uImage

bootm=0x00000000 0x80007fc0

console=ttyO0,115200n8

dfu_alt_info=SPL part 0 1;SPL.backup1 part 0 2;SPL.backup2 part 0
3;SPL.backup3 part 0 4;u-boot part 0 5;kernel part 0 7;rootfs part 0 8

ethact=cpsw

ethaddr=00:18:31:e0:9a:d1

fdtaddr=0x80F80000

filesize=D5E83A

importbootenv=echo Importing environment from mmc ...; env import -t
$loadaddr $filesize

ip_method=none

kloadaddr=0x80007fc0

loadaddr=0x80200000

loadbootenv=fatload mmc ${mmcdev} ${loadaddr} ${bootenv}

loadramdisk=fatload mmc ${mmcdev} ${rdaddr} ramdisk.gz

loaduimage=ext2load mmc ${mmcdev}:2 ${kloadaddr} /boot/${bootfile}

loaduimagefat=fatload mmc ${mmcdev} ${kloadaddr} ${bootfile}

mmcargs=run bootargs_defaults;setenv bootargs ${bootargs} root=${mmcroot}
rootfstype=${mmcrootfstype} ip=${ip_method}

mmcboot=echo Booting from mmc ...; run mmcargs; bootm ${kloadaddr}

mmcdev=0

mmcroot=/dev/mmcblk0p2 rw

mmcrootfstype=ext2 rootwait

mtddevname=SPL

mtddevnum=0

mtdids=nand0=omap2-nand.0

mtdparts=mtdparts=omap2-nand.0:128k(SPL),128k(SPL.backup1),128k(SPL.backup2),128k(SPL.backup3),1920k(u-boot),128k(u-boot-env),5m(kernel),12441

6k(fs1),124416k(fs2),-(safe_area)

nand_erasesize=20000

nand_oobsize=40

nand_writesize=800

nandargs=run bootargs_defaults;setenv bootargs ${bootargs} root=${nandroot}
noinitrd rootfstype=${nandrootfstype} ip=${ip_method}

nandboot=echo Booting from nand ...; run nandargs; nand read.i ${kloadaddr}
${nandsrcaddr} ${nandimgsize}; bootm ${kloadaddr}

nandimgsize=0x1000000

nandroot=ubi0:rootfs rw ubi.mtd=7,2048 noinitrd

nandrootfstype=ubifs rootwait=1

nandsrcaddr=0x780000

netargs=run bootargs_defaults;setenv bootargs ${bootargs} root=/dev/nfs
nfsroot=${serverip}:${rootpath},${nfsopts} rw ip=dhcp

netboot=echo Booting from network ...; setenv autoload no; dhcp; tftp
${kloadaddr} ${bootfile}; run netargs; bootm ${kloadaddr}

nfsopts=nolock

partition=nand0,0

ramargs=setenv bootargs console=ttyO0,115200n8 root=/dev/ram0 rw
ramdisk_size=65536 initrd=${rdaddr},64M rootfstype=ext2

ramboot=echo Booting from ramdisk ...; run ramargs; bootm 0x80200000

ramroot=/dev/ram0 rw ramdisk_size=65536 initrd=0x81000000,64M

ramrootfstype=ramdisk

rdaddr=84207239

rootpath=/export/rootfs

selected_img=1

spiargs=run bootargs_defaults;setenv bootargs ${bootargs}
rootfstype=${spirootfstype} ip=${ip_method}

spiboot=echo Booting from spi ...; run spiargs; sf probe ${spibusno}:0; sf
read ${kloadaddr} ${spisrcaddr} ${spiimgsize}; bootm ${kloadaddr}

spibusno=0

spiimgsize=0x362000

spiroot=/dev/mtdblock4 rw

spirootfstype=jffs2

spisrcaddr=0x80000

static_ip=${ipaddr}:${serverip}:${gatewayip}:${netmask}:${hostname}::off

stderr=serial

stdin=serial

stdout=serial

usbnet_devaddr=00:18:31:e0:9a:d1

ver=U-Boot 2012.10 (Dec 16 2012 - 13:54:10)

Environment size: 3358/131068 bytes


More information about the U-Boot mailing list