Running images in QEMU
As many projects have a small portion that is hardware dependent, the hardware emulation comes to speed up the development process by enabling sample to run without involving an actual hardware.
Quick EMUlator (QEMU) is a free and open source software package that performs hardware virtualization. The QEMU-based machines allow test and development without real hardware. Currently, the ARM, MIPS, MIPS64, PowerPC, and x86 and x86-64 emulations are supported.
The runqemu
script enables and makes the use of QEMU with the OpenEmbedded-Core supported machines easier. The way to run the script is as follows:
$: runqemu <machine> <zimage> <filesystems>
Here, <machine>
is the machine/architecture to be used as qemuarm
, qemumips
, qemuppc
, qemux86
, or qemux86-64
. Also, <zimage>
is the path to a kernel (for example, zimage-qemuarm.bin
). Finally,<filesystem>
is the path to an ext3
image (for example, filesystem-qemuarm.ext3
) or an NFS directory.
So, for example, in case we run runqemu qemuarm core-image-full-cmdline
, we can see something as shown in the following screenshot:
We can log in with the root account using an empty password. The system behaves as a regular system even being used inside the QEMU. The process to deploy an image in a real hardware varies depending on the type of storage used, bootloader, and so on. However, the process to generate the image is the same. We explore how to build and run an image in the Wandboard machine in Chapter 14, Booting Our Custom Embedded Linux.