Files
linux-kernel-module-cheat/build-usage.adoc
Ciro Santilli 1721f184d6 gem5: track build and run variants separately with -M and -N
Otherwise, checking out branches is too insane, as it does not
update the worktrees, even though the gem5/gem5 module was updated.

gem5: expose build types, document debug builds.

simultaneous runs: store stdout and stderr on a file to allow running
all from a single terminal on the background cleanly.
2018-06-27 16:31:24 +01:00

58 lines
2.9 KiB
Plaintext

= build usage
....
./build [OPTIONS] [-- EXTRA_MAKE_ARGS]
....
== build configuration options
[options="header"]
|===
|Name |Argument name |Description
|`-a` |`ARCH` |Build for architecture `ARCH`.
|`-B` |`BR2_CONFIG` |Add a single Buildroot option to the current build.
Example: `-B 'BR2_TARGET_ROOTFS_EXT2_SIZE="512M"'`
|`-b` |`BR2_CONFIG_FILE` |Also use the given Buildroot configuration fragment file.
Pass multiple times to use multiple fragment files.
|`-C` |`CONFIG_SOMETHING` |Also use the given Linux kernel configuration, example:
`./build -c 'CONFIG_FORTIFY_SOURCE=y'`
Can be used multiple times for multiple configs.
These options take precedence over `-c`.
|`-c` |`KERNEL_CONFIG_FILE` |Also use the given kernel configuration fragment file.
Pass multiple times to use multiple fragment files.
These options take precedence over `-K`.
|`-f` | |Skip the Buildroot configuration. Saves a few seconds,
but requires you to know what you are doing :-)
Mnemonic: `fast`.
|`-g` | |Enable gem5 build or force its rebuild.
|`-h` | |Show this help message.
|`-L` |`VARIANT` |Linux kernel build variant.
|`-I` | |Enable initramfs for the current build.
|`-i` | |Enable initrd for the current build.
|`-K` |`KERNEL_CONFIG_FILE` |Use `KERNEL_CONFIG_FILE` as the exact Linux kernel
configuration. Ignore the default kernel config fragments,
but still add options explicitly passed with `-C` and `-c`.
on top of it.
|`-M` |`VARIANT` |gem5 build variant.
|`-p` | |Pass extra arguments to the `rootfs_post_build_script`.
|`-S` | |Don't build QEMU with SDL support.
Graphics such as X11 won't work, only the terminal.
|`-s` | |Add a custom suffix to the build.
E.g., doing `./build -s mysuf` puts all the build output
into `out/x86_64-mysuf`. This allows keep multiple builds around
when you checkout between branches.
|`-v` | |Do a verbose build.
|===
== build target options
[options="header"]
|===
|Name |Forces rebuild of |Extra actions
|`-g` |gem5 |
|`-k` |Kernel modules |
|`-l` |Linux kernel |Touches kernel configuration files to overcome:
https://stackoverflow.com/questions/49260466/why-when-i-change-br2-linux-kernel-custom-config-file-and-run-make-linux-reconfi
|`-q` |QEMU |
|===