= run usage .... ./run [OPTIONS] [-- EXTRA_RUN_ARGS] .... [options="header"] |=== |Name |Argument name |Description |`-a` |`ARCH` |Run architecture `ARCH`. |`-c` |`NCPUS` |Emulate `NCPUS` guest CPUs. |`-D` | |Run GDB on the emulator itself. |`-d` | |Wait for GDB to connect before starting execution. |`-E` |`CMDSTR` |Replace the normal init with a minimal init that just evals with given `CMDSTR` bash command string. Example: `-E 'insmod /hello.ko;'` |`-e` |`CLI_OPTIONS` |Pass an extra Linux kernel command line options, and place them before the dash separator `-`. Only options that come before the `-`, i.e. "standard" options, should be passed with this option. Example: `./run -a arm -e 'init=/poweroff.out'` |`-F` |`CMDSTR` |Much like `-f`, but base64 encods the string. Mnemonic: `-F` is to `-f` what `-E` is to `-e`. |`-f` |`CLI_OPTIONS` |Pass an extra Linux kernel command line options, add a dash `-` separator, and place the options after the dash. Intended for custom options understood by our `init` scripts, most of which are prefixed by `lkmc_`, e.g.: `./run -f 'lkmc_eval="wget google.com" lkmc_lala=y'` Mnenomic: comes after `-e`. |`-G` | |Pass extra options to the gem5 executable. Do not confuse with the arguments passed to config scripts, like `fs.py`. Example: `./run -G '--debug-flags=Exec --debug' -g` |`-g` | |Use gem5 instead of QEMU. |`-h` | |Show this help message. |`-I` | |Run with initramfs. |`-i` | |Run with initrd. |`-K` | |Use KVM. Only works if guest arch == host arch. |`-k` | |Enable KGDB. |`-m` | |Set the memory size of the guest. E.g.: `-m 512M`. Default: `256M`. The default is the minimum amount that boots all archs without extra options added. Anything lower will lead some arch to fail to boot. Any |`-T` | |Enable extra QEMU trace events. `./configure --enable-trace-backends=simple` seems to enable some by default, e.g. `pr_manager_run`, and I don't know how to get rid of them. But those events are rare and should not impact performance, so we just ignore them for now. |`-U` | |Pass extra parameters to the program running on the `-u` tmux split. |`-u` | |Create a tmUx split the window. You must already be inside of a `tmux` session to use this option. * on the main window, run the emulator as usual * on the split: ** if on QEMU and `-d` is given, GDB ** if on gem5, the gem5 terminal |`-V` | |Run QEMU with VNC instead of the default SDL. Connect to it with: `vinagre localhost:5900`. |`-x` | |Run in graphic mode. Mnemonic: X11. |===