On Wednesday, May 19, 2010 05:42:36 am Eric W. Biederman wrote:
The kernel initialization code as of boot protocol 2.10 is now reading the kernel_alignment field. With the field left the kernel attempts to align things to 4GB which is unlikely to work, so change the alignment to the kernels normal value of 16MB so newer kernels process by mkelfImage will boot.
Signed-off-by: "Eric W. Biederman" ebiederm@xmission.com
I've applied the patch and built it. (Twice - once against svn, and once against 2.7.0. It doesn't seem to matter).
The change to work for any of the machines I'm trying it on (mostly the old HDAMA LinuxBIOS machines, but some newer hardware as well).
I'm creating the .ebi using the following: ./mkelfImage vmlinuz-2.6.32.12-0.6-default \ --initrd=initrd-2.6.32.12-0.6-default \ --command-line="console=tty0 console=ttyS0,115200 panic=60" test.ebi
and loading it using kexec as follows: ./kexec -l ./test.ebi ./kexec -e
The serial console returns the following: Starting new kernel Firmware type: LinuxBIOS Copying LinuxBIOS to ram. Jumping to LinuxBIOS. LinuxBIOS-1.1.8.10Normal Thu Jul 28 09:16:27 MDT 2005 rebooting...
With similar results on a PCBIOS machine (ie. it reboots)
If I boot using Linux/PC BIOS and etherboot, the behavior is slightly different: Searching for server (DHCP)... ...Me: 10.0.1.1, Server: 10.0.10.1, Gateway 10.0.10.1 Loading x-slam://10.0.10.1:10006/239.192.0.131:10006 .....(ELF)... done Firmware type: LinuxBIOS
and: Searching for server (DHCP)... ...Me: 10.0.1.2, Server: 10.0.10.1, Gateway 10.0.10.1 Loading x-slam://10.0.10.1:10006/239.192.0.131:10006 .....(ELF)... done Firmware type: PCBIOS
And that's all that happens. It doesn't reboot, but there is nothing else returned, even with kernel verbosity cranked up to full, or waiting 20 minutes or so in case the serial console is disabled...