Hi folks,
First post... please be gentle I have some experience using pre-built images, and i've compiled kernels before (albeit, over 10 years ago that i did it in earnest!)
I'm trying to turn a 4/32 device (Netgear WNR2000v2) into either a simple load balancer (for internal services, not WAN, possibly using ipvsadm?) or possibly a VPN server.
I realise i'm going to have to save some space to do this. I've disabled IPv6 and PPP support via the following options (in make menuconfig):
Global build settings ---> Enable IPv6 support in packages
Kernel modules ---> Network Support ---> kmod-ppp
Network ----> ppp
This builds an image roughly 200k smaller. Not bad to start with i guess I've not actually flashed this image to test yet however.
But i would also like to completely disable wifi support (partly to save space, partly for security reasons), making it an ethernet-only device.
I've tried disabling the following (in make menuconfig):
-> Kernel modules │
-> Wireless Drivers
kmod-b43
kmod-mac80211
kmod-cfg80211
Firmware ---> wireless-regdb
I couldn't find any options for disabling userspace wifi configuration tools, so tried to build. But the build fails as follows:
Collected errors:
* satisfy_dependencies_for: Cannot satisfy the following dependencies for kmod-leds-gpio:
* kernel (= 4.14.167-1-d25c9dcf1a85670894a3aca2dbc1c8e7)
* opkg_install_cmd: Cannot install package kmod-leds-gpio.
* satisfy_dependencies_for: Cannot satisfy the following dependencies for kmod-ledtrig-netdev:
* kernel (= 4.14.167-1-d25c9dcf1a85670894a3aca2dbc1c8e7)
* opkg_install_cmd: Cannot install package kmod-ledtrig-netdev.
* satisfy_dependencies_for: Cannot satisfy the following dependencies for kmod-ledtrig-default-on:
* kernel (= 4.14.167-1-d25c9dcf1a85670894a3aca2dbc1c8e7)
* opkg_install_cmd: Cannot install package kmod-ledtrig-default-on.
* satisfy_dependencies_for: Cannot satisfy the following dependencies for kmod-ledtrig-timer:
* kernel (= 4.14.167-1-d25c9dcf1a85670894a3aca2dbc1c8e7)
* opkg_install_cmd: Cannot install package kmod-ledtrig-timer.
* satisfy_dependencies_for: Cannot satisfy the following dependencies for kmod-lib-crc-ccitt:
* kernel (= 4.14.167-1-d25c9dcf1a85670894a3aca2dbc1c8e7)
* opkg_install_cmd: Cannot install package kmod-lib-crc-ccitt.
* satisfy_dependencies_for: Cannot satisfy the following dependencies for kmod-nf-reject:
* kernel (= 4.14.167-1-d25c9dcf1a85670894a3aca2dbc1c8e7)
* opkg_install_cmd: Cannot install package kmod-nf-reject.
* satisfy_dependencies_for: Cannot satisfy the following dependencies for kmod-nf-ipt:
* kernel (= 4.14.167-1-d25c9dcf1a85670894a3aca2dbc1c8e7)
* opkg_install_cmd: Cannot install package kmod-nf-ipt.
* satisfy_dependencies_for: Cannot satisfy the following dependencies for kmod-nf-ipt6:
* kernel (= 4.14.167-1-d25c9dcf1a85670894a3aca2dbc1c8e7)
* opkg_install_cmd: Cannot install package kmod-nf-ipt6.
* satisfy_dependencies_for: Cannot satisfy the following dependencies for kmod-ipt-core:
* kernel (= 4.14.167-1-d25c9dcf1a85670894a3aca2dbc1c8e7)
* opkg_install_cmd: Cannot install package kmod-ipt-core.
* satisfy_dependencies_for: Cannot satisfy the following dependencies for kmod-nf-conntrack:
* kernel (= 4.14.167-1-d25c9dcf1a85670894a3aca2dbc1c8e7)
* opkg_install_cmd: Cannot install package kmod-nf-conntrack.
* satisfy_dependencies_for: Cannot satisfy the following dependencies for kmod-nf-nat:
* kernel (= 4.14.167-1-d25c9dcf1a85670894a3aca2dbc1c8e7)
* opkg_install_cmd: Cannot install package kmod-nf-nat.
* satisfy_dependencies_for: Cannot satisfy the following dependencies for kmod-nf-flow:
* kernel (= 4.14.167-1-d25c9dcf1a85670894a3aca2dbc1c8e7)
* opkg_install_cmd: Cannot install package kmod-nf-flow.
* satisfy_dependencies_for: Cannot satisfy the following dependencies for kmod-ipt-conntrack:
* kernel (= 4.14.167-1-d25c9dcf1a85670894a3aca2dbc1c8e7)
* opkg_install_cmd: Cannot install package kmod-ipt-conntrack.
* satisfy_dependencies_for: Cannot satisfy the following dependencies for kmod-ipt-offload:
* kernel (= 4.14.167-1-d25c9dcf1a85670894a3aca2dbc1c8e7)
* opkg_install_cmd: Cannot install package kmod-ipt-offload.
* satisfy_dependencies_for: Cannot satisfy the following dependencies for kmod-ipt-nat:
* kernel (= 4.14.167-1-d25c9dcf1a85670894a3aca2dbc1c8e7)
* opkg_install_cmd: Cannot install package kmod-ipt-nat.
package/Makefile:65: recipe for target 'package/install' failed
make[2]: *** [package/install] Error 255
make[2]: Leaving directory '/home/rbshep/OPENWRT/NetgearWNR2000v2/openwrt'
package/Makefile:108: recipe for target '/home/rbshep/OPENWRT/NetgearWNR2000v2/openwrt/staging_dir/target-mipsel_74kc_musl/stamp/.package_install' failed
make[1]: *** [/home/rbshep/OPENWRT/NetgearWNR2000v2/openwrt/staging_dir/target-mipsel_74kc_musl/stamp/.package_install] Error 2
make[1]: Leaving directory '/home/rbshep/OPENWRT/NetgearWNR2000v2/openwrt'
/home/rbshep/OPENWRT/NetgearWNR2000v2/openwrt/include/toplevel.mk:225: recipe for target 'world' failed
make: *** [world] Error 2
Is there any way to do this without substantially changing the build system / uci / other code? If it does require changes, would it be possible for this to go into a feature request?
I know it's quite ironic given the projects' name and tag line, but i'm sure there must be other use cases for removing Wi-Fi support from an image.
Thanks to all the developers and the community for creating a great way to upcycle otherwise useless routers