[OpenWrt-Devel] SDK vs. Toolchain+

Daniel Dickinson openwrt at daniel.thecshore.com
Tue Jan 5 10:04:20 EST 2016

On 04/01/16 05:40 AM, Felix Fietkau wrote:
> I'd like to suggest a simpler one, which is in line with the current
> naming in OpenWrt:
> The SDK is what builds software for an already running system.
> It doesn't have to build images, it doesn't have to be used to build
> full systems, it's just what you use to compile packages for a
> particular existing build of OpenWrt.
> This is consistent with many examples listed here:
> https://en.wikipedia.org/wiki/Software_development_kit
> It also matches existing examples using embedded devices, e.g. Android
>> Does that clarify my thinking a little for you, and do you see, perhaps,
>> the value of the current toolchain+ type of SDK in addition to the kind
>> of SDK I think you're thinking of (That I call a 'real' SDK)?
> It clarifies your thinking for me, however I don't see much value in
> adopting your terminology, as it still seems to be somewhat convoluted
> and non-standard to me.

My source of definition is from I now realize is non-standard usage that 
(some) ODMs use for their 'SDK' for firmware.  From what I've seen they 
are typically not shipping an SDK in the sense you describe above (and 
which is the more standard terminology), but a system for building an 
entire firmware.

So there are actually three different types of things here:

1) An SDK (a system used to build software for an already existing system)
2) A firmware build system (OpenWrt buildroot, or what I've seen called 
either an SDK or board support package depending on who is shipping it).
3) A toolchain (prebuilt binaries used to bootstrap a build system such 
as 1 or 2) / the tools needed to build other things (I wouldn't consider 
the source for a toolchain as a toolchain itself, but as what can be 
used to build a toolchain; I think that's a reasonable definition 
although some people use the terms interchangably and don't distinguish 
between toolchain source and a toolchain, but I think that cretes 
confusion because they are actually different things and have different 

I think it can be useful to have an SDK that is prebuilt binaries 
because of the bootstrapping problem and time cost of building, but I 
also see how this could be abused, and am of two minds about how to deal 
with the issue that having to build the toolchain for an SDK before 
being able use the SDK is rather painful (or at least it tests my 
patience; don't know about other people).


openwrt-devel mailing list
openwrt-devel at lists.openwrt.org

More information about the openwrt-devel mailing list