On 26.7.2018 18:23, York Sun wrote: > On 07/25/2018 11:52 PM, Michal Simek wrote: >> On 25.7.2018 23:18, York Sun wrote: >>> On 07/24/2018 10:58 PM, Michal Simek wrote: >>>> On 24.7.2018 18:26, York Sun wrote: >>>>> On 07/24/2018 06:07 AM, Michal Simek wrote: >>>>>> There is no reason to limit gzip usage only for OS_BOOT and kernel image >>>>>> type. >>>>>> >>>>>> Signed-off-by: Michal Simek <michal.si...@xilinx.com> >>>>>> --- >>>>>> >>>>>> common/spl/spl_fit.c | 5 +---- >>>>>> 1 file changed, 1 insertion(+), 4 deletions(-) >>>>>> >>>>>> diff --git a/common/spl/spl_fit.c b/common/spl/spl_fit.c >>>>>> index 9eabb1c1058b..dbf5ac33a845 100644 >>>>>> --- a/common/spl/spl_fit.c >>>>>> +++ b/common/spl/spl_fit.c >>>>>> @@ -257,10 +257,7 @@ static int spl_load_fit_image(struct spl_load_info >>>>>> *info, ulong sector, >>>>>> board_fit_image_post_process(&src, &length); >>>>>> #endif >>>>>> >>>>>> - if (IS_ENABLED(CONFIG_SPL_OS_BOOT) && >>>>>> - IS_ENABLED(CONFIG_SPL_GZIP) && >>>>>> - image_comp == IH_COMP_GZIP && >>>>>> - type == IH_TYPE_KERNEL) { >>>>>> + if (IS_ENABLED(CONFIG_SPL_GZIP) && image_comp == IH_COMP_GZIP) { >>>>>> size = length; >>>>>> if (gunzip((void *)load_addr, CONFIG_SYS_BOOTM_LEN, >>>>>> src, &size)) { >>>>>> >>>>> >>>>> This will uncompress ramdisk unnecessarily. >>>> >>>> Can you please share your its fragment? Also is there any other image >>>> which should be exclude? >>> >>> I used it for falcon boot. I guess the executable image should have >>> "entry". In >>> my setup, only kernel image has "entry". Here is my its file. >>> >>> /dts-v1/; >>> >>> / { >>> description = "Image file for the LS1046A Linux Kernel"; >>> #address-cells = <1>; >>> >>> images { >>> kernel@1 { >>> description = "ARM64 Linux kernel"; >>> data = /incbin/("./arch/arm64/boot/Image.gz"); >>> type = "kernel"; >>> arch = "arm64"; >>> os = "linux"; >>> compression = "gzip"; >>> load = <0x80080000>; >>> entry = <0x80080000>; >>> }; >>> fdt@1 { >>> description = "Flattened Device Tree blob"; >>> data = /incbin/("./fsl-ls1046ardb.dtb"); >>> type = "flat_dt"; >>> arch = "arm64"; >>> compression = "none"; >>> load = <0x90000000>; >>> }; >>> ramdisk@1 { >>> description = "Buildroot initramfs"; >>> data = /incbin/("./rootfs.cpio.gz"); >>> type = "ramdisk"; >>> arch = "arm64"; >>> os = "linux"; >>> compression = "gzip"; >> >> I have tested full u-boot and there is also no uncompression for ramdisk >> when you put gzip compress there. >> I have even tried gzip compression for fdt with expectation that u-boot >> will uncompress it. >> >> Based on doc/uImage.FIT/source_file_format.txt: >> 165 - compression : Compression used by included data. Supported >> compressions >> 166 are "gzip" and "bzip2". If no compression is used compression >> property >> 167 should be set to "none". >> >> >> Based on me this means that data inside fit are compressed and you are >> asking u-boot in boot to uncompress it. If you are not asking for that >> you should put none there. >> But it doesn't look like this is supported at all for fdt/ramdisk and it >> is only handled for OS. >> I see here two cases. >> 1. I want u-boot to uncompress my data in fit image (whatever it is) >> before passing control to OS that's why I putting there compression method. >> 2. I want OS to uncompress data but I want pass this data unchanged from >> u-boot to OS that's why I am putting compression method at "none" >> >> I am expecting when you put "none" there than you will boot in falcon >> mode without any issue. > > That will work. I can put "none" for the images I don't want U-Boot to > uncompress. > >> >> I have no problem to change this patch and include only kernel and fpga >> image but it sounds to me that we have gaps in implementation that not >> all images inside the fit image have the same range of functionalities. >> >> Also I think that "load" entry is that one which matters not "entry". >> > > Not true here. The "entry" matters if you want to run it, for example > Linux kernel. It may be different from "load".
yes - if you want to run it entry is used but if you want to uncompress it you should say where you want to uncompress it. I am not quite sure if we have any logic to automatically choose a place for uncompression. Thanks, Michal _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot