Tech Tips Yocto AMA
In preparation of the Tech Tips AMA on Yocto, this is a place to post the questions you want me to look into (yes - I'm cheating in wanting to give myself some time to research and test the answers before I go live!).
To start people off, here are some of the questions I have been asked outside of this channel that I may be answering:
- What is with all these strange names for Yocto relases - Kirkstone, Scarthgap, etc?
- I have built an image and installed it on my target. Can I add more things to it without having to to-flash the entire board?
- I have inherited a system from someone else. I found that I had to change a file on the board to make some changes. I have searched through all the recipes but cannot see where the original file is for me to make the changes in the build.
- I need to change some of the configuration parameters of the kernel, how do I do it?
- I am getting errors when I am building a recipe. How can I debug it?
- How can I specify the partitions of the SD card image that gets built by Yocto?
- I added OpenCV to my system, but I am getting
AttributeError: module 'cv2' has no attribute 'dnn'
when I try to run my code.
Reply to this post with the Yocto questions and issues you have got and I will see what I can do to answer them.
You can also keep me on my toes and ask questions in the live chat - but there is always the danger that I will respond with, "Great Question - let me get back to you on that"!
Ming.5 Replies
@Ming here are questions/topics from our promotional outreach on Reddit:
Fluffy-Inflation-446
I really struggle to understand the completely understand the bootloader part and integration when using u-boot. Any good materials to dive in u-boot port and device tree manipulation using Yocto? Thanks!
Cosmic_War_Crocodile
How do you cleanly implement a custom fetcher?
Fluffy-Inflation-446
I find myself stuck on having a clear exercise and guide to follow in order to understand device tree internals. What I want is like an hybrid approach to let me know how to do it at runtime and build time.
Fluffy-Inflation-446
I really struggle to understand the completely understand the bootloader part and integration when using u-boot. Any good materials to dive in u-boot port and device tree manipulation using Yocto? Thanks!
Fluffy-Inflation-446
What I am really curious about is if I had a chance to get an unsupported board today what are the steps to port u-boot? What is the common path? The first things to try? The bare minimum bring up?
Probably what I really want to have is a very good exercise to guide me through this learning process, by having something more practical to do and achieve.
kemo_2001
How are device trees handled if I want to add any custom ones?
RoganDawes
I’d like to rebuild the yocto image for my DLink DWM222 LTE modem. There’s an overlay(?) referenced somewhere on the Qualcomm repos (it’s been a while since I tried this), but it was developed on a really old version - think Ubuntu 14.04 or thereabouts. How do I even start trying to build it? Do I need to use an Ubuntu 14.04 vm to get the versions of tools that yocto expects to find?
I recall running a build that downloaded gigabytes of sources and took days to run. Where do I find the output image to flash to my modem? How do I start customising the image?
From LinkedIn:
Wassef Ben Massoud
Challenges: Some library are not yet supported by kirkstone (scip6 for example)
HARDIK
Any board bring up activity with yocto project link?
Other questions:
from jagauthier:
I want to provide a custom file. Like /etc/issue. However, I can't find any clear documentation on how to do this. I've tried multiple things including creating basefiles%.bbappend, and as well as a custom recipe to provide it. Either it's not copied or the image fails because base_files things I am already providing the file. Why is this so hard? I should be able to find the answer with a simple google search, like this https://www.google.com/search?client=firefox-b-1-d&q=Yocto+how+to+provide+a+custom+hosts+file
From Express_Damage5958:
(1) How do we compile bare metal applications with a bare metal toolchain inside Yocto?
We have SoC's which have real time ARM Cortex cores and we currently build bare metal applications outside of Yocto. I haven't quite sat down and figured this out but I know it's possible.
(2) Yocto Override Syntax and how this works with bbappends
(3) How can you optimize the Yocto dependency graph to speed up builds?
(4) How can you speed up the parsing phase for Yocto recipes?
I am currently working with a BSP that has more than 20 layers and a lot of recipes. Reparsing all the recipes takes a few minutes every time we do a build and all the recipes seem to trigger warnings. Looking at you Qualcomm...
(5) How do you setup an effective build server with Yocto?
We have a few build machines which have a GitHub runner that polls our meta-layers. Updates to our meta-layers then trigger Yocto builds. However, developers do most of their builds on their machine. How can we re-use SSTATE CACHE and DOWNLOAD DIR from our build servers on our local machines to speed up builds? We are beginning to learn about HASHSERVE but I want to hear more about this.
i have also been fiddling with yocto about a month or 2
used to earlier use only buildroot and messed around with T2 system dev(https://t2sde.org)
I wanted to know a few things
1. thought process to follow when building yocto based linux systems.
2. Could you help with an example how a CI/CD pipeline could be setup.
3. If we take only a single HW - i like buildroot due to its lesser build time, how do you normally reduce buildtime in yocto?
1. How to prepare the yocto source for Building custom embedded Linux distributions with one example?
2. How to find/list the added packages with existing images?
3. How to add and remove the peripherals(Ex.UART) with custom image?
4. How to add and remove the packages(Ex. Qt,debian pack,opencv,nginx server) with custom image?
5. How to modifying the kernel / u boot/ device tree/ rootfs configuration with one example?
6. How to build the Qt/Android image?
How to write a auto scripting for SBC?