summaryrefslogtreecommitdiff
path: root/scripts/runqemu
AgeCommit message (Collapse)AuthorFiles
2015-11-16scripts: runqemu: remove QEMUARCH from help messageRuslan Bilovol1
The QEMUARCH env variable is not used since commit "d469c92 classes/imagetest-qemu: remove old image testing class". Remove it from help message so it will not confuse other people Signed-off-by: Ruslan Bilovol <ruslan.bilovol@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2015-11-16runqemu: don't specify IP when starting a VNC serverRoss Burton1
Whilst qemu doesn't appear to support opening sockets on IPv6 yet, future-proof the script by just specifying a port and letting qemu work out the rest. Signed-off-by: Ross Burton <ross.burton@intel.com>
2015-10-24runqemu: Enable support for kvm without vhost in x86 and x86_64Aníbal Limón1
KVM can be used without vhost so add a new option to runqemu for use kvm with vhost. Example, runqemu qemux86 core-image-minimal kvm # kvm without vhost runqemu qemux86 core-image-minimal kvm-vhost # kvm with vhost [YOCTO #7443] Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2015-09-28runqemu: don't complain about conflicting machines if they are equalPascal Bach1
When the MACHINE variable was set as an environment variable, via "export MACHINE=qemuarm" and runqemu was executed as "runqemu qemuarm" The confusing error message appears: Error: conflicting MACHINE types [qemuarm] and [qemuarm] This checks if the two values are equal, in that case there is no problem and execution can continue. Signed-off-by: Pascal Bach <pascal.bach@siemens.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2015-09-12runqemu: avoid image file name mismatchesPatrick Ohly1
Giving anything with -image in it as bootparams or in qemuparams (for example, an additional -drive parameter with an image file or an "-initrd .../core-image-minimal-initramfs-qemux86.cpio.gz") caused runqemu to treat these parameters as names of the rootfs image file. Matching *-image) after checking the current argument for more specific cases like bootparams and qemuparams avoids this misinterpretation of the command line parameters. Signed-off-by: Patrick Ohly <patrick.ohly@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2015-09-12runqemu: Define OECORE_MACHINE_SYSROOT on setup_sysrootLeonardo Sandoval1
At least the OVFM (UEFI Firmware for Qemu and KVM) recipe stores the BIOS under $OE_TMPDIR/sysroots/$MACHINE, now defined as OECORE_MACHINE_SYSROOT. The latter is used when searching BIOS, VGA BIOS and keymaps. As a example, to boot a OVFM BIOS, one can run the following command: $ runqemu qemux86-64 core-image-minimal \ biosdir=usr/share/ovmf \ biosfilename=bios.bin \ nographic Note the bios* parameters: these two are needed to specify the subfolder (parent folder is OECORE_MACHINE_SYSROOT) and BIOS filename (without it, it picks a BIOS named bios-256k.bin). [YOCTO #5654] Signed-off-by: Leonardo Sandoval <leonardo.sandoval.gonzalez@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2015-09-06runqemu: support full-disk imagesPatrick Ohly1
This makes it possible to boot images with multiple partitions (the ones ending in .hddimg or .hdddirect) in several ways: runqemu qemux86 core-image-minimal hddimg runqemu tmp/deploy/images/qemux86/core-image-minimal-qemux86.hddimg VM=tmp-glibc/deploy/images/qemux86/iot-os-image-qemux86.hddimg FSTYPE=hddimg runqemu Same for hdddirect. This is useful for testing initramfs scripts, secure boot (when switching to UEFI), or boot loaders like syslinux. For testing the content of the rootfs, the ext4 image is better because that approach is faster (no need to create another large image during build, rootfs can be read directly instead of reading boot.img through loop device). When booting a live image, the kernel, initramfs (if any) and kernel parameters are taken from the image by the virtual machine's BIOS, so any additional kernel parameters given to runqemu are ignored. This can be avoided (already without this change) in a slightly hacky runqemu setup: ROOTFS=tmp/deploy/images/qemux86/core-image-minimal-qemux86.hddimg \ FSTYPE=ext4 \ KERNEL=tmp/deploy/images/qemux86/bzImage-initramfs-qemux86.bin \ MACHINE=qemux86 \ runqemu serial kvm nographic 'bootparams=root=/dev/ram0' The additional bzImage-initramfs-qemux86.bin kernel here was created by adding this to local.conf: INITRAMFS_IMAGE = "core-image-minimal-initramfs" INITRAMFS_IMAGE_BUNDLE = "1" In the code, the new FSTYPE=hddimg resp. hdddirect behaves almost exactly like the older vmdk FSTYPE. New types were chosen because it seemed cleaner than using FSTYPE=vmdk when the actual image pointed to by VM is not in that format. The downside is that several checks for FSTYPE=vmdk had to be duplicated for FSTYPE=hddimg. The VM variable now gets interpreted as "virtual machine disk image" instead of "vmdk image". Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-08-24runqemu: Add a tcpserial optionRandy Witt1
The option was added so that the qemurunner could start a second tcp serial port without adding machine conditional logic to qemurunner. The issue that made this necessary was that when "virt" is passed to qemu-system-aarch64, the normal mechanism for specifying a tcp serial port does not work. This is because the hardware for the "virt" machine is hardcoded in the device tree blob and the addition devices must be virtio devices. So runqemu can specify virtio for qemuarm64 whereas it seems all other qemu machines work with the "-serial tcp*" option. Signed-off-by: Randy Witt <randy.e.witt@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-06-23runqemu: fix MACHINE being detected as qemuarm for qemuarm64 kernel imageJagadeesh Krishnanjanappa1
Basically, runqemu script autodetects MACHINE type based on the kernel image name; if MACHINE name is not specified. Since 'qemuarm' string is common in both qemuarm amnd qemuarm64 kernel image names, the MACHINE type is considered as 'qemuarm' even when qemuarm64 kernel image name is given in command line. Signed-off-by: Jagadeesh Krishnanjanappa <jkrishnanjanappa@mvista.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2015-03-20scripts/runqemu: Allow FSTYPE to be changed from the environmentRichard Purdie1
Currently its not possible to change FSTYPE from the environment but it would be useful to do so where multiple image types have been generated. This adds that possibility. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Ross Burton <ross.burton@intel.com>
2015-03-05scripts/runqemu: clarify help textBernhard Reutner-Fischer1
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-21machine/qemu: Switch from ext3 to ext4Richard Purdie1
There is no good reason not to use ext4 at this point, it has advantages and few drawbacks. Therefore switch the qemu machines over (and the default runqemu script options). Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-14runqemu: Add option for BIOS binary filenameRicardo Neri1
If we intend to use a custom BIOS binary file, it would be good to be able to specify the name of the binary via the -bios option of qemu. The name of the custom binary could be different from the default name used by qemu. For instance, it was bios.bin in qemu 1.5.0 and changed to bios-256k.bin for 2.1.0. Signed-off-by: Ricardo Neri <ricardo.neri-calderon@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2014-12-22runqemu: add qemuarm64 support.Kai Kang1
Update scripts runqemu and runqemu-internal to support to boot qemuarm64. Signed-off-by: Kai Kang <kai.kang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-05-08scripts/runqemu: avoid pipe with sedMatthieu Crapet1
Replace: cat <file> | sed -e xxx By: sed -e xxx <file> Signed-off-by: Matthieu Crapet <Matthieu.Crapet@ingenico.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2014-03-21runqemu: Add option for custom BIOS directoryRicardo Neri1
Add support to specify a directory for custom BIOS, VGA BIOS and keymaps as supported by qemu (-L option). Even though this can be done through qemuparams, having this option provides better user experience by not having to specify a long and cluttered path along with other qemuparams that the user might want to specify. This new options assumes first that the path provided is relative to OECORE_NATIVE_SYSROOT and will check whether it exists before proceeding. If not, it will treat the provided path as absolute. This provides the user flexibility to use BIOS binaries generated inside or outside the OE build environment. Signed-off-by: Ricardo Neri <ricardo.neri-calderon@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-02-25runqemu: Use readlink instead of realpathSaul Wold1
Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-02-20runqemu: Ensure ROOTFS path is absoluteSaul Wold1
There is a problem if a relative path is passed to the kernel for NFS usage that it will not correctly find it, so ensure that the ROOTFS path is absolute. [YOCTO #2807] Signed-off-by: Saul Wold <sgw@linux.intel.com>
2014-02-13runqemu: enforce right CPU type for qemux86/x86-64Cristian Iorga1
Set in accordance with qemu machines configs. Fixes [YOCTO #5817]. Signed-off-by: Cristian Iorga <cristian.iorga@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-01-28runqemu, runqemu-internal: Allow slirp for NFS and KVM useJason Wessel1
The default slirp address for the NFS server is 10.0.2.2. If not using a tap interface this address must be used or the target system cannot connect properly. Also the ip=... kernel arguments need to be set to dhcp when using slirp or the root NFS will not get setup properly. The call to cleanup() results in a routine which is not defined when setting up the NFS because it is called before acquire() for the locking of the tap interfaces, the solution being to simply not call cleanup() that early. When using slirp, kvm should not execute the vhost net checks because the vhost net will not be configure or used. Signed-off-by: Jason Wessel <jason.wessel@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2013-12-20runqemu: Allow user to set -vga option with qemuparamsValentin Popa1
At the moment, the user cannot to set -vga other then vmware (because "vmware" is set by default); and the first argument in qemuparams has higher precedence. Signed-off-by: Valentin Popa <valentin.popa@intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2013-12-09runqemu: remove core-image-* whitelistScott Garman1
Using a whitelist for image names to default to when none are specified on the command line is no longer desired. Instead, choose the most recently created image filename that conforms to typical image naming conventions. Fixes [YOCTO #5617]. Signed-off-by: Scott Garman <scott.a.garman@intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2013-09-26runqemu: Use correct kvm CPU options for qemux86* with kvmRichard Purdie1
The existing -cpu host option caused kernel panics when people attempted to use the kvm option. After research and discussion, the best options appear to be the kvm32/kvm64 cpu types so lets use these instead. These resolve the kernel issues for me. [YOCTO #3908] Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-24scripts/runqemu: write temp file into correct locationPaul Eggleton1
We want the temporary file to be written in /tmp not the current directory. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-12bitbake.conf: include machine name in DEPLOY_DIR_IMAGEPaul Eggleton1
This allows a clean seperation between image outputs from different machines, and makes it possible to have convenience symlinks to make the output ready to deploy. This did require some surgery in runqemu; if explicit paths to the image and kernel are not supplied then DEPLOY_DIR_IMAGE needs to be determined from bitbake or set in the environment. However the script does try to avoid requiring it unless it really is needed. Corresponding changes were made in the automated testing code as well. Based on an RFC patch by Koen Kooi <koen@dominion.thruhere.net> Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-04scripts/runqemu: Fix MACHINE regexMihai Prica1
When runqemu tries to determine the MACHINE variable from a kernel or vmdk filename that doesn't contain any known machine name, the variable gets set to the filename. It should remain unset and cause an error. [YOCTO #2890] Signed-off-by: Mihai Prica <mihai.prica@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-07-09scripts/runqemu: Add support for 'qemumicroblaze' machineNathan Rossi1
* Add support to boot the 'qemumicroblaze' machine in qemu-system-microblazeel * Use the specific machine model for a MicroBlaze system 'petalogix-ml605' * Use the DTB generated from the kernel build as the DTB for boot * Force use of initrd rootfs (either in ext or cpio formats) Signed-off-by: Nathan Rossi <nathan.rossi@xilinx.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2013-07-09scripts/runqemu: Add support for 'qemuzynq' machineNathan Rossi1
* Add support to boot the 'qemuzynq' machine in qemu-system-arm * Use the specific machine model for Zynq 'xilinx-zynq-a9' * Use the DTB generated from the kernel build as the DTB for boot * Force use of initrd rootfs (either in ext or cpio formats) Signed-off-by: Nathan Rossi <nathan.rossi@xilinx.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2013-07-09lib/oeqa/utils/qemurunner.py: class to handle qemu instanceRadu Moisan1
Handles qemu instances (launch, kill, restart, serial connection, logging) Launch is blocking until login prompt and returns to the task. A qemu serial connection is used to save the boot log and get the ip from the image. Changed runqemu script not to error out when using custom serial option. Signed-off-by: Radu Moisan <radu.moisan@intel.com> Signed-off-by: Stefan Stanacar <stefanx.stanacar@intel.com>
2013-05-24SLiRP support in runqemuAndrei Dinu1
runqemu script now takes argument "slirp" in order to run networking on the qemu machine, without root privileges. changed the runqemu-internal script in order not to activate the tap devices if the option is set. [YOCTO #1474] Signed-off-by: Andrei Dinu <andrei.adrianx.dinu@intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2013-05-12scripts/runqemu: add ext4 to the list of extracted extensionsStefan Stanacar1
Signed-off-by: Stefan Stanacar <stefanx.stanacar@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-03-20runqemu: Improve error handling/exit codesRichard Purdie1
runqemu-internal is sourced so should be returning with an error code in case of errors. runqemu needs to deal with this. This patch fixes up the various error paths so we're consistent and get a sane exit status for runqemu which helps a lot in its use in the qemu runtime testing on the autobuilder. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-02-11runqemu: add option to make the VNC server publically availableRoss Burton1
If the qemu is running on a headless machine, a VNC server that only allows connections from localhost isn't too useful. Add a "vncpublic" option to bind a VNC server to 0.0.0.0, so it's publically available. Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-01-16runqemu scripts: add support for booting an ISO imageChen Qi1
Add support for booting an ISO image for runqemu scripts. [YOCTO #3710] Signed-off-by: Chen Qi <Qi.Chen@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2012-12-25runqemu: change terminal's INTR key in 'serial' modeTrevor Woerner1
If you are using an image in '-serial stdio' mode, temporarily change the terminal's interrupt character to 'Ctrl-]' for the duration of the image run. In this way, hitting 'Ctrl-C' for something running in the image doesn't accidentally abort the entire qemu session. Signed-off-by: Trevor Woerner <twoerner@gmail.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2012-12-25Fix typo in kvm capability detection in runqemuBjörn Stenberg1
Signed-off-by: Björn Stenberg <bjst@enea.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2012-12-14runqemu: add support for FSTYPE=vmdkTrevor Woerner1
Allow vmdk images to be run through the 'runqemu' facility. Signed-off-by: Saul Wold <sgw@linux.intel.com>
2012-10-03qemu: Fixed running QEMU with virtio error reportingCristian Iorga1
If vhost_net module is not properly installed, runqemu script will report the error and provide the user with a link to the guide. Also corrected small cosmetic issues in runqemu script messages. Also removed <> (read/write) check. Fixes [YOCTO #3184] Signed-off-by: Cristian Iorga <cristian.iorga@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-20qemux86: Support for KVM, paravirt and virtio addedCristian Iorga1
KVM, paravirtualization and virtio drivers are now activated in runqemu using the kvm option flag for qemux86. Host CPU features are also exported to guest OS (Yocto Linux). Usage example: runqemu qemux86 core-image-x11 kvm Implements [YOCTO #2550]. Signed-off-by: Cristian Iorga <cristian.iorga@intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2012-09-20runqemu: show bitbake errors to userScott Garman1
In certain edge cases, bitbake may fail to run and cause setup_tmpdir() within runqemu to fail, and not give the user a helpful error message. Catch this case and show the user the output of bitbake -e. This fixes [YOCTO #3112] Signed-off-by: Scott Garman <scott.a.garman@intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2012-09-14runqemu: Explicitly specify MACHINE when calling bitbakeKhem Raj1
When using runqemu with distros outside oe-core then MACHINE may not be there in local.conf so use the one thats available in environment of runqemu which is actually the correct one. Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2012-08-25runqemu: Move the KVM check after the MACHINE/KERNEL ChecksSaul Wold1
The MACHINE/KERNEL Checks setup MACHINE is it's unset, the KVM checks valid MACHINE is qemux86 or qemux86-64 and fail if it's unset! [YOCTO #2970] Signed-off-by: Saul Wold <sgw@linux.intel.com>
2012-08-23runqemu: Honor KERNEL and ROOTFS settings from environmentKhem Raj1
Expand the usage to be able to specify KERNEL and ROOTFS on commandline. This helps in using the script for booting images that are essentially not part of OE-Core Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2012-08-19runqemu: work with yocto-bsp created kernel filenamesScott Garman1
The yocto-bsp tool generates kernels with additional strings within the filename, e.g. zImage-myqemuarm.bin. Loosen the MACHINE detection regex to work with these filenames. Fixes [YOCTO #2890]. Signed-off-by: Scott Garman <scott.a.garman@intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2012-08-17runqemu: support booting ramfs-based imagesScott Garman1
Added support for booting ramfs-based images (e.g, poky-tiny) which do not have block device support. This fixes [YOCTO #2612]. Signed-off-by: Scott Garman <scott.a.garman@intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2012-07-16runqemu: Fix running qemu when build without glKhem Raj1
When gl is disabled in PACKAGECONFIG then we dont need to check for supporting libs to be present before running qemu. Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2012-07-16runqemu/mips: adjust runqemu script to support mipsel machineDennis Lan1
Signed-off-by: Dennis Lan <dennis.yxun@gmail.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2012-07-09runqemu: fix support for ext4 rootfs imagesScott Garman1
Signed-off-by: Scott Garman <scott.a.garman@intel.com>
2012-07-09runqemu: fix usage() help for MACHINE settingScott Garman1
Signed-off-by: Scott Garman <scott.a.garman@intel.com>
2012-07-02runqemu: fix fedora pkg names when run failsCristian Ciupitu1
runqemu can fail to with the following message: You need libGL.so and libGLU.so to exist in your library path to run the QEMU emulator. Fedora package names are: mesa-libGL mesa-libGLU. The libGL.so and libGLU.so files are provided by the mesa-libGL-devel and mesa-libGLU-devel Fedora packages (yum provides '*/libGL*.so'). Signed-off-by: Cristian Ciupitu <cristian.ciupitu@yahoo.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>