From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
To: buildroot@busybox.net
Subject: [Buildroot] Buildroot and {Open,DD-}WRT
Date: Thu, 6 Jun 2013 08:18:14 +0200 [thread overview]
Message-ID: <20130606081814.40171835@skate> (raw)
In-Reply-To: <E8FDE7E9-FA85-44C8-A6BE-04D152334B7B@sonic.net>
Dear Charles Musser,
On Wed, 5 Jun 2013 15:16:49 -0700, Charles Musser wrote:
> My (limited, but pleasing) experience with Buildroot is this:
>
> - Configured Buildroot for the "mipsel" architecture and included
> (via "menuconfig") some libraries I was interested in.
>
> - Added an additional package to build another library.
>
> - Used the built cross-compiler to build a binary for the target.
>
> - Popped the built application and libraries onto the target machine,
> which runs DD-WRT and ran them successfully.
>
> My question is: where do Buildroot and DD-WRT (or for that matter
> OpenWRT) intersect? Buildroot is a complete solution, all the way to
> producing a flashable image. Are the *WRT distributions based on
> Buildroot (or use it). Can you add the *WRT sources to Buildroot and
> maybe take advantage of extra hardware support? How do these pieces
> interact (or do they)?
Thanks for those questions. I will only discuss OpenWRT, which I know a
little bit. I had only heard about the name DD-WRT in the past, and I
have no idea what it is exactly compared to OpenWRT.
OpenWRT was originally a fork of Buildroot, but that fork happened
many, many years ago, and since that time, Buildroot and OpenWRT have
diverged significantly. Today, you can't re-use OpenWRT packages in
Buildroot as-is, or the opposite. However, the extra hardware support
in OpenWRT is generally in the form of bootloader and kernel patches,
so there's absolutely no reason you would not be able to re-use these
in Buildroot.
OpenWRT is focused on producing ready-to-use images for Wireless
routers and similar type of devices. So they include a lot of
"product-specific" things, such as a Web configuration interface to
configure the Wireless router settings, they have a lot of extra
hardware support for specific Wireless routers, etc. So it's really a
tool that produces images for Wireless routers, even though you can
also use it for other purposes.
On the other hand, Buildroot doesn't target any specific type of
device, be it in terms of features or hardware type. Buildroot doesn't
package any sort of specific Web configuration interface, it only
packages upstream software, and allows you to select these for your
image. But if you want to reach a final product, you have to make some
integration: add your own applications, configure some applications
installed by Buildroot, maybe write some addition init scripts. So
Buildroot is really a tool that allows to build an embedded Linux, but
it isn't designed to produce immediately "a Wireless router" or a
"set-top box" or such or such product. You can achieve that, but the
selection of packages, the configuration, the integration is left in
the hands of the user.
A good illustration of that is our default configuration for various
hardware platforms (in the configs/ directory). They only configure the
minimum to boot those platforms into a shell prompt, and that's it.
Since Buildroot is so product-agnostic, we can't decide for the user
whether we should install Gtk or Qt, Qt4 or Qt5, no GUI at all, whether
Dropbear or OpenSSH should be there, etc. So we simply make no choice
at all, and those configurations only define the architecture, the
bootloader version/configuration and the kernel version/configuration.
So Buildroot by itself doesn't really need any specific hardware
support for a given platform. As long as you have bootloader sources
and kernel sources that work for this platform, you can simply point
Buildroot to them, and that's it.
Another difference is that OpenWRT is capable of generating binary
packages (.ipk) while Buildroot is not.
Does that answer your questions? If not, do not hesitate to ask for
additional clarifications.
Best regards,
Thomas
--
Thomas Petazzoni, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com
prev parent reply other threads:[~2013-06-06 6:18 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-06-05 22:16 [Buildroot] Buildroot and {Open,DD-}WRT Charles Musser
2013-06-06 6:18 ` Thomas Petazzoni [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20130606081814.40171835@skate \
--to=thomas.petazzoni@free-electrons.com \
--cc=buildroot@busybox.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox