On 10/24/16 6:46 PM, Todor Minchev wrote: > On Mon, 2016-10-24 at 18:15 -0500, Mark Hatle wrote: >> On 10/24/16 5:19 PM, 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" >> >> In the past patches like this have been rejected for performance and other >> reasons. > > Performance is not ideal with SLIRP, but should be sufficient for basic > ssh access to the guest. Could you please elaborate on the other reasons > why having this is a bad idea?
You'd have to go back in the archives. Performance was the main reason I remember being discussed at the time. I don't remember the others, and as I said, I'm not a fan of requiring root, but the community decided sudo approach was better as long as there was a way to avoid it. Changing the default will likely require email to the oe-core list and/or oe-architecture list... >> While I don't particularly like requiring sudo access for runqemu, >> adding the 'slirp' option will allow someone w/o root/sudo to be able to run >> it. > > The goal was to be able to run a QEMU image and provide basic networking > without requiring root access. Is there any reason why running runqemu > w/o root/sudo access should be discouraged? As long as you can pass in slirp (and it's not the default) then I believe your requirement and the community direction is preserved. >> Otherwise, if there is something you can do to make slirp work better (when >> enabled), that is more likely to be accepted. > > Similar SLIRP support has been already accepted for qemuarm64 with > commit 9b0a94cb Support for slirp is good, it's defaulting to slirp that has been rejected in the past by the community. > --Todor > > Intel Open Source Technology Center > >> --Mark >> >>> Signed-off-by: Todor Minchev <todor.minc...@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'): >>> >> > > -- _______________________________________________ yocto mailing list yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/yocto