Bootlin
Bootlin
  • 31
  • 229 301
Device Tree overlays and U-Boot extension board management, Köry Maincent
The Device Tree is the data structure that describes the hardware components of an embedded board, now used on a vast majority of CPU architectures.
In this talk, we will start by introducing the mechanism of Device Tree Overlays, which are a way of extending the Device Tree itself to describe additional hardware. We will show how Device Tree Overlays are written, compiled, and applied to a base Device Tree, and what is the status of Device Tree Overlays support in U-Boot and Linux.
We will take the example of the BeagleBoard.org project, showing how Device Tree overlays are used to make CAPE extension boards compatible with different boards.
Finally we will describe our proposal, already submitted to the community, to add an extension board management facility to U-Boot, which automatically detects, loads and applies the appropriate Device Tree Overlays depending on the extension boards that are detected.
Slides: bootlin.com/pub/conferences/2021/lee/maincent-devicetree-overlay-and-uboot-extension-board-management/maincent-devicetree-overlay-and-uboot-extension-board-management.pdf
#embedded #linux #uboot #beagleboard #devicetree
Bootlin's embedded Linux system development training course: bootlin.com/training/embedded-linux/
Bootlin's Linux kernel driver development training course: bootlin.com/training/kernel/
Bootlin's Yocto Project and OpenEmbedded system development training course: bootlin.com/training/yocto/
Bootlin's Buildroot system development training course: bootlin.com/training/buildroot/
Bootlin's Linux graphics stack training course: bootlin.com/training/graphics/
Bootlin Embedded Linux boot time optimization training course: bootlin.com/training/boot-time/
Переглядів: 5 613

Відео

Introduction to RAUC, Kamel Bouhara
Переглядів 1,3 тис.3 роки тому
In embedded systems, deploying firmware updates in the field has now become an obvious requirement, to ensure that security vulnerabilities are addressed, that bugs are fixed, and new functionalities can be delivered to the users. Among a range of different open-source solutions, RAUC provides an interesting firmware update mechanism for embedded systems. In this talk, we will introduce the mai...
Secure boot in embedded Linux systems, Thomas Perrot
Переглядів 10 тис.3 роки тому
Secure boot is a integrity mechanism, based on signature verification, that allows to detect software corruption or malicious code, during the boot process. Implementing secure boot is not always obvious, as it requires multiple stages of verification, at the bootloader, Linux kernel and root filesystem level, as well as integration into the build system, CI infrastructure, firmware upgrade mec...
Security vulnerability tracking tools in Buildroot, Thomas Petazzoni
Переглядів 8823 роки тому
Buildroot is a popular and easy to use embedded Linux build system, which automates the process of building a cross-compilation toolchain, a Linux kernel image, one or several bootloader images, and a complete set of user-space libraries and applications, all into a ready-to-use root filesystem image. With the increasing concern around security vulnerabilities affecting embedded systems, and th...
Understanding U Boot Falcon Mode and adding support for new boards, Michael Opdenacker
Переглядів 2,5 тис.3 роки тому
The Falcon Mode is a U-Boot feature that allows to directly load the operating system kernel from the first stage of U-Boot (a.k.a. "SPL"), skipping the second stage of U-Boot. Doing this can save up to 1 second in the boot process, and this way, you can keep a full featured U-Boot that you can still fall back to for maintenance or development needs. However, using Falcon Mode is not always eas...
Embedded Linux from Scratch in 45 minutes, on RISC-V
Переглядів 12 тис.3 роки тому
This is the video of Bootlin engineer Michael Opdenacker's talk at FOSDEM 2021, "Embedded Linux from Scratch in 45 minutes, on RISC-V". Slides: bootlin.com/pub/conferences/2021/fosdem/opdenacker-embedded-linux-45minutes-riscv/opdenacker-embedded-linux-45minutes-riscv.pdf Checkout out Bootlin training courses at bootlin.com/training/ as well as Bootlin embedded Linux engineering services: bootli...
Network Performance in the Linux Kernel, Getting the most out of the Hardware
Переглядів 10 тис.3 роки тому
Video from Bootlin engineer Maxime Chevallier's talk "Network Performance in the Linux Kernel, Getting the most out of the Hardware" given at FOSDEM 2021. Slides: bootlin.com/pub/conferences/2021/fosdem/chevallier-network-performance-in-the-linux-kernel/chevallier-network-performance-in-the-linux-kernel.pdf Check out Bootlin training courses at bootlin.com/training/ and Bootlin embedded Linux e...
Device Tree 101 webinar announcement
Переглядів 7933 роки тому
Announcement video for the Device Tree 101 webinar organized on February 9, 2021 by Bootlin, in partnership with ST. Registration at bootlin.com/blog/free-device-tree-101-webinar-on-february-9-2021/.
Embedded Linux "from scratch" in 45 minutes...on RISC-V
Переглядів 9 тис.3 роки тому
Join and discover how to build your own embedded Linux system completely from scratch. You will build your own toolchain, bootloader and kernel, this time on the Risc-V open Instruction Set Architecture, that you will run through a system emulated by QEMU. You will also build a minimal root filesystem by yourself thanks to the BusyBox project. You will finish by controlling the system through a...
Device Tree: hardware description for everybody !
Переглядів 90 тис.3 роки тому
The Device Tree has been adopted for the ARM 32-bit Linux kernel support almost a decade ago, and since then, its usage has expanded to many other CPU architectures in Linux, as well as bootloaders such as U-Boot and Barebox. Even though Device Tree is no longer a new thing, developers coming into the embedded Linux world often struggle to understand what Device Trees are, what is their syntax,...
An Overview of the Linux and Userspace Graphics Stack , Paul Kocialkowski
Переглядів 20 тис.3 роки тому
An Overview of the Linux and Userspace Graphics Stack , Paul Kocialkowski
ASoC: Supporting Audio on an Embedded Board, Alexandre Belloni, Live Embedded Event 2020
Переглядів 1,9 тис.3 роки тому
ASoC, which stands for ALSA System on Chip, is a Linux kernel subsystem created to provide better ALSA support for system-on-chip and portable audio codecs. It allows to reuse codec drivers across multiple architectures and provides an API to integrate them with the SoC audio interface. This talk will present the typical hardware architecture of audio devices on embedded platforms, how to integ...
Bootlin introduction video at Live Embedded Event 2020
Переглядів 1,1 тис.3 роки тому
Bootlin introduction video at Live Embedded Event 2020
Understand ECC Support for NAND Flash Devices in Linux - Miquèl Raynal, Bootlin
Переглядів 2 тис.3 роки тому
Understand ECC Support for NAND Flash Devices in Linux - Miquèl Raynal, Bootlin
Supporting Hardware-Accelerated Video Encoding with Mainline - Paul Kocialkowski, Bootlin
Переглядів 1,1 тис.3 роки тому
Supporting Hardware-Accelerated Video Encoding with Mainline - Paul Kocialkowski, Bootlin
From the Camera Sensor to the User, the Journey of a Video Frame - Maxime Chevallier, Bootlin
Переглядів 7 тис.3 роки тому
From the Camera Sensor to the User, the Journey of a Video Frame - Maxime Chevallier, Bootlin
Precision Time Protocol (PTP) and Packet Timestamping in Linux - Antoine Tenart, Bootlin
Переглядів 4,9 тис.3 роки тому
Precision Time Protocol (PTP) and Packet Timestamping in Linux - Antoine Tenart, Bootlin
Using Visual Studio Code for Embedded Development - Michael Opdenacker, Bootlin
Переглядів 5 тис.3 роки тому
Using Visual Studio Code for Embedded Development - Michael Opdenacker, Bootlin
Building Embedded Debian and Ubuntu Systems with ELBE - Köry Maincent, Bootlin
Переглядів 1,6 тис.3 роки тому
Building Embedded Debian and Ubuntu Systems with ELBE - Köry Maincent, Bootlin
Yocto Project and OpenEmbedded: A Collection of Best Practices - Alexandre Belloni, Bootlin
Переглядів 5 тис.3 роки тому
Yocto Project and OpenEmbedded: A Collection of Best Practices - Alexandre Belloni, Bootlin
ASoC: Supporting Audio on an Embedded Board, Alexandre Belloni, Embedded Linux Conference NA 2020
Переглядів 1,2 тис.4 роки тому
ASoC: Supporting Audio on an Embedded Board, Alexandre Belloni, Embedded Linux Conference NA 2020
Buildroot: what's new? Thomas Petazzoni, Embedded Linux Conference NA 2020
Переглядів 1,1 тис.4 роки тому
Buildroot: what's new? Thomas Petazzoni, Embedded Linux Conference NA 2020
TWIN: An Even Smaller Window System For Even Smaller Devices, by Keith Packard - OLS 2005
Переглядів 1758 років тому
TWIN: An Even Smaller Window System For Even Smaller Devices, by Keith Packard - OLS 2005
GNU/Hurd, general presentation, by Gael Le Mignot - LSM 2005
Переглядів 1,2 тис.8 років тому
GNU/Hurd, general presentation, by Gael Le Mignot - LSM 2005
RTAI/fusion: API temps-réel POSIX dopée par RTAI, par Philippe Gerum - RMLL 2005
Переглядів 3038 років тому
RTAI/fusion: API temps-réel POSIX dopée par RTAI, par Philippe Gerum - RMLL 2005
The Dillo web browser, by Jorge Arellano Cid - LSM 2005
Переглядів 1,4 тис.8 років тому
The Dillo web browser, by Jorge Arellano Cid - LSM 2005
Linux et le System On Chip SOC, par Patrice Kadionik - RMLL 2005
Переглядів 3578 років тому
Linux et le System On Chip SOC, par Patrice Kadionik - RMLL 2005
Exemple de construction d’une chaîne de développement croisée, par Papa Malick Sarr - RMLL 2005
Переглядів 1718 років тому
Exemple de construction d’une chaîne de développement croisée, par Papa Malick Sarr - RMLL 2005
IHM pour Linux embarqué, par Pierre Ficheux - RMLL 2005
Переглядів 7758 років тому
IHM pour Linux embarqué, par Pierre Ficheux - RMLL 2005

КОМЕНТАРІ

  • @grumusic
    @grumusic 10 днів тому

    Thank you for this great presentation

  • @8bit_code
    @8bit_code 15 днів тому

    This is the same for the zephyr OS. Am I right?

  • @VincentDu-v9g
    @VincentDu-v9g Місяць тому

    Bootlin, thank you for explaining how the kernel processes packets so clearly.

  • @alfyvr
    @alfyvr Місяць тому

    Probably the most comprehensive and clear tutorial I have come across so far.

  • @haze6277
    @haze6277 2 місяці тому

    Thank you very much, jolly gentlemen.

  • @leonardoaraujoDF
    @leonardoaraujoDF 3 місяці тому

    Great presentation. Thank you!

  • @eleman971
    @eleman971 3 місяці тому

  • @EricFarrowTechnomonk
    @EricFarrowTechnomonk 3 місяці тому

    Awesome , the best video I have come across that explains thing step but step , Thank you :)

  • @Nick-xp8xd
    @Nick-xp8xd 4 місяці тому

    Excellent lesson. Thank you so much

  • @weedsqian1717
    @weedsqian1717 4 місяці тому

    great presentation, that's help me a lot to understanding the grammer of the dts

  • @AKkarol7
    @AKkarol7 4 місяці тому

    Excellent. Thanks !

  • @mofo78536
    @mofo78536 4 місяці тому

    Hope the guy is still alive. Dillo is being rebooted now. It be interesting to hear his thoughts

  • @AjayKumar-ds7zb
    @AjayKumar-ds7zb 5 місяців тому

    Great Explanation

  • @rabiraju9414
    @rabiraju9414 6 місяців тому

    Great, worth my time!

  • @МихаилЧудинов-е9ш
    @МихаилЧудинов-е9ш 6 місяців тому

    Very greate! Can we get step-by-step scheme how boot linux on board (SoC+MB)?

  • @MrSchattka
    @MrSchattka 6 місяців тому

    Great discussion on Linux device trees. Thanks for posting!

  • @rajdeepdas86
    @rajdeepdas86 6 місяців тому

    Extremely useful video with super explanation...thank you.

  • @jasonz3345
    @jasonz3345 6 місяців тому

    For the first time, I understand why device tree is needed! Thanks

  • @bobbymah2682
    @bobbymah2682 7 місяців тому

    For those of you who are doing this with u-boot-2024.01, @30:59 you may also need to set CONFIG_ENV_IS_NOWHERE=n

  • @PadmanabanVK-o3l
    @PadmanabanVK-o3l 7 місяців тому

    Thank you bro..Very nice Presentation

  • @bhupiistersingh4097
    @bhupiistersingh4097 7 місяців тому

    Thank you for explaining dtb in detail. Really helped clear the confusion.

  • @river1711
    @river1711 8 місяців тому

    This is spectacular and exactly what I needed, thank you!!!

  • @maxmatteo2436
    @maxmatteo2436 8 місяців тому

    just great, thanks thomas

  • @ArtemGodlevskyi
    @ArtemGodlevskyi 10 місяців тому

    I'm at the beginning of the deep dive into embedded Linux development. This presentation was extremely helpful.

  • @Nightwulf1269
    @Nightwulf1269 10 місяців тому

    Excellent and comprehensive talk giving a very good overview over the graphic stack used in Linux today. Thank you!

  • @divexo
    @divexo 10 місяців тому

    Awesome video. 👌

  • @padcom
    @padcom 10 місяців тому

    At least in the beginning the video sucks. And that seems to be quite an important part of the presso. What a darn pitty!

  • @cesargroh5326
    @cesargroh5326 11 місяців тому

    Wow, Thomas, this is cool! Such a class on Device Tree. Could you add a video about boot modifiers we find on some embedded Linux distros on /boot in the form of *Env.txt files (like armbianEnv.txt)?

  • @cameronx5471
    @cameronx5471 11 місяців тому

    Some useful timestamps DT = Device Tree ----------------------------------------- 0:00:00 - Introduction 0:12:38 - Discoverable vs non-discoverable hardware 0:14:15 - Hardware description for non-discoverable hardware 0:18:07 - Hardware description with Device Tree Intro 0:19:39 - Device Tree from source (.dts) to blob (.dtb) 0:21:44 - dtc (Device Tree Compiler) example 0:27:36 - Boot process example for STM32MP157A-DK1 0:32:52 - Exploring DT on target 0:34:03 - DT basic syntax 0:37:42 - DT structure: simplified example 0:46:56 - DT inheritence 1:01:41 - DT design principles 1:04:29 - DT specifications 1:10:54 - DT _compatibility_ property 1:18:26 - DT _reg_ property 1:20:25 - DT Cells and _#_ symbol (not comments) 1:23:05 - DT _status_ property 1:28:43 - DT _-names_ properties 1:34:58 - Example with LED and I2C device 1:41:22 - Resources 1:41:50 - Conclusion 1:43:44 - Q&A Thanks for the great talk 👍

  • @ajithpeter3040
    @ajithpeter3040 11 місяців тому

    Crisp and Clear Presentation. Thank you

  • @ianlang6058
    @ianlang6058 11 місяців тому

    I think the better hack is to remove the build directory.

  • @saexpat
    @saexpat Рік тому

    Can you do startup example from scratch I.e. start with the board layout, SoC and then start adding the peripherals to show how it all comes together?

  • @MaBaKar
    @MaBaKar Рік тому

    Thanks. Very useful.

  • @lawrencedoliveiro9104
    @lawrencedoliveiro9104 Рік тому

    53:46 I notice you mention G’MIC, which is more oriented towards higher-level artistic effects. There are also GEGL and BABL, the pixel engines that are used for example in GIMP, which work more at a level with the other examples you gave.

  • @lawrencedoliveiro9104
    @lawrencedoliveiro9104 Рік тому

    51:35 Worth noting that HarfBuzz does not do font-rendering, that is to say, scan-converting the glyph shapes to pixels - that is handled by FreeType. What HarfBuzz does is called “shaping”. This has to do with choosing which glyph shapes should be used to represent which characters (according to rules which look at neighbouring characters and also which font features the user has enabled), and how to position them within a word or line. This information is stored in the font according to the OpenType spec.

  • @lawrencedoliveiro9104
    @lawrencedoliveiro9104 Рік тому

    44:26 While OpenGL ES was originally created for embedded use, it has turned out to be a very useful reworking of the whole OpenGL concept. Getting rid of the fixed-function pipeline offers increased flexibility in non-embedded applications as well.

  • @lawrencedoliveiro9104
    @lawrencedoliveiro9104 Рік тому

    36:49 Before there were display managers, with X11 at least, you would first login to a text console, then use the “startx” command to launch the GUI session. When you ended that, you would be back at the text console prompt, and you would logout from there. Does Wayland have a “startx” equivalent?

  • @lawrencedoliveiro9104
    @lawrencedoliveiro9104 Рік тому

    31:48 That “xf86” prefix is a historical relic of the fact that Xorg is a fork of the XFree86 project. The split happened when the latter tried to change their licence to something not acceptable to the open-source community.

  • @lawrencedoliveiro9104
    @lawrencedoliveiro9104 Рік тому

    4:45 Because the term “resolution” might refer to either the total number of pixels along each dimension, versus the number of pixels per unit length, it is common to use the separate term “pixel density” for the latter.

  • @DipThummar
    @DipThummar Рік тому

    Thank you for sharing this video. learned so many new things from this.

  • @nakulchauhan6713
    @nakulchauhan6713 Рік тому

    Beautifully explained. Although its not for complete Beginers. but still its very indepth. Thanks for sharing this.

  • @0xff07
    @0xff07 Рік тому

    Note that per u-boot v2023.07.02, in order for saveenv in 31:38 to work, u-boot should be compile with CONFIG_ENV_IS_NOWHERE=n (it is =y by default)

  • @arifraja9921
    @arifraja9921 Рік тому

    That was realy a nice learning and very helpful. Can you please point out me a link for MIPI bus dts tutorial

  • @ashrafatteya
    @ashrafatteya Рік тому

    Thank you very much

  • @kalidsherefuddin
    @kalidsherefuddin Рік тому

    Thanks everyone

  • @Dragon-Slay3r
    @Dragon-Slay3r Рік тому

    Boot with a falcon curved beak behind it ok good call send in the house sparrow lol Cloud/bird intel

  • @olivierjudith4656
    @olivierjudith4656 Рік тому

    Can you provide the link of your presentation, i'm specially interested about SB and encrypted fs on IMX8 Soc.

  • @도둘리-i7k
    @도둘리-i7k Рік тому

    Man, really appreciate it! Such a nice lecture.

  • @tanner0101
    @tanner0101 Рік тому

    How is he wearing a different shirt every few minutes

  • @robertoguerra5375
    @robertoguerra5375 Рік тому

    Thank you for making this video :) I have an Orangepizero and I was wondering why is it so difficult to get all the graphics working. Indeed Linux has many parts that need to work well 😅