[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [Bug 1044727] Re: -kernel does not work for multiboot ELF k
From: |
Aurelien Jarno |
Subject: |
[Qemu-devel] [Bug 1044727] Re: -kernel does not work for multiboot ELF kernels |
Date: |
Fri, 07 Sep 2012 14:24:23 -0000 |
** Changed in: qemu
Status: New => Fix Committed
--
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https://bugs.launchpad.net/bugs/1044727
Title:
-kernel does not work for multiboot ELF kernels
Status in QEMU:
Fix Committed
Bug description:
The multiboot header of a kernel image can contain the entry point and
memory segment information. If it does not the kernel should have an
ELF header that describes the memory segments and contains the entry
point.
http://www.gnu.org/software/grub/manual/multiboot/multiboot.html
#Header-layout
I have such a multiboot ELF kernel that can be loaded fine with grub
and grub2 but not with the qemu -kernel flag. According to the ELF
spec the entry field in the ELF header should contain the virtual
address of the multiboot entry code. Qemu sets up the memory regions
using the paddr fields from the ELF sections and then tries to start
the kernel using the virtual entry address. This will fail with
>> qemu: fatal: Trying to execute code outside RAM or ROM
I wrote a simple kernel that can be used to reproduce this bug. Get
this archive
http://os.inf.tu-dresden.de/~hschild/asmkernel.tar.gz
It contains the simple kernel, its source, plus grub and grub2
binaries to boot the kernel in qemu. The HOWTO file contains the
command lines you should be using to rebuild the kernel and boot it an
bare qemu or with one of the two bootloaders.
Find a patch that will fix this issue here:
http://os.inf.tu-dresden.de/~hschild/qemu-fix-elf-entry.patch
To manage notifications about this bug go to:
https://bugs.launchpad.net/qemu/+bug/1044727/+subscriptions