Dear rhabarber1848,

In message <h3l0ci$lh...@ger.gmane.org> you wrote:
> 
> it seems I solved the problem.

Hm...

> The end value for the kernel was too high, the attached patch[1] should fix
> it, a LZMA-compressed kernel booted well. I did not test the bz2 case but
> it seems it suffers from the same bug.

Maybe lzmaBuffToBuffDecompress() stores an incorrect value in unc_len?

> diff -uNr u-boot-2009.06.org/common/cmd_bootm.c 
> u-boot-2009.06/common/cmd_bootm.c
> --- u-boot-2009.06.org/common/cmd_bootm.c     2009-06-14 21:30:39.000000000 
> +0200
> +++ u-boot-2009.06/common/cmd_bootm.c 2009-07-15 18:28:28.000000000 +0200
> @@ -380,7 +380,7 @@
>                       return BOOTM_ERR_RESET;
>               }
>  
> -             *load_end = load + unc_len;
> +             *load_end = load + image_len;
>               break;
>  #endif /* CONFIG_BZIP2 */
>  #ifdef CONFIG_LZMA
> @@ -396,7 +396,7 @@
>                       show_boot_progress (-6);
>                       return BOOTM_ERR_RESET;
>               }
> -             *load_end = load + unc_len;
> +             *load_end = load + image_len;

This seems definitely wrong to me. image_len is the length of the
_compressed_ image, which is not what we need here.

Best regards,

Wolfgang Denk

-- 
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: w...@denx.de
"Wish not to seem, but to be, the best."                  - Aeschylus
_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to