# Linux Kernel Module Cheat

### 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

- User mode GDB