# Linux Kernel Module Cheat

#### 2.8.2. Userland setup getting started

There are several ways to run our Userland content, notably:

- natively on the host as shown at: Section 2.8.2.1, “Userland setup getting started natively”

  Can only run examples compatible with your host CPU architecture and OS, but has the fastest setup and runtimes.

- from user mode simulation with:

  - the host prebuilt toolchain: Section 2.8.2.2, “Userland setup getting started with prebuilt toolchain and QEMU user mode”

  - the Buildroot toolchain you built yourself: Section 11.1, “QEMU user mode getting started”

  This setup:

  - can run most examples, including those for other CPU architectures, with the notable exception of examples that rely on kernel modules

  - can run reproducible approximate performance experiments with gem5, see e.g. BST vs heap vs hashmap

- from full system simulation as shown at: Section 2.2.1, “QEMU Buildroot setup getting started”.

  This is the most reproducible and controlled environment, and all examples work there. But also the slower one to setup.

- Userland setup getting started natively

- Userland setup getting started with prebuilt toolchain and QEMU user mode

- Userland setup getting started full system