site  contact  subhomenews

pUPnGO and Buildroot

December 19, 2016 — BarryK
I have been using Buildroot recently, to compile applications statically with uclibc-ng. Buildroot is great, but it has one major shortcoming -- it cannot create a chrootable self-compiling toolchain.

That is, you can't use it to compile packages for, say, a small Puppy Linux, and create a "devx" PET. Well, not officially that is -- Puppy Forum member goingnuts has done it.

For years I have been fascinated with what goingnuts (Kim) is doing. Really going back to the basics and creating tiny applications and distros.

I need to find out how he has done this trick with buildroot! So, I have downloaded everything needed to get going. Instructions and download links here:

There are a couple of other guys who are wizards in this simple/small/basic resurrection-of-old-stuff, technosaurus and Iguleder. I think that Iguleder is also known as 'dimkr' elsewhere.

For example, I posted about work done by Iguleder:

Here are a couple of pUPnGO threads on the Puppy Forum:


I am following the instructions (recipe) posted here:

I did step 7, "make oldconfig", but what I recommend next is "make source", to download all the required sources. However, it gave me this error message:

# make source

package/raidtools/ missing separator. did you mean TAB instead of 8 spaces?. Stop.

OK, so I changed those 8 spaces to a TAB.

Running "make", got an error that is ignored:

actually, I can't post the error messages here, as this blog script is poorly designed, treats certain character combinations as commands.

Will post in the Puppy Forum.

Soon after, stops, a fatal error.

Header conflict. Yeah. I am running Quirky T2 x86 7.2.1.

I did somthing sneaky, downloaded the 412 devx PET from goingnut's site, and got out /usr/include, put that into my host system.

I am running Quirky T2 x86 version 7.2.1.

That got me a lot further, however hit some failures that are not so obvious to fix. Got binutils to compile by upgrading to a later version. But ran into trouble with later packages.

I looked inside buildroot. pUPnGO is using a very old version of buildroot, that looks easier to create a self-compiling toolchain. I do recall that buildroot did have this feature a long time ago, but it was dropped.

Current version of buildroot looks very difficult to create such a toolchain. It doesn't actually create target-native gcc, etc,, only cross-tools.

I have decided to shelve this. Extremely interesting, but too much other stuff going on. Right now, doing a T2 build on my Pi3. T2 has a fault, I found that the previous build had compiled with soft-floating-point. I have patched T2 to correctly compile with hardware floating point -- and sent an email to the T2-project email list.

Tags: linux