Proposal: Remove the "using official build config" from the build system setup instructions

The current wiki page for setting up a local build system has a step that I would consider not only optional, but in fact extremely misleading:

https://openwrt.org/docs/guide-developer/toolchain/use-buildsystem#using_official_build_config

Downloading the config.buildinfo file as configured for the build bot results some undesired behavior:

  • CONFIG_BUILDBOT is set to true, so no ccache will occur
  • ALL_KMODS and ALL_NONSHARED are true, so:
    • The build will take an extraordinarily long time unnecessarily
    • Users who follow the wiki will be posting around the forum and GitHub asking why certain troublesome libraries (ahem libpfring), which they don't even need, do not compile (I'm so guilty of this)
  • A diffconfig created from this config, as suggested by a later step in the wiki, results in a cluttered diffconfig that can be difficult to change to another target later
    • I might just have done something dumb, but I got myself into trouble trying to use menuconfig to change from my Redmi AX6000 to my RT3200 and ended up with no firmware for the RT3200's wifi. It's a lot simpler when the diff is just "target + luci" for example.

I propose, and have the permissions for doing so if the community agrees, removing this wiki step entirely, as I think it's extraordinarily unlikely that an individual wants to build all kmods, all shared libraries, all targets, and all of this with no caching, and ensuring the guide to an initial config with menuconfig is sufficient for new builders.

3 Likes

Yes, using the official build config for personal builds is not sensible (because no one needs 'everything' and reducing the config to the things you really need, will save you a lot of time and build storage), but still an important documentation that needs to be there.

4 Likes

I agree with @jkdf2 that the build-bot config is not useful for the majority of users. However, also agree with @slh that it is important to make sure the build-bot configuration is well documented.

I'd propose additions to the wiki page of exactly the points/behaviors described in this thread, possibly with an explanation why most users would likely benefit from not building with the official build config.

So under the "Using official build config" section, add something to the effect of:

Most users will find this method for unsuitable for compiling personal builds because it is very time consuming and uses much more storage than is typically necessary. It is designed for the build-bot process and has the following attributes:
<insert points from @jkdf2 's post above>

5 Likes

When building a kernel module, it's necessary to replicate the official build. Perhaps the explanation can be improved, but I do not think it should be removed.

3 Likes