site  contact  subhomenews

Yocto 2 woofQ 2 Quirky

April 19, 2017 — BarryK
Have completed all of the steps. Compiled from source in Yocto, imported the x86_64 binary packages into woofQ, and built a Quirky distribution. It works, there is a desktop.

So far, have only done a "core-image-sato-dev" build in Yocto, with target-native SDK components included, as described here:

It is configured to create binary DEB packages, however, I ran into multiple issues with importing them into woofQ.
Instead, I wrote a script named '0pre-yocto' in woofQ, that imports entire un-split binary packages, as .tar.xz files. It also creates the Puppy-format database.

As this is early days with Yocto, to get a reasonable desktop I used many packages from April, for example Gnumeric and Dia. These work fine in the Yocto build.

Installed to a USB stick, booted, got a desktop. Although a "devx" PET has been created, have not yet tested whether there is a sane compiling environment.

'core-image-sato-dev' has some packages that I would rather do without, 'pulseaudio' for example. Next on the to-do list is to have a go at removing pulseaudio, see if it will still compile.


Yocto books

April 14, 2017 — BarryK
After learning that it is possible to create target-native compiling tools, such as gcc, my interest in OE/Yocto got revitalised. See previous blog post:

I have just completed a build with Yocto, and it creates binary DEB packages for the target machine, and yes, that includes 'gcc', 'automake', 'autoconf', 'make', etc. Looks good.

Haven't actually installed it into a partition and tested if can actually compile anything, but intrigued enough to want to learn more about Yocto. It is a very big and complicated project, and the online docs are daunting. So, I have ordered a couple of books:

Embedded Linux Systems with the Yocto Project

Embedded Linux Development with Yocto Project

There are ebooks, but I like to have the paper! Costs a bit more -- total was just on AU$100, about US$75, including shipping to Australia.

Amazon's international shipping is odd. I say this from past experience. This order, that second book came up as does not ship to Australia, so clicked on the "22 New" link, and found that Amazon ships it to Australia, just costs a little more.
Had to go through this rigmarole even though I was logged in and had ticked the checkbox to only show items that can ship to Australia.

Anyway, looking forward to getting them!


OE native compiling

April 13, 2017 — BarryK
Native compiling
My misunderstanding of the word "native" in the OpenEmbedded documentation, has been bothering me.

I posted about my latest go at using OE here:

I thought a "native toolchain" would be one that runs in the target machine. But not so. As clarified here:

..."native" refers to the host system.

However, this site is using "native" to refer to Yocto compiling in the target machine:, it can be done!

Slackware from Scratch
Changing the subject, I was wondering how Slackware is built from scratch. Well, it seems that it isn't, or rather, it is a cobbled-together approach. Apparently, they have used LFS to get going, then their build scripts to build packages.

There is no automated equivalent to LFS, however, some guys have been developing Slackware from Scratch, with automated build scripts, see this thread:


Tags: oe

OpenEmbedded Morty

April 11, 2017 — BarryK
Last week I spent a few days trying to use OpenADK, tried all kinds of targets and 32-bit and 64-bit hosts, simple basic configurations, always failures. I had the same experience when I tried it early 2016.
Strangely though, the project is active, so some people must be having success. It would have to be for very specific config and host system, details that are not provided.

So, I have moved on to OpenEmbedded. I wrote about this back in June 2016. It is one that does work. In fact, it is the only cross-compiler toolchain/sdk builder thingy that does work. My experience with OpenADK, Crosstool-NG and T2 is that they are all broken.

Here is my June 2016 blog post on OpenEmbedded:

And Yocto, which uses OpenEmbedded:

At that time, the stable release was named "Krogoth". It is now "Morty". See release notes:

I want to create a new light-weight pup compiled from source, like I did with Quirky April, and earlier on there was Wary and Racy Puppy. These were built from packages compiled in T2. Unfortunately, T2 has become increasingly broken, and there is only one guy maintaining it.

So, there is only one choice left, OpenEmbedded. I don't know what extra functionality Yocto will bring to the table, so decided to stay with OE.
Right now, doing a target "core-image-sato-dev" build (for machine "qemux86-64", using glibc):

What I want to do is create a bunch of binary packages, that I can then import into woofQ and build a new Quirky.
I suppose it needs a name, so how about "OpenPup"? -- just did a search, can't find that name used anywhere.

Anyway, the OE build is chugging away right now. From prior experience, I have a high confidence that it will succeed.