site  contact  subhomenews

Playing with Buildroot

November 17, 2014 — BarryK
I have an ongoing interest in Buildroot -- every couple of years I have a play with it -- but this time I might "run with the ball".

Here is the Buildroot homepage:
http://www.buildroot.org/

Buildroot will compile a complete filesystem from source, using the same configure mechanism that the Linux kernel uses. It is particularly easy to use, with execellent dependency management. It is possible to build a very compact full desktop.

Buildroot creates a root filesystem, but does not create individual binary packages, nor does it place the compile-toolchain into the target filesystem.
What the latter means, is that if you were to install the root filesystem, you can't compile anything in it.
To compile any packages, it has to be done inside Buildroot.

In theory, it is possible to extract the compile-toolchain out of Buildroot and put it into the target root filesystem, and early versions of Buildroot (before 2011 I think) did have this option -- but it was not maintained so was dropped.

It would be an interesting project, to restore that feature.

I have just completed a build, with Midori web browser and Sylpheed mail/news client, mplayer, vlc (without Qt).

The proper Xorg too, and I see that 'xf86-video-intel' is version 2.99.914, very recent -- released 23 July 2014. That's good, most recent cheap PCs have Intel graphics, including both of my (not so recent) laptps.

I have left out 'LLVM' (yay) and 'mesa' (yay again), but had to put in 'icu' as 'webkitgtk' needs it.

Compile failed several times, but I was able to manually fix it and keep going. if I decide to take this further, I will have to create patches to permanently fix these bugs.

The next thing that I am going to do is install the root filesystem and boot into it. If that works, then various interesting ideas have presented themselves...

Comments

A chap by the name of Andy Nichols has created a small Linux for the Raspberry Pi using Buildroot.

Here is the SDK:
https://github.com/nezticle/RaspberryPi-BuildRoot

And his Bsquask page:
http://bsquask.com/

If I understand the SDK docs right, he has described how to compile in the running Bsquask on the RPi.

Back when I retired from Puppy development, I gave all-but-one of my desktop PCs to the Lion's Club, and they are probably in third-world countries by now.
I kept my two laptops.

Anyway, the reason that I am using my old laptop is because my latest is doing a recompile with Buildroot.
My latest laptop has 4GB RAM and i3 core CPU, fairly modest specs.
It will be interesting to see how long it takes.

I have created patches for the places where the build failed before, so hopefully this time it will go right through.
I decided to leave it alone, and use my old laptop.

I have also upgraded the Quirky build system to handle the binary tarball root filesystem generated by Buildroot.
Still some work to do on that, but mostly done.

So far I did do an install of the first build from Buildroot, and got it booting to the commandline. So, I know it is reasonably sane.

Why am I doing this? Well, because it is something that I have wanted to do for a long time.
It will be small, that is one thing going for it.
Also should be easy to recompile for other targets, such as ARM CPUs.

Besides, this is what Quirky is all about -- trying out oddball ideas.

In anticipation that I will create a working distro, I have given it a codename: "Quirky Erik".

That's great, next I will build a Quirky distro from the Buildroot root filesystem, and see if I can get a working desktop!

Is ghostscript no longer needed?

The traditional knowledge is that ghostscript is needed to print to non-postscript printers, which is most of them these days I think.

Oh yes, here is another tiny Linux distro created with buildroot, named gamaral:
https://github.com/gamaral/rpi-buildroot/releases

Tags: linux