After trying the tutorial on two machines (Arch and Debian based) the build process fails when using command:
bitbake lmp-partner-arduino-image
The error is:
ERROR: The following layer directories do not exist:
ERROR: /home/builder/build-lmp-xwayland/conf/../../layers/meta-subscriber-overrides
ERROR: Please check BBLAYERS in /home/builder/build-lmp-xwayland/conf/bblayers.conf
The errors happen regardless of build type or if using the script provided on the tutorial.
The folder in question does not exist. Please let me know if I can provide anything else.
@bastukee Can you show your bblayers.conf? It might just be a the location specified in the bblayer files. From my limited experience using bitbake, you do need to source your environment which usually creates directories like the conf directory, similar to how CMake or catkin makes directories. I am also new to this and could be wrong (Sorry if I am) but hopes this brings some insight. Ill try the referenced documentation to see if i can help. I gotta learn eventually!
I see what you mean... You could remove it from the bblayers.conf (Mine is currently building but I know this may take a while so if something breaks between now and the future I wont be able to give a heads up for a bit) . I have to have a foundries.io account to use the subscriber layer apparently... or you can change the line 'repo init -u...... -m arduino.xml -b release' ->>>> 'repo init -u...... -m arduino.xml -b devel' and sign into your foundries.io account. (No prompt is given so if you get "stuck" at meta-sunxii just enter your credentials.)
Which allowed me to continue and compile an image (8+ hours). The image would of course not include the "meta-subscriber-overrides" layer that was been appended. I don't understand what these layers are, or what meta-subscriber-overrides is either but I understand it will be missing on the final image. I have yet to try the image and see if it works.
As far as learning, likewise for me. There is so much to figure out and not a lot of documentation so the more we help each other the better.
# LAYER_CONF_VERSION is increased each time build/conf/bblayers.conf
# changes incompatibly
LCONF_VERSION = "7"
OEROOT := "${@os.path.abspath(os.path.dirname(d.getVar('FILE', True)))}/../.."
BBPATH = "${TOPDIR}"
BBFILES = ""
require bblayers-base.inc
require bblayers-bsp.inc
include bblayers-partner.inc
include bblayers-factory.inc
BBLAYERS = " \
${OEROOT}/layers/meta-lmp/meta-lmp-base \
${BASELAYERS} \
${BSPLAYERS} \
${OEROOT}/layers/openembedded-core/meta \
"
BBLAYERS += "${OEROOT}/layers/meta-subscriber-overrides"
So layers are src code that can be compiled directly into the OS. It can be helpful for a few reasons. You can have deployable images with packages already installed into the Yocto OS. Since (for some reason I do not know...) the portenta doesnt have a package manager this is sort of the only way I can think about getting packages installed... (Still waiting for a response on my post )
@PMarquinez
I was following the tutorial line by line. I used docker on a few operating systems, PC and Virtual Machine: Arch, Manjaro (Arch), Linux Mint (debian/ubuntu) and all had the same problem. The error happens inside of the docker image used for building the OS, not the Docker Host.
I managed to get past the error by commenting out the "meta-subscriber-overrides" line on conf/bblayers.conf and it compiled.