11.1. QEMU user mode getting started
Let’s run userland/c/command_line_arguments.c built with the Buildroot toolchain on QEMU user mode:
./build user-mode-qemu ./run \ --userland userland/c/command_line_arguments.c \ --cli-args='asdf "qw er"' \ ;
Output:
/path/to/linux-kernel-module-cheat/out/userland/default/x86_64/c/command_line_arguments.out asdf qw er
./run --userland
path resolution is analogous to that of ./run --baremetal
.
./build user-mode-qemu
first builds Buildroot, and then runs ./build-userland
, which is further documented at: Section 2.8, “Userland setup”. It also builds QEMU. If you ahve already done a QEMU Buildroot setup previously, this will be very fast.
If you modify the userland programs, rebuild simply with:
./build-userland
To rebuild just QEMU userland if you hack it, use:
./build-qemu --mode userland
The:
--mode userland
is needed because QEMU has two separate executables:
-
qemu-x86_64
for userland -
qemu-system-x86_64
for full system