[U-Boot] [PATCH] spl: fit: Enable GZIP compression also for no kernel partitions

York Sun york.sun at nxp.com
Wed Jul 25 21:18:08 UTC 2018


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.simek at 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 at 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 at 1 {
			description = "Flattened Device Tree blob";
			data = /incbin/("./fsl-ls1046ardb.dtb");
			type = "flat_dt";
			arch = "arm64";
			compression = "none";
			load = <0x90000000>;
		};
		ramdisk at 1 {
			description = "Buildroot initramfs";
                        data = /incbin/("./rootfs.cpio.gz");
			type = "ramdisk";
			arch = "arm64";
			os = "linux";
			compression = "gzip";
			load = <0xa0000000>;
		};
	};

	configurations {
		default = "config at 1";
		config at 1 {
			description = "Boot Linux kernel";
			kernel = "kernel at 1";
			fdt = "fdt at 1";
			ramdisk = "ramdisk at 1";
		};
	};
};

York


More information about the U-Boot mailing list