<?xml version="1.0" encoding="UTF-8" standalone="no"?><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" version="2.0">

<channel>
	<title>Konsulko Group</title>
	<atom:link href="https://www.konsulko.com/feed" rel="self" type="application/rss+xml"/>
	<link>https://www.konsulko.com</link>
	<description>Embedded Linux Engineering Services Company</description>
	<lastBuildDate>Wed, 18 Mar 2026 09:36:34 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	
<site xmlns="com-wordpress:feed-additions:1">124266494</site>	<itunes:explicit>no</itunes:explicit><itunes:subtitle>Embedded Linux Engineering Services Company</itunes:subtitle><item>
		<title>Konsulko Group extends Edge AI practice on Jetson, joins NPN</title>
		<link>https://www.konsulko.com/edge-ai-on-jetson-joins-npn</link>
		
		<dc:creator><![CDATA[Konsulko Group]]></dc:creator>
		<pubDate>Sun, 08 Mar 2026 18:59:26 +0000</pubDate>
				<category><![CDATA[News]]></category>
		<category><![CDATA[embedded linux]]></category>
		<category><![CDATA[engineering services]]></category>
		<category><![CDATA[jetson]]></category>
		<category><![CDATA[npn]]></category>
		<category><![CDATA[ota]]></category>
		<category><![CDATA[secure boot]]></category>
		<category><![CDATA[Yocto Project]]></category>
		<guid isPermaLink="false">https://www.konsulko.com/?p=7458</guid>

					<description><![CDATA[<p>End-to-end development services for the entire NVIDIA Jetson family, including custom hardware designs, board bring-up, application integration with OTA updates</p>
The post <a href="https://www.konsulko.com/edge-ai-on-jetson-joins-npn">Konsulko Group extends Edge AI practice on Jetson, joins NPN</a> first appeared on <a href="https://www.konsulko.com">Konsulko Group</a>.]]></description>
										<content:encoded><![CDATA[<p>Konsulko engineers have a long history providing hardware and software services for our customers deploying artificial intelligence in embedded products, particularly on NVIDIA<sup>®</sup> platforms. </p>



<p>We offer <a href="https://www.konsulko.com/edge-ai-services-nvidia-jetson" target="_blank" rel="noopener" title="">end-to-end Jetson<sup>™</sup> development services</a> for the entire NVIDIA Jetson family, including custom hardware designs, board bring-up and application integration with OTA updates. Some of our particular expertise includes:</p>



<ul class="wp-block-list">
<li>Expert migration from NVIDIA L4T to a custom, production-grade Yocto distribution</li>



<li>Implementation of Secure Boot, authenticated UEFI, disk encryption, and per-device keys to protect IP and data at the Edge</li>



<li>CUDA and AI workflow integration for flexible AI deployment</li>



<li>Integration of powerful OTA solutions like Mender and RAUC for reliable, secure, and scalable A/B differential updates</li>



<li>Board Support Package (BSP) development for custom carriers, device tree configuration, and system performance tuning</li>



<li>Real-Time Linux Kernel (Preempt-RT) support for applications requiring deterministic performance and low latency</li>
</ul>



<p>Last November, we announced <a href="https://www.konsulko.com/konsulko-orca-os-edge-ai-nvidia-jetson" target="_blank" rel="noopener" title="">Konsulko Orca OS™</a>, a production-ready Linux operating system designed for secure, high-performance AI applications on NVIDIA Jetson platforms that can be delivered to Konsulko customers as part of a services engagement. Built on the Yocto Project, it offers secure boot, encrypted storage, and reliable over-the-air (OTA) updates, optimized for NVIDIA Jetson Orin platforms.</p>



<p>Emphasizing a security-first approach, Orca OS utilizes NVIDIA secure boot and dm-verity for a read-only root filesystem, plus dm-crypt/LUKS for encrypted data. Its Yocto Project foundation ensures reproducible builds, an automatic Software Bill of Materials (SBOM), and tailored SDKs, all backed by broad industry support.</p>



<p>Recently, Konsulko Group was selected to join the <a href="https://www.nvidia.com/en-us/about-nvidia/partners/" target="_blank" rel="noopener" title="">NVIDIA Partner Network</a> (NPN), a global ecosystem of technology partners designed to help design, build, and deliver NVIDIA AI-accelerated computing solutions. We look forward to working with NVIDIA and the many members of NPN as we continue to help our customers around the world develop successful products.</p>



<p>Please <a href="https://www.konsulko.com/contact" target="_blank" rel="noopener" title="">contact us</a> to discuss your engineering services requirements for your next Jetson-based project.</p>



<p></p>The post <a href="https://www.konsulko.com/edge-ai-on-jetson-joins-npn">Konsulko Group extends Edge AI practice on Jetson, joins NPN</a> first appeared on <a href="https://www.konsulko.com">Konsulko Group</a>.]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">7458</post-id>	</item>
		<item>
		<title>Konsulko Group: The Year in Review 2025</title>
		<link>https://www.konsulko.com/year-in-review-2025</link>
		
		<dc:creator><![CDATA[Konsulko Group]]></dc:creator>
		<pubDate>Fri, 19 Dec 2025 21:49:01 +0000</pubDate>
				<category><![CDATA[News]]></category>
		<category><![CDATA[edge ai]]></category>
		<category><![CDATA[embedded linux]]></category>
		<category><![CDATA[encrypted storage]]></category>
		<category><![CDATA[hardware design]]></category>
		<category><![CDATA[hardware development]]></category>
		<category><![CDATA[konsulko group]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[OpenEmbedded]]></category>
		<category><![CDATA[orca os]]></category>
		<category><![CDATA[ota]]></category>
		<category><![CDATA[secure boot]]></category>
		<category><![CDATA[Yocto Project]]></category>
		<guid isPermaLink="false">https://www.konsulko.com/?p=7256</guid>

					<description><![CDATA[<p>Focused on practical hardware and software engineering that help companies build breakthrough embedded devices, with a specific emphasis on deploying Edge AI</p>
The post <a href="https://www.konsulko.com/year-in-review-2025">Konsulko Group: The Year in Review 2025</a> first appeared on <a href="https://www.konsulko.com">Konsulko Group</a>.]]></description>
										<content:encoded><![CDATA[<p>In 2025, as in our previous 13 years in business, Konsulko Group focused on the practical hardware and software engineering that help companies build breakthrough embedded devices. More and more, this has been with a specific emphasis on deploying Edge AI. We worked alongside companies creating real-world products using AI-capable hardware in medical devices, robotics, smart transportation, and industrial automation.</p>



<p>Beyond our core services, we announced a new platform for Edge AI and published technical guides to address common integration challenges. The following highlights cover the technical work and resources we delivered this year to support embedded product development.</p>



<h3 class="wp-block-heading">Introducing Konsulko Orca OS for Edge AI</h3>



<p>On November 2, we launched <a href="https://www.konsulko.com/konsulko-orca-os-edge-ai-nvidia-jetson" target="_blank" rel="noopener" title="">Konsulko Orca OS</a>, the production-ready Linux operating system designed for secure, high-performance AI applications on NVIDIA Jetson platforms. Built on the Yocto Project, and delivered as part of Konsulko Group&#8217;s software services, Orca OS is engineered from the ground up for deployment in real-world, commercial products, featuring long-term support, secure boot, encrypted storage, hardened production builds, remote diagnostics, reliable over-the-air (OTA) updates and cloud management.</p>



<p>Konsulko also offers end-to-end Jetson development services for the entire NVIDIA Jetson family, including custom hardware designs, board bring-up and application integration with OTA updates.</p>



<h3 class="wp-block-heading">Custom Hardware for Complex Embedded Systems</h3>



<p>Konsulko continued to deliver <a href="https://www.konsulko.com/hardware-design-services" target="_blank" rel="noopener" title="">hardware design services</a> ranging from schematic capture and PCB layout to rapid prototyping, custom SOMs and carrier boards, to manufacturing management. Serving the consumer electronics, medical, telecommunications, and industrial sectors, our engineers integrate robust hardware design with secure, production-ready software to accelerate our customers’ deployment of their devices.</p>



<h3 class="wp-block-heading">Production Engineering for Medical and Utility Robotics</h3>



<p>Our services work in 2025 focused heavily on <a href="https://www.konsulko.com/edge-ai-services-nvidia-jetson" target="_blank" rel="noopener" title="">deploying Edge AI</a> in regulated and industrial environments. For example, we provided a production-secure, encrypted OS using Yocto and a mainline Linux kernel to serve as a base for AI applications operating at the edge for smart grid monitoring systems.&nbsp;</p>



<p>Konsulko assisted with two separate medical device projects, both built on the NVIDIA Jetson platform. For both projects, we migrated the underlying OS from NVIDIA L4T to a production-ready Yocto Project distribution. A key requirement was creating and maintaining a custom SDK to enable their developers to build CUDA applications. Additionally, we ensured another medical device running on Yocto remained current by updating it with the latest NVIDIA SDK releases.</p>



<h3 class="wp-block-heading">Addressing Hardware Security on NVIDIA</h3>



<p>Implementing a full Chain of Trust on high-performance SoCs remains a significant challenge&nbsp;for engineering teams. In July, we published the technical guide, <a href="https://www.konsulko.com/why-embedded-lags-enterprise-nvidia" target="_blank" rel="noopener" title="">Cybersecurity on NVIDIA: Why Embedded Lags Enterprise Linux.</a></p>



<p>Embedded Linux systems, even on popular platforms like NVIDIA Jetson, can sometimes lag behind enterprise Linux distributions in terms of cybersecurity practices and promptness of security updates. This guide provides a high-level overview of the methodology and components utilized to secure Jetson hardware on production projects.&nbsp;</p>



<p>The process establishes a hardware-based root of trust, which is then extended to verify the integrity of every subsequent boot stage, all the way to the Linux userspace. Furthermore, the solution incorporates encryption-at-rest to protect sensitive intellectual property in deployed systems.</p>



<h3 class="wp-block-heading">Standardizing Hardware-in-the-Loop Testing (Labgrid)</h3>



<p>At Open Source Summit Europe in August, Konsulko Principal Software Engineer <a href="https://www.konsulko.com/about/meet-the-team" target="_blank" rel="noopener" title="">Tim Orling</a> (with Trevor Gamblin of Bay Libre) presented <a href="https://www.konsulko.com/portfolio-item/powering-up-lab-automation-with-labgrid-and-ci" target="_blank" rel="noopener" title="">Powering Up: Lab Automation With Labgrid and CI</a>. This highlighted a standardized testing infrastructure we can use for customer projects.&nbsp;</p>



<p>We can utilize Labgrid (a Python library for embedded control) to integrate physical boards into the Continuous Integration pipeline. Instead of relying on QEMU or manual QA, we automate power cycling, serial console interaction, and GPIO manipulation on actual hardware to catch regressions in the boot process or hardware interaction layers before code reaches the client.</p>



<p>We have also leveraged this capability to support the U-Boot community. Specifically, we enabled the community to run their existing test suite <a href="https://lore.kernel.org/u-boot/20251118210015.624758-1-trini@konsulko.com/" target="_blank" rel="noopener" title="">automatically in Gitlab CI</a>. This automation covers four distinct hardware platforms and various software configurations.</p>



<h3 class="wp-block-heading">Executing Windows CE to Linux Migration</h3>



<p>As Konsulko Principal Software Engineer&nbsp;<a href="https://www.konsulko.com/about/meet-the-team" target="_blank" rel="noreferrer noopener">George</a><em><a href="https://www.konsulko.com/about/meet-the-team" target="_blank" rel="noreferrer noopener"> </a></em><a href="https://www.konsulko.com/about/meet-the-team" target="_blank" rel="noopener" title="">McCollister</a> described in his technical blog post <a href="https://www.konsulko.com/windows-ce-to-linux" target="_blank" rel="noopener" title="">Migrating from Windows CE to Yocto-based Embedded Linux</a> in January, our team managed several legacy migration projects for industrial customers. These projects involved porting application logic from deprecated Windows CE environments to supported Yocto Project-based Linux builds.&nbsp;</p>



<p>We delivered modernized OS images that maintained existing application behavior while moving the underlying system to long-term supported (LTS) kernels, mitigating the security risks associated with end-of-life operating&nbsp;systems.</p>



<h3 class="wp-block-heading">Explaining “Embedded Systems” to professionals in other fields</h3>



<p>Those of us working in this field for 20-30 years (or more) can sometimes forget that the basics — what these systems are and the steps we take every day to make them work — may seems very foreign to folks in corporate management, finance, or students and newcomers to embedded engineering. </p>



<p>To this end, Konsulko Group started a series of informational articles. The first asks the overarching question: <a href="https://www.konsulko.com/embedded-systems-design" target="_blank" rel="noopener" title="">What is Embedded Systems Design</a>?</p>



<h3 class="wp-block-heading">Continuing our Contribution to Open Source communities</h3>



<p>Throughout 2025, Konsulko engineers maintained their seats on the <a href="https://www.openembedded.org" target="_blank" rel="noopener" title="">OpenEmbedded</a> Board of Directors and the <a href="https://www.yoctoproject.org" target="_blank" rel="noopener" title="">Yocto Project</a> Technical Steering Committee, and played a key role in organizing and presenting at multiple community events. Our engineers continue in the role of project maintainer and make significant contributions to numerous Open Source projects.</p>



<figure class="wp-block-image size-full"><img decoding="async" width="888" height="576" src="https://www.konsulko.com/wp-content/uploads/2025/12/Konsulko-Contribution-1.png" alt="" class="wp-image-7264" srcset="https://www.konsulko.com/wp-content/uploads/2025/12/Konsulko-Contribution-1.png 888w, https://www.konsulko.com/wp-content/uploads/2025/12/Konsulko-Contribution-1-300x195.png 300w, https://www.konsulko.com/wp-content/uploads/2025/12/Konsulko-Contribution-1-768x498.png 768w, https://www.konsulko.com/wp-content/uploads/2025/12/Konsulko-Contribution-1-705x457.png 705w" sizes="(max-width: 888px) 100vw, 888px" /></figure>



<p>We look forward to working with you in 2026 on building your next embedded device. Please <a href="https://www.konsulko.com/contact" target="_blank" rel="noopener" title="">contact us</a> anytime to discuss your new or on-going hardware and software requirements.</p>The post <a href="https://www.konsulko.com/year-in-review-2025">Konsulko Group: The Year in Review 2025</a> first appeared on <a href="https://www.konsulko.com">Konsulko Group</a>.]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">7256</post-id>	</item>
		<item>
		<title>Introducing Konsulko Orca OS, the Platform for the Edge</title>
		<link>https://www.konsulko.com/introducing-konsulko-orca-os</link>
		
		<dc:creator><![CDATA[Konsulko Group]]></dc:creator>
		<pubDate>Sun, 02 Nov 2025 15:22:58 +0000</pubDate>
				<category><![CDATA[News]]></category>
		<category><![CDATA[edge ai]]></category>
		<category><![CDATA[embedded linux]]></category>
		<category><![CDATA[encrypted storage]]></category>
		<category><![CDATA[engineering services]]></category>
		<category><![CDATA[jetson]]></category>
		<category><![CDATA[konsulko group]]></category>
		<category><![CDATA[nvidia]]></category>
		<category><![CDATA[orca os]]></category>
		<category><![CDATA[ota]]></category>
		<category><![CDATA[over-the-air updates]]></category>
		<category><![CDATA[secure boot]]></category>
		<category><![CDATA[Yocto Project]]></category>
		<guid isPermaLink="false">https://www.konsulko.com/?p=7123</guid>

					<description><![CDATA[<p>A production-ready, robust and secure foundation for your Edge AI and IoT products, enabling secure boot, encrypted storage, and reliable over-the-air updates</p>
The post <a href="https://www.konsulko.com/introducing-konsulko-orca-os">Introducing Konsulko Orca OS, the Platform for the Edge</a> first appeared on <a href="https://www.konsulko.com">Konsulko Group</a>.]]></description>
										<content:encoded><![CDATA[<p><a href="https://www.konsulko.com/konsulko-orca-os-edge-ai-nvidia-jetson" target="_blank" rel="noopener" title="">Konsulko Orca OS™</a> is a secure, production-ready, and commercially supported Linux operating system designed for Edge AI and IoT devices. </p>



<p>Delivered as part of Konsulko Group’s extensive software services for companies developing embedded devices, Orca OS provides a robust and reliable foundation for your products, enabling secure boot, encrypted storage, and reliable over-the-air (OTA) updates.&nbsp;</p>



<p>Optimized for NVIDIA Jetson Orin platforms, Orca OS allows you to leverage powerful AI and machine learning frameworks in a secure and manageable environment.</p>



<h3 class="wp-block-heading"><strong>Production-Ready by Design</strong></h3>



<p>Orca OS is engineered from the ground up for deployment in real-world commercial products. It includes long-term support, failsafe A/B OTA updates with rollback, hardened production builds, remote diagnostics, and cloud management via Azure IoT Hub.&nbsp;</p>



<p>Emphasizing a security-first approach, Orca OS utilizes NVIDIA secure boot and dm-verity for a read-only root filesystem, plus dm-crypt/LUKS for encrypted data.</p>



<h3 class="wp-block-heading"><strong>Built on Yocto Project</strong></h3>



<p>Konsulko Orca OS is built on the Yocto Project, and based on the latest stable and LTS Yocto Project releases. Yocto Project allows for the creation of custom Linux-based systems with unparalleled control and efficiency.&nbsp;</p>



<p>Key advantages include broad industry and community support, reproducible builds from same source inputs, tailored SDKs for application development, and automatically-generated Software Bills of Materials (SBOMs) for security and compliance.</p>



<h3 class="wp-block-heading"><strong>Bring Your AI Vision to the Edge</strong></h3>



<p>In addition to Orca OS, Konsulko provides <a href="https://www.konsulko.com/edge-ai-services-nvidia-jetson" target="_blank" rel="noopener" title="">end-to-end Jetson development services</a>. From the earliest TK1 to the latest Orin and Thor families, Konsulko Group delivers production-ready, secure, and robust embedded Linux solutions for the entire NVIDIA Jetson family. From custom board bring-up to application integration with OTA updates, we provide the deep expertise you need.</p>



<p>To unlock the full potential of your edge devices with the security and reliability of Konsulko Orca OS and Edge AI services, please <a href="https://www.konsulko.com/contact" target="_blank" rel="noopener" title="">contact us</a> today. Our expert team is ready to help you customize the platform that meets your specific product needs.</p>



<p></p>The post <a href="https://www.konsulko.com/introducing-konsulko-orca-os">Introducing Konsulko Orca OS, the Platform for the Edge</a> first appeared on <a href="https://www.konsulko.com">Konsulko Group</a>.]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">7123</post-id>	</item>
		<item>
		<title>Cybersecurity on NVIDIA: Why Embedded Lags Enterprise Linux</title>
		<link>https://www.konsulko.com/why-embedded-lags-enterprise-nvidia</link>
		
		<dc:creator><![CDATA[Konsulko Group]]></dc:creator>
		<pubDate>Thu, 24 Jul 2025 14:18:07 +0000</pubDate>
				<category><![CDATA[All Blog Posts]]></category>
		<category><![CDATA[Embedded Linux Related Posts]]></category>
		<category><![CDATA[Linux Security-Related Articles]]></category>
		<category><![CDATA[embedded linux]]></category>
		<category><![CDATA[konsulko group]]></category>
		<category><![CDATA[nvidia]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[Yocto Project]]></category>
		<guid isPermaLink="false">https://www.konsulko.com/?p=6902</guid>

					<description><![CDATA[<p>Ensure security by building a chain-of-trust with secure boot processes, integrating security technologies with Yocto Project, key management, on-going support.</p>
The post <a href="https://www.konsulko.com/why-embedded-lags-enterprise-nvidia">Cybersecurity on NVIDIA: Why Embedded Lags Enterprise Linux</a> first appeared on <a href="https://www.konsulko.com">Konsulko Group</a>.]]></description>
										<content:encoded><![CDATA[<p>Embedded Linux systems, even on popular platforms like NVIDIA Jetson, can sometimes lag behind enterprise Linux distributions in terms of cybersecurity practices and promptness of security updates.&nbsp;Here&#8217;s why:</p>



<p><strong>Customization and Divergence</strong></p>



<p>Embedded Linux systems often involve significant customization and the use of specialized components (including NVIDIA hardware), which can diverge from the more homogenous use cases served by the enterprise Linux vendors that have one-size-fits-all distributions.</p>



<p><strong>Resource Constraints</strong></p>



<p>Embedded devices typically operate with limited resources (power, memory, processing power). These constraints can hinder the adoption of certain advanced security features available in enterprise Linux environments.</p>



<p><strong>Update Cycles</strong></p>



<p>Embedded systems, especially in critical infrastructure or applications, often have longer lifecycle requirements (lasting 10 years or more) compared to enterprise systems (typically 3-5 years). Constraints on cost and available bandwidth for metered data service (such as an LTE modem) can be a consideration as well. This can result in slower security patching and updates, leaving devices vulnerable to known exploits.</p>



<p><strong>Threat Models</strong></p>



<p>Embedded systems often face a different threat model compared to enterprise systems, including the possibility of physical access by attackers. This requires a tailored approach to security that may not be fully addressed by enterprise-focused solutions.</p>



<p><strong>Less Stringent Security Measures</strong></p>



<p>Traditionally, embedded devices sometimes lack robust mechanisms for detecting tampered files or unauthorized data access, making them attractive targets for offline attacks.&nbsp;</p>



<h3 class="wp-block-heading">Making Embedded Systems Secure</h3>



<p>Konsulko Group has always worked with our customers to help them build secure embedded products, including new &#8220;AI on the Edge&#8221; devices on NVIDIA platforms.</p>



<p><strong>Building a Chain of Trust</strong></p>



<p>Konsulko engineers use their expertise to establish a secure boot process, ensuring the integrity of the system and core software from boot-time to end-of-life. This involves encrypting, verifying, and measuring the integrity of the system and core software at each stage.</p>



<p><strong>Integration with Yocto Project and Key Management</strong></p>



<p>We integrate security technologies within the <a href="https://www.yoctoproject.org" target="_blank" rel="noopener" title="">Yocto Project</a> framework for embedded Linux development, and manage cryptographic keys, which are crucial for secure communication and data protection.</p>



<p><strong>On-Going Support and Maintenance</strong></p>



<p>We offer services to support the long-term security and maintenance of these systems, helping to bridge the gap between enterprise and embedded security practices over the device&#8217;s lifecycle.</p>



<h3 class="wp-block-heading">Security, Secure Boot and Chain-of-Trust Experts on NVIDIA platforms</h3>



<p>Konsulko Group has extensive expertise in commercial device security, with proven expertise in security-critical and production-ready systems. We have an embedded-first mindset with a focus on long-term maintainability, and have been a trusted partner in embedded Linux and NVIDIA ecosystem development.</p>



<p>Our engineers have had over two decades working with the open source technologies necessary to help you effectively manage and support the security of your project. We have real customer success across medical, industrial, transportation and defense sectors. </p>



<p>Please <a href="https://www.konsulko.com/contact" target="_blank" rel="noopener" title="">contact us</a> to learn how our engineering team can accelerate your next embedded product.</p>



<p></p>The post <a href="https://www.konsulko.com/why-embedded-lags-enterprise-nvidia">Cybersecurity on NVIDIA: Why Embedded Lags Enterprise Linux</a> first appeared on <a href="https://www.konsulko.com">Konsulko Group</a>.]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">6902</post-id>	</item>
		<item>
		<title>Integration and troubleshooting: Sterling LWB+ radio module</title>
		<link>https://www.konsulko.com/sterling-lwb-radio</link>
		
		<dc:creator><![CDATA[Konsulko Group]]></dc:creator>
		<pubDate>Mon, 28 Apr 2025 15:28:42 +0000</pubDate>
				<category><![CDATA[All Blog Posts]]></category>
		<category><![CDATA[Other Technical Posts]]></category>
		<category><![CDATA[Darko Alavanja]]></category>
		<category><![CDATA[embedded linux]]></category>
		<category><![CDATA[hardware]]></category>
		<category><![CDATA[konsulko group]]></category>
		<category><![CDATA[radio module]]></category>
		<category><![CDATA[Sterling LWB+]]></category>
		<guid isPermaLink="false">https://www.konsulko.com/?p=6541</guid>

					<description><![CDATA[<p>Konsulko engineers are often asked to evaluate hardware for our customers. Senior Engineer Darko Alavanja has written a new Guide focussing on the Sterling LWB+</p>
The post <a href="https://www.konsulko.com/sterling-lwb-radio">Integration and troubleshooting: Sterling LWB+ radio module</a> first appeared on <a href="https://www.konsulko.com">Konsulko Group</a>.]]></description>
										<content:encoded><![CDATA[<p>Konsulko engineers are often asked to evaluate radio modules and other hardware that may be used with one of our customers’ custom boards for an upcoming embedded product.&nbsp;</p>



<p>Recently, for two separate clients, we completed a detailed review of two WiFi/Bluetooth modules based on the Infinion CYW43439, manufactured by Ezurio (formerly Laird Connectivity and Boundary Devices). Ezurio hardware seems to be a popular choice, especially in the US, but Konsulko has no commercial relationship with the company and has made a purely technical evaluation.</p>



<p>Konsulko Senior Engineer <a href="https://www.konsulko.com/about/meet-the-team" target="_blank" rel="noopener" title="">Darko Alavanja</a> has written this Integration and Troubleshooting Guide focussing on the <a href="https://www.ezurio.com/wireless-modules/wifi-modules-bluetooth/sterling-lwb-wifi-4-and-bluetooth-52-modules" target="_blank" rel="noopener" title="">Sterling LWB+</a> with WiFi 4 and Bluetooth 5.2 support. It has SDIO 2.0 and HCI HS-UART interface with a few additional GPIOs for turning on the module’s WiFi and/or BT regulators, sleep operation etc.</p>



<p>The <a href="https://www.ezurio.com/wireless-modules/wifi-modules-bluetooth/sona-if513-wifi-6e-bluetooth-5-4-module" target="_blank" rel="noopener" title="">Sona IF-513</a> module is M.2 form factor module that that supports Wi-Fi 6E + Bluetooth® 5.4 and uses SDIO 3.0 and HS-UART. It has a similar setup to Sterling LWB+ with one important quirk discussed in the Guide.</p>



<p>Topics include:</p>



<ul class="wp-block-list">
<li>Hardware setup</li>



<li>GPIOs</li>



<li>SDIO interface &#8211; WiFi</li>



<li>HCI UART interface &#8211; Bluetooth</li>



<li>Yocto Build Setup</li>



<li>Kernel config</li>



<li>Device tree setup</li>



<li>Runtime validation</li>
</ul>



<p>The troubleshooting section addresses:</p>



<ul class="wp-block-list">
<li>Kernel build issues</li>



<li>Power sequencing</li>



<li>Module response to SDIO commands</li>



<li>SDIO data lines</li>
</ul>



<p>You may download the guide to<em> Integration and Troubleshooting of a Sterling LWB+ radio module</em> <strong><a href="https://www.konsulko.com/thank-you-for-requesting-to-download-this-pdf-from-konsulko-group" target="_blank" rel="noopener" title="">here</a></strong>.</p>



<p></p>The post <a href="https://www.konsulko.com/sterling-lwb-radio">Integration and troubleshooting: Sterling LWB+ radio module</a> first appeared on <a href="https://www.konsulko.com">Konsulko Group</a>.]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">6541</post-id>	</item>
		<item>
		<title>Migrating from Windows CE to Yocto-based Embedded Linux</title>
		<link>https://www.konsulko.com/windows-ce-to-linux</link>
		
		<dc:creator><![CDATA[Konsulko Group]]></dc:creator>
		<pubDate>Sat, 04 Jan 2025 17:17:04 +0000</pubDate>
				<category><![CDATA[All Blog Posts]]></category>
		<category><![CDATA[Embedded Linux Related Posts]]></category>
		<category><![CDATA[Yocto Project Related Articles]]></category>
		<category><![CDATA[embedded linux]]></category>
		<category><![CDATA[konsulko group]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[OpenEmbedded]]></category>
		<category><![CDATA[Yocto Project]]></category>
		<guid isPermaLink="false">https://www.konsulko.com/?p=6470</guid>

					<description><![CDATA[<p>After 27 years, Windows CE reached its end-of-life in 2023. Konsulko has been helping customers who formally used Microsoft’s embedded OS transition to Linux.</p>
The post <a href="https://www.konsulko.com/windows-ce-to-linux">Migrating from Windows CE to Yocto-based Embedded Linux</a> first appeared on <a href="https://www.konsulko.com">Konsulko Group</a>.]]></description>
										<content:encoded><![CDATA[<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p><em>After 27 years, Windows CE, later known as Windows Embedded CE and Windows Embedded Compact, reached its end-of-life in 2023. Konsulko Group has been helping customers who formerly used Microsoft’s OS for embedded devices to transition to Linux. This short article by Konsulko Principal Software Engineer <a href="https://www.konsulko.com/about/meet-the-team" target="_blank" rel="noopener" title="">George McCollister</a> outlines the steps.</em></p>
</blockquote>



<h3 class="wp-block-heading">Choosing the right software components and tools</h3>



<p>Linux, with its vast hardware support and software ecosystem is a natural replacement for device manufacturers that used Windows CE to migrate their product offerings.</p>



<p>The Yocto Project unifies the OpenEmbedded build system and other tools to provide a powerful launch platform for your Embedded Linux device. Recipes for hundreds of software packages are included and thousands more are available through 3rd party layers. Most SoC vendors provide a Yocto compatible BSP (Board Support Package) layer with recipes for building a boot loader and OS kernel. It’s also possible to create your own BSP layer either from scratch or to extend a vendor provided layer.</p>



<p>The most important part of the Windows CE to Yocto-enabled Embedded Linux transition process is understanding the available software components and tools so you can choose the most suitable replacements. It’s common for Windows CE devices to have more custom software since the software ecosystem is much smaller than Embedded Linux. It’s critical to identify which custom software can be replaced with software provided by Yocto Project and third-party layers. Choosing the correct existing tools, drivers, libraries and frameworks will provide a smoother transition and more robust, easy to maintain final product.</p>



<figure class="wp-block-image size-large"><img decoding="async" width="893" height="1030" src="https://www.konsulko.com/wp-content/uploads/2025/01/Windows-CE-to-Yocto-Based-Embedded-Linux-Migration-893x1030.jpg" alt="Windows CE to Yocto Based Embedded Linux Migration" class="wp-image-6473" srcset="https://www.konsulko.com/wp-content/uploads/2025/01/Windows-CE-to-Yocto-Based-Embedded-Linux-Migration-893x1030.jpg 893w, https://www.konsulko.com/wp-content/uploads/2025/01/Windows-CE-to-Yocto-Based-Embedded-Linux-Migration-260x300.jpg 260w, https://www.konsulko.com/wp-content/uploads/2025/01/Windows-CE-to-Yocto-Based-Embedded-Linux-Migration-768x886.jpg 768w, https://www.konsulko.com/wp-content/uploads/2025/01/Windows-CE-to-Yocto-Based-Embedded-Linux-Migration-1331x1536.jpg 1331w, https://www.konsulko.com/wp-content/uploads/2025/01/Windows-CE-to-Yocto-Based-Embedded-Linux-Migration-1775x2048.jpg 1775w, https://www.konsulko.com/wp-content/uploads/2025/01/Windows-CE-to-Yocto-Based-Embedded-Linux-Migration-1300x1500.jpg 1300w, https://www.konsulko.com/wp-content/uploads/2025/01/Windows-CE-to-Yocto-Based-Embedded-Linux-Migration-611x705.jpg 611w, https://www.konsulko.com/wp-content/uploads/2025/01/Windows-CE-to-Yocto-Based-Embedded-Linux-Migration.jpg 1937w" sizes="(max-width: 893px) 100vw, 893px" /></figure>



<h3 class="wp-block-heading">Getting Started</h3>



<p>A good first step is to perform the <a href="https://docs.yoctoproject.org/brief-yoctoprojectqs/index.html#yocto-project-quick-build">Yocto Project Quick Build</a>. This will familiarize you with the basics required to build an Embedded Linux Image and find the appropriate BSP layer for your hardware. Once you add a BSP layer you can build an image such as core-image-minimal for one of the MACHINEs provided by the BSP. This build process will usually provide a boot loader image (typically U-Boot), a Linux kernel image, a Linux devicetree blob and filesystem image. Some BSPs will provide a <a href="https://docs.yoctoproject.org/dev/dev-manual/wic.html">wic image</a> that can be directly flashed to bootable media such as a Micro SD card. Unlike Windows CE, the default file system type used for the root file system is usually Ext4.</p>



<h3 class="wp-block-heading">Kernel Drivers and Devicetree</h3>



<p>Before attempting to port any device drivers from Windows CE, check to see if a suitable driver already exists in the Linux kernel. The first place to look is in the <a href="https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers">official Linux kernel source tree</a>. The drivers directory is organized into subsystems, find the subsystem for the type of device that you’re looking for and browse through available drivers. If you’re unable to locate a driver for the device, download the source code and search the driver directory for the part number or partial part number. For example if you were looking for a driver for the TI&nbsp; WL1837MOD WiFi and Bluetooth module you would try searching for “wl1837” with a tool such as <code>git grep</code>. This would lead to the following results in this case but if you were still unable to find a device driver the next place to look is on the component manufacturer’s website.</p>



<pre class="wp-block-code"><code>bluetooth/hci_ll.c: &nbsp; &nbsp; { .compatible = "ti,wl1837-st" },</code></pre>



<pre class="wp-block-code"><code>net/wireless/ti/wlcore/sdio.c:&nbsp; { .compatible = "ti,wl1837", .data = &amp;wl18xx_data },</code></pre>



<pre class="wp-block-code"><code>net/wireless/ti/wlcore/spi.c: &nbsp; { .compatible = "ti,wl1837", .data = &amp;wl18xx_data},</code></pre>



<p>For bluetooth you would use the hci_ll driver and for wireless LAN you would use the wlcore driver. Once you find the compatible string for the driver you want to use, you need to add an entry for it to the kernel <a href="https://docs.kernel.org/devicetree/usage-model.html">devicetree</a> under the appropriate node. If the module was connected via SPI controller 1 you would add the new node under the spi1 node. Documentation/devicetree/bindings in the Linux kernel source includes information about the devicetree properties the driver recognizes.</p>



<h3 class="wp-block-heading">System and Init Manager</h3>



<p>Linux systems have a system and init manager. Yocto defaults to building the OS image with the SysVinit system but systemd and BusyBox init are also available. BusyBox init can be suitable for very simple embedded systems while systemd is better suited to systems that have many running services with interdependencies.</p>



<h3 class="wp-block-heading">Adding Additional Software to your Image</h3>



<p>Once you’re able to build and boot a basic Linux system consisting of a boot loader, kernel and simple root file system you can explore adding additional software into your image. There are hundreds of packages that you can include in your image available in <a href="https://git.yoctoproject.org/poky/tree/meta">poky</a> and hundreds more available in <a href="https://git.openembedded.org/meta-openembedded/tree/">meta-openembedded</a>.</p>



<p>If there’s no recipe for the software you want to add in either poky or meta-openembedded it may be provided by a 3rd party layer. The <a href="https://layers.openembedded.org/layerindex/">OpenEmbedded Layer Index</a> makes it easy to find 3rd party layers by browsing or searching by layer or recipe name.</p>



<h3 class="wp-block-heading">Running .NET Applications on Linux</h3>



<p>If you’re migrating software written to use .NET framework there are two different Yocto compatible layers available which allow it to run on Linux.</p>



<ul class="wp-block-list">
<li><a href="https://github.com/DynamicDevices/meta-mono">meta-mono</a> provides Mono which is an open source implementation.</li>



<li><a href="https://github.com/RDunkley/meta-dotnet-core">meta-dotnet-core</a> uses Microsoft provided .NET Core binaries.</li>
</ul>



<h3 class="wp-block-heading">Porting Win32 Applications to POSIX</h3>



<p>If you have application code that uses the <a href="https://learn.microsoft.com/en-us/windows/win32/api/">Win32 API</a> it will need to be ported to use a combination of <a href="https://pubs.opengroup.org/onlinepubs/9699919799.2008edition/">POSIX function calls</a> and other libraries. Any Win32 threading or synchronization function calls made from C will need to be changed to use <a href="https://man7.org/linux/man-pages/man7/pthreads.7.html">pthreads</a>. C++ code can be changed to use <a href="https://en.cppreference.com/w/cpp/thread">concurrency classes</a> which abstract pthread calls. Win32 code that creates or interacts with window objects (HWND) will need to be changed to use a different graphical framework such as <a href="https://www.gtk.org/">GTK</a> or <a href="https://www.qt.io/product/framework">Qt</a>.</p>



<h3 class="wp-block-heading">Qt Framework on Linux</h3>



<p>If you’re using Qt Framework in Windows CE you can utilize the <a href="https://github.com/meta-qt5/meta-qt5">meta-qt5</a> or <a href="https://code.qt.io/cgit/yocto/meta-qt6.git/">meta-qt6</a> layers (depending on which version of Qt your application uses) to build the framework and provide bitbake classes to build your application.</p>



<h3 class="wp-block-heading">System Updates</h3>



<p>There are multiple Yocto compatible solutions available for doing OTA and other types of updates.</p>



<ul class="wp-block-list">
<li><a href="https://mender.io/">Mender</a> &#8211; Provided by <a href="https://github.com/mendersoftware/meta-mender">meta-mender</a> See this <a href="https://www.konsulko.com/ota-updates-imx8mp-mender">article on using Mender with Yocto Project</a>..</li>



<li><a href="https://rauc.io/">RAUC</a> &#8211; Provided by <a href="https://github.com/rauc/meta-rauc">meta-rauc</a>. See <a href="https://www.konsulko.com/rauc-beaglebone-black">this article on Integrating RAUC with Yocto Project</a>.</li>



<li><a href="https://sbabic.github.io/swupdate/swupdate.html">SWUpdate</a> &#8211; Provided by <a href="https://github.com/sbabic/meta-swupdate">meta-swupdate</a>.</li>
</ul>



<h3 class="wp-block-heading">Need some help or good advice?</h3>



<p>Konsulko Group&#8217;s long history with Linux, Yocto Project and OpenEmbedded can provide the expertise customers need when moving to an embedded, open source operating system. Some of Konsulko&#8217;s engineers were working with Linux even before the inception of Windows CE in 1996, and many have years of experience moving product offerings from proprietary RTOSs to Linux. <a href="https://www.konsulko.com/contact" target="_blank" rel="noopener" title="">Contact us</a> to discuss how we can help with your migration.</p>The post <a href="https://www.konsulko.com/windows-ce-to-linux">Migrating from Windows CE to Yocto-based Embedded Linux</a> first appeared on <a href="https://www.konsulko.com">Konsulko Group</a>.]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">6470</post-id>	</item>
		<item>
		<title>16 case studies featured in Konsulko Group’s Year in Review</title>
		<link>https://www.konsulko.com/case-studies-year-review</link>
		
		<dc:creator><![CDATA[Konsulko Group]]></dc:creator>
		<pubDate>Wed, 18 Dec 2024 15:53:34 +0000</pubDate>
				<category><![CDATA[News]]></category>
		<category><![CDATA[embedded linux]]></category>
		<category><![CDATA[hardware development]]></category>
		<category><![CDATA[healthcare]]></category>
		<category><![CDATA[heavy equipment]]></category>
		<category><![CDATA[industrial]]></category>
		<category><![CDATA[konsulko group]]></category>
		<category><![CDATA[smart energy]]></category>
		<category><![CDATA[telecommunications]]></category>
		<category><![CDATA[transportation]]></category>
		<guid isPermaLink="false">https://www.konsulko.com/?p=6346</guid>

					<description><![CDATA[<p>As we reach the end of 2024, we want to thank our customers, partners and engineers for another successful year (our 12th!) helping companies around the world develop their embedded products. We&#8217;ve collected sixteen new case studies across multiple industries to showcase our work and give a sense of the scope and breadth of our [&#8230;]</p>
The post <a href="https://www.konsulko.com/case-studies-year-review">16 case studies featured in Konsulko Group’s Year in Review</a> first appeared on <a href="https://www.konsulko.com">Konsulko Group</a>.]]></description>
										<content:encoded><![CDATA[<p>As we reach the end of 2024, we want to thank our customers, partners and engineers for another successful year (our 12th!) helping companies around the world develop their embedded products.</p>
<p>We&#8217;ve collected sixteen new case studies across multiple industries to showcase our work and give a sense of the scope and breadth of our engineering across multiple industries.</p>
<h3>Healthcare Industry Solutions</h3>
<p>At Konsulko Group, we provide engineering services to help our customers develop innovative, secure, and FDA-compliant healthcare products. With expertise spanning biometric sensor integration, secure embedded Linux development, and scalable system design, we provide software and hardware engineering services to support our customers in the medical industry as they develop innovative and reliable products.<span class="Apple-converted-space"> </span></p>
<p>Our work spans a wide range of applications, and we are engaged by Point-of-Care Diagnostics companies, Medical Device Startups, Robotics and Automation developers, Biometric Sensor Integration projects and established Healthcare manufacturers.</p>
<p><a title="Healthcare" href="https://www.konsulko.com/healthcare" target="_blank" rel="noopener">Read two case studies</a>:</p>
<ul>
<li><b>Secure Point-of-Care Diagnostics</b></li>
<li><b>Communication Hub Proof-of-Concept</b></li>
</ul>
<h3>Industrial Automation, Heavy Equipment Manufacturers and Smart Energy</h3>
<p>Konsulko Group provides engineering services to support customers in designing and developing innovative products across the industrial and heavy equipment market. Our clients rely on our expertise to bring their ideas to life, whether they are building advanced agricultural machinery, mining systems or industrial automation equipment. While we do not deliver turnkey solutions, we offer the hardware and software engineering capabilities necessary to help our customers achieve their goals.</p>
<p>We work with a diverse range of customers, including global leaders in Agriculture Technology, Mining Equipment, Transportation and Railway Technology providers, Heavy Machinery manufacturers, and Food and Manufacturing Equipment suppliers.<span class="Apple-converted-space"> </span></p>
<p><a title="Industrial and Heavy Equipment" href="https://www.konsulko.com/industrial-and-heavy-equipment" target="_blank" rel="noopener">We’ve published five case studies:</a></p>
<ul>
<li><b>Secure Device Management </b>in Industrial Automation</li>
<li><b>Scalable IoT Device Management on Kubernetes</b> for Construction/Home Automation</li>
<li><b>Addressing Emissions Issues in i.MX8M-based hardware for MIL-STD461G Compliance</b></li>
<li><b>Custom Yocto Build for Nvidia Jetson Xavier AGX</b> for Defense/Industrial manufacturers</li>
<li><b>Real-Time PRU and Xenomai Integration for ADC Data Acquisition on BeagleBone Black</b> for the Smart Energy industry</li>
</ul>
<h3>Services for the Telecommunications Industry</h3>
<p>Konsulko Group has extensive experience providing engineering services to support our telecommunications customers in designing and developing innovative technologies. With expertise in embedded Linux software and hardware engineering, we help our customers create next-generation products.<span class="Apple-converted-space"> </span></p>
<p>We collaborate with a diverse range of customers in the telecommunications industry, including Network Infrastructure suppliers, Wireless Communications innovators, Satcom Technology developers, Telecom Monitoring and Optimization specialists, and Defense and Secure Communications providers.</p>
<p><a title="Telecommunications Industry" href="https://www.konsulko.com/telecommunications-industry" target="_blank" rel="noopener">You may read detailed descriptions of five of our engagements here:</a></p>
<ul>
<li><b>Prototype Development of New Networking Architecture</b></li>
<li><b>Embedded Linux Engineering for Networking Routers</b></li>
<li><b><a href="https://www.yoctoproject.org" target="_blank" rel="noopener">Yocto Project</a> Customization for Advanced Telecommunications Hardware</b></li>
<li><b>Secure Embedded System with Webserver and Device Driver Development</b></li>
<li><b>Driver Development for High-Performance FPGA Ethernet Systems</b></li>
</ul>
<h3>Engineering the Next Generation of Transportation</h3>
<p>The transportation industry is undergoing a technological revolution, and Konsulko Group is at the forefront, helping customers develop embedded systems that drive innovation in connected vehicles, autonomous platforms, and advanced automotive technologies.</p>
<p>We work with a diverse range of customers in the transportation industry, including Connected and Autonomous Vehicle developers, Semiconductor leaders, Mapping and Navigation innovators, Industry Consortiums and OEMs, and Silicon Valley Innovation Offices.</p>
<p><a title="Transportation Industry" href="https://www.konsulko.com/transportation-industry" target="_blank" rel="noopener">We’ve posted four case studies of a few of our engagements</a>:</p>
<ul>
<li><b>Audio System Integration for Autonomous Vehicle Platform</b></li>
<li><b>Apple CarPlay Integration for Automotive Infotainment</b></li>
<li><b>Multimedia Audio System Development and Integration</b></li>
<li><b>Debugging and Resolving Infotainment System Freeze Issues</b></li>
</ul>

<style type="text/css" data-created_by="avia_inline_auto" id="style-css-av-gbml6-4b7255faa0d9554e16bf3f422f16b6d7">
#top .hr.hr-invisible.av-gbml6-4b7255faa0d9554e16bf3f422f16b6d7{
height:20px;
}
</style>
<div  class='hr av-gbml6-4b7255faa0d9554e16bf3f422f16b6d7 hr-invisible  avia-builder-el-0  el_before_av_hr  avia-builder-el-first '><span class='hr-inner '><span class="hr-inner-style"></span></span></div>
<h3>Expanding Konsulko&#8217;s reach and expertise</h3>

<style type="text/css" data-created_by="avia_inline_auto" id="style-css-av-30avu2-eca262f292b022661d9481c82144ded8">
#top .hr.hr-invisible.av-30avu2-eca262f292b022661d9481c82144ded8{
height:10px;
}
</style>
<div  class='hr av-30avu2-eca262f292b022661d9481c82144ded8 hr-invisible  avia-builder-el-1  el_after_av_hr  avia-builder-el-last '><span class='hr-inner '><span class="hr-inner-style"></span></span></div>
<h4><em style="font-size: 18px; font-weight: normal;">Embedded hardware engineering</em></h4>
<p>Konsulko Group offers complete hardware services including design, integration, validation and certification, rapid prototyping, biometric signals, sensors, wireless communications, low power applications and manufacturing test/support.</p>
<p>In April, Konsulko Group welcomed three veteran hardware developers to our <a href="https://www.konsulko.com/about/meet-the-team">growing team</a>. <b>Alexandar Kalaydjiev</b> now serves as Konsulko Hardware Director. <b>Marin Balkandjiev </b>and <b>Tsvetan Mudrov, PhD</b> joined Konsulko as Principal Hardware Engineers.</p>
<p>Customers can leverage their technical expertise and extensive experience to create comprehensive products and solutions tailored to their specific requirements.</p>
<p>Konsulko hardware engineers can manage and facilitate the production of the developed products, ensuring their successful realization. We can provide deployment support as required, ensuring a smooth transition for the end-customer.</p>
<h4><em style="font-weight: normal;">New in 2024 to our expert team of engineers</em></h4>
<p>In addition to our Hardware group, Konsulko continues to attract outstanding talent to our team. This year we have added three individuals who represent some of the best in embedded Linux and open source engineering.</p>
<ul>
<li><strong>Peter Tyser</strong> has designed hardware and software for rugged, high performance computers targeting military, aerospace, and industrial applications. He has hands-on experience with hardware design, board bring-up, board debug, firmware development, OS development, documentation, failure analysis, product verification, and anti-tamper security.</li>
<li><strong>Andrew Bradford</strong> (bradfa) is an author/developer of the &#8220;Cross Linux From Scratch&#8221; embedded book and has contributed patches to the Linux kernel, u-boot, and Yocto/OpenEmbedded projects. He also has extensive experience with EnergyStar and EMC/EMI testing, compliance, and certification.</li>
<li><strong>Filipe Pires </strong>has crafted robust, efficient, and user-friendly applications that run seamlessly on Linux platforms. Filipe is experienced in build automation, scripting, and web development, with proficiency in multiple frameworks and industry best practices.</li>
</ul>
<p>You can learn more about the whole Konsulko team of embedded hardware and software consultants on our <a href="https://www.konsulko.com/about/meet-the-team" target="_blank" rel="noopener">Meet the Team</a> page.</p>
<h3>Open source contributions and conferences</h3>
<p>Konsulko’s senior leadership have been contributors in the Linux kernel and other OSS communities since the late 1990s. In addition to our commercial engineering work for our customers, the Konsulko team continues to have active roles in a number of Open Source projects including <a href="https://www.u-boot.org" target="_blank" rel="noopener">U-Boot</a>, <a href="https://www.yoctoproject.org" target="_blank" rel="noopener">Yocto Project</a>, <a href="https://www.openembedded.org/wiki/Main_Page" target="_blank" rel="noopener">OpenEmbedded</a> and <a href="https://www.automotivelinux.org" target="_blank" rel="noopener">Automotive Grade Linux</a> (AGL).</p>
<p>Konsulko engineers made <a href="https://www.konsulko.com/showcase" target="_blank" rel="noopener">presentations</a> at open source and commercial conferences and developer gatherings including Embedded Linux Conferences (North America and Europe), AGL All Member Meetings and Yocto Project Summits. We also published seven new <a href="https://www.konsulko.com/blog" target="_blank" rel="noopener">technical articles</a> as blogs on our website.</p>
<p>All of us at Konsulko Group look forward to working with you in the coming year. <a href="https://www.konsulko.com/contact" target="_blank" rel="noopener">Contact us</a> to explore how our engineering services can help bring your innovative products to life in 2025 and beyond.</p>


<div style="height:100px" aria-hidden="true" class="wp-block-spacer"></div>



<div style="height:100px" aria-hidden="true" class="wp-block-spacer"></div>



<div style="height:100px" aria-hidden="true" class="wp-block-spacer"></div>The post <a href="https://www.konsulko.com/case-studies-year-review">16 case studies featured in Konsulko Group’s Year in Review</a> first appeared on <a href="https://www.konsulko.com">Konsulko Group</a>.]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">6346</post-id>	</item>
		<item>
		<title>Konsulko to speak at multiple OSSE events, September 16-19</title>
		<link>https://www.konsulko.com/engineers-speaking-in-vienna</link>
		
		<dc:creator><![CDATA[Konsulko Group]]></dc:creator>
		<pubDate>Mon, 02 Sep 2024 22:21:35 +0000</pubDate>
				<category><![CDATA[News]]></category>
		<category><![CDATA[Yocto Project Related Articles]]></category>
		<category><![CDATA[elce]]></category>
		<category><![CDATA[embedded linux]]></category>
		<category><![CDATA[konsulko group]]></category>
		<category><![CDATA[Leon Anavi]]></category>
		<category><![CDATA[linux foundation]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[scott murray]]></category>
		<category><![CDATA[Tim Orling]]></category>
		<category><![CDATA[vitaly wool]]></category>
		<category><![CDATA[Yocto Project]]></category>
		<guid isPermaLink="false">https://www.konsulko.com/?p=5979</guid>

					<description><![CDATA[<p>We&#8217;re heading to Austria for Open Source Summit Europe, with a large contingent of our engineers, as well as four speakers for this always important conference. September 16: AGL updates to Yocto Project 5.0 Principal Engineer Scott Murray will join the Linux Foundation&#8217;s Walt Miner to present &#8220;What&#8217;s Happening with Automotive Grade Linux and How [&#8230;]</p>
The post <a href="https://www.konsulko.com/engineers-speaking-in-vienna">Konsulko to speak at multiple OSSE events, September 16-19</a> first appeared on <a href="https://www.konsulko.com">Konsulko Group</a>.]]></description>
										<content:encoded><![CDATA[<p>We&#8217;re heading to Austria for <a href="https://events.linuxfoundation.org/open-source-summit-europe/" target="_blank" rel="noopener" title="Open Source Summit Europe">Open Source Summit Europe</a>, with a large contingent of <a href="https://www.konsulko.com/about/meet-the-team" target="_blank" rel="noopener" title="">our engineers</a>, as well as four speakers for this always important conference.</p>



<h4 class="wp-block-heading">September 16: AGL updates to Yocto Project 5.0</h4>



<p>Principal Engineer Scott Murray will join the Linux Foundation&#8217;s Walt Miner to present <a href="https://sched.co/1ej3y" target="_blank" rel="noopener" title="">&#8220;What&#8217;s Happening with Automotive Grade Linux and How Our Update to Yocto 5.0 Went.&#8221;</a> Walt and Scott will share some lessons learned from upgrading from the 4.0 to 5.0 versions of the Yocto Project and provide an update on the latest AGL features included in the Ricefish release.</p>



<h4 class="wp-block-heading">September 17: Rewriting zblock in Rust</h4>



<p>Vitaly Wool, Principal Engineer and GM of Konsulko AB will discuss <a href="https://sched.co/1ej39" target="_blank" rel="noopener" title="">&#8220;Rusty Swapping: Rewriting a Zswap Backend in Rust.&#8221;</a> Rust has gained popularity as the second Linux kernel high-level language. Recently, Vitaly rewrote a zswap backend called zblock in Rust. This talk will cover the main principles of zblock (which stay the same no matter which language is used), the obstacles met while implementing it in Rust, and finally the comparison of the two.</p>



<h4 class="wp-block-heading">September 17: Best Practices for Scarthgap</h4>



<p>Principal Engineer Tim Orling will present <a href="https://sched.co/1ejw6" target="_blank" rel="noopener" title="">&#8220;Are You Ready For Scarthgap? Best Practices For The Latest Yocto Project LTS Release.&#8221;</a> Tim will discuss setting up your own “distribution” and  board-support package (BSP), and share techniques for managing and discovering layers. He&#8217;ll discuss best practices to ensure your public layers are ready for the Layer Index, and investigate meta-lts-mixin layers. He&#8217;ll look at the latest tools for Software Bill of Materials (SBOM), license compliance (SPDX), and software vulnerabilities (CVEs), and share ways to leverage new IDE tools added in this release.</p>



<h4 class="wp-block-heading">September 19: A/B Update Solutions with Yocto Project</h4>



<p>At <a href="https://www.yoctoproject.org/event/yocto-project-developer-day-2024/" target="_blank" rel="noopener" title="">Yocto Project Developer Day 2024</a> (co-located with OSEE) Senior Engineer Leon Anavi will provide a &#8220;Side-by-side Comparison of Dual A/B Update Solutions with the <a href="/yocto-project-openembedded" title="">Yocto Project</a>.&#8221; Leon&#8217;s talk will provide a detailed exploration of Mender, RAUC, and swupdate, comparing them on the same hardware platforms. He&#8217;ll discuss their advantages and disadvantages and how to select the most appropriate open-source solution for specific projects. Leon will delve into various use cases and practical examples, concluding with a side-by-side comparison.</p>



<p></p>



<p>We hope you&#8217;ll be able to join us in Vienna.</p>The post <a href="https://www.konsulko.com/engineers-speaking-in-vienna">Konsulko to speak at multiple OSSE events, September 16-19</a> first appeared on <a href="https://www.konsulko.com">Konsulko Group</a>.]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">5979</post-id>	</item>
		<item>
		<title>Software Updates on i.MX8MP, Part 2: Mender &amp; Yocto Project</title>
		<link>https://www.konsulko.com/ota-updates-imx8mp-mender</link>
		
		<dc:creator><![CDATA[Konsulko Group]]></dc:creator>
		<pubDate>Tue, 30 Jul 2024 16:58:17 +0000</pubDate>
				<category><![CDATA[All Blog Posts]]></category>
		<category><![CDATA[Linux Software Update (OTA) Related Articles]]></category>
		<category><![CDATA[Yocto Project Related Articles]]></category>
		<category><![CDATA[embedded linux]]></category>
		<category><![CDATA[iMX8]]></category>
		<category><![CDATA[konsulko group]]></category>
		<category><![CDATA[Leon Anavi]]></category>
		<category><![CDATA[mender.io]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[OpenEmbedded]]></category>
		<category><![CDATA[qbee]]></category>
		<category><![CDATA[RAUC]]></category>
		<category><![CDATA[Yocto Project]]></category>
		<guid isPermaLink="false">https://www.konsulko.com/?p=5926</guid>

					<description><![CDATA[<p>How to build a basic image for an Olimex iMX8MP-SOM using Yocto Project, and use Mender.io to manage and deploy over-the-air (OTA) updates to embedded devices</p>
The post <a href="https://www.konsulko.com/ota-updates-imx8mp-mender">Software Updates on i.MX8MP, Part 2: Mender & Yocto Project</a> first appeared on <a href="https://www.konsulko.com">Konsulko Group</a>.]]></description>
										<content:encoded><![CDATA[<p>Software over-the-air (OTA) updates are essential for any modern embedded Linux device. In <a href="https://www.konsulko.com/ota-qbee-rauc-imx8mp" target="_blank" rel="noreferrer noopener">part 1</a>, we explored A/B software updates using RAUC and <a href="https://qbee.io/" target="_blank" rel="noopener" title="">qbee.io</a>. For our demonstrations, we utilized the new open source hardware Olimex’s <a href="https://www.olimex.com/Products/SOM/NXP-iMX8/iMX8MP-SOM-4GB-IND/open-source-hardware" target="_blank" rel="noreferrer noopener">iMX8MPlus System on Module (SOM)</a> and <a href="https://www.olimex.com/Products/SOM/NXP-iMX8/iMX8MP-SOM-EVB-IND/open-source-hardware" target="_blank" rel="noreferrer noopener">Evaluation Board (EVB)</a>. The NXP i.MX8MP is a robust microprocessor, ideal for industrial-grade applications and widely adopted across various industries. In part 2, we will use Mender to update the same hardware.</p>



<figure class="wp-block-image size-full is-resized"><img decoding="async" width="1006" height="567" src="https://www.konsulko.com/wp-content/uploads/2024/07/iMX8MP-Part-2-1.jpeg" alt="" class="wp-image-5930" style="width:800px;height:auto" srcset="https://www.konsulko.com/wp-content/uploads/2024/07/iMX8MP-Part-2-1.jpeg 1006w, https://www.konsulko.com/wp-content/uploads/2024/07/iMX8MP-Part-2-1-300x169.jpeg 300w, https://www.konsulko.com/wp-content/uploads/2024/07/iMX8MP-Part-2-1-768x433.jpeg 768w, https://www.konsulko.com/wp-content/uploads/2024/07/iMX8MP-Part-2-1-705x397.jpeg 705w" sizes="(max-width: 1006px) 100vw, 1006px" /></figure>



<p></p>



<h3 class="wp-block-heading">About Mender</h3>



<p><a href="https://mender.io/pricing/plans" target="_blank" rel="noreferrer noopener">Mender.io</a>&nbsp;is an open-source platform designed for managing and deploying over-the-air (OTA) updates to embedded devices. It provides a reliable and secure method to keep devices up-to-date, minimizing downtime and reducing the risks of manual updates. Mender supports an open-source A/B update scheme and offers an optional proprietary implementation for delta updates. </p>



<p>As a turnkey solution, Mender features a web interface for comprehensive device management and is available as a Software-as-a-Service (SaaS) for small and medium businesses, as well as hosted or on-premise solutions for large enterprises. It supports robust update strategies, rollback mechanisms, and add-ons for configuring, monitoring, and troubleshooting devices. Mender is a state-of-the-art solution for maintaining and managing fleets of connected devices across various industries.</p>



<p></p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="1006" height="567" src="https://www.konsulko.com/wp-content/uploads/2024/07/iMX8MP-Part-2-2.jpeg" alt="" class="wp-image-5931" srcset="https://www.konsulko.com/wp-content/uploads/2024/07/iMX8MP-Part-2-2.jpeg 1006w, https://www.konsulko.com/wp-content/uploads/2024/07/iMX8MP-Part-2-2-300x169.jpeg 300w, https://www.konsulko.com/wp-content/uploads/2024/07/iMX8MP-Part-2-2-768x433.jpeg 768w, https://www.konsulko.com/wp-content/uploads/2024/07/iMX8MP-Part-2-2-705x397.jpeg 705w" sizes="auto, (max-width: 1006px) 100vw, 1006px" /></figure>



<p></p>



<h3 class="wp-block-heading">Building an Image with Mender</h3>



<p>Here are the steps to build core-image-base with Mender for Olimex:</p>



<ul class="wp-block-list">
<li>Install the kas tool (optional: to install it globally for all users, run the installation as root or using sudo):</li>
</ul>



<pre class="wp-block-code"><code>pip install kas
</code></pre>



<ul class="wp-block-list">
<li>Clone meta-mender-community git repository for Yocto LTS release 5.0 (scarthgap):</li>
</ul>



<pre class="wp-block-code"><code>git clone -b scarthgap https://github.com/mendersoftware/meta-mender-community
</code></pre>



<ul class="wp-block-list">
<li>Create a build directory and navigate into it:</li>
</ul>



<pre class="wp-block-code"><code>mkdir -p meta-mender-community/mender-nxp &amp;&amp; cd meta-mender-community/mender-nxp
</code></pre>



<ul class="wp-block-list">
<li>Create a kas configuration add-on to enable passwordless root access for development purposes:</li>
</ul>



<pre class="wp-block-code"><code>cat &lt;&lt;EOF &gt; debug-image.yml
header:
  version: 14

local_conf_header:
  developer-features: |
    EXTRA_IMAGE_FEATURES = "debug-tweaks"
EOF
</code></pre>



<ul class="wp-block-list">
<li>Run the following command to start the build process:</li>
</ul>



<pre class="wp-block-code"><code>kas build ../kas/olimex-imx8mp-evb.yml:debug-image.yml
</code></pre>



<p>Initiating the build process from scratch is a bit of a marathon, as kas and bitbake need to download all the source code and execute a plethora of tasks. Feel free to grab a cup of tea (or maybe a whole teapot) while you wait!</p>



<h3 class="wp-block-heading" id="Flashing-the-Mender-Image">Flashing the Mender Image</h3>



<p>Using kas and BitBake will result in the production of an image file. After the build process is complete, you will find the generated image at the following relative path:&nbsp;<code>build/tmp/deploy/images/olimex-imx8mp-evb/core-image-base-olimex-imx8mp-evb.sdimg</code>. This path indicates the location within the build directory where the final image is stored, ready for deployment to Olimex&nbsp;<a href="https://www.olimex.com/Products/SOM/NXP-iMX8/iMX8MP-SOM-4GB-IND/open-source-hardware" target="_blank" rel="noreferrer noopener">iMX8MP-SOM-4GB-IND</a>&nbsp;and&nbsp;<a href="https://www.olimex.com/Products/SOM/NXP-iMX8/iMX8MP-SOM-EVB-IND/open-source-hardware" target="_blank" rel="noreferrer noopener">iMX8MP-SOM-EVB-IND</a>.</p>



<p>The&nbsp;<code>core-image-base-olimex-imx8mp-evb.sdimg</code>&nbsp;file must be flashed onto a microSD card to be used with your device. This can be accomplished using various applications such as dd or bmaptool for command-line options. If you prefer a user-friendly application with a graphical interface, you can use&nbsp;<a href="https://etcher.balena.io/" target="_blank" rel="noreferrer noopener">Balena Etcher</a>, which simplifies the flashing process and provides a straightforward GUI.</p>



<p>To set up and verify your Olimex iMX8MP-SOM-EVB-IND board, follow these steps:</p>



<ul class="wp-block-list">
<li>Connect the USB-to-UART adapter to the A53_DBG1 connector on the Olimex iMX8MP-SOM-EVB-IND, and insert the Ethernet cable and the microSD card.</li>
</ul>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="1006" height="567" src="https://www.konsulko.com/wp-content/uploads/2024/07/iMX8MP-Part-2-3.jpeg" alt="" class="wp-image-5932" srcset="https://www.konsulko.com/wp-content/uploads/2024/07/iMX8MP-Part-2-3.jpeg 1006w, https://www.konsulko.com/wp-content/uploads/2024/07/iMX8MP-Part-2-3-300x169.jpeg 300w, https://www.konsulko.com/wp-content/uploads/2024/07/iMX8MP-Part-2-3-768x433.jpeg 768w, https://www.konsulko.com/wp-content/uploads/2024/07/iMX8MP-Part-2-3-705x397.jpeg 705w" sizes="auto, (max-width: 1006px) 100vw, 1006px" /></figure>



<p></p>



<ul class="wp-block-list">
<li>Plug the 5V power supply into the power jack of the iMX8MP-SOM-EVB-IND to power up the board.</li>



<li>Ensure the system boots successfully, then log in as the root user (no password required) and check the Mender status by executing the following commands:</li>
</ul>



<pre class="wp-block-code"><code>mender-update show-provides
mender-update show-artifact
mender-update --version</code></pre>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="979" height="633" src="https://www.konsulko.com/wp-content/uploads/2024/07/iMX8MP-Part-2-4.png" alt="changes" class="wp-image-5935" srcset="https://www.konsulko.com/wp-content/uploads/2024/07/iMX8MP-Part-2-4.png 979w, https://www.konsulko.com/wp-content/uploads/2024/07/iMX8MP-Part-2-4-300x194.png 300w, https://www.konsulko.com/wp-content/uploads/2024/07/iMX8MP-Part-2-4-768x497.png 768w, https://www.konsulko.com/wp-content/uploads/2024/07/iMX8MP-Part-2-4-705x456.png 705w" sizes="auto, (max-width: 979px) 100vw, 979px" /></figure>



<p></p>



<h3 class="wp-block-heading">Creating a Mender Artifact</h3>



<p>A&nbsp;<a href="https://docs.mender.io/overview/artifact" target="_blank" rel="noreferrer noopener">Mender artifact</a>&nbsp;refers to a package format used by the Mender update manager for over-the-air (OTA) software updates. It contains all the necessary components such as firmware, scripts, configuration files, and metadata required to update a device’s software reliably and securely. The layer&nbsp;<a href="https://github.com/mendersoftware/meta-mender" target="_blank" rel="noreferrer noopener">meta-mender/meta-mender-core</a>&nbsp;is essential for integrating Mender’s functionality into the Yocto Project and OpenEmbedded build system as it provides required classes and scripts that automate the creation of Mender artifacts as part of the build process.</p>



<p>Follow the steps below to build a Mender Artifact for iMX8MP-SOM-EVB-IND that extends the system with the addition of the simple text editor nano:</p>



<ul class="wp-block-list">
<li>Create a kas configuration add-on to add&nbsp;<code>nano</code>:</li>
</ul>



<pre class="wp-block-code"><code>cat &lt;&lt;EOF &gt; update-image.yml
header:
  version: 14

local_conf_header:
  update-image: |
    IMAGE_INSTALL:append = " nano"
EOF
</code></pre>



<ul class="wp-block-list">
<li>Build both&nbsp;<code>core-image-base</code>&nbsp;and its corresponding Mender Artifact using:</li>
</ul>



<pre class="wp-block-code"><code>kas build ../kas/olimex-imx8mp-evb.yml:debug-image.yml:update-image.yml
</code></pre>



<ul class="wp-block-list">
<li>This process will generate a Mender Artifact containing&nbsp;<code>nano</code>&nbsp;at the file path&nbsp;<code>build/tmp/deploy/images/olimex-imx8mp-evb/core-image-base-olimex-imx8mp-evb.mender</code>.</li>
</ul>



<p></p>



<h3 class="wp-block-heading">Installing the Mender Artifact</h3>



<p>Mender serves as a comprehensive update solution, featuring a central server that acts as a hub for storing and orchestrating software updates across fleets of devices via over-the-air deployment. Using Mender’s intuitive web UI or REST APIs, you can efficiently manage devices, upload software releases, and execute seamless deployments to distribute updates across your devices. Alternatively, Mender can operate in standalone mode, independent of a server.</p>



<p>To perform a manual standalone deployment using Mender in the terminal, follow the steps below. In this setup, no Mender Server is involved, and updates are initiated directly on the device.</p>



<ul class="wp-block-list">
<li>Start a simple HTTP server in the directory with the Mender Artifact:</li>
</ul>



<pre class="wp-block-code"><code>python3 -m http.server
</code></pre>



<ul class="wp-block-list">
<li>Login as&nbsp;<code>root</code>&nbsp;on Olimex&nbsp;<a href="https://www.olimex.com/Products/SOM/NXP-iMX8/iMX8MP-SOM-4GB-IND/open-source-hardware" target="_blank" rel="noreferrer noopener">iMX8MP-SOM-4GB-IND</a>&nbsp;and&nbsp;<a href="https://www.olimex.com/Products/SOM/NXP-iMX8/iMX8MP-SOM-EVB-IND/open-source-hardware" target="_blank" rel="noreferrer noopener">iMX8MP-SOM-EVB-IND</a>&nbsp;and install the Mender Artifact to perform an upgrade of the device:</li>
</ul>



<pre class="wp-block-code"><code>mender-update install http://&lt;server&gt;:8000/core-image-base-olimex-imx8mp-evb.mender
</code></pre>



<p><strong>NOTE:</strong>&nbsp;Replace&nbsp;<code>&lt;server&gt;</code>&nbsp;with the IP address of the machine on which the Python3 HTTP server is running.</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="979" height="633" src="https://www.konsulko.com/wp-content/uploads/2024/07/iMX8MP-Part-2-5.png" alt="changes" class="wp-image-5936" srcset="https://www.konsulko.com/wp-content/uploads/2024/07/iMX8MP-Part-2-5.png 979w, https://www.konsulko.com/wp-content/uploads/2024/07/iMX8MP-Part-2-5-300x194.png 300w, https://www.konsulko.com/wp-content/uploads/2024/07/iMX8MP-Part-2-5-768x497.png 768w, https://www.konsulko.com/wp-content/uploads/2024/07/iMX8MP-Part-2-5-705x456.png 705w" sizes="auto, (max-width: 979px) 100vw, 979px" /></figure>



<p></p>



<ul class="wp-block-list">
<li>Reboot the embedded Linux device:</li>
</ul>



<pre class="wp-block-code"><code>reboot
</code></pre>



<ul class="wp-block-list">
<li>Login as&nbsp;<code>root</code>&nbsp;on the board and verify that&nbsp;<code>nano</code>&nbsp;text editor has been installed.</li>



<li>Ensure the new deployment becomes permanent:</li>
</ul>



<pre class="wp-block-code"><code>mender-update commit</code></pre>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="979" height="633" src="https://www.konsulko.com/wp-content/uploads/2024/07/iMX8MP-Part-2-6.png" alt="changes" class="wp-image-5937" srcset="https://www.konsulko.com/wp-content/uploads/2024/07/iMX8MP-Part-2-6.png 979w, https://www.konsulko.com/wp-content/uploads/2024/07/iMX8MP-Part-2-6-300x194.png 300w, https://www.konsulko.com/wp-content/uploads/2024/07/iMX8MP-Part-2-6-768x497.png 768w, https://www.konsulko.com/wp-content/uploads/2024/07/iMX8MP-Part-2-6-705x456.png 705w" sizes="auto, (max-width: 979px) 100vw, 979px" /></figure>



<p>This example illustrates the seamless integration of Mender using the Yocto Project release Scarthgap on an embedded computer powered by the NXP i.MX8MP SoC. It demonstrates how you can effectively manage updates across fleets of devices using the Mender server. Furthermore, Mender also provides&nbsp;<a href="https://www.konsulko.com/mender-add-ons-remote-troubleshooting-devices-in-the-field" target="_blank" rel="noreferrer noopener">additional tools for remote troubleshooting</a>, ensuring smooth operations in the field.</p>



<h3 class="wp-block-heading" id="How-Do-Mender-and-RAUC-differ">How do Mender.io and RAUC differ?</h3>



<p>The Mender client is an application that runs on embedded devices. In a production setup, it connects to the Mender server to perform automatic updates by downloading and installing Mender Artifacts as they become available. Initially, the Mender client was developed in Go. However, a strategic decision was made to rewrite it in C++ to reduce the application’s footprint and support more platforms, including real-time operating systems (RTOS).</p>



<p>In comparison, RAUC, the alternative A/B open-source solution explored in&nbsp;<a href="https://www.konsulko.com/ota-qbee-rauc-imx8mp" target="_blank" rel="noreferrer noopener">part one</a>, also has an application running on the embedded Linux device, but it is written in C. Unlike Mender, RAUC does not provide a server to manage devices, so a third-party solution such as&nbsp;<a href="https://qbee.io/" target="_blank" rel="noreferrer noopener">qbee.io</a>&nbsp;or&nbsp;<a href="https://eclipse.dev/hawkbit/" target="_blank" rel="noreferrer noopener">Eclipse hawkBit</a>&nbsp;is required.</p>



<p>Another notable technical difference is that RAUC integration through&nbsp;<a href="https://github.com/rauc/meta-rauc-community/tree/master/meta-rauc-nxp" target="_blank" rel="noreferrer noopener">meta-rauc-nxp</a>&nbsp;relies on a wks file where the A and B partitions are explicitly specified. In contrast,&nbsp;<a href="https://github.com/mendersoftware/meta-mender-community" target="_blank" rel="noreferrer noopener">meta-mender-nxp</a>&nbsp;uses classes and special variables provided by Mender to define those partitions, and BitBake generates a temporary wks file while building Mender-enabled images.</p>



<p>In terms of security, both Mender and RAUC support signing and verification of updates. Mender supports signing artifacts using RSA with a recommended key length of at least 3072 bits or ECDSA with curve P-256. RAUC employs X.509 cryptography for signing and verifying update bundles.</p>



<p>Leveraging the insights and experiences discussed in parts&nbsp;<a href="https://www.konsulko.com/ota-qbee-rauc-imx8mp" target="_blank" rel="noreferrer noopener">1</a>&nbsp;and 2 of this article, here is a side-by-side comparison of the key features of Mender and RAUC:</p>



<figure class="wp-block-table"><table><thead><tr><th>Feature</th><th>Mender</th><th>RAUC</th></tr></thead><tbody><tr><td>A/B updates</td><td>Yes</td><td>Yes</td></tr><tr><td>Roll-back</td><td>Yes</td><td>Yes</td></tr><tr><td>Configure add-on</td><td>Available</td><td>No</td></tr><tr><td>Monitor add-on</td><td>Available</td><td>No</td></tr><tr><td>Troubleshoot add-on</td><td>Available</td><td>No</td></tr><tr><td>Client implementation</td><td>C++</td><td>C</td></tr><tr><td>Client license</td><td>Apache 2.0</td><td>LGPL-2.1</td></tr><tr><td>Yocto Project integration</td><td>Yes</td><td>Yes</td></tr><tr><td>Management server</td><td>Yes</td><td>3rd-party</td></tr></tbody></table></figure>



<p><a href="https://mender.io/" target="_blank" rel="noopener" title="">Mender.io</a>&nbsp;provides a comprehensive, turnkey solution that covers everything from embedded devices to cloud-based software-as-a-service for managing fleets of connected devices. It also offers convenient add-ons and proprietary delta updates. Meanwhile,&nbsp;<a href="https://rauc.io/" target="_blank" rel="noreferrer noopener">RAUC</a>&nbsp;reliably integrates seamlessly with both in-house and third-party device management systems. The choice of update technology should be based on your specific requirements and use cases.</p>



<p></p>



<h3 class="wp-block-heading">About Konsulko Group</h3>



<p>Over the years, <a href="/" title="">Konsulko</a> engineers have made significant contributions to the community and crucial <a href="/embedded-linux-hardware-software" title="">embedded Linux open-source projects,</a> including the <a href="/yocto-project-openembedded" title="">Yocto Project</a>, OpenEmbedded, the Linux kernel, and U-Boot. We specialize in assisting customers in developing commercial products leveraging these technologies. With expertise in BSP bring-up on diverse hardware platforms for embedded devices, our services encompass a wide range of open-source solutions for software updates.&nbsp;<a href="https://www.konsulko.com/contact" target="_blank" rel="noreferrer noopener">Contact us</a>&nbsp;to discuss the best update strategy and technology for your embedded product requirements.</p>



<p></p>The post <a href="https://www.konsulko.com/ota-updates-imx8mp-mender">Software Updates on i.MX8MP, Part 2: Mender & Yocto Project</a> first appeared on <a href="https://www.konsulko.com">Konsulko Group</a>.]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">5926</post-id>	</item>
		<item>
		<title>Software Updates on the i.MX8MP, Part 1: qbee and  RAUC</title>
		<link>https://www.konsulko.com/ota-qbee-rauc-imx8mp</link>
		
		<dc:creator><![CDATA[Konsulko Group]]></dc:creator>
		<pubDate>Mon, 22 Jul 2024 18:42:10 +0000</pubDate>
				<category><![CDATA[All Blog Posts]]></category>
		<category><![CDATA[Linux Software Update (OTA) Related Articles]]></category>
		<category><![CDATA[Yocto Project Related Articles]]></category>
		<category><![CDATA[embedded linux]]></category>
		<category><![CDATA[iMX8]]></category>
		<category><![CDATA[konsulko group]]></category>
		<category><![CDATA[Leon Anavi]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[OpenEmbedded]]></category>
		<category><![CDATA[qbee]]></category>
		<category><![CDATA[RAUC]]></category>
		<category><![CDATA[Yocto Project]]></category>
		<guid isPermaLink="false">https://www.konsulko.com/?p=5855</guid>

					<description><![CDATA[<p>Learn the exact steps to build a basic image for an Olimex iMX8MP-SOM using Yocto Project release 5.0 LTS, and to perform a software update using qbee and RAUC.</p>
The post <a href="https://www.konsulko.com/ota-qbee-rauc-imx8mp">Software Updates on the i.MX8MP, Part 1: qbee and  RAUC</a> first appeared on <a href="https://www.konsulko.com">Konsulko Group</a>.]]></description>
										<content:encoded><![CDATA[<p>Software over-the-air (OTA) updates are essential for embedded Linux devices as they ensure timely application of security patches, fix vulnerabilities, and enhance security features to protect against threats. They offer a convenient way to deliver new features, performance improvements, and bug fixes without needing physical access to the device, keeping it up-to-date and functional.</p>



<p>Several high-quality open-source OTA solutions are available today, allowing developers to leverage and customize existing systems rather than creating proprietary ones, saving both time and money. In this series of articles, we will explore and compare software update strategies using the A/B scheme, where two identical copies of the root filesystem are maintained, one active and one for the next update. Popular OTA update solutions like&nbsp;<a href="https://mender.io/" target="_blank" rel="noreferrer noopener">Mender</a>,&nbsp;<a href="https://rauc.io/" target="_blank" rel="noreferrer noopener">RAUC</a>, and&nbsp;<a href="https://swupdate.org/" target="_blank" rel="noreferrer noopener">Swupdate</a>&nbsp;implement this approach. This article will focus on RAUC using a typical development setup. In part 2 we will implement software updates with Mender. For our demonstration, we will use the&nbsp;<a href="https://www.nxp.com/products/processors-and-microcontrollers/arm-processors/i-mx-applications-processors/i-mx-8-applications-processors/i-mx-8m-plus-arm-cortex-a53-machine-learning-vision-multimedia-and-industrial-iot:IMX8MPLUS" target="_blank" rel="noreferrer noopener">i.MX8MP</a>, a versatile microprocessor from NXP Semiconductors known for its industrial-grade reliability and popularity in smart home devices, industrial automation, medical equipment, and multimedia systems.</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="900" height="505" src="https://www.konsulko.com/wp-content/uploads/2024/07/imx1.jpeg" alt="imx1" class="wp-image-5872" srcset="https://www.konsulko.com/wp-content/uploads/2024/07/imx1.jpeg 900w, https://www.konsulko.com/wp-content/uploads/2024/07/imx1-300x168.jpeg 300w, https://www.konsulko.com/wp-content/uploads/2024/07/imx1-768x431.jpeg 768w, https://www.konsulko.com/wp-content/uploads/2024/07/imx1-705x396.jpeg 705w" sizes="auto, (max-width: 900px) 100vw, 900px" /></figure>



<p>Recently,&nbsp;<a href="https://olimex.wordpress.com/2024/05/27/open-source-hardware-imx8mplus-system-on-module-and-evb-for-industrial-applications-machine-learning-and-machine-vision-with-2-3-tops-npu-are-running-mainline-linux-and-operate-in-industrial-grade-te/" target="_blank" rel="noreferrer noopener">Olimex launched an open-source hardware iMX8MPlus System on Module (SOM) and Evaluation Board (EVB)</a>&nbsp;tailored for industrial applications. <a href="https://www.konsulko.com/about/meet-the-team" target="_blank" rel="noopener" title="">Leon Anavi, Senior Engineer at Konsulko Group</a>, contributed support for&nbsp;<a href="https://www.olimex.com/Products/SOM/NXP-iMX8/" target="_blank" rel="noreferrer noopener">Olimex</a>&nbsp;<a href="https://www.olimex.com/Products/SOM/NXP-iMX8/iMX8MP-SOM-4GB-IND/open-source-hardware" target="_blank" rel="noreferrer noopener">iMX8MP-SOM-4GB-IND</a>&nbsp;and&nbsp;<a href="https://www.olimex.com/Products/SOM/NXP-iMX8/iMX8MP-SOM-EVB-IND/open-source-hardware" target="_blank" rel="noreferrer noopener">iMX8MP-SOM-EVB-IND</a>&nbsp;to the community-maintained Yocto and OpenEmbedded BSP layers. This effort encompassed Linux kernel and U-Boot uplift. Subsequently, leveraging his role as founder and maintainer of the meta-rauc-community layer, Leon integrated support for RAUC software updates on these boards and seamlessly integrated them with&nbsp;<a href="https://qbee.io/" target="_blank" rel="noreferrer noopener">qbee</a>&nbsp;cloud service.</p>



<p><a href="https://qbee.io/" target="_blank" rel="noreferrer noopener">Qbee.io</a>&nbsp;is a comprehensive cloud platform for managing and maintaining IoT and edge devices. Using the qbee-agent running on the embedded devices, it offers features such as configuration management, remote accesss, monitorning, security and OTA software updates based on RAUC. These capabilities enable businesses to efficiently oversee their distributed technology infrastructure, ensuring devices remain up-to-date, secure, and perform optimally. Earlier in 2024 Tim Orling, Konsulko Group Principal Software Engineer, implemented&nbsp;<a href="https://qbee.io/docs/tutorial-rpi5-rauc.html" target="_blank" rel="noreferrer noopener">image update with qbee and RAUC on Raspberry Pi 5</a>.</p>



<p>This technical article will guide you through the exacts steps to build a basic image for Olimex&nbsp;iMX8MP-SOM-4GB-IND&nbsp;and&nbsp;iMX8MP-SOM-EVB-IND&nbsp;using&nbsp;<a href="https://www.yoctoproject.org/" target="_blank" rel="noreferrer noopener">Yocto Project</a>&nbsp;release 5.0 LTS (scarthgap) as well as to perform a software update using&nbsp;qbee&nbsp;and&nbsp;RAUC.</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="904" height="509" src="https://www.konsulko.com/wp-content/uploads/2024/07/imx8MP-qbee-1.jpeg" alt="imx8MP" class="wp-image-5873" srcset="https://www.konsulko.com/wp-content/uploads/2024/07/imx8MP-qbee-1.jpeg 904w, https://www.konsulko.com/wp-content/uploads/2024/07/imx8MP-qbee-1-300x169.jpeg 300w, https://www.konsulko.com/wp-content/uploads/2024/07/imx8MP-qbee-1-768x432.jpeg 768w, https://www.konsulko.com/wp-content/uploads/2024/07/imx8MP-qbee-1-705x397.jpeg 705w" sizes="auto, (max-width: 904px) 100vw, 904px" /></figure>



<p></p>



<h3 class="wp-block-heading">Building an Image</h3>



<ul class="wp-block-list">
<li>Download the long term support (LTS) release Scarthgap reference Yocto distribution, Poky:</li>
</ul>



<pre class="wp-block-code"><code>git clone -b scarthgap https://git.yoctoproject.org/poky poky-olimex-imx8mp
cd poky-olimex-imx8mp
</code></pre>



<ul class="wp-block-list">
<li>Download BSP layers:</li>
</ul>



<pre class="wp-block-code"><code>git clone -b scarthgap https://github.com/Freescale/meta-freescale.git
git clone -b scarthgap https://github.com/Freescale/meta-freescale-3rdparty.git
git clone -b scarthgap https://github.com/Freescale/meta-freescale-distro.git
</code></pre>



<ul class="wp-block-list">
<li>Download the meta-rauc layer:</li>
</ul>



<pre class="wp-block-code"><code>git clone -b scarthgap https://github.com/rauc/meta-rauc.git
</code></pre>



<ul class="wp-block-list">
<li>Download meta-rauc-community layers, including meta-rauc-nxp:</li>
</ul>



<pre class="wp-block-code"><code>git clone -b scarthgap https://github.com/rauc/meta-rauc-community.git
</code></pre>



<ul class="wp-block-list">
<li>Download layer providing the qbee-agent and&nbsp;<a href="https://qbee.io/" target="_blank" rel="noopener" title="">qbee.io</a>&nbsp;integration:</li>
</ul>



<pre class="wp-block-code"><code>git clone -b master https://github.com/qbee-io/meta-qbee.git
</code></pre>



<ul class="wp-block-list">
<li>Download the meta-openembedded layer as it provides a recipe for nano which will be used for the demonstration:</li>
</ul>



<pre class="wp-block-code"><code>git clone -b scarthgap git://git.openembedded.org/meta-openembedded
</code></pre>



<ul class="wp-block-list">
<li>Initialize the build environment:</li>
</ul>



<pre class="wp-block-code"><code>source oe-init-build-env
</code></pre>



<ul class="wp-block-list">
<li>Include all layers in conf/bblayers.conf:</li>
</ul>



<pre class="wp-block-code"><code>bitbake-layers add-layer ../meta-openembedded/meta-oe
bitbake-layers add-layer ../meta-freescale
bitbake-layers add-layer ../meta-freescale-3rdparty
bitbake-layers add-layer ../meta-freescale-distro
bitbake-layers add-layer ../meta-rauc
bitbake-layers add-layer ../meta-rauc-community/meta-rauc-nxp
bitbake-layers add-layer ../meta-qbee/meta-qbee
</code></pre>



<ul class="wp-block-list">
<li>Adjust&nbsp;<code>conf/local.conf</code>&nbsp;by appending the following configurations to the end of the file:</li>
</ul>



<pre class="wp-block-code"><code>MACHINE = "olimex-imx8mp-evb"

INIT_MANAGER = "systemd"

ACCEPT_FSL_EULA = "1"

WKS_FILE = "dual-imx-boot-bootpart.wks.in"
DISTRO_FEATURES:append = " rauc"
IMAGE_FSTYPES:append = " ext4"
IMAGE_BOOT_FILES:append = " boot.scr"

IMAGE_INSTALL:append = " rauc-grow-data-part"
</code></pre>



<ul class="wp-block-list">
<li>Visit&nbsp;<a href="https://www.app.qbee.io/#/login" target="_blank" rel="noreferrer noopener">qbee.io</a>, register and sign in</li>



<li>Click on your profile name at the top right corner and select&nbsp;<strong>Bootstrap keys</strong>.</li>
</ul>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="220" height="555" src="https://www.konsulko.com/wp-content/uploads/2024/07/imx2.png" alt="imx2" class="wp-image-5874" srcset="https://www.konsulko.com/wp-content/uploads/2024/07/imx2.png 220w, https://www.konsulko.com/wp-content/uploads/2024/07/imx2-119x300.png 119w" sizes="auto, (max-width: 220px) 100vw, 220px" /></figure>



<ul class="wp-block-list">
<li> Copy the key.</li>
</ul>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1030" height="404" src="https://www.konsulko.com/wp-content/uploads/2024/07/imx4-1030x404.png" alt="Attachment Details" class="wp-image-5875" srcset="https://www.konsulko.com/wp-content/uploads/2024/07/imx4-1030x404.png 1030w, https://www.konsulko.com/wp-content/uploads/2024/07/imx4-300x118.png 300w, https://www.konsulko.com/wp-content/uploads/2024/07/imx4-768x302.png 768w, https://www.konsulko.com/wp-content/uploads/2024/07/imx4-1536x603.png 1536w, https://www.konsulko.com/wp-content/uploads/2024/07/imx4-1500x589.png 1500w, https://www.konsulko.com/wp-content/uploads/2024/07/imx4-705x277.png 705w, https://www.konsulko.com/wp-content/uploads/2024/07/imx4.png 1910w" sizes="auto, (max-width: 1030px) 100vw, 1030px" /></figure>



<ul class="wp-block-list">
<li>Replace&nbsp;<code>&lt;bootstrap_key&gt;</code>&nbsp;with the qbee bootstrap key and append to&nbsp;<code>conf/local.conf</code>:</li>
</ul>



<pre class="wp-block-code"><code>QBEE_BOOTSTRAP_KEY = "&lt;bootstrap_key&gt;"
</code></pre>



<ul class="wp-block-list">
<li>Build an image:</li>
</ul>



<pre class="wp-block-code"><code>bitbake core-image-base
</code></pre>



<p>Creating an image from the ground up is a time-consuming process that requires numerous Yocto/OpenEmbedded recipes and configurations. Please be patient as bitbake systematically manages each step.</p>



<ul class="wp-block-list">
<li>Flash&nbsp;<code>tmp/deploy/images/olimex-imx8mp-evb/core-image-base-olimex-imx8mp-evb.rootfs.wic.gz</code>&nbsp;to microSD card.</li>



<li>Attach the USB-to-UART adapter to connector A53_DBG1 Olimex iMX8MP-SOM-EVB-IND, plug the ethernet cable and the microSD card.</li>



<li>Plug 5V power supply to the power jack on iMX8MP-SOM-EVB-IND to turn on the board.</li>



<li>Verify that the system boots successfully, log in as user root without a password and check RAUC status:</li>
</ul>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1030" height="507" src="https://www.konsulko.com/wp-content/uploads/2024/07/imx5-1030x507.png" alt="imx5" class="wp-image-5877" srcset="https://www.konsulko.com/wp-content/uploads/2024/07/imx5-1030x507.png 1030w, https://www.konsulko.com/wp-content/uploads/2024/07/imx5-300x148.png 300w, https://www.konsulko.com/wp-content/uploads/2024/07/imx5-768x378.png 768w, https://www.konsulko.com/wp-content/uploads/2024/07/imx5-705x347.png 705w, https://www.konsulko.com/wp-content/uploads/2024/07/imx5.png 1299w" sizes="auto, (max-width: 1030px) 100vw, 1030px" /></figure>



<ul class="wp-block-list">
<li>Visit&nbsp;<a href="https://www.app.qbee.io/#/login" target="_blank" rel="noreferrer noopener">qbee.io</a>, click&nbsp;<strong>Devices</strong>&nbsp;and verify that&nbsp;<code>olimex-imx8mp-evb</code>&nbsp;has successfully connected:</li>
</ul>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1030" height="404" src="https://www.konsulko.com/wp-content/uploads/2024/07/imx6-1030x404.png" alt="imx6" class="wp-image-5881" srcset="https://www.konsulko.com/wp-content/uploads/2024/07/imx6-1030x404.png 1030w, https://www.konsulko.com/wp-content/uploads/2024/07/imx6-300x118.png 300w, https://www.konsulko.com/wp-content/uploads/2024/07/imx6-768x302.png 768w, https://www.konsulko.com/wp-content/uploads/2024/07/imx6-1536x603.png 1536w, https://www.konsulko.com/wp-content/uploads/2024/07/imx6-1500x589.png 1500w, https://www.konsulko.com/wp-content/uploads/2024/07/imx6-705x277.png 705w, https://www.konsulko.com/wp-content/uploads/2024/07/imx6.png 1910w" sizes="auto, (max-width: 1030px) 100vw, 1030px" /></figure>



<p></p>



<h3 class="wp-block-heading">Creating a RAUC Update Bundle</h3>



<p>A RAUC update bundle comprises the file system image(s) or archive(s) designated for system installation, accompanied by a manifest detailing the images for installation, encompassing options and meta-information. Additionally, it may include scripts designated for execution before, during or after the installation process. To sign and verify the update bundles RAUC uses SSL keys. Layer meta-rauc-beaglebone contains a keyring containing all keys and a recipe for a simple RAUC update bundle for demonstration purposes only.</p>



<p>Follow the steps below to create RAUC update bundle that extends the system by adding the popular text based editor nano:</p>



<ul class="wp-block-list">
<li>Add to&nbsp;<code>conf/local.conf</code>:</li>
</ul>



<pre class="wp-block-code"><code>IMAGE_INSTALL:append = " nano"
</code></pre>



<ul class="wp-block-list">
<li>Build the RAUC update bundle:</li>
</ul>



<pre class="wp-block-code"><code>bitbake update-bundle
</code></pre>



<h3 class="wp-block-heading" id="Running-RAUC-Update-from-Qbeeio">Running RAUC Update from&nbsp;qbee.io</h3>



<p>Please follow the steps below to upload the RAUC bundle to&nbsp;<a href="https://qbee.io/" target="_blank" rel="noopener" title="">qbee.io</a>&nbsp;and update the board:</p>



<ul class="wp-block-list">
<li>Visit&nbsp;<a href="https://www.app.qbee.io/#/login" target="_blank" rel="noreferrer noopener">qbee.io</a>, click&nbsp;<strong>File Manager</strong>&nbsp;and upload the RAUC bundle:</li>
</ul>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1030" height="404" src="https://www.konsulko.com/wp-content/uploads/2024/07/imx7-1030x404.png" alt="imx7" class="wp-image-5882" srcset="https://www.konsulko.com/wp-content/uploads/2024/07/imx7-1030x404.png 1030w, https://www.konsulko.com/wp-content/uploads/2024/07/imx7-300x118.png 300w, https://www.konsulko.com/wp-content/uploads/2024/07/imx7-768x302.png 768w, https://www.konsulko.com/wp-content/uploads/2024/07/imx7-1536x603.png 1536w, https://www.konsulko.com/wp-content/uploads/2024/07/imx7-1500x589.png 1500w, https://www.konsulko.com/wp-content/uploads/2024/07/imx7-705x277.png 705w, https://www.konsulko.com/wp-content/uploads/2024/07/imx7.png 1910w" sizes="auto, (max-width: 1030px) 100vw, 1030px" /></figure>



<ul class="wp-block-list">
<li>Select&nbsp;<strong>Devices</strong>, click on&nbsp;<code>olimex-imx8mp-evb</code>&nbsp;and go to tab&nbsp;<strong>Configure</strong>. From&nbsp;<strong>Settings &gt; OTA</strong>&nbsp;enable RAUC image updates:</li>
</ul>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1030" height="522" src="https://www.konsulko.com/wp-content/uploads/2024/07/imx8-1030x522.png" alt="imx8" class="wp-image-5883" srcset="https://www.konsulko.com/wp-content/uploads/2024/07/imx8-1030x522.png 1030w, https://www.konsulko.com/wp-content/uploads/2024/07/imx8-300x152.png 300w, https://www.konsulko.com/wp-content/uploads/2024/07/imx8-768x389.png 768w, https://www.konsulko.com/wp-content/uploads/2024/07/imx8-1536x778.png 1536w, https://www.konsulko.com/wp-content/uploads/2024/07/imx8-1500x760.png 1500w, https://www.konsulko.com/wp-content/uploads/2024/07/imx8-705x357.png 705w, https://www.konsulko.com/wp-content/uploads/2024/07/imx8.png 1902w" sizes="auto, (max-width: 1030px) 100vw, 1030px" /></figure>



<ul class="wp-block-list">
<li>Select the RAUC bundle.</li>



<li>Click&nbsp;<strong>Save Changes</strong>, then click&nbsp;<strong>Commit Changes</strong>&nbsp;and enter a commit message:</li>
</ul>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1030" height="522" src="https://www.konsulko.com/wp-content/uploads/2024/07/imx9-1030x522.png" alt="Software updates on the i.MX8MP" class="wp-image-5884" srcset="https://www.konsulko.com/wp-content/uploads/2024/07/imx9-1030x522.png 1030w, https://www.konsulko.com/wp-content/uploads/2024/07/imx9-300x152.png 300w, https://www.konsulko.com/wp-content/uploads/2024/07/imx9-768x389.png 768w, https://www.konsulko.com/wp-content/uploads/2024/07/imx9-1536x778.png 1536w, https://www.konsulko.com/wp-content/uploads/2024/07/imx9-1500x760.png 1500w, https://www.konsulko.com/wp-content/uploads/2024/07/imx9-705x357.png 705w, https://www.konsulko.com/wp-content/uploads/2024/07/imx9.png 1902w" sizes="auto, (max-width: 1030px) 100vw, 1030px" /></figure>



<ul class="wp-block-list">
<li>Wait for the qbee agent to apply the RAUC update bundle. By default, the agent checks for changes every 5 minutes. To force an immediate check, click the&nbsp;<strong>Run agent</strong>&nbsp;button in the Device Overview. Allow a few minutes for the update bundle to be transferred and installed on the board.</li>
</ul>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1030" height="522" src="https://www.konsulko.com/wp-content/uploads/2024/07/imx10-1030x522.png" alt="Attachment details" class="wp-image-5885" srcset="https://www.konsulko.com/wp-content/uploads/2024/07/imx10-1030x522.png 1030w, https://www.konsulko.com/wp-content/uploads/2024/07/imx10-300x152.png 300w, https://www.konsulko.com/wp-content/uploads/2024/07/imx10-768x389.png 768w, https://www.konsulko.com/wp-content/uploads/2024/07/imx10-1536x778.png 1536w, https://www.konsulko.com/wp-content/uploads/2024/07/imx10-1500x760.png 1500w, https://www.konsulko.com/wp-content/uploads/2024/07/imx10-705x357.png 705w, https://www.konsulko.com/wp-content/uploads/2024/07/imx10.png 1902w" sizes="auto, (max-width: 1030px) 100vw, 1030px" /></figure>



<ul class="wp-block-list">
<li>After the update is finished, the board will automatically restart. You can verify that the active RAUC rootfs slot has been updated and&nbsp;<code>nano</code>&nbsp;is present:</li>
</ul>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1030" height="511" src="https://www.konsulko.com/wp-content/uploads/2024/07/imx11-1030x511.png" alt="imx11" class="wp-image-5886" srcset="https://www.konsulko.com/wp-content/uploads/2024/07/imx11-1030x511.png 1030w, https://www.konsulko.com/wp-content/uploads/2024/07/imx11-300x149.png 300w, https://www.konsulko.com/wp-content/uploads/2024/07/imx11-768x381.png 768w, https://www.konsulko.com/wp-content/uploads/2024/07/imx11-705x350.png 705w, https://www.konsulko.com/wp-content/uploads/2024/07/imx11.png 1306w" sizes="auto, (max-width: 1030px) 100vw, 1030px" /></figure>



<ul class="wp-block-list">
<li>To optionally verify the update of the embedded Linux device from the cloud service, select&nbsp;<strong>Devices</strong>, click on&nbsp;<code>olimex-imx8mp-evb</code>, navigate to the&nbsp;<strong>Logs</strong>&nbsp;tab, and review the logs related to the RAUC update.</li>
</ul>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1030" height="527" src="https://www.konsulko.com/wp-content/uploads/2024/07/imx12-1030x527.png" alt="imx12" class="wp-image-5887" srcset="https://www.konsulko.com/wp-content/uploads/2024/07/imx12-1030x527.png 1030w, https://www.konsulko.com/wp-content/uploads/2024/07/imx12-300x154.png 300w, https://www.konsulko.com/wp-content/uploads/2024/07/imx12-768x393.png 768w, https://www.konsulko.com/wp-content/uploads/2024/07/imx12-1536x786.png 1536w, https://www.konsulko.com/wp-content/uploads/2024/07/imx12-1500x768.png 1500w, https://www.konsulko.com/wp-content/uploads/2024/07/imx12-705x361.png 705w, https://www.konsulko.com/wp-content/uploads/2024/07/imx12.png 1897w" sizes="auto, (max-width: 1030px) 100vw, 1030px" /></figure>



<p>With&nbsp;qbee.io, multiple IoT devices can be grouped together and managed as a fleet from the cloud service. In practical product development scenarios, enhancing the Yocto Project and OpenEmbedded workflow can be achieved through a few straightforward commands to streamline continuous integration (CI).</p>



<p>The second part of the article will detail the exact steps to build, boot, and update an image on the Olimex&nbsp;iMX8MP-SOM-4GB-IND&nbsp;and&nbsp;iMX8MP-SOM-EVB-IND&nbsp;hardware, this time using Mender instead of RAUC, with the Yocto Project release 5.0 LTS (scarthgap).</p>



<p><a href="/" title="">Konsulko</a> engineers have played pivotal roles as contributors and mentors in the commercial product space from the early days of OpenEmbedded and the <a href="/yocto-project-openembedded" title="">Yocto Project</a>. Our team excels in utilizing RAUC, Mender, Swupdate and a range of other open-source tools to deliver comprehensive <a href="/ota-software-update" title="">software update solutions</a>.&nbsp;<a href="https://www.konsulko.com/contact" target="_blank" rel="noreferrer noopener">Contact us</a> to discuss your specific product requirements and discover how Konsulko engineers can improve your <a href="/embedded-linux-hardware-software" title="">embedded Linux development projects</a>.</p>



<p></p>The post <a href="https://www.konsulko.com/ota-qbee-rauc-imx8mp">Software Updates on the i.MX8MP, Part 1: qbee and  RAUC</a> first appeared on <a href="https://www.konsulko.com">Konsulko Group</a>.]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">5855</post-id>	</item>
	</channel>
</rss>