[RFC][PATCH 0/11] i386: Relocatable BzImage (V3)

From: Vivek Goyal
Date: Mon Oct 23 2006 - 16:09:35 EST


Hi,

Here is the third attempt on implementing relocatable bzImage for i386.
Eric has done all the ground work and I am just giving it final finish.
Generated patches against (2.6.19-rc2-git7).

V2 ran into issues with lilo on Andrew's machine. I can't reproduce the
problem. For the sake of simpilicity, I have dropped the bit which added
and ELF header to bzImage. Instead, I have extended the bzImage protocol
to enable boot loaders to load protected mode kernel at a non 1MB address.
Hopefully this should not break any existing behaviour.

This functionality is especially useful for kdump where a single kernel
can be used both as production kernel and dump capture kernel and distors
don't have to maintain an additional kernel just for capturing the dump.

I have tested it with grub (.97) and lilo (lilo 22.7.3).

Note: One has to upgrade the binutils if you want to use
CONFIG_RELOCATABLE=y. Previous ld version will make section relative
symbols absolute, if section containing the symbols has zero size.
These absolute symbols are not relocated. This issue has been fixed
in latest binutils. I am using the one built on 09th octoer 2006 and
it works fine for me.

Chages since version V2
----------------------
- Dropped adding and ELF header to bzImage.
- Extended bzImage protocol for relocatable bzImage (version 2.05)
- Added support to display warning message at compilation time if
relocations relative to absolute symbols are present.
- Fixed a bug where some intermediate files were not being cleaned up
by "make clean"
- Avoid building vmlinux.bin.all if CONFIG_RELOCATABLE is not set.

Looking forward for your suggestions and any test results.

Thanks
Vivek
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/