Messages in this thread | | | Date | Thu, 28 Feb 2013 15:02:25 -0800 | Subject | Re: Revert commit 5dcd14ecd4 - breaks EFI boot with SLES11 elilo.efi | From | Yinghai Lu <> |
| |
On Thu, Feb 28, 2013 at 1:12 PM, H. Peter Anvin <hpa@zytor.com> wrote: > On 02/28/2013 01:09 PM, Robin Holt wrote: >>> >>> Sounds like ELILO needs to be fixed to pass the boot_params correctly. >>> >>> To support existing ELILO, it would be good to know exactly *which* >>> fields ELILO pass in as garbage (because it does, that is why ->sentinel >>> is nonzero) and use its bootloader ID to apply the proper brainwhack for >>> the legacy versions. >> >> Any idea how I can dump that information? >> > > Look at the source code and look at what fields it actually initializes. > Give us that list, and then we can work around elilo braindamage in the > kernel. > > Then make it follow the boot spec: > >> In 32-bit boot protocol, the first step in loading a Linux kernel >> should be to setup the boot parameters (struct boot_params, >> traditionally known as "zero page"). The memory for struct boot_params >> should be allocated and initialized to all zero. Then the setup header >> from offset 0x01f1 of kernel image on should be loaded into struct >> boot_params and examined. The end of setup header can be calculated as >> follow: >> >> 0x0202 + byte value at offset 0x0201 > > ... so we don't have to.
Good, kexec is not only one.
ELILO has one. 5 ELILO
We need switch/case to have different fields set for it.
Thanks
Yinghai
| |