[Buildroot] Question About the Rational Limitations on Buildroot as a Tool

Peter Korsgaard peter at korsgaard.com
Mon Feb 1 11:00:14 UTC 2021


>>>>> "buck" == buck winston via buildroot <buildroot at busybox.net> writes:

Hi,

 > First, I want to start this e-mail off by giving a huge thanks to those
 > that created and maintain(ed) this tool. Folks like yourselves are what
 > enable people like me to convince even less experienced people that
 > they're anywhere close to the genius that you all actually are. I know
 > you all may not see your contributions as particularly 'noble', but I do
 > - and before I ask anything (take) from you all, I want to at least give
 > you all your just due for a job well do. 

 > I know there's a chance that this question was asked before - _but I
 > legitimately looked for the answer to it online and in other resources
 > and did not find a satisfactory one. _ 

 > If there is an answer roaming out there somewhere, I'm just an idiot and
 > I missed it - please forgive me. 

 > Question About Limitations of 'Buildroot' 

 > I stumbled across buildroot through Fabrice Bellard's tool (JSLinux).
 > Being fascinated with 'JSLinux' (client-side terminal that executes in
 > javascript in one's browser), I wanted to know more about how to build
 > this for myself (and eventually host my own version that expends
 > slightly more resources since I have a smaller audience). 

 > Long story, short - after downloading the modules from his site, I got
 > into the buildroot tool and started going through the wealth of options
 > provided in the ncurses interface for the creation of this kernel / root
 > and I started to get really curious about how viable this can be as a
 > legitimate system ran on commercial laptops - let's say a device with
 > 16GB RAM, modern chip processor (nothing crazy), good graphics card, and
 > other modern specs (2019 or later). 

 > All over the site, I've read that this is a great way to build an OS for
 > 'embedded devices', which I understand to be tools like routers perhaps,
 > Raspberry Pi's, Arduinos etc. 

 > Cool. But given the wealth of features, libraries, kernel packages,
 > audio packages, etc., that are available for compilation in the TUI, it
 > appeared to me like one could make a very legitimate customized OS with
 > this 'buildroot' tool. 

 > To be clear, I'm sure that there are others that have asked this
 > question before but I either cannot find them or the few that I have
 > found that have asked this question received some fairly inadequate
 > answers. So I wanted to come straight to the source. 

 > _To be more specific in my questions: _ 

 > 1. Why is 'buildroot' pivoted toward creating kernels / OSes geared for
 > embedded devices (almost exclusively, it seems)? I'm not saying that
 > this is a flaw or an oversight at all. On the contrary, I'm assuming
 > that there is an obviously sound reason for doing this that I simply
 > cannot find and was hoping to understand more about the nature of this
 > project through the answer that I receive to this question. 

 > and 

 > 2. From what I saw, it seems that one can build a pretty damn robust OS
 > with this tool (not including all of the bells & whistles that are just
 > aesthetic dloads or creature comforts). I saw it allows for the
 > inclusion of the latest kernel version by Linux, relevant graphics
 > libraries, libraries for building, X11 related downloads, Interpreter
 > languages and scripting, networking applications, security tools,
 > various filesystems, available shells, the support of other concurrently
 > running applications as well (the computer that I'm using has decent
 > specs). 

 > Would it be naive to believe that perhaps when buildroot started out, it
 > did not have the capability but now, in the project's maturity, the tool
 > is so full featured that it can essentially serve as a pathway for one
 > creating their own custom OS? Obviously not something as extensive as
 > Debian / Ubuntu / PCLinux etc., but maybe an Arch Linux? (putting aside
 > their considerable expertise and mastery) 

 > And, if not, what is there that this project is lacking that it would
 > need before it could sufficiently serve that role? 

 > Thank you in advance for taking the time to field my query, 

Yes, you _COULD_ conceptually build such a system with Buildroot, but I
would not recommend it as Buildroot:

- Requires you to configure all parts of the system up front (and
  understand what parts you need), and any configuration changes
  requires a full rebuild. There is no package manager or prebuilt
  packages available

- Only provides a limited selection of "desktop-style" packages

Buildroot is optimized for creating a fixed function build, and has a
number of features to ensure that this can happen in an optimized
way, independently of if this fixed function build needs to run on a x86
machine or some other architecture.

A general purpose / open "PC" desktop solution is quite different from
that.

-- 
Bye, Peter Korsgaard


More information about the buildroot mailing list