Operating Systems Tools & methods

Yocto Tutorial – Our Webinar Takeaways

Homepage Yocto Tutorial – Our Webinar Takeaways

The team have got the gang back together to take on part two of our Yocto Tutorial after the smashing turnout for the Witekio and Mender.io part one.

The latest instalment, which tackled the Yocto topic of understanding variables and overrides, proved just as popular and was broadcast live across the Witekio YouTubeLinkedIn and Twitter channels (no pressure 😱).  

As with all webinars, the experts covered a range of subjects designed to help up your Yocto knowledge and offer practical ‘use-case’ demonstrations.  

My job, as the host and content manager of Witekio however, is to pick out the very juiciest bits for anyone who hasn’t had the time to watch it.  

My four key Yocto Tutorial Takeaways

1) One Yocto code to rule them all

Although the Witekio expert (Nick Beck) only mentioned this briefly in his Yocto intro, it is a point worth highlighting for anyone that isn’t aware.  

Yocto can be a single code-base shared across an entire product line.  

Not only will this save your engineers time and hassle when getting your product to market, but it will ensure that any updates in future can be rolled out easily across your devices.  

We’re not saying it’s as simple as copy-paste. But with customisation and the correct layering, you can make a steady base that can be used repeatedly.  

Luckily for you, Nick goes on to explain the importance of just this, as well as a yocto tutorial recipe and metadata example.

2) Layers are hierarchical  

Like a Game of Thrones power struggle, Yocto layers are all about who’s higher up the command chain.  In the case of Yocto layers, the higher the number, the higher the priority in the build. 

It’s also a simple and effective way to logically group or separate different information in your build. You could have a layer just for GUI, middleware etc.  So instead of a red wedding, you can have peace and order, which I think is much nicer. 

For some of you, this might seem like a Yocto tutorial for beginners, and for others it’s all brand new – stick with me either way, as we’re about to dive into the Mender Yocto lesson.

“Be like the cool kids and follow the layer naming convention” Nick Beck - Witekio

3) A/B system updates – very important

When your product needs an Over The Air (OTA) update, making sure you have A/B system updates can save you a whole world of pain. 

Using the A/B method, any and all OTA updates are first deployed to an inactive part of your device (meaning it’s not run instantly or shown to the end-user).  

Once the update is completed and verified there is a boot which triggers the update to activate. 

If something goes wrong and the update isn’t working, your bootloader will switch back to a known operational state that does work.

4) Overrides on variables

Overrides are mostly only used in Distro and Machine cases, and 9/10 you’ll just use Machine overrides – but don’t let this put you off. 

As the Mender expert (Josef Holzmayr) explained in his section of the Yocto Tutorial, overrides are a great way of telling your machine what you need it to do without creating a ton of extra work. 

When you introduce device hardware to your mix, suddenly your Linux image needs to react to the hardware, as well as do what you need it to do. 

With Machine overrides you can conditionally select/adjust functionality to customise as you need, saving you time (and a lot of frustration). 

Webinar Overview:

EventYocto Master Class – Understanding variables and overrides 

Duration: 54 minutes

Presenters:  

  • Nicholas Beck, Embedded Team Lead – Witekio 
  • Josef Holzmayr, Head of Developer Relations – Mender.io 

Topics: 

  • The mechanisms and variables of Yocto 
  • How to create a customized Yocto build and software package for your product 
  • How to integrate Mender into your Yocto project 
  • How Witekio can support your team in the process 
Georgie Ryan Casling - Content Manager
22 July 2022