Removing all module package for a custom image


I'm working on an OpenWrt image for a custom board. As we don't plan that our users need to install any new packages, I'm wondering if I could remove from menuconfig all package that are set to module.

If I understand correctly, all package that are mark as module are only compile as an ipk to be provided to be install afterward. And this including the kmod packages.

Am I right?
Is there some down side to do this?

Note: We'll need to keep our image up to date by migrate it to each new OpenWRT version so I use a diffconfig file that we'll need to update when migrating.

Thanks for your help

Please post

ubus call system board
# ubus call system board
        "kernel": "5.15.147",
        "hostname": "Gateworks",
        "system": "ARMv8 Processor rev 2",
        "model": "Gateworks Newport CN80XX GW6404",
        "board_name": "gw,gw640x",
        "rootfs_type": "squashfs",
        "release": {
                "distribution": "Gateworks",
                "version": "20240522-1504",
                "revision": "r24940-25526d1813",
                "target": "octeontx/generic",
                "description": "Gateworks 20240522-1504 r24940-25526d1813"

You are not using OpenWRT from . you are using gateworks repackaged fork and you have to ask them. In normal OpenWRT you can build all modules into kernel and provide empty kmod- packages for package manager selecting Y (ipo default M) for particular kernel option

Thanks for your answer.

What I try to understand apply to OpenWrt in general.

Is it true to say that:

  1. Packages (any package not only kmod) that are selected as module are not installed in the root file system.
  2. If we don't plan to use the possibility to install additional package through the package manager (LuCI page system::software), then for all packages that are default to M in the .config file, I can change it to "is not set" using menuconfig to avoid to compile it.


Cannot guarantee it works that way with binary blobs fork installs with their SDK BSP....

For official OpenWrt, you can find information about the build environment (including packages, kmods, etc.) here:

That should answer your questions about how the system works for the official project.

However, you current device is not using official OpenWrt. Instead, it clearly has a vendor modified SDK. Please ask the vendor or maintainer of the SDK for help with your build and requirements.

@psherman Thanks! This is exactly the information I was looking for. I don't why I missed this section. I consult this page regularly.

This topic was automatically closed 10 days after the last reply. New replies are no longer allowed.