Re: [PATCH] Remove lilo-loads-only-five-sectors-of-zImage-fixup fromsetup.S

From: H. Peter Anvin
Date: Wed Oct 11 2006 - 14:39:45 EST


Alexander van Heukelum wrote:
Hi!

The real-mode kernel (on i386 and x86_64) checks if the bootloader
loaded it correctly. Apparantly, very old versions of LILO disregarded
the setupsects field in the bootsector and always just loaded the first
five sectors. If the kernel is compiled as a zImage, the real-mode
kernel is able to rectify the situation. At least it was, until the code
to do so was moved to the eighth sector in order to make space for more
E820 entries (commit: f9ba70535dc12d9eb57d466a2ecd749e16eca866). This
occured on 1 May 2005 and as far as I know, noone has complained yet.
This patch removes the checks for the signature and the fixup code
completely.

Comments? Which bootloaders are still in use? Kill zImage?


Andrew asked me to comment on this...

This removes support for boot loaders that did not understand boot loader protocol version 2.00 or later. This probably includes very early versions of LILO as well as the long-since obsolete Bootlin and Shoelace. Those loaders were unable to load bzImages as well.

I have been urging that we kill zImage for a long time. It is virtually impossible to build a kernel today that will fit inside the zImage 512K compressed limitation.

It would be useful for setup.S to halt with a message if such an early bootloader is detected, however. This would have to be parked in the first 2K of the setup area, and can simply be detected by looking for zero in type_of_loader.

-hpa

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/