Divested-WRT: No-nonsense hardened builds for Linksys WRT series

I compiled the master branch last night with -j2. I do remember reading somewhere a note that issues may be encountered when using parallel compilation. I think it may have been about dependencies but don't remember.

I have, but it's mostly because certain config changes require asking interactive questions during the beginning of the build process.

If you just as V=s to your make -jXX command, and then hit enter a few times at the beginning when it asks questions, you'll be fine and able to compile at almost full speeds (some speed is lost just printing logs to the terminal).

In short, if you run into issues with make -j16, just type make -j16 V=s and hit enter a few times when prompted.

I always clean compile with -j24 with no issues, takes 13 minutes.

What unset Kconfig are you running into, I'm not seeing any.

@SkewedZeppelin
Thanks for the prompt response.
I got these when I ran 'make nconfig'

nn@m142 openwrt]$ make nconfig
tmp/.config-package.in:127845:error: recursive dependency detected!
tmp/.config-package.in:127845:	symbol PACKAGE_ethtool-full depends on PACKAGE_ethtool
tmp/.config-package.in:127832:	symbol PACKAGE_ethtool is selected by PACKAGE_ethtool-full
For a resolution refer to Documentation/kbuild/kconfig-language.rst
subsection "Kconfig recursive dependency limitations"

I ignore this and run 'make -j9' then I get

[nn@m142 openwrt]$ make -j9
make[2]: Entering directory '/home/nn/openwrt/scripts/config'
make[2]: 'conf' is up to date.
make[2]: Leaving directory '/home/nn/openwrt/scripts/config'
time: target/linux/prereq#0.29#0.07#0.37
 make[1] world
 make[2] package/cleanup
 make[2] target/compile
 make[3] -C target/linux compile
    ERROR: target/linux failed to build.
make -r world: build failed. Please re-run make with -j1 V=s or V=sc for a higher verbosity level to see what's going on
make: *** [/home/nn/openwrt/include/toplevel.mk:230: world] Error 1
[nn@m142 openwrt]$ 

I think i has something to do with interactive questions that @adworacz mentioned in his post, because when I run make with -j1 and V=s and press ENTER a few times and the build went OK.

press ENTER a few times and the build went OK.

If you are using an old copy of my patches, you should update them.

Likely this: https://github.com/divestedcg/Divested-WRT/blame/master/patches/0003-kernel-generic-5.10-config-hardening.patch#L37

Also relevant: PureFusion - wrt3200acm, wrt32x, wrt1200ac, wrt1900acs, wrt1900acV1, wrt1900acV2 Builds - #80 by RaZi3L

If you pick my patches, do check them for updates :wink:

1 Like

@adworacz
Thanks! I will try 'make -j9 V=s'

@SkewedZeppelin
That must be it. I just followed the instructions to update the build and did not re-apply the patches. I will try it now.

Thanks again!

I'll have to check again but I've run into this every time I make a new build of late, even with a make clean/git pull/make nconfig

Ahhh gotcha, I did a cursory glance, but maybe this was my problem, my patches were older than your 8/10 update.

@SkewedZeppelin
What is the best way to use your updated patches when trying to update my own build?

I have replaced the patches in the patches/ directory with the new ones.
TIA

@nn5

If you have no additional patches applied on top, something like:

cd ..
git clone https://github.com/divestedcg/divested-wrt.git
cd openwrt
git add -A && git reset --hard origin/master
git am ../divested-wrt/patches/*.patch
1 Like

I use make -j $(nproc) - never had a hiccup unless I messed up.

1 Like

@batkung,

Interested in your experience since I also have the WRT1900ACS(v2).

Do you have any Android devices on the router? We're entirely android here so the disconnect issue would hurt. I thought I saw some reports that advanced reboot was broken here too, but that doesn't look consistent. I'd want the reboot options so I could bounce back and forth as I bring up the new config.

I have a lot of work for the DSA conversion. My VLAN setup isn't crazy, and I wipe router settings on each upgrade. I have UCI scripts that reapply all my configs, and it took a while to get all the syntax correct but then it was golden for years.

There is a fair amount of change with all the interface/device renaming etc. Probably a fair amount of rescripting for me here.

tbh all I have done is install r17246 from the factory img with no settings preserved, then I restored my config files from an earlier build where I was having issues rebooting (it wouldn't reboot even if I tried from inside ssh) and then installed openvpn and the luci front end for it

I have an nvidia shield and an android TV and have no issues (although they are setup with wired connections)..the only wifi devices in my apartment are apple based.

if you are going from a david build to divested I would go the factory img route (although I actually reverted my router back to linksys firmware first (cos I had previously bricked the david build while messing with the vlan settings and had to restore via a serial cable to the PCB) and then went straight to divested.

I did have an issue with openvpn but that was due to me having multiple .conf files in the /etc/openvpn folder (the documentation for openvpn doesn't mention that this is not a good thing to have cos the openvpn will try to start all of the conf settings in that folder)

there was a fix I saw mentioned that had the wifi lease time set to a larger number, but I never implemented it and I'm running fine here.

good luck if you decide to go through with changing over to divested, it wasn't as painful as I thought it was going to be and it feels much safer knowing I'm running a build that is still supported.

@SkewedZeppelin Just wanted to let you know - refreshing your patches did the trick with my builds ("press enter a few times"). I can now successfully build with no input from me.

Thanks for letting me know what I was doing wrong.

Hi All,

Bit of a lurker here. I've been using the Divested builds coming from David's builds which worked very well on my WRT3200ACM. I think the Divested-WRT SNAPSHOT r17319+10-1c9a9f7c7a build was working well. Before that I had all the same issues as many of you particularly with Apple devices having a wireless connection, but not being able to get to the internet or even connect to the router using the IP address. I recently updated the Divested build however and have started having issues again. I'm not sure exactly what is happening, but thought I'd add this comment as a data point. Thanks

5 Likes

If we can confirm that build works by checking out the commit in question and rebuilding, we might be able to bisect and figure out the issue. I’ll look into doing something like this soon.

It looks like the kernel log menu item on Luci web interface disappears in the latest master branch build. Does anyone know how to get it back? TIA.

It is there for me under the first drop down.