[coreboot] [PATCH] mkelfImage: set kernel_alignment so 2.6.31+ work

Troy Telford ttelford.groups at gmail.com
Thu May 20 20:49:38 CEST 2010

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 at 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- \
--initrd=initrd- \
--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- 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 
Searching for server (DHCP)...
...Me:, Server:, Gateway
Loading x-slam:// .....(ELF)... done
Firmware type: LinuxBIOS

Searching for server (DHCP)...
...Me:, Server:, Gateway
Loading x-slam:// .....(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...

More information about the coreboot mailing list