[syslinux] Kernel Image CRC checking

H. Peter Anvin hpa at zytor.com
Fri Jun 7 22:19:36 PDT 2019


On 6/4/19 4:05 AM, Gene Cumm via Syslinux wrote:
> On Sat, May 25, 2019 at 8:33 AM Johann Obermayr via Syslinux
> <syslinux at syslinux.org> wrote:
>>
>> Hello,
>>
>> Is there a function to check a bzImage CRC ?
>>
>> If (ImageCRC("/bzImage") == -1)
>>                 Load_kernel("/BACKUP/bzImage") or what else
>>
>> Thanks
>>
>> Regards
>> Johann
> 
> It doesn't appear so.  I'm assuming you're referring to the CRC32
> present in Linux x86 boot protocol 2.08+ found in Linux versions
> 2.6.26+ ?  libupload has a CRC-16 function.  zlib has a CRC-32
> function but looks like it's initialized with different
> polynomial/remainder.
> 

Writing a generic CRC generator is not very hard; for a boot loader it makes
sense to compute the tables at runtime anyway, so it isn't a hard thing to do.

However, the CRC polynomial for zlib and the Linux kernel should both be the
same: 0x04c11db7.

	-hpa



More information about the Syslinux mailing list