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:
http://pupngo.dk/
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:
http://www.murga-linux.com/puppy/viewtopic.php?t=89272
Here are a couple of pUPnGO threads on the Puppy Forum:
http://murga-linux.com/puppy/viewtopic.php?t=51478
http://murga-linux.com/puppy/viewtopic.php?t=78941
Comments
I am following the instructions (recipe) posted here:http://pupngo.dk/
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/raidtools.mk:45: missing separator. did you mean TAB instead of 8 spaces?. Stop.
<
OK, so I changed those 8 spaces to a TAB.
http://pupngo.dk/source/
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