TL/DR: make
used to include files/layers specified in meta-columbia-x
and now doesn’t
I’m having a problem lately building my linux distribution for an FX30 Cat-M, this is somewhat drawn-out so please bear with me. I have been developing a custom linux distribution and legato app for the fx-30 and have everything working fine on my development unit. I recently obtained a 2nd unit for our client and was in the process of configuring it with the custom distribution and application that I have developed. Prior to loading the new unit I wanted to include some directories and files in home/root
in the linux image so I didn’t have to scp them to the device so I added my own custom layer following the directions in the “Yocto and FX30 Application Note”: (https://forum.legato.io/uploads/short-url/hSSvsqgQs3wsPOkqwpDfzxLYEWq.pdf) it was here that I ran into my first problem:
While the application note says to add the custom layer information to build.sh
and external.mk
files in the meta-columbia-x
directory, when I made the edits to those files the new layer (meta-custom
) was not included in my build. Through trial and error I made the edits to the same files in them meta-swi
directory and then found that the custom layer was built and I found the files and directory included in directory swi-linux-src/build_bin/tmp/work/swi_mdm9x28_wp-poky-linux-gnueabi/mdm9x28-image-minimal/1.0-r0.0/rootfs/home/root/
However, in swi-linux-src/build_bin/tmp/deploy/images/swi-mdm9x28-wp
I do not find the expected file boot-yocto-legato_wp77xx.cwe
but rather only yocto_wp77xx.4k.cwe
and when I download this to my FX30 the files added by my layer are not found. Also prior to adding my custom layer I had made changes to swi-linux-src/meta-columbia-x/rootfs/recipes/init-ifupdown/files/iptables.rules
adding some rules needed for my application, however, when I built the image the iptables.rules
file is not included. Bottom line is it seems that for some reason in my build environment the meta-columbia-x
folder/layer is not being processed.
I’m using the swi-linux-src
from the leaf getsrc swi-linux
command and have package swi-fx30-catm_1.0.0 "SDK for FX30-CATM (Release 9.1.1.013 + Legato 18.06.1)"
installed.
I have a working version of my firmware and when I run swicwe -P
on it I get the following content list:
Type Size(Exclude Header) Product Compress Version
*SPKG 36722056 Y931 0 9999999_9999999_?_?_?_?_?
*APPL 526008 Y931 0 Fri Dec 13 14:50:02 EST 2019
APBL 525608 9X06 0 1.3.0_838aec2863
*APPL 31738000 Y931 0 Fri Dec 13 14:50:02 EST 2019
SYST 22544384 9X06 0 Fri Dec 13 14:50:02 EST 2019
APPS 9192816 9X06 0 3.18.44 20191205144811
3.18.44 20191213135833
3.18.44 20191213144959
*APPL 4456848 Y921 0 18.06.1_78dcbb9d788329aa62d6846110371fe1
USER 4456448 9X28 0 18.06.1_78dcbb9d788329aa62d6846110371fe1
The image now built with make
only has this:
Type Size(Exclude Header) Product Compress Version
*APPL 30161040 Y921 0 Sat Feb 1 10:11:44 EST 2020
SYST 20971520 9X28 0 Sat Feb 1 10:11:44 EST 2020
APPS 9188720 9X28 0 3.18.44 20200201094341
3.18.44 20200201100126
3.18.44 20200201101142
One other item that’s changed is that I installed the VS Code support for leaf - I suspect that may have broken something in my build environment.
Any ideas on how to fix this?