Skip to content

bkauler/oe-qky-dunfell

Repository files navigation

oe-qky-dunfell
--------------

This is based on the Dunfell release of OpenEmbedded/Yocto, with packages
and scripts, including meta-quirky layer, to compile all packages required
to build EasyOS or Quirky Linux.

You need an ext4 partition with at least 460GB free space.

Clone this repository somewhere in that partition.

In the same partition, create a folder named "oe-builds", that must
be empty, or rather, must not have a folder named "oe-quirky" inside it.

Edit the variable BUILDSPATH in script "create-oe-quirky", with the
absolute path to oe-builds.

As an absolute path is required, do not use a usb drive or any situation
in which the mount-point may change.

Note, the Author does do a build on a USB SSD, and uses one of the scripts
"mount-sdb1-on-mnt-build" or "mount-sdc1-on-mnt-build" to give a fixed
mountpoint "/mnt/build"

You will need to be running a Linux distro that is compatible with OE/Yocto.
The author has used EasyOS, with the "devx" SFS loaded 
(an aufs layer that provides all of the compiler infrastructure and tools).
It must be an x86_64 host OS and must have python3 installed.
The host distro must have glibc <= 2.34

Note, if you are new to EasyOS, click the "sfs" icon on the desktop to
download and install the "devx" SFS. Install it to the main filesystem, not
in a container. This SFS has everything needed for compiling.

Execute create-oe-quirky:

# ./create-oe-quirky

And oe-builds/oe-quirky will be created and populated.

Open a terminal in folder oe-quirky, and execute this:

# source oe-init-build-env build-amd64
# bitbake-layers show-layers
# bitbake -g core-image-minimal

You will find notes about these commands in oe-quirky/docs/bk-notes

Running on a x86_64 host system, cross-compiling to x86_64 (nocona), i686
and aarch64 targets are supported.

A complete manual is online:

https://docs.yoctoproject.org/3.1.20/singleindex.html

You are now ready to do the build. It is likely to take 15-20
hours, depending on the PC. Plenty of RAM, and an SSD will help.
The PC must have at least 8GB RAM.

You can see a complete list of the packages that will be built here:

oe-builds/oe-quirky/build-amd64/pn-buildlist

It is useful to sort it (the above "source ..." command will have changed
the current directory to build-amd64, so can execute this in same terminal):

# sort pn-buildlist > pn-buildlistSORTED

At the time of writing, 947 packages are compiled, including very large ones,
for example libreoffice.

Do this to start the build:

# bitbake core-image-minimal

The build should complete without error, except the final "do_rootfs" stage
will fail. This is where OE attmpts to put all of the packages into a
rootfs tarball, but decides that some packages are unsuitable. 
This is somewhat inscrutable behaviour by OE, but anyway, it doesn't
matter, as we only want the packages, not the rootfs.

Look in build-amd64/tmp/work, to see all the packages. For example,
oe-builds/oe-quirky/build-amd64/tmp/work/core2-64-poky-linux/atk/2.34.1-r0/image
has the compiled and installed result of building the "atk" package.

After completing the oe-qky-dunfell build, the author's "woofQ" EasyOS/Quirky
build system can then be used to extract all of these packages and use them to
build EasyOS or Quirky.
Basically, importing of the packages is done with script "0pre-oe" in woofQ.

Further useful reading:

https://easyos.org/dev/how-to-compile-a-linux-distribution-from-source.html

Author: Barry Kauler
Legal statement about oe-qky-src:
(c) Copyright Barry Kauler 2020-2023 (bkhome.org), where not otherwise stated or implied.
License GPLv3 where not otherwise stated or implied.

About

Meta-quirky layer based on OpenEmbedded Dunfell

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published