[U-Boot] bootm, linux: fix booting Multi-File Image with "kernel+ramdisk+fdt"

Booting a "Multi-File Image" including a linux kernel, ramdisk and fdt, generated with
mkimage -A ppc \ -O linux \ -T multi \ -C gzip \ -a 00000000 \ -e 00000000 \ -n "kernel-2.6+initrd+dtb" \ -d "vmlinux.bin.gz:ramdisk_image.gz:board.dtb" \ multi.bin
actually fails, because ramdisk start and end addresses didn;t get initialized. This patch fixes this issue.
Tested on the KUP4K board.
Signed-off-by: Heiko Schocher hs@denx.de --- common/cmd_bootm.c | 3 ++- 1 files changed, 2 insertions(+), 1 deletions(-)
diff --git a/common/cmd_bootm.c b/common/cmd_bootm.c index 23ab0c4..995e378 100644 --- a/common/cmd_bootm.c +++ b/common/cmd_bootm.c @@ -291,7 +291,8 @@ static int bootm_start(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]) return 1; }
- if ((images.os.type == IH_TYPE_KERNEL) && + if (((images.os.type == IH_TYPE_KERNEL) || + (images.os.type == IH_TYPE_MULTI)) && (images.os.os == IH_OS_LINUX)) { /* find ramdisk */ ret = boot_get_ramdisk (argc, argv, &images, IH_INITRD_ARCH,

Dear Heiko Schocher,
In message 4BB08BE4.801@denx.de you wrote:
Booting a "Multi-File Image" including a linux kernel, ramdisk and fdt, generated with
mkimage -A ppc \ -O linux \ -T multi \ -C gzip \ -a 00000000 \ -e 00000000 \ -n "kernel-2.6+initrd+dtb" \ -d "vmlinux.bin.gz:ramdisk_image.gz:board.dtb" \ multi.bin
actually fails, because ramdisk start and end addresses didn;t get initialized. This patch fixes this issue.
Tested on the KUP4K board.
Signed-off-by: Heiko Schocher hs@denx.de
common/cmd_bootm.c | 3 ++- 1 files changed, 2 insertions(+), 1 deletions(-)
Applied, thanks.
Best regards,
Wolfgang Denk
participants (2)
-
Heiko Schocher
-
Wolfgang Denk