[Fastboot] kexec cant load OpenBSD

Eric W. Biederman ebiederm at xmission.com
Fri Apr 20 05:43:48 EDT 2007


Vivek Goyal <vgoyal at in.ibm.com> writes:

> On Thu, Apr 19, 2007 at 03:49:46PM -0400, Jon Steel wrote:
>> Hi
>> 
>> Im running Gentoo and Im trying to use kexec to start up OpenBSD. I've
>> got it set up correct because I can do a boot into Gentoo. Here is what
>> happens:
>> 
>> base ~ # kexec -l /boot/bsd --type="elf-x86"
>> Base address: d0200120 is not page aligned
>> 
>
> Above address indicates that some loadable program segment is not
> page size(4K) aligned hence kexec is cribbing.
>
> A, "readelf -l /boot/bsd" should display the various program headers.
> I think you shall have to modify linker script of OpenBSD kernel to 
> generate page size aligned loadable segments.
>
> This does raise a question in my mind, why all the program headers
> should be loaded at page size boundaries? Just because ease of handling
> or there is some other reason too?
>
> Eric, you want to shed some light on this requirement?

A) The first problem is that we don't currently have support for OpenBSD
   and it does some weird things, and doesn't quite use the ELF fields
   generically.  So specific support will have to be written for at least
   part of it.

B) In the kernel side of the interface the page alignment restriction is
   important because of how our intermediate buffers work.  For user space
   ELF the page alignment of program segments is an important
   consideration to allow page sharing but for standalone executables we
   really shouldn't care and the restriction probably only exists 
   because we have a simple translation from ELF segment to the kernel
   segments.

Eric



More information about the kexec mailing list