[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] [PATCH 1/3] xen: allow architecture to choose how/whether to compress installed xen binary



This is a follow up to "xen: arm: make zImage the default target which we
install".

On ARM the xen.gz binary installed into /boot is not immediately useful because
bootloaders (e.g. u-boot) do not unconditionally support decompression (except
via the uImage wrapper, which we currently do not support via our build system)

Signed-off-by: Ian Campbell <ian.campbell@xxxxxxxxxx>
---
v3: Restrict $(Z) to just the rules which use it
v2: Allowarch to specify the compression suffix to use
---
 config/arm32.mk  |    2 ++
 config/arm64.mk  |    2 ++
 config/x86_64.mk |    2 ++
 xen/Makefile     |   23 +++++++++++++----------
 4 files changed, 19 insertions(+), 10 deletions(-)

diff --git a/config/arm32.mk b/config/arm32.mk
index d8e958b..3bc642d 100644
--- a/config/arm32.mk
+++ b/config/arm32.mk
@@ -2,6 +2,8 @@ CONFIG_ARM := y
 CONFIG_ARM_32 := y
 CONFIG_ARM_$(XEN_OS) := y
 
+CONFIG_XEN_INSTALL_SUFFIX :=
+
 # -march= -mcpu=
 
 # Explicitly specifiy 32-bit ARM ISA since toolchain default can be -mthumb:
diff --git a/config/arm64.mk b/config/arm64.mk
index b2457eb..1130630 100644
--- a/config/arm64.mk
+++ b/config/arm64.mk
@@ -2,6 +2,8 @@ CONFIG_ARM := y
 CONFIG_ARM_64 := y
 CONFIG_ARM_$(XEN_OS) := y
 
+CONFIG_XEN_INSTALL_SUFFIX :=
+
 CFLAGS += #-marm -march= -mcpu= etc
 
 HAS_PL011 := y
diff --git a/config/x86_64.mk b/config/x86_64.mk
index 4ec6cc1..70c0d8d 100644
--- a/config/x86_64.mk
+++ b/config/x86_64.mk
@@ -8,6 +8,8 @@ CONFIG_MIGRATE := y
 CONFIG_XCUTILS := y
 CONFIG_IOEMU ?= y
 
+CONFIG_XEN_INSTALL_SUFFIX := .gz
+
 CFLAGS += -m64
 
 SunOS_LIBDIR = $(SunOS_LIBDIR_x86_64)
diff --git a/xen/Makefile b/xen/Makefile
index 854a370..8bc8f3a 100644
--- a/xen/Makefile
+++ b/xen/Makefile
@@ -29,15 +29,17 @@ else
 endif
 
 .PHONY: _build
-_build: $(TARGET).gz
+_build: Z=$(CONFIG_XEN_INSTALL_SUFFIX)
+_build: $(TARGET)$(Z)
 
 .PHONY: _install
-_install: $(TARGET).gz
+_install: Z=$(CONFIG_XEN_INSTALL_SUFFIX)
+_install: $(TARGET)$(Z)
        [ -d $(DESTDIR)/boot ] || $(INSTALL_DIR) $(DESTDIR)/boot
-       $(INSTALL_DATA) $(TARGET).gz $(DESTDIR)/boot/$(notdir 
$(TARGET))-$(XEN_FULLVERSION).gz
-       ln -f -s $(notdir $(TARGET))-$(XEN_FULLVERSION).gz 
$(DESTDIR)/boot/$(notdir $(TARGET))-$(XEN_VERSION).$(XEN_SUBVERSION).gz
-       ln -f -s $(notdir $(TARGET))-$(XEN_FULLVERSION).gz 
$(DESTDIR)/boot/$(notdir $(TARGET))-$(XEN_VERSION).gz
-       ln -f -s $(notdir $(TARGET))-$(XEN_FULLVERSION).gz 
$(DESTDIR)/boot/$(notdir $(TARGET)).gz
+       $(INSTALL_DATA) $(TARGET)$(Z) $(DESTDIR)/boot/$(notdir 
$(TARGET))-$(XEN_FULLVERSION)$(Z)
+       ln -f -s $(notdir $(TARGET))-$(XEN_FULLVERSION)$(Z) 
$(DESTDIR)/boot/$(notdir $(TARGET))-$(XEN_VERSION).$(XEN_SUBVERSION)$(Z)
+       ln -f -s $(notdir $(TARGET))-$(XEN_FULLVERSION)$(Z) 
$(DESTDIR)/boot/$(notdir $(TARGET))-$(XEN_VERSION)$(Z)
+       ln -f -s $(notdir $(TARGET))-$(XEN_FULLVERSION)$(Z) 
$(DESTDIR)/boot/$(notdir $(TARGET))$(Z)
        $(INSTALL_DATA) $(TARGET)-syms $(DESTDIR)/boot/$(notdir 
$(TARGET))-syms-$(XEN_FULLVERSION)
        if [ -r $(TARGET).efi -a -n '$(EFI_DIR)' ]; then \
                [ -d $(DESTDIR)$(EFI_DIR) ] || $(INSTALL_DIR) 
$(DESTDIR)$(EFI_DIR); \
@@ -53,13 +55,14 @@ _install: $(TARGET).gz
        fi
 
 .PHONY: _uninstall
+_uninstall: Z=$(CONFIG_XEN_INSTALL_SUFFIX)
 _uninstall: D=$(DESTDIR)
 _uninstall: T=$(notdir $(TARGET))
 _uninstall:
-       rm -f $(D)/boot/$(T)-$(XEN_FULLVERSION).gz
-       rm -f $(D)/boot/$(T)-$(XEN_VERSION).$(XEN_SUBVERSION).gz
-       rm -f $(D)/boot/$(T)-$(XEN_VERSION).gz
-       rm -f $(D)/boot/$(T).gz
+       rm -f $(D)/boot/$(T)-$(XEN_FULLVERSION)$(Z)
+       rm -f $(D)/boot/$(T)-$(XEN_VERSION).$(XEN_SUBVERSION)$(Z)
+       rm -f $(D)/boot/$(T)-$(XEN_VERSION)$(Z)
+       rm -f $(D)/boot/$(T)$(Z)
        rm -f $(D)/boot/$(T)-syms-$(XEN_FULLVERSION)
        rm -f $(D)$(EFI_DIR)/$(T)-$(XEN_FULLVERSION).efi
        rm -f $(D)$(EFI_DIR)/$(T)-$(XEN_VERSION).$(XEN_SUBVERSION).efi
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.