* [Buildroot] [PATCH 48/51] package/qemu: add support for libseccomp
From: Yann E. MORIN @ 2012-11-28 23:54 UTC (permalink / raw)
To: buildroot
In-Reply-To: <1354146890-27380-1-git-send-email-yann.morin.1998@free.fr>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
---
package/qemu/Config.in | 7 +++++++
package/qemu/qemu.mk | 7 ++++++-
2 files changed, 13 insertions(+), 1 deletions(-)
diff --git a/package/qemu/Config.in b/package/qemu/Config.in
index 6c50746..68d3464 100644
--- a/package/qemu/Config.in
+++ b/package/qemu/Config.in
@@ -274,6 +274,13 @@ config BR2_PACKAGE_QEMU_ATTR
Say 'y' here to have QEMU support attributes (attr) and eXtended
attibutes (xattr).
+config BR2_PACKAGE_QEMU_SECCOMP
+ bool "Enable seccomp filter"
+ select BR2_PACKAGE_LIBSECCOMP
+ help
+ Say 'y' here to have QEMU to use the Linux kernel's seccomp filter,
+ to more tightly confine the VMs.
+
config BR2_PACKAGE_QEMU_BLOBS
bool "Install binary blobs"
default y
diff --git a/package/qemu/qemu.mk b/package/qemu/qemu.mk
index 80424e6..4a157de 100644
--- a/package/qemu/qemu.mk
+++ b/package/qemu/qemu.mk
@@ -273,6 +273,12 @@ else
QEMU_OPTS += --disable-attr
endif
+ifeq ($(BR2_PACKAGE_QEMU_SECCOMP),y)
+QEMU_OPTS += --enable-seccomp
+else
+QEMU_OPTS += --disable-seccomp
+endif
+
ifeq ($(BR2_PACKAGE_QEMU_BLOBS),)
QEMU_OPTS += --disable-blobs
endif
@@ -363,7 +369,6 @@ define QEMU_CONFIGURE_CMDS
--disable-rbd \
--disable-smartcard \
--disable-strip \
- --disable-seccomp \
--disable-sparse \
$(QEMU_OPTS) \
)
--
1.7.2.5
^ permalink raw reply related
* [Buildroot] [PATCH 47/51] package/qemu: enable sound
From: Yann E. MORIN @ 2012-11-28 23:54 UTC (permalink / raw)
To: buildroot
In-Reply-To: <1354146890-27380-1-git-send-email-yann.morin.1998@free.fr>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
---
package/qemu/Config.in | 38 ++++++++++++++++++++++++++++++++++++++
package/qemu/qemu.mk | 19 +++++++++++++++++--
2 files changed, 55 insertions(+), 2 deletions(-)
diff --git a/package/qemu/Config.in b/package/qemu/Config.in
index fd14c3c..6c50746 100644
--- a/package/qemu/Config.in
+++ b/package/qemu/Config.in
@@ -205,6 +205,44 @@ config BR2_PACKAGE_QEMU_VDE
Say 'y' here to have QEMU connect to VDE (Virtual Distributed
Ethernet) switches.
+comment "Sound"
+
+config BR2_PACKAGE_QEMU_SOUND_CARDS
+ string "Enable sound cards"
+ default "ac97 es1370 hda"
+ help
+ Enter here the list of sound cards you want QEMU to emulate.
+ The available sound cards are:
+ ac97 es1370 sb16 cs4231a adlib gus hda
+
+ The default is: ac97 es1370 hda
+
+ Note: even if you say 'n' to both alsa and SDL drivers, below, QEMU
+ always include the 'wav' driver, which stores the generated sound
+ into a file, and the 'none' driver, which discards generated sound.
+
+config BR2_PACKAGE_QEMU_MIXEMU
+ bool "Enable mixer emulation"
+ help
+ Say 'y' here to have QEMU emulate a mixer device.
+
+config BR2_PACKAGE_QEMU_SOUND_SDL
+ bool "Enable sound via SDL"
+ select BR2_PACKAGE_QEMU_SDL # Requires that SDL frontend be selected
+ select BR2_PACKAGE_SDL
+ help
+ Say 'y' here to have QEMU play sound from the VMs via SDL.
+
+ Note: this is only for system emulation, not user emulation.
+
+config BR2_PACKAGE_QEMU_SOUND_ALSA
+ bool "Enable sound via alsa"
+ select BR2_PACKAGE_ALSA_LIB
+ help
+ Say 'y' here to have QEMU play sound from the VMs via alsa.
+
+ Note: this is only for system emulation, not user emulation.
+
comment "Misc. features"
config BR2_PACKAGE_QEMU_FDT
diff --git a/package/qemu/qemu.mk b/package/qemu/qemu.mk
index 0495233..80424e6 100644
--- a/package/qemu/qemu.mk
+++ b/package/qemu/qemu.mk
@@ -226,6 +226,23 @@ else
QEMU_OPTS += --disable-vde
endif
+QEMU_SND_DRV =
+ifeq ($(BR2_PACKAGE_QEMU_SOUND_ALSA),y)
+QEMU_SND_DRV += alsa
+QEMU_DEPENDENCIES += alsa-lib
+endif
+ifeq ($(BR2_PACKAGE_QEMU_SOUND_SDL),y)
+QEMU_SND_DRV += sdl
+QEMU_DEPENDENCIES += sdl
+endif
+ifneq ($(QEMU_SND_DRV),)
+QEMU_OPTS += --audio-drv-list="$(QEMU_SND_DRV)"
+endif
+QEMU_OPTS += --audio-card-list=$(BR2_PACKAGE_QEMU_SOUND_CARDS)
+ifeq ($(BR2_PACKAGE_QEMU_MIXEMU),y)
+QEMU_OPTS += --enable-mixemu
+endif
+
ifeq ($(BR2_PACKAGE_QEMU_FDT),y)
QEMU_OPTS += --enable-fdt
QEMU_DEPENDENCIES += dtc
@@ -334,8 +351,6 @@ define QEMU_CONFIGURE_CMDS
./configure \
--prefix=/usr \
--cross-prefix=$(TARGET_CROSS) \
- --audio-drv-list= \
- --audio-card-list= \
--enable-kvm \
--enable-nptl \
--enable-vhost-net \
--
1.7.2.5
^ permalink raw reply related
* [Buildroot] [PATCH 46/51] package/qemu: add support for Spice
From: Yann E. MORIN @ 2012-11-28 23:54 UTC (permalink / raw)
To: buildroot
In-Reply-To: <1354146890-27380-1-git-send-email-yann.morin.1998@free.fr>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
---
package/qemu/Config.in | 10 ++++++++++
package/qemu/qemu.mk | 8 +++++++-
2 files changed, 17 insertions(+), 1 deletions(-)
diff --git a/package/qemu/Config.in b/package/qemu/Config.in
index 67b6083..fd14c3c 100644
--- a/package/qemu/Config.in
+++ b/package/qemu/Config.in
@@ -127,6 +127,16 @@ config BR2_PACKAGE_QEMU_CURSES
frontend (although you can still use the SDL or VNC frontends to
display the graphical output).
+config BR2_PACKAGE_QEMU_SPICE
+ bool "Enable Spice frontend"
+ depends on BR2_PACKAGE_SPICE
+ help
+ Say 'y' here to have QEMU support Spice as a (VNC-like) frontend.
+
+if !BR2_PACKAGE_SPICE
+comment "Spice support requires spice-server"
+endif
+
comment "Block backends"
config BR2_PACKAGE_QEMU_VIRTFS
diff --git a/package/qemu/qemu.mk b/package/qemu/qemu.mk
index 8d889a8..0495233 100644
--- a/package/qemu/qemu.mk
+++ b/package/qemu/qemu.mk
@@ -171,6 +171,13 @@ else
QEMU_OPTS += --disable-curses
endif
+ifeq ($(BR2_PACKAGE_QEMU_SPICE),y)
+QEMU_OPTS += --enable-spice
+QEMU_DEPENDENCIES += spice
+else
+QEMU_OPTS += --disable-spice
+endif
+
ifeq ($(BR2_PACKAGE_QEMU_VIRTFS),y)
QEMU_OPTS += --enable-virtfs
else
@@ -338,7 +345,6 @@ define QEMU_CONFIGURE_CMDS
--disable-brlapi \
--disable-guest-base \
--disable-docs \
- --disable-spice \
--disable-rbd \
--disable-smartcard \
--disable-strip \
--
1.7.2.5
^ permalink raw reply related
* [Buildroot] [PATCH 45/51] package/qemu: add support for USB redirection
From: Yann E. MORIN @ 2012-11-28 23:54 UTC (permalink / raw)
To: buildroot
In-Reply-To: <1354146890-27380-1-git-send-email-yann.morin.1998@free.fr>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
---
package/qemu/Config.in | 9 +++++++++
package/qemu/qemu.mk | 8 +++++++-
2 files changed, 16 insertions(+), 1 deletions(-)
diff --git a/package/qemu/Config.in b/package/qemu/Config.in
index 2c401ca..67b6083 100644
--- a/package/qemu/Config.in
+++ b/package/qemu/Config.in
@@ -159,6 +159,15 @@ config BR2_PACKAGE_QEMU_ISCSI
help
Say 'y' here to have QEMU use iSCSI targets as block-devices.
+config BR2_PACKAGE_QEMU_USBREDIR
+ bool "Enable USB redirection"
+ depends on BR2_PACKAGE_USBREDIR
+ help
+ Say 'y' here to have QEMU support USB redirection over the network.
+
+comment "USB redirection requires usbredir"
+ depends on !BR2_PACKAGE_USBREDIR
+
config BR2_PACKAGE_QEMU_AIO
bool "Enable AIO"
depends on BR2_PACKAGE_LIBAIO
diff --git a/package/qemu/qemu.mk b/package/qemu/qemu.mk
index 43987c5..8d889a8 100644
--- a/package/qemu/qemu.mk
+++ b/package/qemu/qemu.mk
@@ -191,6 +191,13 @@ else
QEMU_OPTS += --disable-libiscsi
endif
+ifeq ($(BR2_PACKAGE_QEMU_USBREDIR),y)
+QEMU_OPTS += --enable-usb-redir
+QEMU_DEPENDENCIES += usbredir
+else
+QEMU_OPTS += --disable-usb-redir
+endif
+
ifeq ($(BR2_PACKAGE_QEMU_AIO),y)
QEMU_OPTS += --enable-linux-aio
QEMU_DEPENDENCIES += libaio
@@ -333,7 +340,6 @@ define QEMU_CONFIGURE_CMDS
--disable-docs \
--disable-spice \
--disable-rbd \
- --disable-usb-redir \
--disable-smartcard \
--disable-strip \
--disable-seccomp \
--
1.7.2.5
^ permalink raw reply related
* [Buildroot] [PATCH 44/51] package/qemu: add iSCSI support
From: Yann E. MORIN @ 2012-11-28 23:54 UTC (permalink / raw)
To: buildroot
In-Reply-To: <1354146890-27380-1-git-send-email-yann.morin.1998@free.fr>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
---
package/qemu/Config.in | 6 ++++++
package/qemu/qemu.mk | 8 +++++++-
2 files changed, 13 insertions(+), 1 deletions(-)
diff --git a/package/qemu/Config.in b/package/qemu/Config.in
index a82a1c6..2c401ca 100644
--- a/package/qemu/Config.in
+++ b/package/qemu/Config.in
@@ -153,6 +153,12 @@ config BR2_PACKAGE_QEMU_CURL
comment "cURL support is not possible with static linking"
depends on BR2_PREFER_STATIC_LIB
+config BR2_PACKAGE_QEMU_ISCSI
+ bool "Enable remote block-devices using iSCSI"
+ select BR2_PACKAGE_LIBISCSI
+ help
+ Say 'y' here to have QEMU use iSCSI targets as block-devices.
+
config BR2_PACKAGE_QEMU_AIO
bool "Enable AIO"
depends on BR2_PACKAGE_LIBAIO
diff --git a/package/qemu/qemu.mk b/package/qemu/qemu.mk
index ce7307c..43987c5 100644
--- a/package/qemu/qemu.mk
+++ b/package/qemu/qemu.mk
@@ -184,6 +184,13 @@ else
QEMU_OPTS += --disable-curl
endif
+ifeq ($(BR2_PACKAGE_QEMU_ISCSI),y)
+QEMU_OPTS += --enable-libiscsi
+QEMU_DEPENDENCIES += libiscsi
+else
+QEMU_OPTS += --disable-libiscsi
+endif
+
ifeq ($(BR2_PACKAGE_QEMU_AIO),y)
QEMU_OPTS += --enable-linux-aio
QEMU_DEPENDENCIES += libaio
@@ -326,7 +333,6 @@ define QEMU_CONFIGURE_CMDS
--disable-docs \
--disable-spice \
--disable-rbd \
- --disable-libiscsi \
--disable-usb-redir \
--disable-smartcard \
--disable-strip \
--
1.7.2.5
^ permalink raw reply related
* [Buildroot] [PATCH 43/51] package/qemu: add support for VDE switches
From: Yann E. MORIN @ 2012-11-28 23:54 UTC (permalink / raw)
To: buildroot
In-Reply-To: <1354146890-27380-1-git-send-email-yann.morin.1998@free.fr>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
---
package/qemu/Config.in | 7 +++++++
package/qemu/qemu.mk | 8 +++++++-
2 files changed, 14 insertions(+), 1 deletions(-)
diff --git a/package/qemu/Config.in b/package/qemu/Config.in
index a6fe857..a82a1c6 100644
--- a/package/qemu/Config.in
+++ b/package/qemu/Config.in
@@ -173,6 +173,13 @@ config BR2_PACKAGE_QEMU_BLUEZ
comment "BlueZ connectivity depends on bluez-utils"
depends on !BR2_PACKAGE_BLUEZ_UTILS
+config BR2_PACKAGE_QEMU_VDE
+ bool "Enable VDE"
+ select BR2_PACKAGE_VDE2
+ help
+ Say 'y' here to have QEMU connect to VDE (Virtual Distributed
+ Ethernet) switches.
+
comment "Misc. features"
config BR2_PACKAGE_QEMU_FDT
diff --git a/package/qemu/qemu.mk b/package/qemu/qemu.mk
index 25af62c..ce7307c 100644
--- a/package/qemu/qemu.mk
+++ b/package/qemu/qemu.mk
@@ -198,6 +198,13 @@ else
QEMU_OPTS += --disable-bluez
endif
+ifeq ($(BR2_PACKAGE_QEMU_VDE),y)
+QEMU_OPTS += --enable-vde
+QEMU_DEPENDENCIES += vde2
+else
+QEMU_OPTS += --disable-vde
+endif
+
ifeq ($(BR2_PACKAGE_QEMU_FDT),y)
QEMU_OPTS += --enable-fdt
QEMU_DEPENDENCIES += dtc
@@ -316,7 +323,6 @@ define QEMU_CONFIGURE_CMDS
--disable-vnc-sasl \
--disable-brlapi \
--disable-guest-base \
- --disable-vde \
--disable-docs \
--disable-spice \
--disable-rbd \
--
1.7.2.5
^ permalink raw reply related
* [Buildroot] [PATCH 42/51] package/qemu: add support for FDT
From: Yann E. MORIN @ 2012-11-28 23:54 UTC (permalink / raw)
To: buildroot
In-Reply-To: <1354146890-27380-1-git-send-email-yann.morin.1998@free.fr>
FDT is the Flat Device Tree, and allows QEMU to pass DTs to the VMs.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
---
package/qemu/Config.in | 7 +++++++
package/qemu/qemu.mk | 8 +++++++-
2 files changed, 14 insertions(+), 1 deletions(-)
diff --git a/package/qemu/Config.in b/package/qemu/Config.in
index e1521d5..a6fe857 100644
--- a/package/qemu/Config.in
+++ b/package/qemu/Config.in
@@ -175,6 +175,13 @@ comment "BlueZ connectivity depends on bluez-utils"
comment "Misc. features"
+config BR2_PACKAGE_QEMU_FDT
+ bool "Enable FDT"
+ select BR2_PACKAGE_DTC
+ help
+ Say 'y' here to have QEMU capable of constructing Device Trees,
+ and passing them to the VMs.
+
config BR2_PACKAGE_QEMU_UUID
bool "Enable VMs UUID"
depends on BR2_PACKAGE_UTIL_LINUX_LIBUUID
diff --git a/package/qemu/qemu.mk b/package/qemu/qemu.mk
index 18aa85a..25af62c 100644
--- a/package/qemu/qemu.mk
+++ b/package/qemu/qemu.mk
@@ -198,6 +198,13 @@ else
QEMU_OPTS += --disable-bluez
endif
+ifeq ($(BR2_PACKAGE_QEMU_FDT),y)
+QEMU_OPTS += --enable-fdt
+QEMU_DEPENDENCIES += dtc
+else
+QEMU_OPTS += --disable-fdt
+endif
+
ifeq ($(BR2_PACKAGE_QEMU_UUID),y)
QEMU_OPTS += --enable-uuid
QEMU_DEPENDENCIES += util-linux
@@ -308,7 +315,6 @@ define QEMU_CONFIGURE_CMDS
--disable-slirp \
--disable-vnc-sasl \
--disable-brlapi \
- --disable-fdt \
--disable-guest-base \
--disable-vde \
--disable-docs \
--
1.7.2.5
^ permalink raw reply related
* [Buildroot] [PATCH 41/51] package/qemu: add AIO support
From: Yann E. MORIN @ 2012-11-28 23:54 UTC (permalink / raw)
To: buildroot
In-Reply-To: <1354146890-27380-1-git-send-email-yann.morin.1998@free.fr>
Add support for Asynchronous Input/Ouput (AIO).
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
---
package/qemu/Config.in | 9 +++++++++
package/qemu/qemu.mk | 8 +++++++-
2 files changed, 16 insertions(+), 1 deletions(-)
diff --git a/package/qemu/Config.in b/package/qemu/Config.in
index 8addc9e..e1521d5 100644
--- a/package/qemu/Config.in
+++ b/package/qemu/Config.in
@@ -153,6 +153,15 @@ config BR2_PACKAGE_QEMU_CURL
comment "cURL support is not possible with static linking"
depends on BR2_PREFER_STATIC_LIB
+config BR2_PACKAGE_QEMU_AIO
+ bool "Enable AIO"
+ depends on BR2_PACKAGE_LIBAIO
+ help
+ Say 'y' here to enable Asynchronous Input/Output (AIO).
+
+comment "AIO support depends on libaio"
+ depends on !BR2_PACKAGE_LIBAIO
+
comment "Networking"
config BR2_PACKAGE_QEMU_BLUEZ
diff --git a/package/qemu/qemu.mk b/package/qemu/qemu.mk
index d6c1538..18aa85a 100644
--- a/package/qemu/qemu.mk
+++ b/package/qemu/qemu.mk
@@ -184,6 +184,13 @@ else
QEMU_OPTS += --disable-curl
endif
+ifeq ($(BR2_PACKAGE_QEMU_AIO),y)
+QEMU_OPTS += --enable-linux-aio
+QEMU_DEPENDENCIES += libaio
+else
+QEMU_OPTS += --disable-linux-aio
+endif
+
ifeq ($(BR2_PACKAGE_QEMU_BLUEZ),y)
QEMU_OPTS += --enable-bluez
QEMU_DEPENDENCIES += bluez_utils
@@ -304,7 +311,6 @@ define QEMU_CONFIGURE_CMDS
--disable-fdt \
--disable-guest-base \
--disable-vde \
- --disable-linux-aio \
--disable-docs \
--disable-spice \
--disable-rbd \
--
1.7.2.5
^ permalink raw reply related
* [Buildroot] [PATCH 40/51] package/qemu: add BlueZ connectivity
From: Yann E. MORIN @ 2012-11-28 23:54 UTC (permalink / raw)
To: buildroot
In-Reply-To: <1354146890-27380-1-git-send-email-yann.morin.1998@free.fr>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
---
package/qemu/Config.in | 11 +++++++++++
package/qemu/qemu.mk | 8 +++++++-
2 files changed, 18 insertions(+), 1 deletions(-)
diff --git a/package/qemu/Config.in b/package/qemu/Config.in
index 4d138f6..8addc9e 100644
--- a/package/qemu/Config.in
+++ b/package/qemu/Config.in
@@ -153,6 +153,17 @@ config BR2_PACKAGE_QEMU_CURL
comment "cURL support is not possible with static linking"
depends on BR2_PREFER_STATIC_LIB
+comment "Networking"
+
+config BR2_PACKAGE_QEMU_BLUEZ
+ bool "Enable BlueZ connectivity"
+ depends on BR2_PACKAGE_BLUEZ_UTILS
+ help
+ Say 'y' here to enable BlueZ (bluetooth) connectivity in QEMU.
+
+comment "BlueZ connectivity depends on bluez-utils"
+ depends on !BR2_PACKAGE_BLUEZ_UTILS
+
comment "Misc. features"
config BR2_PACKAGE_QEMU_UUID
diff --git a/package/qemu/qemu.mk b/package/qemu/qemu.mk
index 6aed3bb..d6c1538 100644
--- a/package/qemu/qemu.mk
+++ b/package/qemu/qemu.mk
@@ -184,6 +184,13 @@ else
QEMU_OPTS += --disable-curl
endif
+ifeq ($(BR2_PACKAGE_QEMU_BLUEZ),y)
+QEMU_OPTS += --enable-bluez
+QEMU_DEPENDENCIES += bluez_utils
+else
+QEMU_OPTS += --disable-bluez
+endif
+
ifeq ($(BR2_PACKAGE_QEMU_UUID),y)
QEMU_OPTS += --enable-uuid
QEMU_DEPENDENCIES += util-linux
@@ -295,7 +302,6 @@ define QEMU_CONFIGURE_CMDS
--disable-vnc-sasl \
--disable-brlapi \
--disable-fdt \
- --disable-bluez \
--disable-guest-base \
--disable-vde \
--disable-linux-aio \
--
1.7.2.5
^ permalink raw reply related
* [Buildroot] [PATCH 39/51] package/qemu: enable use of the curses frontend
From: Yann E. MORIN @ 2012-11-28 23:54 UTC (permalink / raw)
To: buildroot
In-Reply-To: <1354146890-27380-1-git-send-email-yann.morin.1998@free.fr>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
---
package/qemu/Config.in | 11 +++++++++++
package/qemu/qemu.mk | 8 +++++++-
2 files changed, 18 insertions(+), 1 deletions(-)
diff --git a/package/qemu/Config.in b/package/qemu/Config.in
index bfdb082..4d138f6 100644
--- a/package/qemu/Config.in
+++ b/package/qemu/Config.in
@@ -116,6 +116,17 @@ config BR2_PACKAGE_QEMU_SDL
Say 'y' to enable the SDL frontend, that is, a graphical window
presenting the VM's display.
+config BR2_PACKAGE_QEMU_CURSES
+ bool "Enable the curses frontend"
+ select BR2_PACKAGE_NCURSES
+ help
+ Say 'y' to use curses to display the text-mode of VGA outpout.
+
+ If the VM's graphic adapter does not support VGA text-mode, or it
+ is in graphical mode, then nothing will be displayed with this
+ frontend (although you can still use the SDL or VNC frontends to
+ display the graphical output).
+
comment "Block backends"
config BR2_PACKAGE_QEMU_VIRTFS
diff --git a/package/qemu/qemu.mk b/package/qemu/qemu.mk
index f27e06b..6aed3bb 100644
--- a/package/qemu/qemu.mk
+++ b/package/qemu/qemu.mk
@@ -164,6 +164,13 @@ else
QEMU_OPTS += --disable-sdl
endif
+ifeq ($(BR2_PACKAGE_QEMU_CURSES),y)
+QEMU_OPTS += --enable-curses
+QEMU_DEPENDENCIES += ncurses
+else
+QEMU_OPTS += --disable-curses
+endif
+
ifeq ($(BR2_PACKAGE_QEMU_VIRTFS),y)
QEMU_OPTS += --enable-virtfs
else
@@ -287,7 +294,6 @@ define QEMU_CONFIGURE_CMDS
--disable-slirp \
--disable-vnc-sasl \
--disable-brlapi \
- --disable-curses \
--disable-fdt \
--disable-bluez \
--disable-guest-base \
--
1.7.2.5
^ permalink raw reply related
* [Buildroot] [PATCH 38/51] package/qemu: add support for cURL
From: Yann E. MORIN @ 2012-11-28 23:54 UTC (permalink / raw)
To: buildroot
In-Reply-To: <1354146890-27380-1-git-send-email-yann.morin.1998@free.fr>
QEMU can use libcurl as a block backend, to access remote block devices.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
---
package/qemu/Config.in | 10 ++++++++++
package/qemu/qemu.mk | 8 +++++++-
2 files changed, 17 insertions(+), 1 deletions(-)
diff --git a/package/qemu/Config.in b/package/qemu/Config.in
index ba43e5f..bfdb082 100644
--- a/package/qemu/Config.in
+++ b/package/qemu/Config.in
@@ -132,6 +132,16 @@ config BR2_PACKAGE_QEMU_VIRTFS
file-system called 9p, and can be accelerated by using the 9p
virtio).
+config BR2_PACKAGE_QEMU_CURL
+ bool "Enable remote block-devices using cURL"
+ depends on !BR2_PREFER_STATIC_LIB
+ select BR2_PACKAGE_LIBCURL
+ help
+ Say 'y' to access remote block-devices using libcurl.
+
+comment "cURL support is not possible with static linking"
+ depends on BR2_PREFER_STATIC_LIB
+
comment "Misc. features"
config BR2_PACKAGE_QEMU_UUID
diff --git a/package/qemu/qemu.mk b/package/qemu/qemu.mk
index 8c9302f..f27e06b 100644
--- a/package/qemu/qemu.mk
+++ b/package/qemu/qemu.mk
@@ -170,6 +170,13 @@ else
QEMU_OPTS += --disable-virtfs
endif
+ifeq ($(BR2_PACKAGE_QEMU_CURL),y)
+QEMU_OPTS += --enable-curl
+QEMU_DEPENDENCIES += libcurl
+else
+QEMU_OPTS += --disable-curl
+endif
+
ifeq ($(BR2_PACKAGE_QEMU_UUID),y)
QEMU_OPTS += --enable-uuid
QEMU_DEPENDENCIES += util-linux
@@ -281,7 +288,6 @@ define QEMU_CONFIGURE_CMDS
--disable-vnc-sasl \
--disable-brlapi \
--disable-curses \
- --disable-curl \
--disable-fdt \
--disable-bluez \
--disable-guest-base \
--
1.7.2.5
^ permalink raw reply related
* [Buildroot] [PATCH 37/51] package/qemu: add support for virtfs
From: Yann E. MORIN @ 2012-11-28 23:54 UTC (permalink / raw)
To: buildroot
In-Reply-To: <1354146890-27380-1-git-send-email-yann.morin.1998@free.fr>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
---
package/qemu/Config.in | 16 ++++++++++++++++
package/qemu/qemu.mk | 7 ++++++-
2 files changed, 22 insertions(+), 1 deletions(-)
diff --git a/package/qemu/Config.in b/package/qemu/Config.in
index 9422caf..ba43e5f 100644
--- a/package/qemu/Config.in
+++ b/package/qemu/Config.in
@@ -116,6 +116,22 @@ config BR2_PACKAGE_QEMU_SDL
Say 'y' to enable the SDL frontend, that is, a graphical window
presenting the VM's display.
+comment "Block backends"
+
+config BR2_PACKAGE_QEMU_VIRTFS
+ bool "Enable plan9 ressources using VirtFS"
+ select BR2_PACKAGE_QEMU_CAP
+ select BR2_PACKAGE_QEMU_ATTR
+ help
+ Say 'y' here if you want QEMU to provide a plan9 virtual "share"
+ accessible from the guest OS for relatively fast access to host
+ files.
+
+ This requires that the guest OS is capable of accessing plan9
+ ressources (typically, in Linux, this is done by a network
+ file-system called 9p, and can be accelerated by using the 9p
+ virtio).
+
comment "Misc. features"
config BR2_PACKAGE_QEMU_UUID
diff --git a/package/qemu/qemu.mk b/package/qemu/qemu.mk
index 43ba5df..8c9302f 100644
--- a/package/qemu/qemu.mk
+++ b/package/qemu/qemu.mk
@@ -164,6 +164,12 @@ else
QEMU_OPTS += --disable-sdl
endif
+ifeq ($(BR2_PACKAGE_QEMU_VIRTFS),y)
+QEMU_OPTS += --enable-virtfs
+else
+QEMU_OPTS += --disable-virtfs
+endif
+
ifeq ($(BR2_PACKAGE_QEMU_UUID),y)
QEMU_OPTS += --enable-uuid
QEMU_DEPENDENCIES += util-linux
@@ -273,7 +279,6 @@ define QEMU_CONFIGURE_CMDS
--disable-xen \
--disable-slirp \
--disable-vnc-sasl \
- --disable-virtfs \
--disable-brlapi \
--disable-curses \
--disable-curl \
--
1.7.2.5
^ permalink raw reply related
* [Buildroot] [PATCH 36/51] package/qemu: add attr/xattr option
From: Yann E. MORIN @ 2012-11-28 23:54 UTC (permalink / raw)
To: buildroot
In-Reply-To: <1354146890-27380-1-git-send-email-yann.morin.1998@free.fr>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
---
package/qemu/Config.in | 6 ++++++
package/qemu/qemu.mk | 7 ++++++-
2 files changed, 12 insertions(+), 1 deletions(-)
diff --git a/package/qemu/Config.in b/package/qemu/Config.in
index 0eaad57..9422caf 100644
--- a/package/qemu/Config.in
+++ b/package/qemu/Config.in
@@ -134,6 +134,12 @@ config BR2_PACKAGE_QEMU_CAP
help
Say 'y' here if you want QEMU to support capabilities.
+config BR2_PACKAGE_QEMU_ATTR
+ bool "Enable attr and xattr"
+ help
+ Say 'y' here to have QEMU support attributes (attr) and eXtended
+ attibutes (xattr).
+
config BR2_PACKAGE_QEMU_BLOBS
bool "Install binary blobs"
default y
diff --git a/package/qemu/qemu.mk b/package/qemu/qemu.mk
index deac3a8..43ba5df 100644
--- a/package/qemu/qemu.mk
+++ b/package/qemu/qemu.mk
@@ -181,6 +181,12 @@ QEMU_OPTS += --disable-cap-ng
QEMU_VARS += cap=no
endif
+ifeq ($(BR2_PACKAGE_QEMU_ATTR),y)
+QEMU_OPTS += --enable-attr
+else
+QEMU_OPTS += --disable-attr
+endif
+
ifeq ($(BR2_PACKAGE_QEMU_BLOBS),)
QEMU_OPTS += --disable-blobs
endif
@@ -263,7 +269,6 @@ define QEMU_CONFIGURE_CMDS
--audio-card-list= \
--enable-kvm \
--enable-nptl \
- --enable-attr \
--enable-vhost-net \
--disable-xen \
--disable-slirp \
--
1.7.2.5
^ permalink raw reply related
* [Buildroot] [PATCH 35/51] package/qemu: add support for capabilities
From: Yann E. MORIN @ 2012-11-28 23:54 UTC (permalink / raw)
To: buildroot
In-Reply-To: <1354146890-27380-1-git-send-email-yann.morin.1998@free.fr>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
---
package/qemu/Config.in | 7 +++++++
package/qemu/qemu.mk | 11 ++++++++++-
2 files changed, 17 insertions(+), 1 deletions(-)
diff --git a/package/qemu/Config.in b/package/qemu/Config.in
index 3177dd2..0eaad57 100644
--- a/package/qemu/Config.in
+++ b/package/qemu/Config.in
@@ -127,6 +127,13 @@ config BR2_PACKAGE_QEMU_UUID
comment "UUID support requires libuuid (from util-linux)"
depends on !BR2_PACKAGE_UTIL_LINUX_LIBUUID
+config BR2_PACKAGE_QEMU_CAP
+ bool "Enable capabilities"
+ select BR2_PACKAGE_LIBCAP
+ select BR2_PACKAGE_LIBCAP_NG
+ help
+ Say 'y' here if you want QEMU to support capabilities.
+
config BR2_PACKAGE_QEMU_BLOBS
bool "Install binary blobs"
default y
diff --git a/package/qemu/qemu.mk b/package/qemu/qemu.mk
index 980a75e..deac3a8 100644
--- a/package/qemu/qemu.mk
+++ b/package/qemu/qemu.mk
@@ -171,6 +171,16 @@ else
QEMU_OPTS += --disable-uuid
endif
+# There's no configure flag to disable use of libcap
+# so we must use an environment variable
+ifeq ($(BR2_PACKAGE_QEMU_CAP),y)
+QEMU_OPTS += --enable-cap-ng
+QEMU_DEPENDENCIES += libcap libcap-ng
+else
+QEMU_OPTS += --disable-cap-ng
+QEMU_VARS += cap=no
+endif
+
ifeq ($(BR2_PACKAGE_QEMU_BLOBS),)
QEMU_OPTS += --disable-blobs
endif
@@ -267,7 +277,6 @@ define QEMU_CONFIGURE_CMDS
--disable-guest-base \
--disable-vde \
--disable-linux-aio \
- --disable-cap-ng \
--disable-docs \
--disable-spice \
--disable-rbd \
--
1.7.2.5
^ permalink raw reply related
* [Buildroot] [PATCH 34/51] package/qemu: add uuid support
From: Yann E. MORIN @ 2012-11-28 23:54 UTC (permalink / raw)
To: buildroot
In-Reply-To: <1354146890-27380-1-git-send-email-yann.morin.1998@free.fr>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
---
package/qemu/Config.in | 9 +++++++++
package/qemu/qemu.mk | 8 +++++++-
2 files changed, 16 insertions(+), 1 deletions(-)
diff --git a/package/qemu/Config.in b/package/qemu/Config.in
index b5944dc..3177dd2 100644
--- a/package/qemu/Config.in
+++ b/package/qemu/Config.in
@@ -118,6 +118,15 @@ config BR2_PACKAGE_QEMU_SDL
comment "Misc. features"
+config BR2_PACKAGE_QEMU_UUID
+ bool "Enable VMs UUID"
+ depends on BR2_PACKAGE_UTIL_LINUX_LIBUUID
+ help
+ Say 'y' here to have QEMU support UUIDs for VMs.
+
+comment "UUID support requires libuuid (from util-linux)"
+ depends on !BR2_PACKAGE_UTIL_LINUX_LIBUUID
+
config BR2_PACKAGE_QEMU_BLOBS
bool "Install binary blobs"
default y
diff --git a/package/qemu/qemu.mk b/package/qemu/qemu.mk
index a943362..980a75e 100644
--- a/package/qemu/qemu.mk
+++ b/package/qemu/qemu.mk
@@ -164,6 +164,13 @@ else
QEMU_OPTS += --disable-sdl
endif
+ifeq ($(BR2_PACKAGE_QEMU_UUID),y)
+QEMU_OPTS += --enable-uuid
+QEMU_DEPENDENCIES += util-linux
+else
+QEMU_OPTS += --disable-uuid
+endif
+
ifeq ($(BR2_PACKAGE_QEMU_BLOBS),)
QEMU_OPTS += --disable-blobs
endif
@@ -258,7 +265,6 @@ define QEMU_CONFIGURE_CMDS
--disable-fdt \
--disable-bluez \
--disable-guest-base \
- --disable-uuid \
--disable-vde \
--disable-linux-aio \
--disable-cap-ng \
--
1.7.2.5
^ permalink raw reply related
* [Buildroot] [PATCH 33/51] package/qemu: add option to remove unwanted keymaps
From: Yann E. MORIN @ 2012-11-28 23:54 UTC (permalink / raw)
To: buildroot
In-Reply-To: <1354146890-27380-1-git-send-email-yann.morin.1998@free.fr>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
---
package/qemu/Config.in | 12 ++++++++++
package/qemu/qemu.mk | 55 ++++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 67 insertions(+), 0 deletions(-)
diff --git a/package/qemu/Config.in b/package/qemu/Config.in
index a5f3b35..b5944dc 100644
--- a/package/qemu/Config.in
+++ b/package/qemu/Config.in
@@ -132,4 +132,16 @@ config BR2_PACKAGE_QEMU_BLOBS
Note2: This has nothing to do with the licensing of the blobs;
some (most?) even have a free and/or open source license.
+config BR2_PACKAGE_QEMU_KEYMAPS
+ string "Keymaps to keep"
+ default "all"
+ help
+ Enter the list of keymap(s) to keep. To keep many keymaps, you can
+ use shell globs, or you can enter a space-separated list of keymaps:
+ - empty to remove all keymaps
+ - 'all' to keep all keymaps
+ - 'fr*' to keep all french keymaps
+ - 'de fr* en-*' for german, french and english keymaps
+ - and so on (see the QEMU source for all supported keymaps)
+
endif # BR2_PACKAGE_QEMU
diff --git a/package/qemu/qemu.mk b/package/qemu/qemu.mk
index 59c37c8..a943362 100644
--- a/package/qemu/qemu.mk
+++ b/package/qemu/qemu.mk
@@ -168,6 +168,61 @@ ifeq ($(BR2_PACKAGE_QEMU_BLOBS),)
QEMU_OPTS += --disable-blobs
endif
+# Post-install removal of unwanted keymaps:
+# - if we want 'all', we do nothing;
+# - if we want none, we completely remove the keymap dir
+# - otherwise:
+# - we completely remove the keymap dir; and recreate it empty
+# - we recursively copy only those keymaps we want (as keymaps may include
+# some common files)
+#
+# NOTE-1: we need the un-quoted list of keymaps, so it is interpreted as a glob
+# by the shell.
+# NOTE-2: yes, all (current!) keymaps do include the 'common' keymap, which in
+# turn includes the 'modifiers' keymap, so we could unconditionally
+# copy those two, for a much simpler code. Doing it the way it's done
+# is more generic, and will adapt to any future keymaps which has
+# multiple includes, or none.
+# NOTE-3: we can't use $(SED), because it expands to include the '-i' option,
+# which we do *not* want here, because we are not munging a file, but
+# using sed as a enhanced grep.
+#
+QEMU_KEYMAPS = $(call qstrip,$(BR2_PACKAGE_QEMU_KEYMAPS))
+
+ifeq ($(QEMU_KEYMAPS),all) #--- Keep all keymaps ---#
+define QEMU_POST_INSTALL_KEYMAPS
+ @: Nothing
+endef
+
+else ifeq ($(QEMU_KEYMAPS),) #--- Remove all keymaps ---#
+define QEMU_POST_INSTALL_KEYMAPS
+ rm -rf "$(TARGET_DIR)/usr/share/qemu/keymaps"
+endef
+
+else #--- Keep selected keymaps ---#
+define QEMU_POST_INSTALL_KEYMAPS
+ rm -rf "$(TARGET_DIR)/usr/share/qemu/keymaps"
+ mkdir -p "$(TARGET_DIR)/usr/share/qemu/keymaps"
+ add_keymap() { \
+ local k="$${1}"; local dest="$${2}"; \
+ if [ -n "$${k}" -a ! -f "$${dest}/$${k}" ]; then \
+ cp -v "$${k}" "$${dest}"; \
+ for k in $$(sed -r -e '/^include[[:space:]]+(.*)$$/!d;' \
+ -e 's//\1/;' "$${k}" ); do \
+ add_keymap "$${k}" "$${dest}"; \
+ done; \
+ fi; \
+ }; \
+ cd $(@D)/pc-bios/keymaps; \
+ for k in $(QEMU_KEYMAPS); do \
+ add_keymap "$${k}" "$(TARGET_DIR)/usr/share/qemu/keymaps"; \
+ done
+endef
+
+endif # Keymaps to keep
+
+QEMU_POST_INSTALL_TARGET_HOOKS += QEMU_POST_INSTALL_KEYMAPS
+
# Note: although QEMU uses a ./configure script, it is not compatible with
# the traditional autotools options (eg. --target et al.), so we can
# not use the autotools-package infrastructure. So we have to use the
--
1.7.2.5
^ permalink raw reply related
* [Buildroot] [PATCH 32/51] package/qemu: add option to not install blobs
From: Yann E. MORIN @ 2012-11-28 23:54 UTC (permalink / raw)
To: buildroot
In-Reply-To: <1354146890-27380-1-git-send-email-yann.morin.1998@free.fr>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
---
package/qemu/Config.in | 16 ++++++++++++++++
package/qemu/qemu.mk | 4 ++++
2 files changed, 20 insertions(+), 0 deletions(-)
diff --git a/package/qemu/Config.in b/package/qemu/Config.in
index 8ddd491..a5f3b35 100644
--- a/package/qemu/Config.in
+++ b/package/qemu/Config.in
@@ -116,4 +116,20 @@ config BR2_PACKAGE_QEMU_SDL
Say 'y' to enable the SDL frontend, that is, a graphical window
presenting the VM's display.
+comment "Misc. features"
+
+config BR2_PACKAGE_QEMU_BLOBS
+ bool "Install binary blobs"
+ default y
+ help
+ Say 'y' here (the default) to install binary blobs (such as BIOS
+ or firmwares for the different machines simulated by QEMU).
+ Say 'n' to not install those blobs.
+
+ Note: Some machines may be unbootable without those blobs.
+ If unsure, say 'y'.
+
+ Note2: This has nothing to do with the licensing of the blobs;
+ some (most?) even have a free and/or open source license.
+
endif # BR2_PACKAGE_QEMU
diff --git a/package/qemu/qemu.mk b/package/qemu/qemu.mk
index 3b13b36..59c37c8 100644
--- a/package/qemu/qemu.mk
+++ b/package/qemu/qemu.mk
@@ -164,6 +164,10 @@ else
QEMU_OPTS += --disable-sdl
endif
+ifeq ($(BR2_PACKAGE_QEMU_BLOBS),)
+QEMU_OPTS += --disable-blobs
+endif
+
# Note: although QEMU uses a ./configure script, it is not compatible with
# the traditional autotools options (eg. --target et al.), so we can
# not use the autotools-package infrastructure. So we have to use the
--
1.7.2.5
^ permalink raw reply related
* [Buildroot] [PATCH 31/51] package/qemu: add VNC TLS-encryption
From: Yann E. MORIN @ 2012-11-28 23:54 UTC (permalink / raw)
To: buildroot
In-Reply-To: <1354146890-27380-1-git-send-email-yann.morin.1998@free.fr>
Only TLS is supported, as buildroot has no package for the SASL library.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
---
package/qemu/Config.in | 11 +++++++++++
package/qemu/qemu.mk | 8 +++++++-
2 files changed, 18 insertions(+), 1 deletions(-)
diff --git a/package/qemu/Config.in b/package/qemu/Config.in
index 9282ce9..8ddd491 100644
--- a/package/qemu/Config.in
+++ b/package/qemu/Config.in
@@ -98,6 +98,17 @@ config BR2_PACKAGE_QEMU_VNC_JPEG
depends on BR2_PACKAGE_QEMU_VNC
select BR2_PACKAGE_JPEG
+# TLS does not work with static link, because the gnutls .pc is missing a
+# dependency on libintl... :-(
+config BR2_PACKAGE_QEMU_VNC_TLS
+ bool "TLS encryption"
+ depends on BR2_PACKAGE_QEMU_VNC
+ depends on !BR2_PREFER_STATIC_LIB
+ select BR2_PACKAGE_GNUTLS
+
+comment "VNC TLS encryption does not work for static link"
+ depends on BR2_PACKAGE_QEMU_VNC && BR2_PREFER_STATIC_LIB
+
config BR2_PACKAGE_QEMU_SDL
bool "Enable SDL frontend"
select BR2_PACKAGE_SDL
diff --git a/package/qemu/qemu.mk b/package/qemu/qemu.mk
index 11b5b12..3b13b36 100644
--- a/package/qemu/qemu.mk
+++ b/package/qemu/qemu.mk
@@ -149,6 +149,13 @@ else
QEMU_OPTS += --disable-vnc-jpeg
endif
+ifeq ($(BR2_PACKAGE_QEMU_VNC_TLS),y)
+QEMU_OPTS += --enable-vnc-tls
+QEMU_DEPENDENCIES += gnutls
+else
+QEMU_OPTS += --disable-vnc-tls
+endif
+
ifeq ($(BR2_PACKAGE_QEMU_SDL),y)
QEMU_OPTS += --enable-sdl
QEMU_DEPENDENCIES += sdl
@@ -184,7 +191,6 @@ define QEMU_CONFIGURE_CMDS
--enable-vhost-net \
--disable-xen \
--disable-slirp \
- --disable-vnc-tls \
--disable-vnc-sasl \
--disable-virtfs \
--disable-brlapi \
--
1.7.2.5
^ permalink raw reply related
* [Buildroot] [PATCH 30/51] package/qemu: add VNC jpeg and png compression
From: Yann E. MORIN @ 2012-11-28 23:54 UTC (permalink / raw)
To: buildroot
In-Reply-To: <1354146890-27380-1-git-send-email-yann.morin.1998@free.fr>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
---
package/qemu/Config.in | 10 ++++++++++
package/qemu/qemu.mk | 16 ++++++++++++++--
2 files changed, 24 insertions(+), 2 deletions(-)
diff --git a/package/qemu/Config.in b/package/qemu/Config.in
index 2648e71..9282ce9 100644
--- a/package/qemu/Config.in
+++ b/package/qemu/Config.in
@@ -88,6 +88,16 @@ config BR2_PACKAGE_QEMU_VNC
Say 'y' to enable the VNC frontend, that is, QEMU will act as a
VNC server presenting the VM's display.
+config BR2_PACKAGE_QEMU_VNC_PNG
+ bool "PNG compression"
+ depends on BR2_PACKAGE_QEMU_VNC
+ select BR2_PACKAGE_LIBPNG
+
+config BR2_PACKAGE_QEMU_VNC_JPEG
+ bool "JPEG compression"
+ depends on BR2_PACKAGE_QEMU_VNC
+ select BR2_PACKAGE_JPEG
+
config BR2_PACKAGE_QEMU_SDL
bool "Enable SDL frontend"
select BR2_PACKAGE_SDL
diff --git a/package/qemu/qemu.mk b/package/qemu/qemu.mk
index 5640848..11b5b12 100644
--- a/package/qemu/qemu.mk
+++ b/package/qemu/qemu.mk
@@ -135,6 +135,20 @@ else
QEMU_OPTS += --disable-vnc
endif
+ifeq ($(BR2_PACKAGE_QEMU_VNC_PNG),y)
+QEMU_OPTS += --enable-vnc-png
+QEMU_DEPENDENCIES += libpng
+else
+QEMU_OPTS += --disable-vnc-png
+endif
+
+ifeq ($(BR2_PACKAGE_QEMU_VNC_JPEG),y)
+QEMU_OPTS += --enable-vnc-jpeg
+QEMU_DEPENDENCIES += jpeg
+else
+QEMU_OPTS += --disable-vnc-jpeg
+endif
+
ifeq ($(BR2_PACKAGE_QEMU_SDL),y)
QEMU_OPTS += --enable-sdl
QEMU_DEPENDENCIES += sdl
@@ -170,8 +184,6 @@ define QEMU_CONFIGURE_CMDS
--enable-vhost-net \
--disable-xen \
--disable-slirp \
- --disable-vnc-jpeg \
- --disable-vnc-png \
--disable-vnc-tls \
--disable-vnc-sasl \
--disable-virtfs \
--
1.7.2.5
^ permalink raw reply related
* [Buildroot] [PATCH 29/51] package/qemu: add option to enable/disable the VNC frontend
From: Yann E. MORIN @ 2012-11-28 23:54 UTC (permalink / raw)
To: buildroot
In-Reply-To: <1354146890-27380-1-git-send-email-yann.morin.1998@free.fr>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
---
package/qemu/Config.in | 7 +++++++
package/qemu/qemu.mk | 11 ++++++++++-
2 files changed, 17 insertions(+), 1 deletions(-)
diff --git a/package/qemu/Config.in b/package/qemu/Config.in
index baa7037..2648e71 100644
--- a/package/qemu/Config.in
+++ b/package/qemu/Config.in
@@ -81,6 +81,13 @@ endif # BR2_PACKAGE_QEMU_CUSTOM_TARGETS == ""
comment "Frontends"
+config BR2_PACKAGE_QEMU_VNC
+ bool "Enable VNC frontend"
+ select BR2_PACKAGE_VNC
+ help
+ Say 'y' to enable the VNC frontend, that is, QEMU will act as a
+ VNC server presenting the VM's display.
+
config BR2_PACKAGE_QEMU_SDL
bool "Enable SDL frontend"
select BR2_PACKAGE_SDL
diff --git a/package/qemu/qemu.mk b/package/qemu/qemu.mk
index 75969d5..5640848 100644
--- a/package/qemu/qemu.mk
+++ b/package/qemu/qemu.mk
@@ -129,6 +129,12 @@ ifneq ($(call qstrip,$(BR2_PACKAGE_QEMU_CUSTOM_TARGETS)),)
QEMU_OPTS += --target-list="$(call qstrip,$(BR2_PACKAGE_QEMU_CUSTOM_TARGETS))"
endif
+ifeq ($(BR2_PACKAGE_QEMU_VNC),y)
+QEMU_OPTS += --enable-vnc
+else
+QEMU_OPTS += --disable-vnc
+endif
+
ifeq ($(BR2_PACKAGE_QEMU_SDL),y)
QEMU_OPTS += --enable-sdl
QEMU_DEPENDENCIES += sdl
@@ -164,7 +170,10 @@ define QEMU_CONFIGURE_CMDS
--enable-vhost-net \
--disable-xen \
--disable-slirp \
- --disable-vnc \
+ --disable-vnc-jpeg \
+ --disable-vnc-png \
+ --disable-vnc-tls \
+ --disable-vnc-sasl \
--disable-virtfs \
--disable-brlapi \
--disable-curses \
--
1.7.2.5
^ permalink raw reply related
* [Buildroot] [PATCH 28/51] package/qemu: add SDL frontends
From: Yann E. MORIN @ 2012-11-28 23:54 UTC (permalink / raw)
To: buildroot
In-Reply-To: <1354146890-27380-1-git-send-email-yann.morin.1998@free.fr>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
---
package/qemu/Config.in | 9 +++++++++
package/qemu/qemu.mk | 10 +++++++++-
2 files changed, 18 insertions(+), 1 deletions(-)
diff --git a/package/qemu/Config.in b/package/qemu/Config.in
index 29fd513..baa7037 100644
--- a/package/qemu/Config.in
+++ b/package/qemu/Config.in
@@ -79,4 +79,13 @@ config BR2_PACKAGE_QEMU_BSD_USER
endif # BR2_PACKAGE_QEMU_CUSTOM_TARGETS == ""
+comment "Frontends"
+
+config BR2_PACKAGE_QEMU_SDL
+ bool "Enable SDL frontend"
+ select BR2_PACKAGE_SDL
+ help
+ Say 'y' to enable the SDL frontend, that is, a graphical window
+ presenting the VM's display.
+
endif # BR2_PACKAGE_QEMU
diff --git a/package/qemu/qemu.mk b/package/qemu/qemu.mk
index d77e3b8..75969d5 100644
--- a/package/qemu/qemu.mk
+++ b/package/qemu/qemu.mk
@@ -105,6 +105,7 @@ QEMU_OPTS =
QEMU_VARS = \
PYTHON=$(HOST_DIR)/usr/bin/python \
PYTHONPATH=$(TARGET_DIR)/usr/lib/python$(PYTHON_VERSION_MAJOR)/site-packages \
+ SDL_CONFIG=$(STAGING_DIR)/usr/bin/sdl-config \
ifeq ($(BR2_PACKAGE_QEMU_SYSTEM),y)
QEMU_OPTS += --enable-system
@@ -128,6 +129,14 @@ ifneq ($(call qstrip,$(BR2_PACKAGE_QEMU_CUSTOM_TARGETS)),)
QEMU_OPTS += --target-list="$(call qstrip,$(BR2_PACKAGE_QEMU_CUSTOM_TARGETS))"
endif
+ifeq ($(BR2_PACKAGE_QEMU_SDL),y)
+QEMU_OPTS += --enable-sdl
+QEMU_DEPENDENCIES += sdl
+QEMU_VARS += SDL_CONFIG=$(BR2_STAGING_DIR)/usr/bin/sdl-config
+else
+QEMU_OPTS += --disable-sdl
+endif
+
# Note: although QEMU uses a ./configure script, it is not compatible with
# the traditional autotools options (eg. --target et al.), so we can
# not use the autotools-package infrastructure. So we have to use the
@@ -155,7 +164,6 @@ define QEMU_CONFIGURE_CMDS
--enable-vhost-net \
--disable-xen \
--disable-slirp \
- --disable-sdl \
--disable-vnc \
--disable-virtfs \
--disable-brlapi \
--
1.7.2.5
^ permalink raw reply related
* [Buildroot] [PATCH 27/51] package/qemu: add fine-grained target selection
From: Yann E. MORIN @ 2012-11-28 23:54 UTC (permalink / raw)
To: buildroot
In-Reply-To: <1354146890-27380-1-git-send-email-yann.morin.1998@free.fr>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
---
package/qemu/Config.in | 21 +++++++++++++++++++++
package/qemu/qemu.mk | 4 ++++
2 files changed, 25 insertions(+), 0 deletions(-)
diff --git a/package/qemu/Config.in b/package/qemu/Config.in
index aceff18..29fd513 100644
--- a/package/qemu/Config.in
+++ b/package/qemu/Config.in
@@ -31,6 +31,25 @@ if BR2_PACKAGE_QEMU
comment "Emulators selection"
+config BR2_PACKAGE_QEMU_CUSTOM_TARGETS
+ string "Enable specific targets"
+ help
+ Enter here the list of QEMU targets you want to build. For example:
+
+ System emulation | User-land emulation
+ ----------------------+-----------------------
+ i386-softmmu | i386-linux-user
+ arm-softmmu | ppc-linux-user
+ x86_64-softmmu | sparc-bsd-user
+ ... | ...
+
+config QEMU_FOO
+ bool # To break the indentation
+
+if BR2_PACKAGE_QEMU_CUSTOM_TARGETS = ""
+
+comment "... or you can select emulator families to enable, below:"
+
# We need at least one to be selected
config BR2_PACKAGE_QEMU_EMUL_SET
bool
@@ -58,4 +77,6 @@ config BR2_PACKAGE_QEMU_BSD_USER
help
Say 'y' to build all BSD user-land emulators that QEMU supports.
+endif # BR2_PACKAGE_QEMU_CUSTOM_TARGETS == ""
+
endif # BR2_PACKAGE_QEMU
diff --git a/package/qemu/qemu.mk b/package/qemu/qemu.mk
index 89d62c0..d77e3b8 100644
--- a/package/qemu/qemu.mk
+++ b/package/qemu/qemu.mk
@@ -124,6 +124,10 @@ else
QEMU_OPTS += --disable-bsd-user
endif
+ifneq ($(call qstrip,$(BR2_PACKAGE_QEMU_CUSTOM_TARGETS)),)
+QEMU_OPTS += --target-list="$(call qstrip,$(BR2_PACKAGE_QEMU_CUSTOM_TARGETS))"
+endif
+
# Note: although QEMU uses a ./configure script, it is not compatible with
# the traditional autotools options (eg. --target et al.), so we can
# not use the autotools-package infrastructure. So we have to use the
--
1.7.2.5
^ permalink raw reply related
* [Buildroot] [PATCH 26/51] package/qemu: add basic target selection
From: Yann E. MORIN @ 2012-11-28 23:54 UTC (permalink / raw)
To: buildroot
In-Reply-To: <1354146890-27380-1-git-send-email-yann.morin.1998@free.fr>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
---
package/qemu/Config.in | 33 +++++++++++++++++++++++++++++++++
package/qemu/qemu.mk | 21 ++++++++++++++++++---
2 files changed, 51 insertions(+), 3 deletions(-)
diff --git a/package/qemu/Config.in b/package/qemu/Config.in
index 85b939a..aceff18 100644
--- a/package/qemu/Config.in
+++ b/package/qemu/Config.in
@@ -26,3 +26,36 @@ config BR2_PACKAGE_QEMU
server and embedded PowerPC, and S390 guests.
http://qemu.org/
+
+if BR2_PACKAGE_QEMU
+
+comment "Emulators selection"
+
+# We need at least one to be selected
+config BR2_PACKAGE_QEMU_EMUL_SET
+ bool
+
+config BR2_PACKAGE_QEMU_FORCE_SYSTEM
+ bool
+ default n if BR2_PACKAGE_QEMU_EMUL_SET
+ default y if ! BR2_PACKAGE_QEMU_EMUL_SET
+ select BR2_PACKAGE_QEMU_SYSTEM
+
+config BR2_PACKAGE_QEMU_SYSTEM
+ bool "Enable all systems emulation"
+ help
+ Say 'y' to build all system emulators/virtualisers that QEMU supports.
+
+config BR2_PACKAGE_QEMU_LINUX_USER
+ bool "Enable all Linux user-land emulation"
+ select BR2_PACKAGE_QEMU_EMUL_SET
+ help
+ Say 'y' to build all Linux user-land emulators that QEMU supports.
+
+config BR2_PACKAGE_QEMU_BSD_USER
+ bool "Enable all BSD user-land emulation"
+ select BR2_PACKAGE_QEMU_EMUL_SET
+ help
+ Say 'y' to build all BSD user-land emulators that QEMU supports.
+
+endif # BR2_PACKAGE_QEMU
diff --git a/package/qemu/qemu.mk b/package/qemu/qemu.mk
index c163f21..89d62c0 100644
--- a/package/qemu/qemu.mk
+++ b/package/qemu/qemu.mk
@@ -106,6 +106,24 @@ QEMU_VARS =
PYTHON=$(HOST_DIR)/usr/bin/python \
PYTHONPATH=$(TARGET_DIR)/usr/lib/python$(PYTHON_VERSION_MAJOR)/site-packages \
+ifeq ($(BR2_PACKAGE_QEMU_SYSTEM),y)
+QEMU_OPTS += --enable-system
+else
+QEMU_OPTS += --disable-system
+endif
+
+ifeq ($(BR2_PACKAGE_QEMU_LINUX_USER),y)
+QEMU_OPTS += --enable-linux-user
+else
+QEMU_OPTS += --disable-linux-user
+endif
+
+ifeq ($(BR2_PACKAGE_QEMU_BSD_USER),y)
+QEMU_OPTS += --enable-bsd-user
+else
+QEMU_OPTS += --disable-bsd-user
+endif
+
# Note: although QEMU uses a ./configure script, it is not compatible with
# the traditional autotools options (eg. --target et al.), so we can
# not use the autotools-package infrastructure. So we have to use the
@@ -131,9 +149,6 @@ define QEMU_CONFIGURE_CMDS
--enable-nptl \
--enable-attr \
--enable-vhost-net \
- --enable-system \
- --enable-linux-user \
- --disable-bsd-user \
--disable-xen \
--disable-slirp \
--disable-sdl \
--
1.7.2.5
^ permalink raw reply related
* [Buildroot] [PATCH 25/51] package/qemu: build for the target (i386 or x86_64 only)
From: Yann E. MORIN @ 2012-11-28 23:54 UTC (permalink / raw)
To: buildroot
In-Reply-To: <1354146890-27380-1-git-send-email-yann.morin.1998@free.fr>
Untested for other architectures, so only enabled for known-working ones.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
---
package/Config.in | 1 +
package/qemu/Config.in | 28 +++++++++++++++
package/qemu/qemu.mk | 89 ++++++++++++++++++++++++++++++++++++++++++++++++
3 files changed, 118 insertions(+), 0 deletions(-)
create mode 100644 package/qemu/Config.in
diff --git a/package/Config.in b/package/Config.in
index 6ce3f5a..19c68bf 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -557,6 +557,7 @@ source "package/collectd/Config.in"
source "package/empty/Config.in"
source "package/googlefontdirectory/Config.in"
source "package/mobile-broadband-provider-info/Config.in"
+source "package/qemu/Config.in"
source "package/shared-mime-info/Config.in"
source "package/sound-theme-borealis/Config.in"
source "package/sound-theme-freedesktop/Config.in"
diff --git a/package/qemu/Config.in b/package/qemu/Config.in
new file mode 100644
index 0000000..85b939a
--- /dev/null
+++ b/package/qemu/Config.in
@@ -0,0 +1,28 @@
+config BR2_PACKAGE_QEMU_AVAILABLE
+ def_bool y
+ depends on BR2_i386 || BR2_x86_64
+ depends on BR2_TOOLCHAIN_HAS_THREADS
+
+comment "QEMU requires a toolchain with threads"
+ depends on !BR2_PACKAGE_QEMU_AVAILABLE
+
+config BR2_PACKAGE_QEMU
+ bool "QEMU"
+ depends on BR2_PACKAGE_QEMU_AVAILABLE
+ select BR2_PACKAGE_ZLIB
+ select BR2_PACKAGE_LIBGLIB2
+ help
+ QEMU is a generic and open source machine emulator and virtualizer.
+
+ When used as a machine emulator, QEMU can run OSes and programs made
+ for one machine (e.g. an ARM board) on a different machine (e.g.
+ your own PC). By using dynamic translation, it achieves very good
+ performance.
+
+ When used as a virtualizer, QEMU achieves near native performances
+ by executing the guest code directly on the host CPU. QEMU supports
+ virtualization when executing under the Xen hypervisor or using the
+ KVM kernel module in Linux. When using KVM, QEMU can virtualize x86,
+ server and embedded PowerPC, and S390 guests.
+
+ http://qemu.org/
diff --git a/package/qemu/qemu.mk b/package/qemu/qemu.mk
index 64be5c7..c163f21 100644
--- a/package/qemu/qemu.mk
+++ b/package/qemu/qemu.mk
@@ -90,3 +90,92 @@ $(eval $(host-generic-package))
# variable used by other packages
QEMU_USER = $(HOST_DIR)/usr/bin/qemu-$(QEMU_ARCH)
+
+#-------------------------------------------------------------
+# Target-qemu
+
+QEMU_DEPENDENCIES = host-pkgconf zlib libglib2 host-python
+
+# Need the LIBS variable because librt and libm are
+# not automatically pulled. :-(
+QEMU_LIBS = -lrt -lm
+
+QEMU_OPTS =
+
+QEMU_VARS = \
+ PYTHON=$(HOST_DIR)/usr/bin/python \
+ PYTHONPATH=$(TARGET_DIR)/usr/lib/python$(PYTHON_VERSION_MAJOR)/site-packages \
+
+# Note: although QEMU uses a ./configure script, it is not compatible with
+# the traditional autotools options (eg. --target et al.), so we can
+# not use the autotools-package infrastructure. So we have to use the
+# generic-package infra instead. Sigh... :-(
+
+# Note: we explicitly disable all features that depends on other packages,
+# for now. Such features will be added one by one in the next patches.
+# Features that do not rely on external packages are explicitly enabled
+# to catch the dependencies on toolchain features early.
+
+define QEMU_CONFIGURE_CMDS
+ ( cd $(@D); \
+ LIBS='$(QEMU_LIBS)' \
+ $(TARGET_CONFIGURE_OPTS) \
+ $(TARGET_CONFIGURE_ARGS) \
+ $(QEMU_VARS) \
+ ./configure \
+ --prefix=/usr \
+ --cross-prefix=$(TARGET_CROSS) \
+ --audio-drv-list= \
+ --audio-card-list= \
+ --enable-kvm \
+ --enable-nptl \
+ --enable-attr \
+ --enable-vhost-net \
+ --enable-system \
+ --enable-linux-user \
+ --disable-bsd-user \
+ --disable-xen \
+ --disable-slirp \
+ --disable-sdl \
+ --disable-vnc \
+ --disable-virtfs \
+ --disable-brlapi \
+ --disable-curses \
+ --disable-curl \
+ --disable-fdt \
+ --disable-bluez \
+ --disable-guest-base \
+ --disable-uuid \
+ --disable-vde \
+ --disable-linux-aio \
+ --disable-cap-ng \
+ --disable-docs \
+ --disable-spice \
+ --disable-rbd \
+ --disable-libiscsi \
+ --disable-usb-redir \
+ --disable-smartcard \
+ --disable-strip \
+ --disable-seccomp \
+ --disable-sparse \
+ $(QEMU_OPTS) \
+ )
+endef
+
+# Need the LIBS_QGA because it does not 'inherit' the LIBS_TOOLS
+# we set at configure time, and there is no conrresponding LIBS_QGA
+# at configure time
+define QEMU_BUILD_CMDS
+ LIBS_TOOLS="$(QEMU_LIBS)" LIBS_QGA="$(QEMU_LIBS)" LIBS="$(QEMU_LIBS)" \
+ $(MAKE) -C $(@D)
+endef
+
+define QEMU_INSTALL_TARGET_CMDS
+ $(MAKE) -C $(@D) DESTDIR=$(TARGET_DIR) install
+endef
+
+define QEMU_CLEAN_CMDS
+ $(MAKE) -C $(@D) clean
+endef
+
+$(eval $(generic-package))
--
1.7.2.5
^ permalink raw reply related
* [Buildroot] [PATCH 24/51] package/qemu: fix host-qemu variable names
From: Yann E. MORIN @ 2012-11-28 23:54 UTC (permalink / raw)
To: buildroot
In-Reply-To: <1354146890-27380-1-git-send-email-yann.morin.1998@free.fr>
With the upcoming introduction of qemu-on-target, we need to properly
separate the variables used for the host qemu, from the variables
used for the target qemu.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
---
package/qemu/qemu.mk | 25 ++++++++++++++-----------
1 files changed, 14 insertions(+), 11 deletions(-)
diff --git a/package/qemu/qemu.mk b/package/qemu/qemu.mk
index 36d855e..64be5c7 100644
--- a/package/qemu/qemu.mk
+++ b/package/qemu/qemu.mk
@@ -13,7 +13,10 @@ QEMU_LICENSE_FILES = COPYING COPYING.LIB
# the non-(L)GPL license texts are specified in the affected
# individual source files.
-QEMU_DEPENDENCIES = host-pkgconf zlib libglib2
+#-------------------------------------------------------------
+# Host-qemu
+
+HOST_QEMU_DEPENDENCIES = host-pkgconf zlib libglib2
# BR ARCH qemu
# ------- ----
@@ -44,20 +47,20 @@ QEMU_DEPENDENCIES = host-pkgconf zlib libglib2
# sh64 not supported
# sparc sparc
-QEMU_ARCH = $(ARCH)
-ifeq ($(QEMU_ARCH),i486)
- QEMU_ARCH = i386
+HOST_QEMU_ARCH = $(ARCH)
+ifeq ($(HOST_QEMU_ARCH),i486)
+ HOST_QEMU_ARCH = i386
endif
-ifeq ($(QEMU_ARCH),i586)
- QEMU_ARCH = i386
+ifeq ($(HOST_QEMU_ARCH),i586)
+ HOST_QEMU_ARCH = i386
endif
-ifeq ($(QEMU_ARCH),i686)
- QEMU_ARCH = i386
+ifeq ($(HOST_QEMU_ARCH),i686)
+ HOST_QEMU_ARCH = i386
endif
-ifeq ($(QEMU_ARCH),powerpc)
- QEMU_ARCH = ppc
+ifeq ($(HOST_QEMU_ARCH),powerpc)
+ HOST_QEMU_ARCH = ppc
endif
-HOST_QEMU_TARGETS=$(QEMU_ARCH)-linux-user
+HOST_QEMU_TARGETS=$(HOST_QEMU_ARCH)-linux-user
define HOST_QEMU_CONFIGURE_CMDS
(cd $(@D); $(HOST_CONFIGURE_OPTS) ./configure \
--
1.7.2.5
^ permalink raw reply related
page: next (older) | prev (newer) | latest
- recent:[subjects (threaded)|topics (new)|topics (active)]
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox