[U-Boot] x86: Booting Linux v4.7+ broken

Stefan Roese sr at denx.de
Sat Oct 1 10:31:34 CEST 2016


On 01.10.2016 05:52, Yinghai Lu wrote:
> On Tue, Sep 27, 2016 at 2:28 AM, Stefan Roese <sr at denx.de> wrote:
>> Hi!
>>
>> I just tried to boot a recent Linux kernel on a BayTrail based
>> x86 board and noticed that booting Linux kernel version v4.7+
>> does not work. git bisecting leads to this kernel commit
>> changing the compressed image format:
>>
>> 974f221c:
>> x86/boot: Move compressed kernel to the end of the decompression buffer
>>
>> Before digging deeper into this, I would like to check if
>> someone else has been hit by this problem and perhaps already
>> has a solution / fix for U-Boots zimage command. Or a quick
>> idea how to solve this.
>>
>
> could be u-boot does not copy whole setup header that include _init_size.
>
> in kexec the code like:
>
>
>         /* only copy setup_header */
>         setup_header_size = kernel[0x201] + 0x202 - 0x1f1;
>         if (setup_header_size > 0x7f)
>                 setup_header_size = 0x7f;
>         memcpy((unsigned char *)real_mode + 0x1f1, kernel + 0x1f1,
>                  setup_header_size);
>

Thanks for the notice. I've already sent this patch to the
U-Boot list to fix this issue:

https://patchwork.ozlabs.org/patch/676896/

Thanks,
Stefan


More information about the U-Boot mailing list