|
Difference between DD-WRT BrainSlayer, Eko, Fractal, and Kong Builds
本帖最後由 tomleehk 於 2015-10-31 14:03 編輯
http://www.stevejenkins.com/blog ... al-and-kong-builds/
It’s a question asked in the DD-WRT forums all the time. It’s a question often asked in the comments of my DD-WRT posts. And it’s a question to which no “official” answer from the primary maintainers of DD-WRT exists… and therefore it will probably keep getting asked. However, based on my experiences (and some conversations with some of the builders themselves), I’ll take my best stab at explaining the differences between the various popular builds of DD-WRT, particularly those released by BrainSlayer, Eko, Fractal, and Kong — and finish with an explanation of why you really should ignore the Router Database on the DD-WRT website. I welcome updated and corrected information in the comments, and I’ll incorporate it into the post.
First, let’s start with BrainSlayer. His real name is Sebastian Gottschall, and he’s the founder and primary maintainer of the DD-WRT project. As such, BrainSlayer gets the final say regarding what bits are included in the “official” stable release versions. However, the last stable release, known as Version 24 Service Pack 1 (or more commonly seen as v24 SP1) came out way back in July 2008. Since then, the WiFi technology landscape has changed massively, there’s been flurry of development activity in the third-party open source router firmware space, and literally hundreds of new router models have come on the market. That means that BrainSlayer’s goal of creating and packaging “one firmware to rule support them all” is a major challenge.
BrainSlayer actively contributes to the DD-WRT source code, and tracks all source code development with the Trac SVN system (you can view the timeline of that development here). Every new code changeset that gets committed to the system is automatically assigned a changeset number (for an example, click here to see what changeset 22212 looks like). Because it’s an open source project, anyone is welcome to download any version of the DD-WRT source code from the SVN and compile their own binary firmware file.
Which brings us to the difference between “source code” and “build.” Most open source projects have a central repository where the source code is managed, and developers make changes to that source code based on feature requests and bug reports from users. Source code is generally hardware “agnostic” — meaning it’s not targeted specifically to one particular hardware platform. Take the open source browser Firefox as a well-known example. Even though the Windows, Mac, and Linux versions of Firefox all share the same central source code, you can’t run the Windows version of Firefox on Mac or Linux, or the Mac version on Windows or Linux, or the Linux version on Windows or Mac. That’s because source code needs to be compiled (or built) for a specific hardware platform before it can be used on that platform. DD-WRT is no different. Even though they may share the same source code, a DD-WRT firmware file that was compiled specifically for a Linksys router won’t run on a Netgear or Belkin router (and in fact, might break it).
When BrainSlayer himself builds a set of binaries (based on one of the changesets in the source code), that’s called a BrainSlayer build. BrainSlayer builds do not happen often, and are only available on the DD-WRT website. Final “stable” builds (like the one from July 2008) are always BrainSlayer builds. “Official” development releases (listed on the front page of the DD-WRT website) are also BrainSlayer builds. BrainSlayer’s development builds tend to focus on supporting only the most recent router hardware. As such, most of the BrainSlayer “development” releases are generally not compatible with router hardware that may be only 1-2 years old. And the “stable” releases are so old (again, 2008!) that you’re missing out on a massive amount of features by running them… which is why other contributors’ builds are popular among open source firmware users.
If you examine the SVN timeline, you’ll see that BrainSlayer isn’t the only person committing changesets to the project. On the DD-WRT About Page, he lists a number of other contributors to the project, including Ales Majdic — better known in DD-WRT circles as Eko. Eko is less active these days, but used to be a major contributor of bug fixes and new features to the DD-WRT source code. He is perhaps best known for being one of the first developers to create separate builds (called “rolling” a build) that incorporated older drivers for some of the older hardware (referred to as “VINT” for “vintage”). In those builds, Eko removed some newer packages from the source that wouldn’t compile properly for older router hardware (especially Broadcom). Even though Eko no longer actively creates test builds, his older builds can generally be found on the DD-WRT website and still work on older hardware.
Another popular builder is Kong. Kong’s older “kongmod” builds focused on making tweaks to the source code to allow compatibility with certain types of hardware, with an emphasis on getting as many features and drivers working on various router hardware, even if that means patching some of the drivers with versions that are even newer than the ones used in the official source. But that’s no longer the case. BrainSlayer has since granted write permission to the DD-WRT source code repository, so Kong no longer creates patches outside of the source — and no longer creates “kongmod” builds. His patches and tweaks are now contributed directly to the DD-WRT source code project, and his current builds are (in his words) “plain DD-WRT without any extras.” Kong recently told me:
Thus you won’t have any benefits anymore by flashing my builds, except that I’m able to provide sometimes more recent builds, as I concentrate on a subset of supported routers. In addition to that I do some basic testing with the units I own and I usually don’t upload builds that have issues with basic functionality. Since Brainslayer cannot test each build on every router he supports you will see issues for his builds like fw not beeing flashable because it is a few bytes to big, or broken wireless etc. That’s the reason why my builds are popular among users that have the unit I develop for.
Kong’s builds (both the older “kongmod” and newer “plain dd-wrt” versions) can be found here.- http://www.desipro.de/ddwrt/
複製代碼 Kong also gave me a humorous description of how some of the well known DD-WRT contributors and builders could be considered:
Brainslayer is Master Yoda. I’m now Obi Wan. Fractal is a Padawan. Eko is a retired Jedi Master. There are a few more Jedi Masters e.g. Sash, Chris, Markus
Sash, Chris, and Markus are known contributors to the DD-WRT source code, but don’t actively create test builds. And Fractal? Let’s discuss him next.
Fractal is a relatively newer contributor to the DD-WRT project, and will also contribute to the main DD-WRT repository. Like Kong’s newer builds, Fractal’s builds are also based on the central DD-WRT source code, but with a primary focus on rolling builds for Broadcom-based hardware, especially the newer Cisco/Linksys routers. Fractal is known for rolling a large number of “trailed” builds specifically those types of units, which allows them to be flashed directly from the stock firmware. Fractal has told me:
I do / have been concentrating on Broadcom builds especially with the new hardware, aka E series routers, and now the AC devices. I roll trailed builds when I know something major has been fixed and I do contribute to the SVN trac, however I have not the Jedi master — I leave that to Brainslayer and Kong….
Fractal’s builds can be found here.- ftp://ftp.basmaf.com/Fractal_Builds/
複製代碼 So, which build is right for you? In the past, that depended primarily on your hardware and your goals. For older Broadcom stuff, you’d run Eko. For bleeding edge features, you’d run a kongmod. For newer Broadcom stuff, you’d probably lean toward Fractal.
But now, with the DD-WRT source tree unified, and all the major builders and developers feeding into (and from) the same source code repository, it now matters a lot less which test build you run (especially if you have current WiFi hardware). If you insist on an older “official” build, even if that means you’re missing out on features, then go for a BrainSlayer “stable” build. The best advice I can give you when choosing the right build for you is the start with the DD-WRT wiki entry for your specific router model. It will (usually) contain up-to-date information regarding where you should at least start, and then watch the forums to see which builds are stable. |
|