[OpenWrt-Devel] SDK vs. Toolchain+
openwrt at daniel.thecshore.com
Sun Jan 3 18:32:54 EST 2016
On 03/01/16 01:01 PM, Felix Fietkau wrote:
> On 2016-01-03 18:53, Daniel Dickinson wrote:
>> Hi Felix,
>> I think part of the confusion stems from the fact that the current SDK
>> is not really an SDK but a 'Toolchain+'. Perhaps the current SDK should
>> be renamed to clarify that point, and a 'real' SDK created.
> What's a 'real' SDK as opposed to a 'Toolchain+'?
Perhaps it's just the way I think of it, but a Toolchain/Toolchain(+)
provides everything need to do build on a particular platform, with only
minor exceptions of things included with OS in a standard install. It's
binary or equivalent (i.e. no special tools required) pretty much by
definition because it's supposed to take care of providing what you need
to do a build. You can talk about the source of a toolchain, but I
don't think it's coherent to talk about the source as the toolchain. A
toolchain of some sort is typically required to build an SDK, or to
develop new versions of the toolchain (assuming you have the source of
A 'real' SDK on the other hand allows you to build toolchains and
systems from scratch, but has more dependencies (unless it's combination
SDK + Toolchain) because the operating system has to provide enough
build machinery to build from source (or in the proprietary version,
source + binary bits that theoretically can be legitimately packaged
that way and/or 'protect' 'special' IP).
It's kind of a greyish area for definitions because I'm not sure there
is a consistent usage of the SDK term in industry. I think in some
cases SDK is used to mean what I think of as Toolchain+ that is used
build add-ons for a system, but is platform-specific (and not
necessarily with source to port either), whereas in the the open source
world I think SDK tends to imply something that lets you build from
scratch (with source).
In any event, regardless of what you call it, the current OpenWrt SDK is
of the variety of (mostly) standalone binaries that you use to build
packages for openwrt, rather than of a set of sources that can be used
to build what you need to build packages and/or the packages themselves
(which is what I would consider a 'real' SDK vs the current Toolchain+).
The two types of things have different goals. the 'real' SDK is meant to
provide the ability to develop the system; the toolchain/toolchain+ is
meant to bootstrap the process or at least make building stand on it's
own for a given platform.
>> The current SDK is useless without ImageBuilder and/or package repositories.
> Not really. It allows you to build packages that you can put on a
> running system built from the same release (including out-of-tree kernel
Ok, I mean useless for building firmware; it certainly isn't useless by
any means (I fin it rather useful as a Toolchain+; for SDK there is
buildroot + feeds + downloaded packages).
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)?
openwrt-devel mailing list
openwrt-devel at lists.openwrt.org
More information about the openwrt-devel