
Creating Your Embedded Linux Distro
"Discover the process of building and deploying your custom Embedded Linux Distribution for ARM-based boards, including topics like boot process configuration, power management, and hardware/software integration. Learn about ARM SoC evaluation boards, custom hardware development, cross-compilation, deployment, and more."
Download Presentation

Please find below an Image/Link to download the presentation.
The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author. If you encounter any issues during the download, it is possible that the publisher has removed the file from their server.
You are allowed to download the files provided on this website for personal or commercial use, subject to the condition that they are used lawfully. All files are the property of their respective owners.
The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author.
E N D
Presentation Transcript
Building your own Embedded Linux Distro
Topics What is a Linux Distro ARM based boards Building and deploying Boot process Configuration Power management + HW/SW integration
What is a Linux Distro? Operating system based on the Linux kernel Software collection Programs Services Libraries Environment to run your application/product
ARM SoC Evaluation/Development Boards Platforms for developing your software using provided HW Show of IP, Technologies Come with a vendor provided Distro or Board Support Package Mostly showing off hardware
ARM SoC Evaluation/Development Boards Evaluation boards aren t suited for specific business applications Bloated HW or it doesn t fit your needs Bloated SW; over configured to show off the board This is why you need custom HW Modify existing evaluation boards or create from scratch Custom HW requires custom SW Targeted and high quality SW implemented and thoroughly tested for your use cases
Building Cross Compile from any PC or server bin-utils + make system Linux Kernel (latest version supported by your SoC vendor) Bootloader (u-boot is the most used for the ARM architecture) Standard C library User space programs suite (busybox <- ptxdist/yocto)
Deploying Create SW images Use a desired interface to write your storage medium Create a flashing program
Boot process Each SoC has an internal Boot ROM executable Bootloader takes over to setup HW for Kernel and other tasks Kernel starts and sets up all the HW available User space is started for applications and services
Configuration HW configuration is done at all stages of the boot process and runtime SoC specific: GPU, Buses Board specific: Display Resolution + Refresh
Configuration - Kernel Kconfig (menuconfig) Kernel parameters Device Tree Machine specific code
Configuration - bootloader Bootloader header (used by Boot ROM) Bootloader config files modern versions have kconfig style Bootloader machine specific code + external resources
Power management Supplier provided BSP doesn t usually focus on power management Levels of PM Startup <-> shutdown Suspend <-> Resume Suspend to RAM Suspend to Disk Runtime PM Power down CPU modules or Peripherals when not used
Power Management - checklist Power supply: Provided directly by SoC (USB VBUS) External -> usually an enable signal (digital output) Command and Control: Other digital outputs Communication buses to peripherals Feedback: Digital inputs (IRQs or polling) Analog inputs Communication bus