I am looking into building a stable release for my Netgear AC1200 (R6120) router, as I can't install SQM packages to deal with bufferbloat because of a kernel package version mismatch. From what I see a lot of work is involved with finding out correct settings (which isn't the problem as long as I know where I'm looking).
The thing is though, the snapshot for this device works fine, LEDs and all, so somehow the way the snapshot is configured is in such a way that if I could get this information somewhere, the creating of this stable release should be a lot easier.
The menuconfig option of make in the source does not include my device. But somewhere, a specific snapshot image IS built for my specific device. Is there any way of obtaining this information so I can create a stable build for my device and have the right kernel version to install SQM packages?
Snapshots are self-consistent "for a day". Using the image builder has the same issues, as it depends on assembling packages from the public repo. As long as you are willing to flash a snapshot, then install all the packages you need "immediately", they should work for you.
Building your own images from source will provide "stable" versions as long as you don't update the source. At least for me, if you've gone that far, you might as well update the source and always build a custom image when you want to add anything but a "trivial" package. The defaults are pretty much everything in a "release" image but LuCI. I keep my "seed" config in a separate set of files so I can quickly create a new
.config (and keep those in
./env/ using symlinks and git as well).
Here's my personal choices for some perf testing I'm doing right now. They are a lot different than what most people use or need.
cat these into
.config, then use
make menuconfig to "fill out" the config with the dependencies prior to a build. One could also just keep them all together, but I do a lot of testing, so "mix and match" has its advantages for me.
jeff@deb-devel:~/devel/openwrt_config$ cat select/ea8300
jeff@deb-devel:~/devel/openwrt_config$ cat config.local
# build-details is a local package that captures the state of my source and config into the images
jeff@deb-devel:~/devel/openwrt_config$ cat config.utils
jeff@deb-devel:~/devel/openwrt_config$ cat config.luci
jeff@deb-devel:~/devel/openwrt_config$ cat config.luci-sqm
jeff@deb-devel:~/devel/openwrt_config$ cat config.openvpn-luci
jeff@deb-devel:~/devel/openwrt_config$ cat config.wireguard-luci
In some cases, I rely on one package bringing in the underlying package, such as
luci-app-sqm bringing in the SQM scripts.
I have created a config.local containing
and cat'ed it into my .config file after being generated by 'make menuconfig', then ran 'make'. I would expect a *.bin file in openwrt/target/linux/ramips/mt76x8/netgear/r6120 (or something similar). /mt76x8/ only contains
config-4.14 profiles target.mk
Is there something I am doing wrong?
Also, adding luci-app-sqm as a package generates an error as being unable to satisfy dependencies for lua, luci-base and sqm-scripts. Shouldn't these be pulled in automatically?
Hmmm, I would have done something like:
cat my.config > .config
make menuconfig # and save
make -j12 clean download world
and would have expected the output to be under
With self-built images, one generally adds the packages they need to the build with
make menuconfig or in the
.config file directly, rather than relying on the public repos (which often won't be compatible with the local build's kernel and perhaps libraries).