Launching QEMU
Important note: When using purely software rendering in QEMU the GDP HMI will run with a very low frame rate. To make it a bit better:
- Make sure you are running a kvm-enabled version by using the names given below, or add -enable-kvm or -machine accel=kvm, or a wrapper script like qemu-kvm.
- Start first by trying QEMU installed by your own distributions, the setup has some graphics acceleration and will be acceptable.
- To get the best performance, you might want to look into compiling the latest QEMU and ensuring full hardware graphics acceleration.
To download
- Download or build the gdp-<version> .ext4 (or ext4.gz) and corresponding bzImage files
- If the rootfs image is compressed, uncompress it. E.g.:
gunzip <file>.ext4.gz
- Start the VM using the command-line (you may need to replace the name of the bzImage and ext4 files)
Example (Ubuntu)
sudo kvm -kernel bzImage \
-drive "file=genivi-dev-platform-qemux86-64.ext4
,format=raw" \
-net nic \
-net user,hostfwd=tcp::5555-:22 \
-usbdevice tablet \
-cpu core2duo \
-vga std \
-no-reboot \
-soundhw ac97 \
-m 1024 \
--append "vga=0 uvesafb.mode_option=640x480-32 root=/dev/hda rw mem=512M oprofile.timer=1"
Example (Fedora)
Permissions seem to already be set up so you don't need sudo/root privileges:
qemu-kvm -kernel bzImage \
,format=raw" \
-drive "file=genivi-dev-platform-qemux86-64.ext4
-net nic \
-net user,hostfwd=tcp::5555-:22 \
-usbdevice tablet \
-cpu core2duo \
-vga std \
-no-reboot \
-soundhw ac97 \
-m 1024 \
--append "vga=0 uvesafb.mode_option=640x480-32 root=/dev/hda rw mem=512M oprofile.timer=1"
NOTE: In your Linux distribution, the command the qemu command might have different names, "qemu-kvm" simply "kvm", or "qemu", or try "qemu-system-x86_64" with a -kvm or -enable-kvm parameter instead. Try what works on your distribution.
Example (Any distribution):
- See the instructions on compiling QEMU with hardware graphics acceleration
Adjustments:
NOTE: When running advanced features like chromium browser, it does not hurt to increase the memory. For example -m 2048.
On newer versions of QEMU try replacing -usbdevice tablet with: -device nec-usb-xhci and -device usb-tablet (in that order)
Networking:
Routing from and to QEMU device in the virtual network with your host is currently out of scope for this document. (PLEASE CONTRIBUTE INFORMATION HERE IF YOU CAN)
As you can see above the command currently forwards the internal SSH port to port 5555 on your localhost, so you can reach the GDP inside QEMU like this:
ssh root@127.0.0.1 -p 5555 (the password is root)
If you are running an image you have bitbaked you should (from the gdp-src-build directory)
cd tmp/deploy/images/qemux86-64
and then use the above kvm command replacing gdp-<version>.bzImage with bzimage and gdp-<version>.ext4 with genivi-dev-platform-qemux86-64.ext4.
You can configure the root password to change it from the default ('root') by setting the following in local.conf
EXTRA_USERS_PARAMS = "newPassword" or indeed an empty string.