Changing options in imagebuilder

I am trying to use openwrt-imagebuilder to create an image but how do I change options that I could change in the "make menuconfig" in snapshot way of building the image?
should I touch the .config file?
I need this to for example disable some busybox builtin functions and use coreutils instead.
btw can I completely remove busybox or is it needed for base of image?can I replace it with something more powerful? my flash size is 32 MB so I have some space for that.

Is there a guide for creating a new profile that I can give to imagebuilder or maybe on top of the linksys wrt1200ac profile?

the wiki is really short on this.

You need a minimal busybox for sysupgrade to work, so be careful with what you remove. More details on this at

I regularly add diff, tar, and a few other things with the "real" packages and disable specific features of busybox only when the build logs indicate that it can't install two packages to the same file location.

yes exactly that.
so how do I tell it to disable those features so I can use the coreutils equivalents and not get errors?
these errors"

  • check_data_file_clashes: Package busybox wants to install file /home/me/projects/openwrt/openwrt-imagebuilder-18.06.1-mvebu-cortexa9.Linux-x86_64/build_dir/target-arm_cortex-a9+vfpv3_musl_eabi/root-mvebu/usr/bin/uptime
    But that file is already provided by package * coreutils-uptime
    "

I need to do that with release image builder, but I dont know how.

I don't know that you can do it with the image builder, as it assembles images from pre-built packages. I use the full build system, which you can likely get going without much more configuration that what you've got for the image builder. https://openwrt.org/docs/guide-developer/build-system/start

The first build is slow, as you need to build the cross-compilation tools, but after that it was taking me ~20 minutes on a modest i37100T machine for a "clean" build, a lot faster if you're not rebuilding everything on every build.

I forgot to add that until yesterday I used the build environment to create custom images but I wanted a more stable one cause I couldn't add nfs package to the image (many errors about libraries).
maybe I should try to report those errors?

I tried the build environment with 18.06.1 tag but the glibc on my rolling system is updated to a higher version that the required one. so I have to use the 18.06 branch.
I just hope I don't get burned and brick the device.

Yes, especially if you can get a hint of the problem. There have been recent reports about the "wrong" version of host libraries on certain distros here on the forums.

where should I report them?
in this subforum?

btw can I find the person responsible for Tor package upgrade and convince him to update to latest version?

You use make menuconfig to disable them from Busybox. If you search for uptime in make menuconfig you'll find Symbol: BUSYBOX_CONFIG_UPTIME, which shows that the option is under Base system / busybox / Process Utilities. Make sure you start with a clean system after changing branches/tags, or you'll get all kinds of errors.

I may have been vague.
I HAVE created that image with build environment for a year now for linksys router and before that for tplink one.
I wanted to add nfs and I got error, so I tried image buidlder and I didn't notice that it actually doesnt build anything just downloads pre-build packages. so no config change it seems.

so I am back to build-env and I will try to build nfs package and report the errors in this forum.

btw what was the package build command (I remember being able to build a package without building entire image again.

make package/xxx/compile

On with cleaning first

make package/xxx/{clean,compile}

1 Like

Use the SDK to rebuild a package with a custom configuration. Don't forget to increment the version number in the package's makefile. Now find the directory under bin/ where the result is located. Add it to the imagebuilder's repositories.conf, and imagebuilder will pick up your custom package.

so I should use SDK for a single package and add that to the image builder repo?

can I use SDK for image building?
is the SDK is what I was actually looking for to create image for, say 18.06.1, but with my own complete optimization and also near stability of release image?

because ,for example, when I use 18.06.1 tag (not branch) for building image from build environment I get library error cause I have archlinux and some library and toolchain are not compatible with 18.06.1 and only with trunk .

No.
You are looking for the full build toolchain if you want to make optimisations to the core Linux.

It makes no sense to build the already old 18.06.1. You should build the HEAD of the stable 18.60 branch. The whole 18.06 branch is stable, not just the release made from an semi-arbitrary commit in the branch.

I did that till now but someone told me because it was a git dev branch I should be careful and I am trying to reduce time spend on compiling software and instead enjoy using it.

and the reason for all this question is that I couldn't compile nfs on my archlinux build environment.
and still cant do that with 18.06 branch (didnt test the snapshot branch)