And by the way, I started researching into how to compile DD-WRT myself due to macOS dropping support of L2TP over IPSec. And DD-WRT built-in SoftEther runs L2TP over IPSec which means I can no longer connect to the DD-WRT flashed device I have.
I successfully built a cross-compiler, gcc 9.3.0 (musl Libc) for ARMv7 and compiled strongSWAN 5.8.4 for the DD-WRT. But then I realised the lacking of kernel modules that rendered the strongSWAN connectable but without real communications going through. Therefore, I am digging out how to compile things from source to build things like xt_policy.ko, etc. And eventually even modifying some bits and bytes to built my own firmware binaries.
Well you have to set the toolchain/bin in your current path.
I do. But there is no such binaries in the path since the prefix differs.
egc wrote:
To be honest not many people were successful in building DDWRT.
You have to be a wizard in cross compiling C.
Well, some time ago I have such an experience. Have you managed to do it?
egc wrote:
The toolchain from OpenWRT is a start but it needs a lot of tweaking and dark magic.
BS must have some special build system and toolchain if he is compiling the source without modification
I have asked him once if we could get his new toolchain but he said that was not necessary, he said you can build with his older toolchains too
Ok. I'll take to take those built by BS.
I've just found some issues in IPv6 and wanted to test fixes and submit a patch. How one usually did this? Or BS makes everything alone without others help?
Joined: 08 May 2018 Posts: 8024 Location: Texas, USA
Posted: Sat Apr 25, 2020 22:52 Post subject:
dmitrmax wrote:
I've just found some issues in IPv6 and wanted to test fixes and submit a patch. How one usually did this? Or BS makes everything alone without others help?
Given that:
# cat /proc/version
Linux version 3.10.108-d10 (root@linux) (gcc version 9.2.0 (OpenWrt GCC 9.2.0 r10890-7d542dc804) ) #3540 Fri Apr 10 13:25:57 +04 2020
I assume that is possible to build DD-WRT with OpenWRT toolchain. I've cloned OpenWRT, built its toolchain - it has prefix mipsel-openwrt-linux-musl-
How should I configure DD-WRT to use such a toolchain? First error I get is:
Code:
ccache: error: Could not find compiler "mipsel-linux-uclibc-gcc" in PATH
musl and uclibc are two different libc implementations. I don't know much about what the DDWRT MIPS builds expect but if that's the mismatch, you can configure the OpenWrt toolchain to use one vs the other.
I have yet another problem here, I tried to compile DD-WRT for ARMv7-MUSL with the linux-4.4 kernel enclosed in the source tree. But iptables 1.3.7 failed to compile complaining of missing headers, e.g.,
I see that starting from some version of Linux 2.6, the above headers are dropped. But at the same time iptables 1.3.7 and Linux 4.4.208-rc1 is the version of iptables and Linux in my running DD-WRT. So I wonder how BrainSlayer compiled this version of firmware from the start?
Furthermore, one more question that Linux 4.4.208 in Linux repository seems to exist, *without -rc1* extra version, is -rc1 burnt from Makefile to the compiled OS instead of being a real release from Linux?
If an official build has -rc1 and the one in the repository does not, then the official build may be "older" than the most recent changeset on that directory. As far as the header issues, there is no telling what magic voodoo is going on. I'm sure the folks tinkering around with the Northstar stuff probably have a better idea. I haven't looked at their WIP.
Thanks kernel-panic! Is -rc* abbreviation of release candidate?