summaryrefslogtreecommitdiffstats
path: root/scripts/runqemu-gen-tapdevs
Commit message (Collapse)AuthorAgeFilesLines
* runqemu-gen-tapdevs: Allow run --help without sudoRobert Yang2019-01-031-8/+19
| | | | | | | | | | | | | | | | | | | | | Then we can get user's UID and GID rather than hardcode to 1000, e.g.: - Without sudo $ runqemu-gen-tapdevs --help [snip] $ sudo ../poky/scripts/runqemu-gen-tapdevs 15220 100 4 tmp/sysroots-components/x86_64/qemu-helper-native/usr/bin [snip] - With sudo $ sudo ../poky/scripts/runqemu-gen-tapdevs --help [snip] $ sudo ../poky/scripts/runqemu-gen-tapdevs 15220 100 4 tmp/sysroots-components/x86_64/qemu-helper-native/usr/bin [snip] (From OE-Core rev: 446e7da7e56f9de3602498b5ef40e9e0f8f71837) Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* runqemu-gen-tapdevs: fix runqemu-ifup script callMartin Jansa2017-04-291-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The tunctl binary is here: OE @ /OE/openembedded-core # find /OE/build/oe-core/tmp-glibc/sysroots-components/x86_64/qemu-helper-native/ /OE/build/oe-core/tmp-glibc/sysroots-components/x86_64/qemu-helper-native/ /OE/build/oe-core/tmp-glibc/sysroots-components/x86_64/qemu-helper-native/sysroot-providers /OE/build/oe-core/tmp-glibc/sysroots-components/x86_64/qemu-helper-native/sysroot-providers/qemu-helper-native /OE/build/oe-core/tmp-glibc/sysroots-components/x86_64/qemu-helper-native/usr /OE/build/oe-core/tmp-glibc/sysroots-components/x86_64/qemu-helper-native/usr/bin /OE/build/oe-core/tmp-glibc/sysroots-components/x86_64/qemu-helper-native/usr/bin/tunctl But the script still complains that it cannot find tunctl: OE @ /OE/openembedded-core # ./scripts/runqemu-gen-tapdevs 1026 1026 4 /OE/build/oe-core/tmp-glibc/sysroots-components/x86_64/qemu-helper-native/ Note: Destroying pre-existing tap interface tap0... TUNSETIFF: Device or resource busy Creating 4 tap devices for UID: 1026 GID: 1026... Creating tap0 Error running tunctl: Error: Unable to find tunctl binary in '/OE/build/oe-core/tmp-glibc/sysroots-components/x86_64/qemu-helper-native/', please bitbake qemu-helper-native The message is actually from runqemu-ifup, which is called from runqemu-gen-tapdevs as: ++ ./scripts/runqemu-ifup 1026 1026 /OE/build/oe-core/tmp-glibc/sysroots-components/x86_64/qemu-helper-native/ But runqemu-ifup expects 3rd parameter to be STAGING_BINDIR_NATIVE directly not just SYSROOT dir STAGING_BINDIR_NATIVE=$3 because tunctl is then used as: TUNCTL=$STAGING_BINDIR_NATIVE/tunctl It looks like it got broken by: commit cc5513bf7a6114e14bb307acb88a44e9cf0aed8a Author: Ed Bartosh <ed.bartosh@linux.intel.com> Date: Wed Apr 12 23:40:59 2017 +0300 runqemu: use bindir_native property to run ifup/down scripts Used self.bindir_native to point out to the native sysroot when running runqemu-ifup and runqemu-ifdown scripts. [YOCTO #11266] [YOCTO #11193] Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> Seemingly obvious fix would be to call runqemu-gen-tapdevs with path to STAGING_BINDIR_NATIVE in 4th parameter as well, but that won't work, because runqemu-gen-tapdevs checks for TUNCTL=$SYSROOT/usr/bin/tunctl OE @ /OE/openembedded-core # ./scripts/runqemu-gen-tapdevs 1026 1026 4 /OE/build/oe-core/tmp-glibc/sysroots-components/x86_64/qemu-helper-native/usr/bin/ Error: /OE/build/oe-core/tmp-glibc/sysroots-components/x86_64/qemu-helper-native/usr/bin//usr/bin/tunctl is not an executable I've tested that with this change it can call tunctl: OE @ /OE/openembedded-core # ./scripts/runqemu-gen-tapdevs 1026 1026 4 /OE/build/oe-core/tmp-glibc/sysroots-components/x86_64/qemu-helper-native/usr/bin Note: Destroying pre-existing tap interface tap0... TUNSETIFF: Device or resource busy Creating 4 tap devices for UID: 1026 GID: 1026... Creating tap0 Creating tap1 Creating tap2 Creating tap3 Note: For systems running NetworkManager, it's recommended Note: that the tap devices be set as unmanaged in the Note: NetworkManager.conf file. Add the following lines to Note: /etc/NetworkManager/NetworkManager.conf [keyfile] unmanaged-devices=interface-name:tap* but runqemu itself still doesn't work for me: OE qemux86@ ~/build/oe-core $ runqemu runqemu - INFO - Running MACHINE=qemux86 bitbake -e... runqemu - INFO - Running ls -t /OE/build/oe-core/tmp-glibc/deploy/images/qemux86/*.qemuboot.conf... runqemu - INFO - CONFFILE: /OE/build/oe-core/tmp-glibc/deploy/images/qemux86/core-image-sato-qemux86-20170427174052.qemuboot.conf runqemu - INFO - Overriding conf file setting of STAGING_DIR_NATIVE to /OE/build/oe-core/tmp-glibc/work/i586-oe-linux/defaultpkgname/1.0-r0/recipe-sysroot-native from Bitbake environment runqemu - INFO - Continuing with the following parameters: KERNEL: [tmp-glibc/deploy/images/qemux86/bzImage--4.10.9+git0+ad2e885015_fe0fb8da3d-r0.2-qemux86-20170427085800.bin] MACHINE: [qemux86] FSTYPE: [ext4] ROOTFS: [tmp-glibc/deploy/images/qemux86/core-image-sato-qemux86-20170427174052.rootfs.ext4] CONFFILE: [/OE/build/oe-core/tmp-glibc/deploy/images/qemux86/core-image-sato-qemux86-20170427174052.qemuboot.conf] runqemu - INFO - Running /bin/ip link... runqemu - INFO - Acquiring lockfile /tmp/qemu-tap-locks/tap0.lock... runqemu - INFO - Using preconfigured tap device tap0 runqemu - INFO - If this is not intended, touch /tmp/qemu-tap-locks/tap0.skip to make runqemu skip tap0. runqemu - INFO - Network configuration: 192.168.7.2::192.168.7.1:255.255.255.0 runqemu - INFO - Running ldd tmp-glibc/work/x86_64-linux/qemu-helper-native/1.0-r1/recipe-sysroot-native/usr/bin//qemu-system-i386... runqemu - INFO - Running tmp-glibc/work/x86_64-linux/qemu-helper-native/1.0-r1/recipe-sysroot-native/usr/bin//qemu-system-i386 -device virtio-net-pci,netdev=net0,mac=52:54:00:12:34:02 -netdev tap,id=net0,ifname=tap0,script=no,downscript=no -drive file=tmp-glibc/deploy/images/qemux86/core-image-sato-qemux86-20170427174052.rootfs.ext4,if=virtio,format=raw -vga vmware -show-cursor -usb -usbdevice tablet -device virtio-rng-pci -cpu qemu32 -m 256 -serial mon:vc -serial null -kernel tmp-glibc/deploy/images/qemux86/bzImage--4.10.9+git0+ad2e885015_fe0fb8da3d-r0.2-qemux86-20170427085800.bin -append 'root=/dev/vda rw highres=off mem=256M ip=192.168.7.2::192.168.7.1:255.255.255.0 vga=0 uvesafb.mode_option=640x480-32 oprofile.timer=1 uvesafb.task_timeout=-1 ' qemu-system-i386: -netdev tap,id=net0,ifname=tap0,script=no,downscript=no: could not configure /dev/net/tun (tap0): Device or resource busy runqemu - INFO - Releasing lockfile for tap device 'tap0' Traceback (most recent call last): File "/OE/build/oe-core/openembedded-core/scripts/runqemu", line 1235, in <module> ret = main() File "/OE/build/oe-core/openembedded-core/scripts/runqemu", line 1228, in main config.start_qemu() File "/OE/build/oe-core/openembedded-core/scripts/runqemu", line 1139, in start_qemu raise Exception('Failed to run %s' % cmd) Exception: Failed to run tmp-glibc/work/x86_64-linux/qemu-helper-native/1.0-r1/recipe-sysroot-native/usr/bin//qemu-system-i386 -device virtio-net-pci,netdev=net0,mac=52:54:00:12:34:02 -netdev tap,id=net0,ifname=tap0,script=no,downscript=no -drive file=tmp-glibc/deploy/images/qemux86/core-image-sato-qemux86-20170427174052.rootfs.ext4,if=virtio,format=raw -vga vmware -show-cursor -usb -usbdevice tablet -device virtio-rng-pci -cpu qemu32 -m 256 -serial mon:vc -serial null -kernel tmp-glibc/deploy/images/qemux86/bzImage--4.10.9+git0+ad2e885015_fe0fb8da3d-r0.2-qemux86-20170427085800.bin -append 'root=/dev/vda rw highres=off mem=256M ip=192.168.7.2::192.168.7.1:255.255.255.0 vga=0 uvesafb.mode_option=640x480-32 oprofile.timer=1 uvesafb.task_timeout=-1 ' (From OE-Core rev: a31b1434c5f1edbd4e8faca813b4f084297c061d) Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* runqemu-gen-tapdevs: fix file path in exampleChen Qi2017-03-241-2/+2
| | | | | | | | | | | Fix the path in example so that '/usr/bin/tunctl' could be found under this path. (From OE-Core rev: d1b8e1460b25018ac8f65d3647bc736f3393ed3e) Signed-off-by: Chen Qi <Qi.Chen@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* runqemu-gen-tapdevs: Improve help text with an exampleRichard Purdie2017-03-101-0/+2
| | | | | | | | | Figuring how the correct commandline isn't trivial, improve the help text with RSS in mind. (From OE-Core rev: 056a9da9f3ac2bc175f19243b11864ca90eee28b) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* runqemu-gen-tapdevs: remove /etc/runqemu-nosudo when remove tapsRobert Yang2016-09-201-20/+26
| | | | | | | | | | | It creats /etc/runqemu-nosudo when creats taps, so should remove it when remove taps. (From OE-Core rev: 3d4bf5b0ea581e3e9b388328b086d03f9174fd61) Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* runqemu-gen-tapdevs: Add note about NetworkManager & tap devicesSaul Wold2016-04-061-0/+9
| | | | | | | | | | | | | NetworkManager can clobber tap devices if left alone, this gives a note about how to set tap* as unmanaged [YOCTO #8587] (From OE-Core rev: 503a80de1cc9097fdc8f6b5b7d0e3a3991b0ecd2) Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* runqemu: Replace use of ifconfig with ipKhem Raj2013-05-161-3/+3
| | | | | | | | | | | ifconfig and its ilk (net-tools package) is deprecated in favour of iproute2 package and is now removed by many distro's e.g. Archlinux. So we replace ifconfig with ip utility (From OE-Core rev: c19e5d19ae8e6e6eb9b37549d80765b8315f79a4) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* runqemu: work with tap device names that end with a colonScott Garman2012-09-241-1/+1
| | | | | | | | | | | | | On Fedora systems (and likely others), ifconfig returns interface names that end with a colon. Make sure we strip the colon off the tap device name before using it. This fixes [YOCTO #3028] (From OE-Core rev: 85ed217b603a86113dda11d952850e8ceed30795) Signed-off-by: Scott Garman <scott.a.garman@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* runqemu-gen-tapdevs: add UID to CL optionsElizabeth Flanagan2012-08-021-7/+9
| | | | | | | | | | runqemu-if* now requires UID as a command line option which means runqemu-gen-tapdevs needs to take it as an option. (From OE-Core rev: a624ec02c4acec83efbe66406f22abafbdce5d63) Signed-off-by: Elizabeth Flanagan <elizabeth.flanagan@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* scripts: Show sensible warning messages if expected binaries don't existRichard Purdie2011-09-021-0/+4
| | | | | | | | [YOCTO #1438] (From OE-Core rev: 6b5706d1f9ce7a3fd4d8f819ff8f3fd789665647) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* scripts: Don't show errors from which ifconfig failingRichard Purdie2011-09-021-1/+1
| | | | | | (From OE-Core rev: 06625096f897235ed85f0d9a1355497f92938454) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* scripts/oe-setup-builddir: Fix up OE-Core/Poky mismatch for now (and fix ↵Richard Purdie2011-04-211-0/+0
| | | | | | permissions) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* Further cleanup of various poky referencesRichard Purdie2011-04-211-6/+6
| | | | | | (From OE-Core rev: fe73ea8c510877fe4e3c117985e8f3d0b79ddf1b) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* POKY_QEMU_IFUP -> RUNQEMU_IFUPRichard Purdie2011-04-211-3/+3
| | | | | | (From OE-Core rev: 747fcc030d2bdd7c0551e366ceb8f2a38c063b26) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* Rename the remaining poky-* scripts to oe-* or runqemu-*Richard Purdie2011-04-211-0/+85
(From OE-Core rev: 877b3d84597fcfc3abf5aa332019d412f2717896) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>