Welcome to the 14th issue of TMPDIR Weekly, a newsletter covering Embedded Linux, IoT systems, and technology in general. Please pass it on to anyone else you think might be interested and send any tips or feedback to our forum or news@tmpdir.org.
Linux
Linux 5.15 has been released and while going through changes it seems MIPS support is almost done, there were very few patches and even in past few year main contributor has been Loongson and now they have dumped MIPS for their own new architecture called loongarch. This is an indicator that when deciding on new SOCs, one should pay attention to SOC CPU architecture and if it is not ARM, RISCV, or x86 then take a double look.
A nice summary of changes is provided by CNX Software
Yocto’s git fetcher falls back to using master
for branchname if it is not
specified by the user in the recipe when defining SRC_URI
. Recently a lot of
OSS packages have started moving away from calling the default branch master;
therefore, it is no longer a common default. Yocto now warns about such usage:
Parsing recipes...
WARNING: /home/jenkins/oe/world/yoe/sources/meta-freescale/recipes-bsp/mxsldr/mxsldr_git.bb:
URL: git://git.denx.de/mxsldr.git does not set any branch parameter.
The future default branch used by tools and repositories is uncertain and we will
therefore soon require this is set in all git urls.
There is detailed discussion about this on oe-architecture mailing list openembedded-architecture@lists.openembedded.org | Default branch names in git urls
Yoe release 2021.10 (karakul) is now available. See release notes for a list of changes. This is the first Yoe release that includes Yocto 3.4, which has many changes.
Github has stopped supporting the unencrypted 'git' protocol, which may impact Yocto recipes. We have fixed up a few of our recipes.
IoT
In Simple IoT we are finishing ADR-1 and have been pulling CRDT theory into the discussion. This has been very helpful as it gives us a vocabulary and framework for thinking about data synchronization problems. It is shaping up nicely and will give us a good data framework going forward. Still a lot of things to explore (like issues with distributed clocks), but we're making progress. It is neat when you discover others are using similar approaches to solve problems.
With the availability and low cost of networks, the future in computing is distributed. Distributed data requires a different mindset than the central database mentality. For many distributed systems, it works best to handle the data synchronization and merging at the application layer. And with these new methods (like CRDTs) the result is more simple and reliable. When things get simpler, this is a good indication we are heading in the right direction. -- cb
Other
Sometimes its handy to know what the compiler might be doing with a code snippet. At times when I am working on upgrading a compiler or debugging a performance issue, I want to look at different versions of compiler to generate code for a given source and compare. This tool called the Compiler Explorer is priceless for me. I believe it could also help folks who are learning computer programming -- especially at the system level. It supports all the well known programming languages e.g. C/C++, Go, Rust, JAVA, Python etc. You can choose difference compilers and different versions. You can also choose different cross compiler architectures e.g. ARM/x86/RISCV/PPC/MIPS etc. -- kr
Quote for the week
Simplicity is a prerequisite for reliability. -- Edsger W. Dijkstra
Join our Discourse forum to discuss these or new topics. Find past issues of TMPDIR here. Listen to previous podcasts at https://tmpdir.org/.
Thanks for reading!
Khem and Cliff