The Zephyr community has released LTS v2 which comes with many new features and enhancements. Touted as the biggest release of Zephyr ever, this release had more than 1,000 contributors and supported over 350 boards and 9 architectures. To learn more about this release, we invited Chris Friedt, Zephyr Release Manager.
Friedt believes that it’s not about Linux vs Zephyr. In the modern world, we are going to package Linux and an RTOS like Zephyr together and they work as a single product. “It’s going to enable manufacturers to make better Linux-based products,” said Friedt.
- What role do you see Zephyr is playing in today’s world where we do have Linux and other kernels out there?
- What kind of combined use cases of Linux being used with Zephyr is he envisioning?
- Let’s talk about what other new features there are in LTS v2? What are the enhancements that you made?
- It’s LTS – long-term support version – for how long is a release supported and what’s the importance of these LTS releases for the actual product manufacturer?
- How easy is the upgrade path from one release to the next?
- How many boards are supported by this release?
- We then talked about the growth of the community.
- Security has been a priority for the Zephyr project. What improvements were made in this release since it’s LTS?
Swapnil Bhartiya: Hi, this is your host Swapnil Bhartiya and welcome to another episode of Let’s Talk. Today we have with us Chris Friedt, Zephyr Release Manager and embedded software engineer at Facebook. Chris, it’s great to have you on the show.
Chris Friedt: Hey, thanks. It’s really nice to be here.
Swapnil Bhartiya: Right, and today we will talk about Zephyr LTS version two. Before we talk about a specific version, I would like to hear from you. What role do you see Zephyr is playing in today’s world where we do have Linux and other kernels out there.
Chris Friedt: Yeah, well I think that the biggest impact that it’s going to have will be the ability for Linux and an RTOS like Zephyr, to be packaged together and work in concert really wonderfully as a product. So I think it’s really going to enable manufacturers to make better Linux based products.
Swapnil Bhartiya: When you talk about Zephyr and Linux in the same product, what kind of use cases are you looking at? Because sometimes it seems like there’s different footprint and different use cases. So talk a bit about the combined use cases you are looking at.
Chris Friedt: Well that’s exactly it. Zephyr has a really minimal memory footprint so we’re talking kilobytes of flash base and kilobytes of RAM, nothing beyond that. And typically Linux would require megabytes of RAM and around the same magnitude for flash or storage. And then of course, Zephyr is the real-time operating system that would probably go on something like a network co-processor where you are interacting real time with Bluetooth [Laura 00:01:48] or Wi-Fi. And then Linux typically would communicate with that network co-processor.
Swapnil Bhartiya: Let’s talk about what other new features there are? What are the enhancements that you made?
Chris Friedt: This is the biggest release ever from the Zephyr Project. So I know that the Bluetooth team has been extremely active. Adding Bluetooth audio or improving Bluetooth audio, adding direction finding and improving Bluetooth mesh as well. This is also kind of a small feature, but I think it’s really important. They’ve extended the size of the Bluetooth advertisement field beyond 251 bytes so that you can get really interesting and creative advertisement messages to your Apple iPhone or your Mac when you’re pairing with a Bluetooth device.
Aside from that, there have been a lot of changes… additions, I should say, to the architecture and [CMSIS 00:02:55], which is an arm library that was upgraded to version 5.8.0. Of course, the 64-bit arm gained some M-profile Vector Extension support improvements to the PCI Subsystem. A small contribution that I recently made was adding service type enumeration to DNS service discovery, which I’m quite excited about because that will enable network enabled Zephyr devices to just show up when they’re attached to your home network.
Another really important improvement that was made was the enablement for additional tool chains. So for example, we have support now for armclang and armlinker, as well as the arc specific tool chain. In Zephyr we like to be inclusive and we know that there are a lot of vendors out there that have very specific tool chain requirements. So this should enable tool chain vendors to add support for Zephyr to their portfolio.
Swapnil Bhartiya: Excellent, excellent. Well, the name LTS is self-explanatory, long term support. First of all, for how long do you support a version? Number two, what is the actual importance for system? I’m looking at the product manufacturers, what does it mean to them?
Chris Friedt: The long term support release is important because it enables manufacturers to have a steady point of reference for any additions or modifications they need to make to Zephyr. And also, it gives us the opportunity to say we’ve vetted this piece of software to the best of our ability and we can promise that there are no major bugs, there are no medium priority bugs, or less than 20, I should say. We have some limits that we actually publish. So no blockers, there’s nothing that’s going to be a show stopper in their product release. And of course we do intend to support this LTS release for two years.
Swapnil Bhartiya: How easy is the upgrade path from one release to the other?
Chris Friedt: Currently, our version one LTS is slated to overlap with version two for a period of six months. Now I might have to go back and check on that, but I believe that’s what the case is and it should… We do backport still to version one LTS. And because of that overlap, it should give our industry partners a chance to move pretty seamlessly from one version to the next. So in terms of upgrade path, we do support various former upgrade methods. There’s an OTA upgrade method. We also have MCU boot, which is our boot loader that we support and that will allow you to manage multiple for more versions. So upgrading from version one LTS to version two LTS is pretty seamless.
Swapnil Bhartiya: Can you also talk about what kind of… or how many boards are supported by the LTS release? And also is there [inaudible 00:06:14] certain boards are supported on LTS and then there are… because LTS, you have to maintain for two years. So you do have to focus on what kind of boards you do want to support because otherwise that will become a liability on you.
Chris Friedt: Exactly. So any boards that are no longer manufactured, we do not support. So occasionally there are various beta development boards that are released, but if those cease to be in production then we can’t support them. Anything that is part of the long term support release is something that we anticipate would have manufacturability for at least a couple years.
So currently there are… I think there is possibly one board that might not be a part of LTS in the long term, but we’ll have to look into some more details about that. But currently we do support close to, if not exactly, 400 different development boards and that’s on 12 different architectures, including some microarchitectures. So it really gives you a huge choice… Sorry, it really gives you a huge number of boards to choose from.
Swapnil Bhartiya: The Zephyr community adoption is growing so talk about what kind of growth you have seen in adoption and of the community in the last, let’s say, since the last release or last 12 months.
Chris Friedt: It is absolutely increasing. I don’t want to say it’s exponential, but it’s huge. It’s explosive. We recently surpassed our 1000th contributor so that’s pretty exciting. We’re now at a… I think 1300 and compared to LTS one, that’s over double. It’s nearly triple… And I would say the community is probably the best that I’ve ever been a part of. Everyone’s quite patient, nobody’s confrontational. We’re all here to achieve the same goal, which is releasing a really great product.
Swapnil Bhartiya: One thing that we did not touch upon, and that is becoming kind of a major discussion matter where you look at, is security. From what I know about security, you folks do a lot of work on security as well. So from the LTS perspective, what are you doing for security? What is there to make sure that all those devices are secure?
Chris Friedt: So just as vendors and manufacturers expect the product updates and for more update process to go seamlessly, they also expect that their products will be secure over time. And another really important part of the long term support release is that we will be adding CBE fixes, patches to mitigate security issues to the LTS release. So anything that goes into the main line of Zephyr to fix a security issue will also be backported to the LTS branch.
Swapnil Bhartiya: Chris, thank you so much for taking time out today and talk about not only this, of course version two of LTS, but also the most exciting thing that you mentioned was Linux and Zephyr because those are the kind of use cases I’ll be more than interested in seeing. So thank for sharing those insights and I would love to have you back on the show. Thank you.
Chris Friedt: Absolutely. Thanks.