Jan Beulich
2007-Sep-18 07:50 UTC
[Xen-devel] [PATCH] linux/x86: match native behavior of ''make install''
Placement of the final image and handling of the install process should
match native (whether to implicitly create an initrd is just one
example). This includes there not being a need for a special boot-xen
subdirectory and more unification of arch/*/Makefile pieces.
Signed-off-by: Jan Beulich <jbeulich@novell.com>
Index: head-2007-09-03/arch/i386/Makefile
==================================================================---
head-2007-09-03.orig/arch/i386/Makefile 2007-09-17 14:22:09.000000000 +0200
+++ head-2007-09-03/arch/i386/Makefile 2007-09-17 13:55:57.000000000 +0200
@@ -124,20 +124,18 @@ AFLAGS += $(mflags-y)
boot := arch/i386/boot
-PHONY += zImage bzImage compressed zlilo bzlilo \
+PHONY += zImage bzImage vmlinuz compressed zlilo bzlilo \
zdisk bzdisk fdimage fdimage144 fdimage288 isoimage install
ifdef CONFIG_XEN
CPPFLAGS := -Iinclude$(if $(KBUILD_SRC),2)/asm/mach-xen $(CPPFLAGS)
-boot := arch/i386/boot-xen
-.PHONY: vmlinuz
all: vmlinuz
-vmlinuz: vmlinux
- $(Q)$(MAKE) $(build)=$(boot) $@
+# KBUILD_IMAGE specifies the target image being built
+KBUILD_IMAGE := $(boot)/vmlinuz
-install:
- $(Q)$(MAKE) $(build)=$(boot) $@
+vmlinuz: vmlinux
+ $(Q)$(MAKE) $(build)=$(boot) $(KBUILD_IMAGE)
else
all: bzImage
@@ -158,10 +156,10 @@ zdisk bzdisk: vmlinux
fdimage fdimage144 fdimage288 isoimage: vmlinux
$(Q)$(MAKE) $(build)=$(boot) BOOTIMAGE=$(KBUILD_IMAGE) $@
+endif
install:
$(Q)$(MAKE) $(build)=$(boot) BOOTIMAGE=$(KBUILD_IMAGE) install
-endif
archclean:
$(Q)$(MAKE) $(clean)=arch/i386/boot
@@ -180,4 +178,3 @@ endef
CLEAN_FILES += arch/$(ARCH)/boot/fdimage \
arch/$(ARCH)/boot/image.iso \
arch/$(ARCH)/boot/mtools.conf
-CLEAN_FILES += vmlinuz vmlinux-stripped
Index: head-2007-09-03/arch/i386/boot/Makefile
==================================================================---
head-2007-09-03.orig/arch/i386/boot/Makefile 2007-07-09 01:32:17.000000000 +0200
+++ head-2007-09-03/arch/i386/boot/Makefile 2007-09-17 14:05:15.000000000 +0200
@@ -26,7 +26,7 @@ SVGA_MODE := -DSVGA_MODE=NORMAL_VGA
#RAMDISK := -DRAMDISK=512
targets := vmlinux.bin bootsect bootsect.o \
- setup setup.o zImage bzImage
+ setup setup.o zImage bzImage vmlinuz vmlinux-stripped
subdir- := compressed
hostprogs-y := tools/build
@@ -133,5 +133,13 @@ zlilo: $(BOOTIMAGE)
cp System.map $(INSTALL_PATH)/
if [ -x /sbin/lilo ]; then /sbin/lilo; else /etc/lilo/install; fi
+$(obj)/vmlinuz: $(obj)/vmlinux-stripped FORCE
+ $(call if_changed,gzip)
+ @echo ''Kernel: $@ is ready'' '' (#''`cat
.version`'')''
+
+$(obj)/vmlinux-stripped: OBJCOPYFLAGS := -g --strip-unneeded
+$(obj)/vmlinux-stripped: vmlinux FORCE
+ $(call if_changed,objcopy)
+
install:
sh $(srctree)/$(src)/install.sh $(KERNELRELEASE) $(BOOTIMAGE) System.map
"$(INSTALL_PATH)"
Index: head-2007-09-03/arch/i386/boot-xen/Makefile
==================================================================---
head-2007-09-03.orig/arch/i386/boot-xen/Makefile 2007-09-17 14:22:09.000000000
+0200
+++ /dev/null 1970-01-01 00:00:00.000000000 +0000
@@ -1,19 +0,0 @@
-
-OBJCOPYFLAGS := -g --strip-unneeded
-
-vmlinuz: vmlinux-stripped FORCE
- $(call if_changed,gzip)
-
-vmlinux-stripped: vmlinux FORCE
- $(call if_changed,objcopy)
-
-INSTALL_ROOT := $(patsubst %/boot,%,$(INSTALL_PATH))
-
-XINSTALL_NAME ?= $(KERNELRELEASE)
-install:
- mkdir -p $(INSTALL_ROOT)/boot
- install -m0644 vmlinuz
$(INSTALL_ROOT)/boot/vmlinuz-$(XINSTALL_NAME)$(INSTALL_SUFFIX)
- install -m0644 vmlinux
$(INSTALL_ROOT)/boot/vmlinux-syms-$(XINSTALL_NAME)$(INSTALL_SUFFIX)
- install -m0664 .config
$(INSTALL_ROOT)/boot/config-$(XINSTALL_NAME)$(INSTALL_SUFFIX)
- install -m0664 System.map
$(INSTALL_ROOT)/boot/System.map-$(XINSTALL_NAME)$(INSTALL_SUFFIX)
- ln -f -s vmlinuz-$(XINSTALL_NAME)$(INSTALL_SUFFIX)
$(INSTALL_ROOT)/boot/vmlinuz-$(VERSION).$(PATCHLEVEL)$(shell [ -e
$(objtree)/localversion-xen ] && cat
$(objtree)/localversion-xen)$(INSTALL_SUFFIX)
Index: head-2007-09-03/arch/x86_64/Makefile
==================================================================---
head-2007-09-03.orig/arch/x86_64/Makefile 2007-09-17 14:22:54.000000000 +0200
+++ head-2007-09-03/arch/x86_64/Makefile 2007-09-17 14:12:40.000000000 +0200
@@ -88,22 +88,20 @@ drivers-$(CONFIG_KDB) += arch/x86_64/k
boot := arch/x86_64/boot
-PHONY += bzImage bzlilo install archmrproper \
+PHONY += bzImage bzlilo vmlinuz install archmrproper \
fdimage fdimage144 fdimage288 isoimage archclean
ifdef CONFIG_XEN
CPPFLAGS := -Iinclude$(if $(KBUILD_SRC),2)/asm/mach-xen $(CPPFLAGS)
LDFLAGS_vmlinux := -e startup_64
-boot := arch/i386/boot-xen
-.PHONY: vmlinuz
#Default target when executing "make"
all: vmlinuz
-vmlinuz: vmlinux
- $(Q)$(MAKE) $(build)=$(boot) $@
+BOOTIMAGE := $(boot)/vmlinuz
+KBUILD_IMAGE := $(BOOTIMAGE)
-install:
- $(Q)$(MAKE) $(build)=$(boot) $@
+vmlinuz: vmlinux
+ $(Q)$(MAKE) $(build)=$(boot) $(BOOTIMAGE)
else
#Default target when executing "make"
all: bzImage
@@ -122,10 +120,10 @@ bzdisk: vmlinux
fdimage fdimage144 fdimage288 isoimage: vmlinux
$(Q)$(MAKE) $(build)=$(boot) BOOTIMAGE=$(BOOTIMAGE) $@
+endif
install:
$(Q)$(MAKE) $(build)=$(boot) BOOTIMAGE=$(BOOTIMAGE) $@
-endif
archclean:
$(Q)$(MAKE) $(clean)=$(boot)
Index: head-2007-09-03/arch/x86_64/boot/Makefile
==================================================================---
head-2007-09-03.orig/arch/x86_64/boot/Makefile 2007-07-09 01:32:17.000000000
+0200
+++ head-2007-09-03/arch/x86_64/boot/Makefile 2007-09-17 14:09:13.000000000
+0200
@@ -26,7 +26,7 @@ SVGA_MODE := -DSVGA_MODE=NORMAL_VGA
#RAMDISK := -DRAMDISK=512
targets := vmlinux.bin bootsect bootsect.o \
- setup setup.o bzImage mtools.conf
+ setup setup.o bzImage mtools.conf vmlinuz vmlinux-stripped
EXTRA_CFLAGS := -m32
@@ -131,5 +131,13 @@ zlilo: $(BOOTIMAGE)
cp System.map $(INSTALL_PATH)/
if [ -x /sbin/lilo ]; then /sbin/lilo; else /etc/lilo/install; fi
+$(obj)/vmlinuz: $(obj)/vmlinux-stripped FORCE
+ $(call if_changed,gzip)
+ @echo ''Kernel: $@ is ready'' '' (#''`cat
.version`'')''
+
+$(obj)/vmlinux-stripped: OBJCOPYFLAGS := -g --strip-unneeded
+$(obj)/vmlinux-stripped: vmlinux FORCE
+ $(call if_changed,objcopy)
+
install:
sh $(srctree)/$(src)/install.sh $(KERNELRELEASE) $(BOOTIMAGE) System.map
"$(INSTALL_PATH)"
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xensource.com
http://lists.xensource.com/xen-devel