Building Elk-Pi v1.0.0

After several failed attempts (due to server configuration)I have managed to get the GitHub - elk-audio/elk-audio-kas-configs: Repository maintaining kas config files to build Elk Auido OS to build.

I was unable to get the ELK Audio OS builder docker image to run on my system; I ended up building a virtual machine running in Proxmox on an Intel cpu with Ubuntu 20.04 and then basically applied all the steps that the Dockerfile contains.

It is not a short build! It ran for about 16h on my system, but in the end has produced the 20230706071203.rootfs.wic file (I’ve yet to load it).

Respect to @Stefano and the ELK team for producing such a straightforward build configuration.

I did run into a couple of things that I am not clear about.

  1. During the build, one of the patches was reported as being fuzzy … specifically
WARNING: sord-0.16.8-r0 do_patch: Fuzz detected:

Applying patch sord-0.16.4-gcc10.patch
patching file src/zix/btree.c
Hunk #1 succeeded at 863 with fuzz 1 (offset 174 lines).


The context lines in the patches can be updated with devtool:

    devtool modify sord
    devtool finish --force-patch-refresh sord <layer_path>

Don't forget to review changes done by devtool!

WARNING: sord-0.16.8-r0 do_patch: QA Issue: Patch log indicates that patches do not apply cleanly. [patch-fuzz]

What if anything do I need to do to address this?

  1. I wanted to have the Qt libraries in my image (My device is destined to have an onboard touchscreen GUI interface). To this end, I followed the direction at the end of the raspberrypi4-elk-audio-os-v1.0.0.yml
...
    # Comment the following for qt image
    # BBMASK += "meta-elkpi/recipes-images/images/elkpi-audio-os-image-qt.bb"
    # BBMASK += "meta-elk/recipes-qt/simple-qt/simple-qt_0.1.bb"
    # BBMASK += "meta-elk/recipes-qt/qt/qtbase_git.bbappend"

When I reran the build command

run-kas build raspberrypi4/raspberrypi4-elk-audio-os-v1.0.0.yml

the build failed early on with the following

<preceding log items removed for brevity>

2023-07-06 10:12:25 - INFO     - /home/yoctouser/elk-audio-kas-configs/build$ /home/yoctouser/elk-audio-kas-configs/layers/meta-poky/bitbake/bin/bitbake -c build elkpi-audio-os-image
Loading cache: 100% |###########################################################################################################| Time: 0:00:00
Loaded 3485 entries from dependency cache.
ERROR: ParseError at /home/yoctouser/elk-audio-kas-configs/build/../layers/meta-elkpi/recipes-images/images/elkpi-audio-os-image-qt.bb:7: Could not inherit file classes/populate_sdk_qt5.bbclass
ERROR: Parsing halted due to errors, see error messages above

Summary: There were 2 ERROR messages, returning a non-zero exit code.
2023-07-06 10:12:44 - ERROR    - Command "/home/yoctouser/elk-audio-kas-configs/layers/meta-poky/bitbake/bin/bitbake -c build elkpi-audio-os-image" failed with error 1

I’d appreciate any advice as to how to resolve this issue.

Hi @Smanth, unfortunately the QT image is not tested so it’s something of a work to be done. The recipes are a carried forward from the previous version (0.11.0). Will take a quick look if it’s something straight forward to fix it.

1 Like

Thank you @Nitin, the whole yocto build with recepies etc is WAY outside my experience!

Do you have any updates with this. I’m getting started on a similar project and found the same error. I also don’t know where to find the .wic file, I didn’t see it in the raspberrypi4 folder where I ran run-kas.

Hi @ShineCastr, we are working on Elk 1.1 based on Yocto scarthgap, we’ll try to address the QT issue there.

@ShineCastr We are using the standard dev image for Elk 1.0, and we have a small batch script that installs the mesa gles2 libraries (among other things).

Currently our prototype uses custom rendering code as well as imgui for UI.

I was planning to write a post here with a quick guide at some point. But I might hold off until we test it with Elk 1.1. DM me if you want a quick brain dump of what to do if you are happy using this aproach instead of Qt.