QEMU user mode
QEMU is a very versatile tool that allows us to run binaries from other architectures without installing any virtualization mechanisms or running the emulation of the whole target system. In this part of the chapter, we will learn how to run QEMU in user mode, how to create binaries for other architectures, and how to debug them using the common tools that a Linux system offers us: gcc
and gdb
.
The first thing we will do now is install all the necessary tooling for this part of the chapter. While in some cases, not every package is necessary for what we’ll do, you can choose the architecture you want. In our case, and in this part of the book, we will work on binaries for the ARM architecture (https://en.wikipedia.org/wiki/ARM_architecture_family).
Let’s first see the commands we will run for installing the tooling for ARM:
sudo apt install build-essential # for all the other packages of compilation utilities sudo apt install gcc-arm-linux-gnueabihf...