Messages in this thread | | | From | (Eric W. Biederman) | Subject | [CFT] ELF Relocatable x86 and x86_64 bzImages | Date | Mon, 31 Jul 2006 10:19:04 -0600 |
| |
I have spent some time and have gotten my relocatable kernel patches working against the latest kernels. I intend to push this upstream shortly.
Could all of the people who care take a look and test this out to make certain that it doesn't just work on my test box?
My approach is to extend bzImage so that it is an ET_DYN ELF executable (we have what used to be a bootsector where we can put the header). Boot loaders are explicitly not expected to process relocations.
The x86_64 kernel is simply built to live at a fixed virtual address and the boot page tables are relocated. The i386 kernel is built to process relocates generated with --embedded-relocs (after vmlinux.lds.S) has been fixed up to sort out static and dynamic relocations.
Currently there are 33 patches in my tree to do this.
The weirdest symptom I have had so far is that page faults did not trigger the early exception handler on x86_64 (instead I got a reboot).
The code should be available shortly at: git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/linux-2.6-reloc.git#reloc-v2.6.18-rc3
If all goes well with the testing I will push the patches to Andrew in the next couple of days.
Eric - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |