* [PATCH 1/1] runqemu: add user mode (SLIRP) support to x86 QEMU targets
@ 2016-10-26 17:05 Todor Minchev
2016-11-24 10:29 ` Robert Yang
0 siblings, 1 reply; 2+ messages in thread
From: Todor Minchev @ 2016-10-26 17:05 UTC (permalink / raw)
To: openembedded-core
Using 'slirp' as a command line option to runqemu will start QEMU
with user mode networking instead of creating tun/tap devices.
SLIRP does not require root access. By default port 2222 on the
host will be mapped to port 22 in the guest. The default port
mapping can be overwritten with the QB_SLIRP_OPT variable e.g.
QB_SLIRP_OPT = "-net nic,model=e1000 -net user,hostfwd=tcp::2222-:22"
Signed-off-by: Todor Minchev <todor.minchev@linux.intel.com>
---
meta/conf/machine/include/qemuboot-x86.inc | 1 +
scripts/runqemu | 3 ++-
2 files changed, 3 insertions(+), 1 deletion(-)
diff --git a/meta/conf/machine/include/qemuboot-x86.inc b/meta/conf/machine/include/qemuboot-x86.inc
index 06ac983..0870294 100644
--- a/meta/conf/machine/include/qemuboot-x86.inc
+++ b/meta/conf/machine/include/qemuboot-x86.inc
@@ -13,3 +13,4 @@ QB_AUDIO_OPT = "-soundhw ac97,es1370"
QB_KERNEL_CMDLINE_APPEND = "vga=0 uvesafb.mode_option=640x480-32 oprofile.timer=1 uvesafb.task_timeout=-1"
# Add the 'virtio-rng-pci' device otherwise the guest may run out of entropy
QB_OPT_APPEND = "-vga vmware -show-cursor -usb -usbdevice tablet -device virtio-rng-pci"
+QB_SLIRP_OPT = "-net nic,model=e1000 -net user,hostfwd=tcp::2222-:22"
diff --git a/scripts/runqemu b/scripts/runqemu
index dbe17ab..6952f32 100755
--- a/scripts/runqemu
+++ b/scripts/runqemu
@@ -542,7 +542,8 @@ class BaseConfig(object):
def check_and_set(self):
"""Check configs sanity and set when needed"""
self.validate_paths()
- check_tun()
+ if not self.slirp_enabled:
+ check_tun()
# Check audio
if self.audio_enabled:
if not self.get('QB_AUDIO_DRV'):
--
2.10.1
^ permalink raw reply related [flat|nested] 2+ messages in thread* Re: [PATCH 1/1] runqemu: add user mode (SLIRP) support to x86 QEMU targets
2016-10-26 17:05 [PATCH 1/1] runqemu: add user mode (SLIRP) support to x86 QEMU targets Todor Minchev
@ 2016-11-24 10:29 ` Robert Yang
0 siblings, 0 replies; 2+ messages in thread
From: Robert Yang @ 2016-11-24 10:29 UTC (permalink / raw)
To: Todor Minchev, openembedded-core
Hi Todor,
On 10/27/2016 01:05 AM, Todor Minchev wrote:
> Using 'slirp' as a command line option to runqemu will start QEMU
> with user mode networking instead of creating tun/tap devices.
> SLIRP does not require root access. By default port 2222 on the
> host will be mapped to port 22 in the guest. The default port
> mapping can be overwritten with the QB_SLIRP_OPT variable e.g.
>
> QB_SLIRP_OPT = "-net nic,model=e1000 -net user,hostfwd=tcp::2222-:22"
>
> Signed-off-by: Todor Minchev <todor.minchev@linux.intel.com>
> ---
> meta/conf/machine/include/qemuboot-x86.inc | 1 +
> scripts/runqemu | 3 ++-
> 2 files changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/meta/conf/machine/include/qemuboot-x86.inc b/meta/conf/machine/include/qemuboot-x86.inc
> index 06ac983..0870294 100644
> --- a/meta/conf/machine/include/qemuboot-x86.inc
> +++ b/meta/conf/machine/include/qemuboot-x86.inc
> @@ -13,3 +13,4 @@ QB_AUDIO_OPT = "-soundhw ac97,es1370"
> QB_KERNEL_CMDLINE_APPEND = "vga=0 uvesafb.mode_option=640x480-32 oprofile.timer=1 uvesafb.task_timeout=-1"
> # Add the 'virtio-rng-pci' device otherwise the guest may run out of entropy
> QB_OPT_APPEND = "-vga vmware -show-cursor -usb -usbdevice tablet -device virtio-rng-pci"
> +QB_SLIRP_OPT = "-net nic,model=e1000 -net user,hostfwd=tcp::2222-:22"
It will causes errors when multiple qemus are running:
qemu-system-x86_64: -net user,hostfwd=tcp::2222-:22: could not set up host
forwarding rule 'tcp::2222-:22'
qemu-system-x86_64: -net user,hostfwd=tcp::2222-:22: Device 'user' could not be
initialized
This because the port are used by another qemu. I will move these
code into runqemu, and check whether the port is available, add 1 if not
until find a usable port. Default to forward 22, and user can add other
ports.
// Robert
> diff --git a/scripts/runqemu b/scripts/runqemu
> index dbe17ab..6952f32 100755
> --- a/scripts/runqemu
> +++ b/scripts/runqemu
> @@ -542,7 +542,8 @@ class BaseConfig(object):
> def check_and_set(self):
> """Check configs sanity and set when needed"""
> self.validate_paths()
> - check_tun()
> + if not self.slirp_enabled:
> + check_tun()
> # Check audio
> if self.audio_enabled:
> if not self.get('QB_AUDIO_DRV'):
>
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2016-11-24 10:29 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-10-26 17:05 [PATCH 1/1] runqemu: add user mode (SLIRP) support to x86 QEMU targets Todor Minchev
2016-11-24 10:29 ` Robert Yang
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox