<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Linux on Rootcommit WIP</title>
    <link>https://rootcommit.l0g.eu/tags/linux/</link>
    <description>Recent content in Linux on Rootcommit WIP</description>
    <generator>Hugo</generator>
    <language>en-us</language>
    <lastBuildDate>Sat, 18 Apr 2026 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://rootcommit.l0g.eu/tags/linux/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Board Bring-Up: Radxa Dragon Q6A with Mainline Linux and Yocto</title>
      <link>https://rootcommit.l0g.eu/2026/board-bring-up-radxa-dragon-q6a-with-mainline-linux-and-yocto/</link>
      <pubDate>Sat, 18 Apr 2026 00:00:00 +0000</pubDate>
      <guid>https://rootcommit.l0g.eu/2026/board-bring-up-radxa-dragon-q6a-with-mainline-linux-and-yocto/</guid>
      <description>&lt;!-- raw HTML omitted --&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://docs.radxa.com/en/img/dragon/q6a/dragon-q6a-view.webp&#34;&gt;&lt;img src=&#34;../images/dragon-q6a-view.webp&#34; alt=&#34;Product Appearance&#34;&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;!-- raw HTML omitted --&gt;&#xA;&lt;p&gt;Radxa Dragon 6A&lt;/p&gt;&#xA;&lt;!-- raw HTML omitted --&gt;&#xA;&lt;!-- raw HTML omitted --&gt;&#xA;&lt;p&gt;The Radxa Dragon Q6A is a credit card-sized single-board computer built around Qualcomm&amp;rsquo;s QCS6490 — the same silicon family found in the Fairphone 5 and Qualcomm&amp;rsquo;s own RB3gen2 reference platform. It packs an octa-core Kryo 670 CPU, an Adreno 643 GPU, and a 12 TOPS Hexagon NPU into a board with Gigabit Ethernet, WiFi 6, HDMI, triple camera connectors, and an M.2 NVMe slot. Starting at around $60, it sits in an interesting spot — significantly more compute per dollar than a Raspberry Pi 5, with a genuine ML inference pipeline that doesn&amp;rsquo;t require an external accelerator. Qualcomm provides &lt;a href=&#34;https://docs.qualcomm.com/doc/80-80021-254/topic/build_from_source_github_intro.html&#34;&gt;Yocto builds&lt;/a&gt; for RB3Gen2 boards and &lt;a href=&#34;https://docs.radxa.com/en/dragon/q6a/other-system/qualcomm&#34;&gt;Radxa&lt;/a&gt; mentions this in their documentation but doesn&amp;rsquo;t provide any how-to. In this article, we shall explore the steps taken to get Yocto running with Mainline Linux Kernel.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Mainline Linux 7.0 running on Arduino Q</title>
      <link>https://rootcommit.l0g.eu/2026/linux-7-0-arduino-q/</link>
      <pubDate>Mon, 13 Apr 2026 00:00:00 +0000</pubDate>
      <guid>https://rootcommit.l0g.eu/2026/linux-7-0-arduino-q/</guid>
      <description>&lt;p&gt;Here are steps to reproduce it by yourself, if you are the happy owner of this board, currently priced at 48 EUR on the &lt;a href=&#34;https://store.arduino.cc/products/uno-q&#34;&gt;Arduino shop&lt;/a&gt; for the 2 GB version. This is done without removing the original kernel. Your board will still boot such kernel by default.&lt;/p&gt;&#xA;&lt;h3 id=&#34;setup-and-prerequisites&#34;&gt;Setup and prerequisites&lt;/h3&gt;&#xA;&lt;p&gt;To do this by yourself, you will need:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;An &lt;a href=&#34;https://www.arduino.cc/en/uno-q/&#34;&gt;Arduino Q&lt;/a&gt; board&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;A USB-C hub with external power, to power the board and to connect external devices such as USB mass storage or USB-Ethernet.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Contributions to Linux 6.19</title>
      <link>https://rootcommit.l0g.eu/2026/linux-6-19-contributions/</link>
      <pubDate>Tue, 10 Feb 2026 00:00:00 +0000</pubDate>
      <guid>https://rootcommit.l0g.eu/2026/linux-6-19-contributions/</guid>
      <description>&lt;h3 id=&#34;root-commits-contributions-to-linux-619&#34;&gt;Root Commit&amp;rsquo;s contributions to Linux 6.19&lt;/h3&gt;&#xA;&lt;p&gt;Linux 6.19 is out with 7 contributions from Root Commit:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=9813395078352fed03c88742bd39b9c4a0e40c15&#34;&gt;riscv: dts: spacemit: add Ethernet and PDMA to OrangePi RV2&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=323256d11e01d5ee2a0a2e7b682890498b90b212&#34;&gt;dt-bindings: riscv: spacemit: Add OrangePi R2S board&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=63e572b11464a233f45ad469ba64b8b9e68a9cd1&#34;&gt;riscv: dts: spacemit: Add OrangePi R2S board device tree&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=605945281a65ca68af00f3d7592a191b20b21ad4&#34;&gt;dt-bindings: arm: rockchip: merge Asus Tinker and Tinker S&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=f4e81d0b95f3257a2fcfdbfaa2d8ed41015c621b&#34;&gt;dt-bindings: arm: rockchip: Add Asus Tinker Board 3/3S&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=9f80b3952318d7ef18573a5010f06118602f992e&#34;&gt;arm64: dts: rockchip: Add Asus Tinker Board 3 and 3S device tree&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Using Yocto to build images for Orange Pi 3B</title>
      <link>https://rootcommit.l0g.eu/2025/yocto-orange-pi-3b/</link>
      <pubDate>Tue, 25 Nov 2025 00:00:00 +0000</pubDate>
      <guid>https://rootcommit.l0g.eu/2025/yocto-orange-pi-3b/</guid>
      <description>&lt;h3 id=&#34;introduction&#34;&gt;Introduction&lt;/h3&gt;&#xA;&lt;p&gt;&lt;a href=&#34;http://www.orangepi.org/html/hardWare/computerAndMicrocontrollers/details/Orange-Pi-3B.html&#34;&gt;Orange PI 3B&lt;/a&gt; is a cheap and attractive Raspberry Pi sized single board computer based on the Rockchip RK3566:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Rockchip RK3566 (4x ARM Cortex-A55 @ 1.6GHz)&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;ARM Mali-G52-2EE GPU (OpenGL ES 1.1/2.0/3.0/3.1/3.2, Vulkan 1.1, OpenCL 2.0)&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;LPDDR4 RAM (2/4/8 GB)&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Micro-SD card slot&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;SPI flash (16/32 MB)&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Optional eMMC pluggable module (16/32/64/128/256 GB)&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Wi-Fi5 + Bluetooth 5.0, BLE&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;1x USB 2.0 Type A OTG, 2x USB 2.0 Type A HOST, 1x USB 3.0 Type A Host&lt;/p&gt;</description>
    </item>
    <item>
      <title>Orange Pi RV2 RISC-V board running Linux 6.18-rc1</title>
      <link>https://rootcommit.l0g.eu/2025/orangepi-rv2-linux-6-18-rc1/</link>
      <pubDate>Thu, 16 Oct 2025 00:00:00 +0000</pubDate>
      <guid>https://rootcommit.l0g.eu/2025/orangepi-rv2-linux-6-18-rc1/</guid>
      <description>&lt;h3 id=&#34;introduction&#34;&gt;Introduction&lt;/h3&gt;&#xA;&lt;p&gt;Five days ago, I received the &lt;a href=&#34;http://www.orangepi.org/html/hardWare/computerAndMicrocontrollers/details/Orange-Pi-RV2.html&#34;&gt;Orange Pi RV2 board&lt;/a&gt; I ordered. For about 54 EUR / 64 USD (+ shipping), this board has very attractive features, in particular:&lt;/p&gt;&#xA;&lt;!-- raw HTML omitted --&gt;&#xA;&lt;p&gt;&lt;img src=&#34;../images/topview-1024x666.png&#34; alt=&#34;Orange Pi RV2 board top view&#34;&gt;&lt;/p&gt;&#xA;&lt;!-- raw HTML omitted --&gt;&#xA;&lt;p&gt;Top view - Source &lt;a href=&#34;http://www.orangepi.org/html/hardWare/computerAndMicrocontrollers/details/Orange-Pi-RV2.html&#34;&gt;Orange Pi&lt;/a&gt;&lt;/p&gt;&#xA;&lt;!-- raw HTML omitted --&gt;&#xA;&lt;!-- raw HTML omitted --&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;8 GB of LPDDR4X RAM (2 and 4 GB options exist)&lt;/p&gt;</description>
    </item>
    <item>
      <title>Yocto security: Kernel Hardening</title>
      <link>https://rootcommit.l0g.eu/2025/yocto-security-kernel-hardening/</link>
      <pubDate>Tue, 07 Oct 2025 00:00:00 +0000</pubDate>
      <guid>https://rootcommit.l0g.eu/2025/yocto-security-kernel-hardening/</guid>
      <description>&lt;p&gt;This is another blog post about securing your Yocto built systems:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://rootcommit.l0g.eu/2025/securing-yocto-built-systems/&#34;&gt;Securing Yocto Built Systems overview presentation slides&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://rootcommit.l0g.eu/2025/yocto-security-production-and-development-images/&#34;&gt;Yocto Security: Production and Development Images&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://rootcommit.l0g.eu/2025/yocto-security-kernel-hardening/&#34;&gt;Yocto security: Kernel Hardening&lt;/a&gt; ⬅️&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;introduction&#34;&gt;Introduction&lt;/h2&gt;&#xA;&lt;p&gt;The Linux kernel is the cornerstone and stronghold of a Linux based system. Unlike user-space applications which run with limited privileges, if it&amp;rsquo;s compromised, there is almost no limit to what an attacker can do.&lt;/p&gt;&#xA;&lt;p&gt;While nothing is unbreakable, there are two types of settings you can change to make your kernel harder to compromise:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Yocto bookmark and new training dates</title>
      <link>https://rootcommit.l0g.eu/2025/yocto-bookmark-and-new-training-dates/</link>
      <pubDate>Wed, 01 Oct 2025 00:00:00 +0000</pubDate>
      <guid>https://rootcommit.l0g.eu/2025/yocto-bookmark-and-new-training-dates/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;../images/bookmark-front.jpg&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;../images/bookmark-back.jpg&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;h3 id=&#34;bookmark&#34;&gt;Bookmark&lt;/h3&gt;&#xA;&lt;p&gt;After a &lt;a href=&#34;https://fosstodon.org/@MichaelOpdenacker/115217964017676989&#34;&gt;brief announcement&lt;/a&gt; two weeks ago, here is the new Yocto command reference bookmark, in a format you can print and modify, according to the terms of the &lt;a href=&#34;https://creativecommons.org/licenses/by-sa/4.0/&#34;&gt;Creative Commons Attribution-ShareAlike license&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;In particular, the &lt;a href=&#34;https://rootcommit.l0g.eu/pub/training/yocto/bookmarks/command-reference/bookmark.pdf&#34;&gt;PDF version&lt;/a&gt; is ready to be printed. This way you will get 5 bookmarks on double-sided A4 paper.&lt;/p&gt;&#xA;&lt;p&gt;The documents were created with the &lt;a href=&#34;https://www.scribus.net/&#34;&gt;Scribus&lt;/a&gt; open-source publishing application. It&amp;rsquo;s a great program to create leaflets, brochures and any professional looking documents. Sources are available in our &lt;a href=&#34;https://gitlab.com/rootcommit/bookmarks&#34;&gt;GitLab repository&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Linux 6.17 is out and already running at Root Commit</title>
      <link>https://rootcommit.l0g.eu/2025/linux-6-17/</link>
      <pubDate>Mon, 29 Sep 2025 00:00:00 +0000</pubDate>
      <guid>https://rootcommit.l0g.eu/2025/linux-6-17/</guid>
      <description>&lt;p&gt;Linux 6.17 has &lt;a href=&#34;https://lwn.net/ml/all/CAHk-%3DwiX38oG6%3DxFBNLO0pnjqHfxzjd6-1kZ5Nv9HfqNC2PoFA%40mail.gmail.com/&#34;&gt;just been released&lt;/a&gt;, and it&amp;rsquo;s already running here at Root Commit.&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://rootcommit.l0g.eu/wp-content/uploads/2025/09/verdin-imx8mm-dahlia-scaled-e1759155037961.jpg&#34;&gt;&lt;img src=&#34;../images/verdin-imx8mm-dahlia-scaled-e1759155037961-1024x662.jpg&#34; alt=&#34;Toradex Verdin i.MX8mm SOM on Dahlia Carrier Board&#34;&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;The first system it&amp;rsquo;s been running on is this &lt;a href=&#34;https://developer.toradex.com/hardware/verdin-som-family/modules/verdin-imx8m-mini/&#34;&gt;Toradex Verdin iMX8M Mini SOM&lt;/a&gt; (below the heat sink!) on the &lt;a href=&#34;https://developer.toradex.com/hardware/verdin-som-family/carrier-boards/dahlia-carrier-board&#34;&gt;Dahlia Carrier board&lt;/a&gt;. I&amp;rsquo;m using this board for a medical device project at the moment.&lt;/p&gt;&#xA;&lt;p&gt;Here are my notes for building Linux 6.17 for this device:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Get the Linux 6.17 sources (through &lt;code&gt;git&lt;/code&gt; or &lt;a href=&#34;https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-6.17.tar.xz&#34;&gt;tarball&lt;/a&gt;)&lt;/p&gt;</description>
    </item>
    <item>
      <title>Yocto Security: Production and Development Images</title>
      <link>https://rootcommit.l0g.eu/2025/yocto-security-production-and-development-images/</link>
      <pubDate>Thu, 04 Sep 2025 00:00:00 +0000</pubDate>
      <guid>https://rootcommit.l0g.eu/2025/yocto-security-production-and-development-images/</guid>
      <description>&lt;p&gt;This blog post is part of a series about securing your Yocto built systems:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://rootcommit.l0g.eu/2025/securing-yocto-built-systems/&#34;&gt;Securing Yocto Built Systems overview presentation slides&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://rootcommit.l0g.eu/2025/yocto-security-production-and-development-images/&#34;&gt;Yocto Security: Production and Development Images&lt;/a&gt; ⬅️&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://rootcommit.l0g.eu/2025/yocto-security-kernel-hardening/&#34;&gt;Yocto security: Kernel Hardening&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;what-to-avoid&#34;&gt;What to avoid&lt;/h3&gt;&#xA;&lt;p&gt;So, you use Yocto to build an image for your embedded device. You tweak the image and distribution settings to get the features you need, and other developers use the SDK built by Yocto to create and build the User Interface and other applications.&lt;/p&gt;</description>
    </item>
    <item>
      <title>&#34;Securing Yocto Built Systems&#34; presentation slides</title>
      <link>https://rootcommit.l0g.eu/2025/securing-yocto-built-systems/</link>
      <pubDate>Wed, 03 Sep 2025 00:00:00 +0000</pubDate>
      <guid>https://rootcommit.l0g.eu/2025/securing-yocto-built-systems/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;../images/whole-room-1024x768.jpg&#34; alt=&#34;Showing a room full of people&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;../images/with-tim-orling.png&#34; alt=&#34;Discussion after the presentation at ELCE 2025 in Amsterdam&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;../images/multiple-images-scaled.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;../images/kernel-hardening-1024x576.png&#34; alt=&#34;Kernel Hardening slide from ELCE 2025 presentation&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;../images/kernel-hardening-checker-output-1024x576.png&#34; alt=&#34;kernel-hardening-checker output&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;../images/vulnscout-1024x576.png&#34; alt=&#34;Vulnscout for vulnerability scanning from Yocto SPDX&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;../images/badge-576x1024.jpg&#34; alt=&#34;ELCE 2025 speaker badge for Michael Opdenacker, Root Commit&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;../images/slate-576x1024.jpg&#34; alt=&#34;OSS Europe Amsterdam Speaker Gift Slate&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;../images/penguin-576x1024.jpg&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Last week, I gave a &amp;ldquo;Making Yocto Built Images More Secure&amp;rdquo; presentation at the &lt;a href=&#34;https://embeddedlinuxconference.com/&#34;&gt;Embedded Linux Conference&lt;/a&gt; in Amsterdam.&lt;/p&gt;&#xA;&lt;p&gt;The main goal was to share the research I&amp;rsquo;ve done so far for a customer project, and gather feedback from the audience.&lt;/p&gt;</description>
    </item>
    <item>
      <title>See how U-Boot modifies your board device tree</title>
      <link>https://rootcommit.l0g.eu/2025/u-boot-dt-fixups/</link>
      <pubDate>Mon, 21 Jul 2025 00:00:00 +0000</pubDate>
      <guid>https://rootcommit.l0g.eu/2025/u-boot-dt-fixups/</guid>
      <description>&lt;p&gt;If you compare the device tree as loaded by Linux, available in &lt;code&gt;/sys/firmware/fdt&lt;/code&gt;, you will see that it differs from the one that you loaded in U-Boot. Taking the time to make the comparison is quite instructive.&lt;/p&gt;&#xA;&lt;p&gt;Let&amp;rsquo;s do this on my &lt;a href=&#34;https://developer.toradex.com/hardware/verdin-som-family/modules/verdin-imx8m-mini/&#34;&gt;Toradex Verdin iMX8M Mini&lt;/a&gt; SoM on the &lt;a href=&#34;https://developer.toradex.com/hardware/verdin-som-family/carrier-boards/dahlia-carrier-board&#34;&gt;Dahlia carrier board&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;h3 id=&#34;decompiling-the-dtb&#34;&gt;Decompiling the DTB&lt;/h3&gt;&#xA;&lt;p&gt;It&amp;rsquo;s easy to decompile any Device Tree Binary (DTB) file using &lt;code&gt;dtc&lt;/code&gt;, the Device Tree Compiler.&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Copy &lt;code&gt;/sys/firmware/fdt&lt;/code&gt; from your live Linux system to external storage (assuming your external storage is mounted on &lt;code&gt;/mnt/usb&lt;/code&gt;)&lt;br&gt;&#xA;&lt;code&gt;cp /sys/firmware/fdt /mnt/usb/linux.dtb&lt;/code&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Seven steps to grow your embedded Linux skills</title>
      <link>https://rootcommit.l0g.eu/2025/seven-steps-to-grow-your-embedded-linux-skills/</link>
      <pubDate>Sun, 20 Jul 2025 00:00:00 +0000</pubDate>
      <guid>https://rootcommit.l0g.eu/2025/seven-steps-to-grow-your-embedded-linux-skills/</guid>
      <description>&lt;p&gt;&lt;em&gt;A variant of this article also exists as a &lt;a href=&#34;https://rootcommit.l0g.eu/pub/conferences/2025/cdl/embedded-linux-getting-started/embedded-linux-getting-started.pdf&#34;&gt;conference presentation&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;&#xA;&lt;p&gt;Do you already have a job in embedded Linux but wish to be given more challenging goals? Or are you in IT, already using Linux on your own laptop, and dreaming about landing an embedded Linux job, possibly starting as your own boss? Follow my advice in a patient and consistent way, and you will achieve your goals in less than 12 months.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Virtual Packages in Yocto Project / OpenEmbedded</title>
      <link>https://rootcommit.l0g.eu/2025/yocto-virtual-packages/</link>
      <pubDate>Thu, 03 Jul 2025 00:00:00 +0000</pubDate>
      <guid>https://rootcommit.l0g.eu/2025/yocto-virtual-packages/</guid>
      <description>&lt;h3 id=&#34;understanding-virtual-packages-in-yocto-project--openembedded&#34;&gt;Understanding Virtual Packages in Yocto Project / OpenEmbedded&lt;/h3&gt;&#xA;&lt;p&gt;If you are using Yocto, this post will help you learn about Virtual Packages: how they work, why they are useful, and how to create them step by step.&lt;/p&gt;&#xA;&lt;p&gt;We assume you are already familiar with:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Yocto Project setup&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Basic command of BitBake and recipe syntax&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h4 id=&#34;what-is-a-virtual-package&#34;&gt;What is a Virtual Package?&lt;/h4&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://rootcommit.l0g.eu/wp-content/uploads/2025/06/Black-and-White-Chalkboard-Brainstorm-Presentation.png&#34;&gt;&lt;img src=&#34;../images/Black-and-White-Chalkboard-Brainstorm-Presentation.png&#34; alt=&#34;Yocto virtual packages diagram&#34;&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;Imagine you have multiple implementations of the same functionality (for example, different kernels such as a real-time kernel, a boot-time optimized kernel, and a kernel without loadable modules). Of course, your final image will include only one kernel, but you may want to keep several implementations in your project, so you can switch between them easily whenever you like.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Yocto: variable overrides tricks</title>
      <link>https://rootcommit.l0g.eu/2025/yocto-variable-overrides-tricks/</link>
      <pubDate>Tue, 18 Mar 2025 00:00:00 +0000</pubDate>
      <guid>https://rootcommit.l0g.eu/2025/yocto-variable-overrides-tricks/</guid>
      <description>&lt;!-- raw HTML omitted --&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://kernel-recipes.org/&#34;&gt;&lt;img src=&#34;../images/kr_carre.jpg&#34; alt=&#34;&#34;&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;!-- raw HTML omitted --&gt;&#xA;&lt;p&gt;Kernel Recipes conference in Paris&lt;br&gt;&#xA;One of the best for Linux kernel topics 😉.&lt;br&gt;&#xA;Recommended by Root Commit!&lt;/p&gt;&#xA;&lt;!-- raw HTML omitted --&gt;&#xA;&lt;!-- raw HTML omitted --&gt;&#xA;&lt;p&gt;I discovered a intriguing phenomenon while preparing my &lt;a href=&#34;https://pretalx.com/openembedded-workshop-2025/talk/UTWEMD/&#34;&gt;How to test the latest mainline Linux kernel or bootloader&lt;/a&gt; presentation at &lt;a href=&#34;https://pretalx.com/openembedded-workshop-2025/schedule/&#34;&gt;OpenEmbedded Workshop 2025&lt;/a&gt;. It turned out there was something incomplete in my understanding of BitBake variable overrides.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Introducing Yocto Project Overview Seminars</title>
      <link>https://rootcommit.l0g.eu/2025/1day-yocto-project-overview-seminar/</link>
      <pubDate>Thu, 27 Feb 2025 00:00:00 +0000</pubDate>
      <guid>https://rootcommit.l0g.eu/2025/1day-yocto-project-overview-seminar/</guid>
      <description>&lt;p&gt;Following discussions with a customer, and as a teaser for our &lt;a href=&#34;https://rootcommit.l0g.eu/training/sessions/yocto-online/&#34;&gt;Yocto Project and OpenEmbedded course&lt;/a&gt;, we are now offering a &lt;a href=&#34;https://rootcommit.l0g.eu/training/seminars/yocto-seminar/&#34;&gt;1-day overview seminar&lt;/a&gt; on this topic.&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://rootcommit.l0g.eu/training/seminars/yocto-seminar/&#34;&gt;&lt;img src=&#34;../images/agenda-thumbnail-235x300.png&#34; alt=&#34;Thumbnail of the agenda on /training/seminars/yocto-seminar/&#34;&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;The main goal is to give you a clear view of the &lt;a href=&#34;https://yoctoproject.org&#34;&gt;Yocto Project&lt;/a&gt; and the value it can bring to your embedded Linux device projects. You will have a guided view of its main features and quick demos, all done in an engaging and interactive way.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Build and run the mainline Linux kernel on your PC</title>
      <link>https://rootcommit.l0g.eu/2025/mainline-linux-on-pc/</link>
      <pubDate>Wed, 26 Feb 2025 00:00:00 +0000</pubDate>
      <guid>https://rootcommit.l0g.eu/2025/mainline-linux-on-pc/</guid>
      <description>&lt;p&gt;Last week, I gave a &amp;ldquo;How to test a specific version of Linux on PC hardware&amp;rdquo; talk at the &lt;a href=&#34;https://alposs.fr/&#34;&gt;Alposs conference&lt;/a&gt; in Echirolles near Grenoble, France.&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://rootcommit.l0g.eu/pub/conferences/2025/alposs/mainline-linux-on-pc/mainline-linux-on-pc.pdf&#34;&gt;&lt;img src=&#34;../images/slides-first-page.png&#34; alt=&#34;Front page of &amp;ldquo;How to test a specific version of Linux on PC hardware?&amp;rdquo; presentation by Michael Opdenacker&#34;&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://rootcommit.l0g.eu/wp-content/uploads/2025/02/PXL_20250220_101059401.MP_-scaled.jpg&#34;&gt;&lt;img src=&#34;../images/PXL_20250220_101059401.MP_-768x1024.jpg&#34; alt=&#34;Michael Opdenacker speaking at the Alposs 2025 conference&#34;&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://rootcommit.l0g.eu/wp-content/uploads/2025/02/alposs-badge-scaled.jpg&#34;&gt;&lt;img src=&#34;../images/alposs-badge-576x1024.jpg&#34; alt=&#34;Michael Opdenacker&amp;rsquo;s Alposs 2025 speaker badge&#34;&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://rootcommit.l0g.eu/wp-content/uploads/2025/02/jc-becquet-april-scaled.jpg&#34;&gt;&lt;img src=&#34;../images/jc-becquet-april-1024x576.jpg&#34; alt=&#34;Jean-Christophe Becquet at Alposs 2025, sharing his favorite free software &amp;ldquo;nuggets&amp;rdquo;&#34;&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;This was a very nice technical conference, with 330 participants (+110 compared to last year), organized in the city hall of &lt;a href=&#34;https://www.echirolles.fr/&#34;&gt;Echirolles&lt;/a&gt; near Grenoble and by &lt;a href=&#34;https://www.belledonne-communications.com/&#34;&gt;Belledonne Communications&lt;/a&gt; (the editors of &lt;a href=&#34;https://www.linphone.org/&#34;&gt;Linphone&lt;/a&gt;) and &lt;a href=&#34;https://www.ow2.org/&#34;&gt;OW2&lt;/a&gt;, an international association of Free Software professionals. Echirolles has a very dynamic orientation, deploying Free and Open Source Software in many of its services, thus improving the services offered to its citizens.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Booting the Raspberry Pi 5 with the Mainline Linux Kernel</title>
      <link>https://rootcommit.l0g.eu/2025/raspberrypi5-mainline-linux-kernel/</link>
      <pubDate>Wed, 19 Feb 2025 00:00:00 +0000</pubDate>
      <guid>https://rootcommit.l0g.eu/2025/raspberrypi5-mainline-linux-kernel/</guid>
      <description>&lt;p&gt;If you have other boards, read on, these instructions support multiple other Raspberry Pi boards.&lt;/p&gt;&#xA;&lt;h3 id=&#34;hardware&#34;&gt;Hardware&lt;/h3&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://rootcommit.l0g.eu/wp-content/uploads/2025/02/raspberrypi5-debug.jpg&#34;&gt;&lt;img src=&#34;../images/raspberrypi5-debug-300x286.jpg&#34; alt=&#34;Photo of the Raspberry Pi 5 board with the Raspberry Pi debug probe to access its serial port.&#34;&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;In this tutorial, we assume you have the &lt;a href=&#34;https://www.raspberrypi.com/documentation/microcontrollers/debug-probe.html&#34;&gt;Raspberry Pi Debug Probe&lt;/a&gt; to access the board&amp;rsquo;s serial port. You could use the GPIO UARTs too, but they are neither enabled by default at the bootloader level nor as a kernel console. Enabling them for serial console access would slightly complicate these instructions.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Video replay: Yocto Project devtool hands-on</title>
      <link>https://rootcommit.l0g.eu/2025/devtool-hands-on-video/</link>
      <pubDate>Wed, 15 Jan 2025 00:00:00 +0000</pubDate>
      <guid>https://rootcommit.l0g.eu/2025/devtool-hands-on-video/</guid>
      <description>&lt;p&gt;I&amp;rsquo;ve just produced a 4K video replay of my &lt;a href=&#34;https://pretalx.com/yocto-project-summit-2024-12/talk/F9SU73/&#34;&gt;Devtool Hands-on Class&lt;/a&gt; at Yocto &lt;a href=&#34;https://pretalx.com/yocto-project-summit-2024-12/schedule/&#34;&gt;Project Summit 2024.12&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Here are the main reasons for shooting such a video:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Compared to the official recording, this video is shorter without the pauses waiting for participants to complete their instructions.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;The video can be recorded at a better quality, both in terms of video and audio.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;The issues found during the presentation have been corrected.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;It&amp;rsquo;s possible to show presentation slides and command line terminals on the same screen.&lt;/p&gt;</description>
    </item>
    <item>
      <title>First public training sessions</title>
      <link>https://rootcommit.l0g.eu/2025/first-public-training-sessions/</link>
      <pubDate>Mon, 06 Jan 2025 00:00:00 +0000</pubDate>
      <guid>https://rootcommit.l0g.eu/2025/first-public-training-sessions/</guid>
      <description>&lt;p&gt;The first sessions announced in 2024 are coming. We are opening in-person and online sessions open to individual registration, for our &lt;a href=&#34;https://rootcommit.l0g.eu/training/embedded-linux/&#34;&gt;Embedded Linux&lt;/a&gt; and &lt;a href=&#34;https://rootcommit.l0g.eu/training/yocto/&#34;&gt;Yocto Project and OpenEmbedded&lt;/a&gt; training courses:&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Yocto Project and OpenEmbedded&lt;/strong&gt;&lt;br&gt;&#xA;&lt;a href=&#34;https://rootcommit.l0g.eu/training/sessions/yocto-avignon/&#34;&gt;In-person – Feb. 25-28 2025, Avignon, France&lt;/a&gt;&lt;br&gt;&#xA;&lt;a href=&#34;https://rootcommit.l0g.eu/training/sessions/yocto-online/&#34;&gt;Online – Mar 18-20, 25-27, 2025&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Embedded Linux&lt;/strong&gt;&lt;br&gt;&#xA;&lt;a href=&#34;https://rootcommit.l0g.eu/training/sessions/embedded-linux-online/&#34;&gt;Online, Apr. 14-17, 22-25, 2025&lt;/a&gt;&lt;br&gt;&#xA;&lt;a href=&#34;https://rootcommit.l0g.eu/training/sessions/embedded-linux-avignon/&#34;&gt;In-person, May 5-9, 2025, Avignon, France&lt;/a&gt;&lt;/p&gt;&#xA;&lt;h3 id=&#34;shared-features&#34;&gt;Shared features&lt;/h3&gt;&#xA;&lt;p&gt;Both courses, online and in-person, share the same key features:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;75% of active learning time&lt;/strong&gt; through practical labs and activities. You won&amp;rsquo;t get more than 25% of the time going through theory.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Yocto Binary Distributions presentation</title>
      <link>https://rootcommit.l0g.eu/2024/yocto-binary-distributions-presentation/</link>
      <pubDate>Mon, 30 Sep 2024 00:00:00 +0000</pubDate>
      <guid>https://rootcommit.l0g.eu/2024/yocto-binary-distributions-presentation/</guid>
      <description>&lt;p&gt;Here are the slides of the &amp;ldquo;Building and Maintaining Binary Distributions with the Yocto Project&amp;rdquo; presentation I gave at the &lt;a href=&#34;https://embeddedlinuxconference.com/&#34;&gt;Embedded Linux Conference&lt;/a&gt; in Vienna.&lt;/p&gt;&#xA;&lt;p&gt;The abstract I submitted is a good way to describe my presentation:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Imagine a world in which you can try the Yocto Project without even using it. This was possible in the past with the Ångström distribution, offering ready-made images which could be extended through binary package feeds. Though Ångström is long gone, the Yocto Project still has the ability to generate such images and package feeds. While system makers are still using this feature, the Yocto Project itself has never published such binaries.&lt;/p&gt;&#xA;&lt;p&gt;The Yocto Project, thanks to funding from the Sovereign Tech Fund, has recently developed its abilities to support binary distributions, by creating tooling to verify the ability to upgrade the images built for its releases through package feeds, and to support managing a &amp;ldquo;local&amp;rdquo; distribution that can customize packages offered by an &amp;ldquo;upstream&amp;rdquo; distribution.&lt;/p&gt;&#xA;&lt;p&gt;Since Yocto is about recipes, I will first present a cookbook for building your own images so that they can be updated through package feeds. I will then describe the recently developed features related to binary distributions and what possibilities they open for the Yocto Project and its users.&lt;/p&gt;&#xA;&lt;/blockquote&gt;</description>
    </item>
    <item>
      <title>Writing a new story</title>
      <link>https://rootcommit.l0g.eu/2024/writing-new-story/</link>
      <pubDate>Mon, 27 May 2024 00:00:00 +0000</pubDate>
      <guid>https://rootcommit.l0g.eu/2024/writing-new-story/</guid>
      <description>&lt;p&gt;&lt;em&gt;LinkedIn posts quickly fade out from view and may not last forever. Here is a copy of my most successful post in 2024.&lt;/em&gt;&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Last Friday was my last day at &lt;a href=&#34;https://bootlin.com&#34;&gt;Bootlin&lt;/a&gt;, the company which I created 20 years ago.&lt;/p&gt;&#xA;&lt;p&gt;Bootlin is in good hands now, and has become a great contributor to many Open Source projects. I stayed there for three more years after selling it in 2021 to two of its engineers, &lt;a href=&#34;https://www.linkedin.com/in/thomas-petazzoni-7076843/&#34;&gt;Thomas Petazzoni&lt;/a&gt; and &lt;a href=&#34;https://www.linkedin.com/in/alexandrebelloni/&#34;&gt;Alexandre Belloni&lt;/a&gt;. This was a very good experience to get back to engineering, especially contributing to the &lt;a href=&#34;https://yoctoproject.org&#34;&gt;Yocto Project&lt;/a&gt;, teaching training sessions and sharing experience through speaking at international conferences. Bootlin has also managed to hire incredibly talented engineers over the years. However, working as an employee didn&amp;rsquo;t leave enough time to explore as many new techniques and resources as I was interested in.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Kernel Panic QR Code</title>
      <link>https://rootcommit.l0g.eu/id-1466/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://rootcommit.l0g.eu/id-1466/</guid>
      <description>&lt;h4 id=&#34;building-and-simulating-linux-kernel-panic-qr-with-drmkms-in-qemu&#34;&gt;&lt;strong&gt;Building and Simulating Linux Kernel Panic QR with DRM/KMS in QEMU&lt;/strong&gt;&lt;/h4&gt;&#xA;&lt;p&gt;When a Linux system runs into a serious error that it can’t recover from, it triggers a kernel panic. This fills the system console with complex information, including registers, call stacks, and error codes. When the system console is on a serial line on terminal, such information is easy to copy to another machine for analysis. Retrieving all the data becomes much more difficult when the panic is displayed on a graphical console. You can take a picture with a smartphone but then getting the corresponding text back is tedious.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
