Emulator
Installing QEMU
Install QEMU virtual emulator where you can run Yocto NemoMobile. The NemoMobile emulator needs QEMU with support for Virgl3D. Unfortunately some Linux distributions like Ubuntu & Debian do not provice QEMU packages with Virgl3D support. When using distros which do not provide suitable QEMU, you need to compile QEMU yourself.
Ubuntu
QEMU needs libvirt
and it is not included in the basic qemu
package on Ubuntu
Install all the essentials for the basic QEMU:
sudo apt-get install build-essential libepoxy-dev libdrm-dev libgbm-dev libx11-dev libvirglrenderer-dev libpulse-dev libsdl2-dev python python-dev libpixman-1-dev build-essential
Download qemu tar package (replace the version with the latest one)
wget http://download.qemu-project.org/qemu-<latest-version>.tar.xz -O qemu.tar.xz
Unpack it to a new folder
mkdir qemu && tar -xf qemu.tar.xz -C qemu --strip-components=1 && cd qemu
Build and install
./configure --enable-sdl --with-sdlabi=2.0 --enable-opengl --enable-virglrenderer --enable-system --enable-modules --audio-drv-list=pa --target-list=x86_64-softmmu --enable-kvm
make -j$(grep -c ^processor /proc/cpuinfo)
sudo make install
You should now have an executable in /usr/local/bin/ called qemu-system-x86_64
For most Linux distros
Install the qemu
package from the official repositories.
For example Arch:
sudo pacman -Syu qemu
Running Emulator
Download the emulator from Releases section of this project.
Emulator can be run with premade script runqemu.sh
with command
./runqemu.sh <kernel-file>.bin <nemo-image-file>.rootfs.ext4
or with command
qemu-system-x86_64 -kernel <kernel-file>.bin -drive file=<nemo-image-file>.rootfs.ext4,if=virtio,format=raw -enable-kvm -device virtio-vga,virgl=on -net nic -net user,hostfwd=tcp::5555-:22 -m 1024 -cpu host -display sdl,gl=on -soundhw hda --append "quiet root=/dev/vda video=560x1080 mem=1024M"
SSH
Once OS has loaded you can SSH to the system via 5555 port either as Nemo user or Root user ssh nemo@localhost -p 5555
.