[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] Support for multiboot images in elf64 (EM_X86_64) forma
From: |
Goswin von Brederlow |
Subject: |
Re: [Qemu-devel] Support for multiboot images in elf64 (EM_X86_64) format |
Date: |
Thu, 09 Feb 2012 16:38:50 +0100 |
User-agent: |
Gnus/5.110009 (No Gnus v0.9) XEmacs/21.4.22 (linux, no MULE) |
Paul Brook <address@hidden> writes:
>> Paul Brook <address@hidden> writes:
>> >> > starting your own toy kernel is a fun thing to do and there are many
>> >> > tutorials out there on how to do it. Unfortunately when one wants to
>> >> > write a kernel in 64bit it becomes much harder because one can't
>> >> > compile 64bit code as elf32 image and converting a elf64 image to
>> >> > elf32 format is a major hassle and looses debug information and
>> >> > symbols.
>> >
>> > So just have two versions of your image:
>> > - The elf64 image that has debug info, symbols, etc. Point gdb at this.
>> > - An elf32 image that you give to the bootloader (in this case kvm)
>> >
>> > Generating the latter from the former is a trivial objcopy invocation.
>>
>> Is it? I tried for a while and couldn't figure it out. I checked how
>> linux does it and it does quite a dance to achieve it.
>
> "objcopy -I elf64-x86-64 -O elf32-i386 64.elf 32.elf" worked for me.
> Relocations get a bit confused, but you shouldn't have relocations in your
> multiboot images to start with.
Why no relocations? Isn't exactly that the advantage of building an elf
image, that you can build a relocatable image?
I do remeber getting errors because x86_32_RELOC or something couldn't
be mapped to elf32-i386 output format. Can't reproduce it now
though. Your line above seems to work on my minimal hello-world kernel.
> Linux is a bit special because it has its own boot protocol. AFAIK it can't
> be
> used as a regular multiboot image directly, you need to add a wrapper (i.e. a
> secondary bootloader).
>
> Paul
I noticed. I quickly gave up using the linux kernel and build system as
reference for a simple toy kernel.
MfG
Goswin
- [Qemu-devel] Support for multiboot images in elf64 (EM_X86_64) format, Goswin von Brederlow, 2012/02/04
- Re: [Qemu-devel] Support for multiboot images in elf64 (EM_X86_64) format, Stefan Hajnoczi, 2012/02/06
- Re: [Qemu-devel] Support for multiboot images in elf64 (EM_X86_64) format, Goswin von Brederlow, 2012/02/08
- Re: [Qemu-devel] Support for multiboot images in elf64 (EM_X86_64) format, Kevin Wolf, 2012/02/08
- Re: [Qemu-devel] Support for multiboot images in elf64 (EM_X86_64) format, Stefan Hajnoczi, 2012/02/08
- Re: [Qemu-devel] Support for multiboot images in elf64 (EM_X86_64) format, Paul Brook, 2012/02/08
- Re: [Qemu-devel] Support for multiboot images in elf64 (EM_X86_64) format, Goswin von Brederlow, 2012/02/09
- Re: [Qemu-devel] Support for multiboot images in elf64 (EM_X86_64) format, Paul Brook, 2012/02/09
- Re: [Qemu-devel] Support for multiboot images in elf64 (EM_X86_64) format,
Goswin von Brederlow <=
- Re: [Qemu-devel] Support for multiboot images in elf64 (EM_X86_64) format, Paul Brook, 2012/02/09