Add Xen 4.6
PATCH v2 1/1 Add Xen 4.6
Add support to compile Xen 4.6 and Xen tools.
---
V2:
- Lots of fixups pointed out by Arnout Vandecappelle
package/Config.in | 1 + package/xen/Config.in | 36 ++++++++++++++++++++++++++++++++++++ package/xen/xen.hash | 2 ++ package/xen/xen.mk | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 85 insertions(+) create mode 100644 package/xen/Config.in create mode 100644 package/xen/xen.hash create mode 100644 package/xen/xen.mk
package/Config.in +1 -0
@@ -1656,6 +1656,7 @@ endif source "package/tpm-tools/Config.in" source "package/unscd/Config.in" source "package/util-linux/Config.in" + source "package/xen/Config.in" endmenu menu "Text editors and viewers"
package/xen/Config.in new file +36 -0
@@ -0,0 +1,36 @@ +config BR2_PACKAGE_XEN + bool "xen" + # Xen only supports these architectures + depends on BR2_arm || BR2_aarch64 || BR2_i386 || BR2_x86_64 + depends on BR2_PACKAGE_LIBAIO_ARCH_SUPPORTS + depends on BR2_TOOLCHAIN_HAS_THREADS # libglib2 + depends on BR2_USE_WCHAR # libglib2, util-linux + select BR2_PACKAGE_LIBAIO + select BR2_PACKAGE_LIBGLIB2 + select BR2_PACKAGE_NCURSES + select BR2_PACKAGE_OPENSSL + select BR2_PACKAGE_PIXMAN + select BR2_PACKAGE_YAJL + help + This builds the Xen hypervisor and toolstack. + http://www.xenproject.org/ + +if BR2_PACKAGE_XEN + +config BR2_PACKAGE_XEN_HYPERVISOR + bool "Build the Xen hypervisor" + default y + help + The Xen binaries are avaliable in ./usr/lib/xen/ + See http://wiki.xenproject.org/wiki/Getting_Started for using the Xen hypervisor. + +config BR2_PACKAGE_XEN_TOOLS + bool "Build the Xen tools" + depends on !BR2_STATIC_LIBS # dtc (libfdt) + select BR2_PACKAGE_DTC + select BR2_PACKAGE_UTIL_LINUX + select BR2_PACKAGE_UTIL_LINUX_LIBUUID + help + The Xen tools can be accessed by the xl command. + +endif
package/xen/xen.hash new file +2 -0
@@ -0,0 +1,2 @@ +# Locally computed +sha256 6fa1c2431df55aa5950d248e6093b8c8c0f11c357a0adbd348a2186478e80909 xen-4.6.0.tar.gz
package/xen/xen.mk new file +46 -0
46 lines not on this page · raw message
Signature · 1 line
2.5.0
PATCH v2 1/1 Add Xen 4.6
Quoted 39 lines · Alistair Francis
Add support to compile Xen 4.6 and Xen tools.
Signed-off-by Alistair Francis <[email protected]>---
V2:
- Lots of fixups pointed out by Arnout Vandecappellepackage/Config.in | 1 + package/xen/Config.in | 36 ++++++++++++++++++++++++++++++++++++ package/xen/xen.hash | 2 ++ package/xen/xen.mk | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 85 insertions(+)create mode 100644 package/xen/Config.in
create mode 100644 package/xen/xen.hash
create mode 100644package/xen/xen.mkpackage/Config.in +1
-0@@ -1656,6 +1656,7 @@ endif source "package/tpm-tools/Config.in" source "package/unscd/Config.in" source "package/util-linux/Config.in" + source "package/xen/Config.in" endmenu menu "Text editors and viewers"package/xen/Config.in new file +5
-0@@ -0,0 +1,36 @@ +config BR2_PACKAGE_XEN + bool "xen" + # Xen only supports these architectures + depends on BR2_arm || BR2_aarch64 || BR2_i386 || BR2_x86_64 + depends on BR2_PACKAGE_LIBAIO_ARCH_SUPPORTS
package/xen/Config.in line 15
Quoted 10 lines
package/xen/Config.in new file +10
-0+ depends on BR2_TOOLCHAIN_HAS_THREADS # libglib2 + depends on BR2_USE_WCHAR # libglib2, util-linux + select BR2_PACKAGE_LIBAIO + select BR2_PACKAGE_LIBGLIB2 + select BR2_PACKAGE_NCURSES + select BR2_PACKAGE_OPENSSL + select BR2_PACKAGE_PIXMAN + select BR2_PACKAGE_YAJL + help + This builds the Xen hypervisor and toolstack.
There should be an empty line here.
package/xen/Config.in line 24
Quoted 9 lines
package/xen/Config.in new file +9
-0+ http://www.xenproject.org/ + +if BR2_PACKAGE_XEN + +config BR2_PACKAGE_XEN_HYPERVISOR + bool "Build the Xen hypervisor" + default y + help + The Xen binaries are avaliable in ./usr/lib/xen/
No . in the beginning of the path, it's the absolute path on the target.
package/xen/Config.in line 25
Quoted 1 line
package/xen/Config.in new file +1
-0+ See http://wiki.xenproject.org/wiki/Getting_Started for using the Xen hypervisor.
Wrap at 72 columns (where the tab counts for 8).
package/xen/Config.in line 32
Quoted 7 lines
package/xen/Config.in new file +7
-0+ +config BR2_PACKAGE_XEN_TOOLS + bool "Build the Xen tools" + depends on !BR2_STATIC_LIBS # dtc (libfdt) + select BR2_PACKAGE_DTC + select BR2_PACKAGE_UTIL_LINUX + select BR2_PACKAGE_UTIL_LINUX_LIBUUID
It also seems to need:
select BR2_PACKAGE_ARGP_STANDALONE if !BR2_TOOLCHAIN_USES_GLIBC
Quoted 28 lines
package/xen/Config.in new file +4
-0+ help + The Xen tools can be accessed by the xl command. + +endifpackage/xen/xen.hash new file +2
-0@@ -0,0 +1,2 @@ +# Locally computed +sha256 6fa1c2431df55aa5950d248e6093b8c8c0f11c357a0adbd348a2186478e80909 xen-4.6.0.tar.gzpackage/xen/xen.mk new file +10
-0@@ -0,0 +1,46 @@ +################################################################################ +# +# Xen +# +################################################################################ + +XEN_VERSION = 4.6.0 +XEN_SITE = http://bits.xensource.com/oss-xen/release/$(XEN_VERSION) +XEN_LICENSE = GPLv2 +XEN_LICENSE_FILES = COPYING
package/xen/xen.mk line 20
Quoted 10 lines
package/xen/xen.mk new file +10
-0+ +ifeq ($(BR2_PACKAGE_XEN_HYPERVISOR),y) +XEN_INSTALL_IMAGES = YES +endif + +XEN_DEPENDENCIES += libaio libglib2 ncurses openssl pixman yajl + +XEN_INSTALL_TARGET_OPTS = DESTDIR=$(TARGET_DIR) + +XEN_CONF_OPTS += --disable-ocamltools
For some reason, it doesn't seem to be cross-compiling for me, it uses "gcc"
to build. I think you need to pass TARGET_CONFIGURE_OPTS in XEN_MAKE_ENV.
package/xen/xen.mk line 26
Quoted 6 lines
package/xen/xen.mk new file +6
-0+ +ifeq ($(BR2_PACKAGE_XEN_HYPERVISOR),y) +XEN_MAKE_OPTS += dist-xen + +define XEN_INSTALL_IMAGES_CMDS + cp $(@D)/xen/xen $(BINARIES_DIR)
Commands should be indented with a tab.
Quoted 4 lines
package/xen/xen.mk new file +4
-0+endef +else +XEN_CONF_OPTS += --disable-xen +endif
package/xen/xen.mk line 40
Quoted 10 lines
package/xen/xen.mk new file +10
-0+ +ifeq ($(BR2_PACKAGE_XEN_TOOLS),y) +XEN_DEPENDENCIES += dtc util-linux +XEN_INSTALL_TARGET_OPTS += install-tools +XEN_MAKE_OPTS += dist-tools + +define XEN_INSTALL_INIT_SYSV + mv $(TARGET_DIR)/etc/init.d/xencommons $(TARGET_DIR)/etc/init.d/S50xencommons + mv $(TARGET_DIR)/etc/init.d/xen-watchdog $(TARGET_DIR)/etc/init.d/S50xen-watchdog + mv $(TARGET_DIR)/etc/init.d/xendomains $(TARGET_DIR)/etc/init.d/S60xendomains
Same here.
Regards,
Arnout
Quoted 7 lines
package/xen/xen.mk new file +6
-0+endef +else +XEN_CONF_OPTS += --disable-tools +endif + +$(eval $(autotools-package))
Signature · 6 lines
Arnout Vandecappelle arnout at mind be Senior Embedded Software Architect +32-16-286500 Essensium/Mind http://www.mind.be G.Geenslaan 9, 3001 Leuven, Belgium BE 872 984 063 RPR Leuven LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle GPG fingerprint: 7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF
PATCH v2 1/1 Add Xen 4.6
Quoted 127 lines · Arnout Vandecappelle
Quoted 41 lines · Alistair Francis
Add support to compile Xen 4.6 and Xen tools.
Signed-off-by Alistair Francis <[email protected]>---
V2:
- Lots of fixups pointed out by Arnout Vandecappellepackage/Config.in | 1 + package/xen/Config.in | 36 ++++++++++++++++++++++++++++++++++++ package/xen/xen.hash | 2 ++ package/xen/xen.mk | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 85 insertions(+)create mode 100644 package/xen/Config.in
create mode 100644 package/xen/xen.hash
create mode 100644package/xen/xen.mkpackage/Config.in +1
-0@@ -1656,6 +1656,7 @@ endif source "package/tpm-tools/Config.in" source "package/unscd/Config.in" source "package/util-linux/Config.in" + source "package/xen/Config.in" endmenu menu "Text editors and viewers"package/xen/Config.in new file +5
-0@@ -0,0 +1,36 @@ +config BR2_PACKAGE_XEN + bool "xen" + # Xen only supports these architectures + depends on BR2_arm || BR2_aarch64 || BR2_i386 || BR2_x86_64 + depends on BR2_PACKAGE_LIBAIO_ARCH_SUPPORTSpackage/xen/Config.in line 15
Quoted 10 lines
package/xen/Config.in new file +10
-0+ depends on BR2_TOOLCHAIN_HAS_THREADS # libglib2 + depends on BR2_USE_WCHAR # libglib2, util-linux + select BR2_PACKAGE_LIBAIO + select BR2_PACKAGE_LIBGLIB2 + select BR2_PACKAGE_NCURSES + select BR2_PACKAGE_OPENSSL + select BR2_PACKAGE_PIXMAN + select BR2_PACKAGE_YAJL + help + This builds the Xen hypervisor and toolstack.There should be an empty line here.
package/xen/Config.in line 24
Quoted 9 lines
package/xen/Config.in new file +9
-0+ http://www.xenproject.org/ + +if BR2_PACKAGE_XEN + +config BR2_PACKAGE_XEN_HYPERVISOR + bool "Build the Xen hypervisor" + default y + help + The Xen binaries are avaliable in ./usr/lib/xen/No . in the beginning of the path, it's the absolute path on the target.
Quoted 2 lines
package/xen/Config.in new file +1
-0+ See http://wiki.xenproject.org/wiki/Getting_Started for usingthe Xen hypervisor.
Wrap at 72 columns (where the tab counts for 8).
package/xen/Config.in line 32
Quoted 7 lines
package/xen/Config.in new file +7
-0+ +config BR2_PACKAGE_XEN_TOOLS + bool "Build the Xen tools" + depends on !BR2_STATIC_LIBS # dtc (libfdt) + select BR2_PACKAGE_DTC + select BR2_PACKAGE_UTIL_LINUX + select BR2_PACKAGE_UTIL_LINUX_LIBUUIDIt also seems to need:
select
BR2_PACKAGE_ARGP_STANDALONEif !BR2_TOOLCHAIN_USES_GLIBCQuoted 38 lines
package/xen/Config.in new file +4
-0+ help + The Xen tools can be accessed by the xl command. + +endifpackage/xen/xen.hash new file +2
-0@@ -0,0 +1,2 @@ +# Locally computed +sha256 6fa1c2431df55aa5950d248e6093b8c8c0f11c357a0adbd348a2186478e80909xen-4.6.0.tar.gz
package/xen/xen.mk new file +17
-0@@ -0,0 +1,46 @@ +################################################################################ +# +# Xen +# +################################################################################ + +XEN_VERSION = 4.6.0 +XEN_SITE = http://bits.xensource.com/oss-xen/release/$(XEN_VERSION) +XEN_LICENSE = GPLv2 +XEN_LICENSE_FILES = COPYING + +ifeq ($(BR2_PACKAGE_XEN_HYPERVISOR),y) +XEN_INSTALL_IMAGES = YES +endif + +XEN_DEPENDENCIES += libaio libglib2 ncurses openssl pixman yajl +
Quoted 8 lines
package/xen/xen.mk line 20
Quoted 3 lines
package/xen/xen.mk new file +3
-0+XEN_INSTALL_TARGET_OPTS = DESTDIR=$(TARGET_DIR) + +XEN_CONF_OPTS += --disable-ocamltoolsFor some reason, it doesn't seem to be cross-compiling for me, it uses
"gcc" to build. I think you need to passTARGET_CONFIGURE_OPTSinXEN_MAKE_ENV.
I see the same problem. I tried using TARGET_CONFIGURE_OPTS in XEN_MAKE_ENV but it still uses GCC.
The configure scripts detects an AArch64 target correctly, but it still uses GCC. Any other ideas?
Thanks,
Alistair
Quoted 53 lines
package/xen/xen.mk line 26
Quoted 7 lines
package/xen/xen.mk new file +6
-0+ +ifeq ($(BR2_PACKAGE_XEN_HYPERVISOR),y) +XEN_MAKE_OPTS += dist-xen + +define XEN_INSTALL_IMAGES_CMDS + cp $(@D)/xen/xen $(BINARIES_DIR)Commands should be indented with a tab.
Quoted 12 lines
package/xen/xen.mk new file +12
-0+endef +else +XEN_CONF_OPTS += --disable-xen +endif + +ifeq ($(BR2_PACKAGE_XEN_TOOLS),y) +XEN_DEPENDENCIES += dtc util-linux +XEN_INSTALL_TARGET_OPTS += install-tools +XEN_MAKE_OPTS += dist-tools + +define XEN_INSTALL_INIT_SYSV + mv $(TARGET_DIR)/etc/init.d/xencommonsQuoted 5 lines
$(TARGET_DIR)/etc/init.d/S50xencommons
+ mv $(TARGET_DIR)/etc/init.d/xen-watchdog
$(TARGET_DIR)/etc/init.d/S50xen-watchdog
+ mv $(TARGET_DIR)/etc/init.d/xendomains
$(TARGET_DIR)/etc/init.d/S60xendomainsSame here.
Regards,
Arnoutpackage/xen/xen.mk line 46
Quoted 7 lines
package/xen/xen.mk new file +6
-0+endef +else +XEN_CONF_OPTS += --disable-tools +endif + +$(eval $(autotools-package))--
Arnout Vandecappelle arnout at mind be Senior Embedded Software Architect +32-16-286500 Essensium/Mind http://www.mind.be G.Geenslaan 9, 3001 Leuven, Belgium BE 872 984 063 RPR Leuven LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle GPG fingerprint: 7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF
PATCH v2 1/1 Add Xen 4.6
Quoted 1 line · Alistair Francis
On Sun, Mar 27, 2016 at 5:54 AM, Arnout Vandecappelle<[email protected]> wrote:
[snip]
Quoted 8 lines
Quoted 3 lines
Quoted 3 lines
For some reason, it doesn't seem to be cross-compiling for me, it uses
"gcc" to build. I think you need to passTARGET_CONFIGURE_OPTSinXEN_MAKE_ENV.I see the same problem. I tried using
TARGET_CONFIGURE_OPTSinXEN_MAKE_ENVbut it still uses GCC.The configure scripts detects an AArch64 target correctly, but it still uses GCC. Any other ideas?
Try passing CROSS_COMPILE in XEN_MAKE_ENV.
You may also need to set XEN_TARGET_ARCH, AFAICS it is not derived automatically.
Regards,
Arnout
[snip]
Signature · 6 lines
Arnout Vandecappelle arnout at mind be Senior Embedded Software Architect +32-16-286500 Essensium/Mind http://www.mind.be G.Geenslaan 9, 3001 Leuven, Belgium BE 872 984 063 RPR Leuven LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle GPG fingerprint: 7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF
PATCH v2 1/1 Add Xen 4.6
Quoted 18 lines
-----Original Message-----
From: Arnout Vandecappelle [mailto:arnout at mind.be]
Sent: Tuesday, 29 March 2016 12:26 PM
To: Alistair Francis <[email protected]>
Cc: Thomas Petazzoni <[email protected]>; buildroot at buildroot.org; maxime.ripard at free-electrons.com
Subject: Re: [PATCH V2] Add Xen 4.6Quoted 1 line · Alistair Francis
On Sun, Mar 27, 2016 at 5:54 AM, Arnout Vandecappelle<[email protected]>
wrote:
[snip]Quoted 6 lines
Quoted 3 lines
Quoted 3 lines
For some reason, it doesn't seem to be cross-compiling for me, it uses
"gcc" to build. I think you need to passTARGET_CONFIGURE_OPTSinXEN_MAKE_ENV.I see the same problem. I tried using
TARGET_CONFIGURE_OPTSinXEN_MAKE_ENVbut it still uses GCC.
Quoted 7 lines
Quoted 2 lines
The configure scripts detects an AArch64 target correctly, but it still uses GCC. Any other ideas?
Try passing
CROSS_COMPILEinXEN_MAKE_ENV.You may also need to set
XEN_TARGET_ARCH, AFAICS it is not derived
automatically.
Sorry for the poorly formatted reply, I am sending this from my work email.
I managed to get it to use aarch64-buildroot-linux-gnu-gcc using the CROSS_COMPILE=$(TARGET_CROSS) option , but now I see a lot of errors as apparently that version of GCC doesn't understand a lot of the command line options.
Any idea why that would be? The GCC version is 4.9.3 which should be new enough.
Thanks,
Alistair
Quoted 6 lines
Regards,
Arnout[snip]
Quoted 7 lines
--
Arnout Vandecappelle arnout at mind be Senior Embedded Software Architect +32-16-286500 Essensium/Mind http://www.mind.be G.Geenslaan 9, 3001 Leuven, Belgium BE 872 984 063 RPR Leuven LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle GPG fingerprint: 7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF
This email and any attachments are intended for the sole use of the named recipient(s) and contain(s) confidential information that may be proprietary, privileged or copyrighted under applicable law. If you are not the intended recipient, do not read, copy, or forward this email message or any attachments. Delete this email message and any attachments immediately.
PATCH v2 1/1 Add Xen 4.6
Quoted 26 lines · Alistair Francis
Quoted 18 lines
-----Original Message-----
From: Arnout Vandecappelle [mailto:arnout at mind.be]
Sent: Tuesday, 29 March 2016 12:26 PM
To: Alistair Francis <[email protected]>
Cc: Thomas Petazzoni <[email protected]>; buildroot at buildroot.org; maxime.ripard at free-electrons.com
Subject: Re: [PATCH V2] Add Xen 4.6Quoted 1 line · Alistair Francis
On Sun, Mar 27, 2016 at 5:54 AM, Arnout Vandecappelle<[email protected]>
wrote:
[snip]Quoted 6 lines
Quoted 3 lines
Quoted 3 lines
For some reason, it doesn't seem to be cross-compiling for me, it uses
"gcc" to build. I think you need to passTARGET_CONFIGURE_OPTSinXEN_MAKE_ENV.I see the same problem. I tried using
TARGET_CONFIGURE_OPTSinXEN_MAKE_ENVbut it still uses GCC.Quoted 7 lines
Quoted 2 lines
The configure scripts detects an AArch64 target correctly, but it still uses GCC. Any other ideas?
Try passing
CROSS_COMPILEinXEN_MAKE_ENV.You may also need to set
XEN_TARGET_ARCH, AFAICS it is not derived
automatically.
Quoted 8 lines
Sorry for the poorly formatted reply, I am sending this from my work email.
I managed to get it to use aarch64-buildroot-linux-gnu-gcc using the CROSS_COMPILE=$(TARGET_CROSS) option , but now I see a lot of errors as apparently that version of GCC doesn't understand a lot of the command line options.
Any idea why that would be? The GCC version is 4.9.3 which should be new enough.
Can you put the build log in a pastebin and post it on the list? It's
difficult to say anything just like this...
Did you also pass XEN_TARGET_ARCH?
Regards,
Arnout
Signature · 6 lines
Arnout Vandecappelle arnout dot vandecappelle at essensium dot com Senior Embedded Software Architect . . . . . . +32-478-010353 (mobile) Essensium, Mind division . . . . . . . . . . . . . . http://www.mind.be G.Geenslaan 9, 3001 Leuven, Belgium . . . . . BE 872 984 063 RPR Leuven LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle GPG fingerprint: 7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF
PATCH v2 1/1 Add Xen 4.6
Quoted 45 lines · Arnout Vandecappelle
Quoted 42 lines · Alistair Francis
Quoted 24 lines
-----Original Message-----
From: Arnout Vandecappelle [mailto:arnout at mind.be]
Sent: Tuesday, 29 March 2016 12:26 PM
To: Alistair Francis <[email protected]>
Cc: Thomas Petazzoni <[email protected]>; buildroot at buildroot.org; maxime.ripard at free-electrons.com
Subject: Re: [PATCH V2] Add Xen 4.6Quoted 2 lines · Alistair Francis
On Sun, Mar 27, 2016 at 5:54 AM, Arnout Vandecappelle<[email protected]>
wrote:
[snip]Quoted 9 lines
Quoted 5 lines
Quoted 5 lines
For some reason, it doesn't seem to be cross-compiling for me, it
uses
"gcc" to build. I think you need to passTARGET_CONFIGURE_OPTSinXEN_MAKE_ENV.I see the same problem. I tried using
TARGET_CONFIGURE_OPTSinXEN_MAKE_ENVbut it still uses GCC.Quoted 8 lines
Quoted 2 lines
The configure scripts detects an AArch64 target correctly, but it still uses GCC. Any other ideas?
Try passing
CROSS_COMPILEinXEN_MAKE_ENV.You may also need to set
XEN_TARGET_ARCH, AFAICS it is not derived
automatically.Sorry for the poorly formatted reply, I am sending this from my work email.
I managed to get it to use aarch64-buildroot-linux-gnu-gcc using the CROSS_COMPILE=$(TARGET_CROSS) option , but now I see a lot of errors as apparently that version of GCC doesn't understand a lot of the command line options.
Quoted 8 lines
Quoted 2 lines
Any idea why that would be? The GCC version is 4.9.3 which should be new enough.
Can you put the build log in a pastebin and post it on the list? It's
difficult to say anything just like this...Did you also pass
XEN_TARGET_ARCH?
I managed to get it to work for AArch64, but now it's failing for ARMv7. I haven't tried the x86 architectures yet.
Here is the error log: http://pastebin.com/znTSCu6s
Here is the Xen.mk I'm using: http://pastebin.com/G33WH3Z9
Thanks,
Alistair
Quoted 13 lines
Regards,
Arnout--
Arnout Vandecappelle arnout dot vandecappelle at essensium dot com
Senior Embedded Software Architect . . . . . . +32-478-010353 (mobile) Essensium, Mind division . . . . . . . . . . . . . . http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium . . . . . BE 872 984 063 RPR LeuvenLinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle GPG fingerprint: 7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF