
Luigi 'Comio' Mantellini wrote:
common/cmd_bootm.c | 5 +- include/lzma/LzmaDec.h | 31 + include/lzma/LzmaDecode.h | 31 - include/lzma/LzmaTools.h | 2 +- include/lzma/LzmaTypes.h | 15 +- lib_generic/lzma/LGPL.txt | 502 -------------- lib_generic/lzma/LzmaDec.c | 1007 +++++++++++++++++++++++++++++
Hi,
I tried your code and it could decompress a LZMA-compressed kernel, very nice. I had to add some WATCHDOG_RESET() calls to LzmaDec.c because my device has a slow mpc823 CPU. However booting does not continue and I do not know why.
Un-Protected 63 sectors ## Booting kernel from Legacy Image at 00500000 ... Image Name: Linux LZMA Image Type: PowerPC Linux Kernel Image (lzma compressed) Data Size: 589824 Bytes = 576 kB Load Address: 00000000 Entry Point: 00000000 Verifying Checksum ... OK Uncompressing Kernel Image ... OK ERROR: Failed to allocate 0x200 bytes below 0x800000. ERROR with allocation of cmdline
After this the device reboots.
Attached you will find the config used to compile U-Boot. I started with CONFIG_SYS_LOAD_ADDR 0x200000 and increased it to 0x500000, but it did not help. I suppose decompressing a LZMA-compressed kernel takes more RAM, my box has 64MB which I think should be enough. The decompression should work with 32MB RAM as well as this is the standard amount.
I am not an expert when it comes to handling a Linux kernel at boot time so pointing to lots of howto's is appreciated ;)
Cheers, rhabarber1848