Hi,
i have a question about my torizon yocto project. This my tree:
drwxrwxr-x 7 digimax digimax 4096 gen 12 09:06 ./
drwxrwxr-x 8 digimax digimax 4096 gen 16 08:34 ../
drwxrwxr-x 7 digimax digimax 4096 gen 16 16:17 build-torizon/
drwxrwxr-x 4 digimax digimax 147456 gen 9 12:45 downloads/
drwxrwxr-x 21 digimax digimax 4096 gen 16 08:32 layers/
drwxrwxr-x 7 digimax digimax 4096 gen 9 12:07 .repo/
lrwxrwxrwx 1 digimax digimax 53 gen 9 12:06 setup-environment -> layers/meta-toradex-torizon/scripts/setup-environment*
drwxrwxr-x 259 digimax digimax 4096 gen 16 14:41 sstate-cache/
I wanted to know how I can keep my Torizon Yocto project up to date with the latest updates. Which command should I run to keep my project up to date with patches, etc… ?
I might make mistakes or occasionally get you wrong. Our support team will step in if needed.
I can see you have a Torizon Yocto project set up. To keep your Torizon Yocto project up to date with the latest updates, you’ll use the repo tool since your project structure shows you’re using the Toradex manifest system(1).
Updating Your Torizon Yocto Project
To update your project with the latest patches and updates, run these commands from your project root directory:
This command will synchronize all the layers in your project with their respective upstream repositories, pulling in the latest commits and updates(1).
Important Considerations
When updating your Torizon Yocto build environment:
Version Control for Custom Layers: If you have custom meta layers in your project, ensure they are version controlled with Git(2). This is mandatory for Torizon OS builds due to how layer revision information is included with OSTree(2).
Clean Build After Updates: After running repo sync, you may need to clean and rebuild your image to ensure all updates are properly incorporated, especially if there have been significant changes to the BSP layers or core components.
Manifest Updates: The repo sync command will update all layers according to the manifest file, which includes the Toradex BSP layers like meta-toradex-torizon, meta-toradex-bsp-common, and other dependencies(1).
The Toradex manifest system manages all the necessary layers including OpenEmbedded core, BitBake, and the Toradex-specific BSP layers(1), so the repo sync command will keep everything synchronized with the upstream repositories.
Best regards,
Toradex AI Assistant.
Did you like my answer?
If I answered your question, please tick the “Solution” checkbox.
For follow-up questions to me, please use @ToradexAI in your post.
Obviously, make sure to target the manifests for torizon and not tdxref as stated in the article.
I didn’t understand how I can check which targets the manifest is pointing to and what commands I need to run in order to up to date all my meta-layer.
Do you remember what parameters you provided after the -b and -m arguments in this command?
Follow the article I linked, but just use the same parameters you did last time. Unless you specifically want to do a different version. It’s just a repo init... and repo sync as the article states, you just need to remember what parameters you used for repo init the first time you setup your build environment.
<?xml version="1.0" encoding="UTF-8"?>
<!--
DO NOT EDIT THIS FILE! It is generated by repo and changes will be discarded.
If you want to use a different manifest, use `repo init -m <file>` instead.
If you want to customize your checkout by overriding manifest settings, use
the local_manifests/ directory instead.
For more information on repo manifests, check out:
https://gerrit.googlesource.com/git-repo/+/HEAD/docs/manifest-format.md
-->
<manifest>
<include name="torizon/default.xml" />
</manifest>
then i provided scarthgap-7.x.y after -b and torizon/default.xml after -m.
Do I only need to run this command repo sync to up to date my yocto project?
I’m confused why is your manifest file auto-generated? The repo init command should have downloaded our manifest file.
Do I only need to run this command repo sync to up to date my yocto project?
Correct, after you correctly used repo init to download/update the manifest file. Then, repo sync is used to update the Yocto meta-layers of your project based on the manifest file.
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<include name="base/pinned.xml"/>
<include name="bsp/pinned-nxp.xml"/>
<include name="bsp/pinned-ti.xml"/>
<include name="bsp/pinned-tdx.xml"/>
<remote alias="repo" fetch="https://github.com/uptane" name="uptane"/>
<remote alias="repo" fetch="https://github.com/toradex" name="toradex"/>
<remote alias="repo" fetch="https://github.com/torizon" name="torizon"/>
<remote alias="repo" fetch="https://github.com/iris-GmbH" name="iris"/>
<!--
When doing a monthly or quarterly release, the hashes below must be copied from "torizon/integration.xml",
except for layer meta-toradex-torizon which in the integration manifest is referenced by branch but here
should be referenced by the corresponding hash.
-->
<project name="meta-security" path="layers/meta-security" remote="yocto" revision="afbbe28cee4af2c6760aaead43a4a3ef29969809"/>
<project name="meta-updater" path="layers/meta-updater" remote="uptane" revision="b275153c9c8ea09e27d41db9f2faba3ebf92d2c2"/>
<project name="meta-virtualization" path="layers/meta-virtualization" remote="yocto" revision="17ac21e7d7f6f40a87618b22278b63bcfa14dbf2"/>
<project name="meta-cyclonedx" path="layers/meta-cyclonedx" remote="iris" revision="0d3e2980c59ffe5d08b4a265ce600981504f7f2f"/>
<project name="meta-toradex-distro.git" path="layers/meta-toradex-distro" remote="tdx" revision="71f3887a63d9b10b925afd75d6fb00085cd420b3"/>
<project name="meta-toradex-security" path="layers/meta-toradex-security" remote="toradex" revision="5df01bcb14cefc146ea7dc1afe36a67a6cfb4c2c"/>
<project name="meta-toradex-torizon" path="layers/meta-toradex-torizon" remote="torizon" revision="a081be1607f80f54e7059654fa4c71bff44db16a">
<linkfile dest="setup-environment" src="scripts/setup-environment"/>
</project>
</manifest>
Anyway, in any case, to update my Yocto project I use the command repo sync. Thanks.
If possibile i have another question regarding the yocto torizon repositories. I saw that last week toradex released the torizon 7.5.0 (stable version). I’d like to build this build with your yocto repository. For build i run the follow command:
Is the command above correct for building Torizon 7.5.0 (the stable release)?
Yes it looks correct, and your produced image is being versioned as 7.5.0.
If the commands are corrects, why does the archive file name contain “‑devel‑” even though the build is stable?
By default any Yocto build of ours, will have the devel tag by default. This is something we explicitly overwrite whenever we do an official release on our side.