Skip to contentSkip to conversation

x86 boot enhancements, bzELF support 11/11

PATCH New Eric W. Biederman 1 participant 1 message Apr 17, 2002

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 x86 boot enhancements, bzELF support 11/11

Linus please apply,

Add support for generating an ELF executable kernel. External tools are only needed now to manipulate the command line, and to add a ramdisk. For netbooting this is very handy.

To revert to a bzImage you simply strip off the ELF header, this should reduce concerns of the kernel boot format forking.

For my uses an ELF image is the primary format I work with.

In addition with all of these patches applied, the net growth of a real mode kernel is 35 bytes. An ELF header cost an additional 324 bytes, and in the kernel proper the size change is pure noise.

Eric

arch/i386/Makefile +3 -0
diff -uNr linux-2.5.8.boot.linuxbios/arch/i386/Makefile linux-2.5.8.boot.elf/arch/i386/Makefile
@@ -119,6 +119,9 @@
 bzImage: vmlinux
 	@$(MAKEBOOT) bzImage
 
+bzElf: vmlinux
+	@$(MAKEBOOT) bzElf
+
 compressed: zImage
 
 zlilo: vmlinux
arch/i386/boot/Makefile +3 -0
diff -uNr linux-2.5.8.boot.linuxbios/arch/i386/boot/Makefile linux-2.5.8.boot.elf/arch/i386/boot/Makefile
@@ -18,6 +18,9 @@
 bzImage: $(CONFIGURE) tools/build $(TOPDIR)/vmlinux brealmode compressed/bvmlinux 
 	tools/build -b $(TOPDIR)/vmlinux brealmode compressed/bvmlinux bzImage
 
+bzElf: $(CONFIGURE) tools/build $(TOPDIR)/vmlinux brealmode compressed/bvmlinux 
+	tools/build -e -b $(TOPDIR)/vmlinux brealmode compressed/bvmlinux bzElf
+
 compressed/vmlinux: $(TOPDIR)/vmlinux
 	@$(MAKE) -C compressed vmlinux
 

Binary files linux-2.5.8.boot.linuxbios/arch/i386/boot/bzElf and linux-2.5.8.boot.elf/arch/i386/boot/bzElf differ

arch/i386/boot/tools/build.c +231 -7

297 lines not on this page · raw message