Hi, I am using ConnectCore6UL and everything works well however I need to use Digi-Embedded-Linux kernel with permanent changes.
I am following the guide on Digi website (link).
I have updated the conf/local.conf
in the root of the project to include
INHERIT += "externalsrc"
EXTERNALSRC_pn-linux-dey = "/home/dey/linux"
I don’t think this works though as I am still not seeing the dts changes that exist in repository of /home/dey/linux. The build process still seems to pull the linux kernel from
github.com:digi-embedded/linux.git
I don’t have any additional recipes that would affect the linux-dey
recipe.
I tried adding creating a linux-dey_%.bb
recipe in my layer.
LICENSE = "CLOSED"
LIC_FILES_CHKSUM = ""
FILESEXTRAPATHS_prepend := "${THISDIR}:"
SRC_URI := "/home/dey/linux"
S = "${WORKDIR}/home/dey/linux"
inherit externalsrc
EXTERNALSRC = "/home/dey/linux"
EXTERNALSRC_BUILD = "${EXTERNALSRC}"
SRCBRANCH = "v5.15/nxp/dey-4.0/maint"
SRCREV = "${AUTOREV}"
But this leads to a huge number of errors.
ERROR: /usr/local/dey-4.0/sources/meta-digi/meta-digi-arm/recipes-kernel/linux/linux-dey_5.15.bb: Error executing a python function in <code>:################# | ETA: 0:00:00
The stack trace of python calls that resulted in this exception/failure was:
File: '<code>', lineno: 4, function: <module>
0001:__anon_20__usr_local_dey_4_0_sources_poky_meta_conf_machine_include_arm_feature_arm_thumb_inc(d)
0002:__anon_32__usr_local_dey_4_0_sources_poky_meta_classes_patch_bbclass(d)
0003:__anon_762__usr_local_dey_4_0_sources_poky_meta_classes_base_bbclass(d)
*** 0004:__anon_147__usr_local_dey_4_0_sources_poky_meta_classes_externalsrc_bbclass(d)
0005:__anon_75__usr_local_dey_4_0_sources_meta_freescale_classes_fsl_dynamic_packagearch_bbclass(d)
0006:__anon_1135__usr_local_dey_4_0_sources_poky_meta_classes_insane_bbclass(d)
0007:__anon_1442__usr_local_dey_4_0_sources_poky_meta_classes_insane_bbclass(d)
0008:__anon_252__usr_local_dey_4_0_sources_poky_meta_classes_package_bbclass(d)
File: '/usr/local/dey-4.0/sources/poky/meta/classes/externalsrc.bbclass', lineno: 66, function: __anon_147__usr_local_dey_4_0_sources_poky_meta_classes_externalsrc_bbclass
0062: else:
0063: d.setVar('B', '${WORKDIR}/${BPN}-${PV}')
0064:
0065: local_srcuri = []
*** 0066: fetch = bb.fetch2.Fetch((d.getVar('SRC_URI') or '').split(), d)
0067: for url in fetch.urls:
0068: url_data = fetch.ud[url]
0069: parm = url_data.parm
0070: if (url_data.type == 'file' or
File: '/usr/local/dey-4.0/sources/poky/bitbake/lib/bb/fetch2/__init__.py', lineno: 1682, function: __init__
1678:
1679: for url in urls:
1680: if url not in self.ud:
1681: try:
*** 1682: self.ud[url] = FetchData(url, d, localonly)
1683: except NonLocalMethod:
1684: if localonly:
1685: self.ud[url] = None
1686: pass
File: '/usr/local/dey-4.0/sources/poky/bitbake/lib/bb/fetch2/__init__.py', lineno: 1319, function: __init__
1315: logger.warning('Consider updating %s recipe to use "protocol" not "proto" in SRC_URI.', d.getVar('PN'))
1316: self.parm["protocol"] = self.parm.get("proto", None)
1317:
1318: if hasattr(self.method, "urldata_init"):
*** 1319: self.method.urldata_init(self, d)
1320:
1321: if "localpath" in self.parm:
1322: # if user sets localpath for file, use it instead.
1323: self.localpath = self.parm["localpath"]
File: '/usr/local/dey-4.0/sources/poky/bitbake/lib/bb/fetch2/git.py', lineno: 250, function: urldata_init
0246: write_tarballs = d.getVar("BB_GENERATE_MIRROR_TARBALLS") or "0"
0247: ud.write_tarballs = write_tarballs != "0" or ud.rebaseable
0248: ud.write_shallow_tarballs = (d.getVar("BB_GENERATE_SHALLOW_TARBALLS") or write_tarballs) != "0"
0249:
*** 0250: ud.setup_revisions(d)
0251:
0252: for name in ud.names:
0253: # Ensure anything that doesn't look like a sha256 checksum/revision is translated into one
0254: if not ud.revisions[name] or len(ud.revisions[name]) != 40 or (False in [c in "abcdef0123456789" for c in ud.revisions[name]]):
File: '/usr/local/dey-4.0/sources/poky/bitbake/lib/bb/fetch2/__init__.py', lineno: 1349, function: setup_revisions
1345:
1346: def setup_revisions(self, d):
1347: self.revisions = {}
1348: for name in self.names:
*** 1349: self.revisions[name] = srcrev_internal_helper(self, d, name)
1350:
1351: # add compatibility code for non name specified case
1352: if len(self.names) == 1:
1353: self.revision = self.revisions[self.names[0]]
File: '/usr/local/dey-4.0/sources/poky/bitbake/lib/bb/fetch2/__init__.py', lineno: 1214, function: srcrev_internal_helper
1210:
1211: if srcrev == "INVALID" or not srcrev:
1212: raise FetchError("Please set a valid SRCREV for url %s (possible key names are %s, or use a ;rev=X URL parameter)" % (str(attempts), ud.url), ud.url)
1213: if srcrev == "AUTOINC":
*** 1214: srcrev = ud.method.latest_revision(ud, d, name)
1215:
1216: return srcrev
1217:
1218:def get_checksum_file_list(d):
File: '/usr/local/dey-4.0/sources/poky/bitbake/lib/bb/fetch2/__init__.py', lineno: 1626, function: latest_revision
1622: key = self.generate_revision_key(ud, d, name)
1623: try:
1624: return revs[key]
1625: except KeyError:
*** 1626: revs[key] = rev = self._latest_revision(ud, d, name)
1627: return rev
1628:
1629: def sortable_revision(self, ud, d, name):
1630: latest_rev = self._build_revision(ud, d, name)
File: '/usr/local/dey-4.0/sources/poky/bitbake/lib/bb/fetch2/git.py', lineno: 743, function: _latest_revision
0739: """
0740: Compute the HEAD revision for the url
0741: """
0742: if not d.getVar("__BBSEENSRCREV"):
*** 0743: raise bb.fetch2.FetchError("Recipe uses a floating tag/branch '%s' for repo '%s' without a fixed SRCREV yet doesn't call bb.fetch2.get_srcrev() (use SRCPV in PV for OE)." % (ud.unresolvedrev[name], ud.host+ud.path))
0744:
0745: # Ensure we mark as not cached
0746: bb.fetch2.get_autorev(d)
0747:
Exception: bb.fetch2.FetchError: Fetcher failure: Recipe uses a floating tag/branch 'v5.15/nxp/dey-4.0/maint' for repo 'github.com/digi-embedded/linux.git' without a fixed SRCREV yet doesn't call bb.fetch2.get_srcrev() (use SRCPV in PV for OE).
ERROR: Parsing halted due to errors, see error messages above
Summary: There were 2 ERROR messages, returning a non-zero exit code.
Would be great to know if I am doing something wrong or there is something missing.
Thanks in advance.