OE gatesgarth-pre compile
I am doing a recompile in OE, based on the latest from git master
branch. Previously I used the 'dunfell' branch. 'gatesgarth' release of
OE is due out this month, but as it is not yet out, I got everything
from master branch.
OE is a cross-compiler environment, that can build packages for a
complete Linux distribution. The people who use it are mostly targeting
embedded hardware, however, it can be used to create packages for a
complete Linux distro such as as EasyOS.
OE is composed of layers, each one named 'meta-*', for example
'meta-gnome' and 'meta-networking', and each layer contains recipes for
downloading, compiling and installing packages. I have created
'meta-quirky', and meta-quirky/recipes-quirky currently has recipes for
187 packages. These are not provided by OE, they are created by me,
packages required for building EasyOS or Quirky Linux. Or any pup.
Usually, when I upgrade to the latest OE, many of my recipes in
'meta-quirky' get broken, and it takes a lot of work to fix them, with
some that have to give up on. I decided to download OE "gatesgarth-pre"
and see how my 187 recipes hold up.
Not the only reason though. I wanted to remove 'modemmanager' and 'pulseaudio'.
Also wanted to bump to the 5.8.x kernel, as it has enhancements to /proc that look like might improve security in containers.
I am watching it now, compiling on same computer that I am sending this blog post. Going OK.
gcc has bumped from 9.x to 10.x, and I was expecting that might cause failure of some of my recipes, but OK so far.
Note that although OE is very sophisticated and complex, and daunting
at first, it can be pretty straightforward to use. I have provided a OE
dunfell tarball, with simple instructions, and it is just a matter of
typing a few lines and watch it compile 745+ packages.
I intend to provide a OE gatesgarth tarball also, though might do so
after 'gatesgarth' is officially released. Coz, the developers are
likely finding issues that need fixing in master.
Here is an overview of OE:
https://en.wikipedia.org/wiki/OpenEmbedded
Another overview:
https://elinux.org/Yocto_Project_Introduction
The "Yocto" project tends to get most attention, however, it is
really just a layer in OpenEmbedded. 'meta-yocto' contains recipes for
building for specific boards. I am using "genericx86-64", which is good
for PCs.
EDIT 2020-10-14:
I have decided to abandon the gatesgarth build and stay with dunfell release of OE.
A couple of reasons. One is that lots of my
recipes are failing in the gatesgarth build. They are all giving a
similar error message when compiling, about symbol redefinition. It
would seem that there is some fundamental structural change in OE that
is causing this problem. It will probably be in the release-notes when
gatesgarth is released, but I don't really need to go down another
rabbit hole.
Another reason is that gatesgarth is apparently
a "dev" release, whereas dunfell is "lts" -- long term supported.
Dunfell obviously has had a lot of effort put into it, given how easy it
was to get my recipes to work. Also, layers maintained by other people
are likely to become compatible with dunfell sometime, if not already.
Many layers are maintained by just one person or a few people, and often
lag behind the official releases -- meaning that they might not work
with the dunfell release. "meta-debian" is an example, currently only
compatible with the warrior release of OE.
Tags: oe