Linux Kernel and driver development training Linux Kernel and driver development training ©Copyright2004-2022,Bootlin. CreativeCommonsBY-SA3.0license. Latestupdate:December23,2022. Documentupdatesandtrainingdetails: https://bootlin.com/training/kernel Corrections,suggestions,contributionsandtranslationsarewelcome! embedded Linux and kernel engineering [email protected] -Kernel,driversandembeddedLinux-Development,consulting,trainingandsupport-https://bootlin.com 1/462 Linux Kernel and driver development training ▶ These slides are the training materials for Bootlin’s Linux Kernel and driver development training course. ▶ If you are interested in following this course with an experienced Bootlin trainer, we offer: (cid:15) Public online sessions, opened to individual registration. Dates announced on our site, registration directly online. (cid:15) Dedicated online sessions, organized for a team of engineers from the same company at a date/time chosen by our customer. (cid:15) Dedicated on-site sessions, organized for a team of engineers from the same company, we send a Bootlin trainer on-site to deliver the training. IconbyEucalyp,Flaticon ▶ Details and registrations: https://bootlin.com/training/kernel ▶ Contact: [email protected] -Kernel,driversandembeddedLinux-Development,consulting,trainingandsupport-https://bootlin.com 2/462 About Bootlin About Bootlin ©Copyright2004-2022,Bootlin. embedded Linux and kernel engineering CreativeCommonsBY-SA3.0license. Corrections,suggestions,contributionsandtranslationsarewelcome! -Kernel,driversandembeddedLinux-Development,consulting,trainingandsupport-https://bootlin.com 3/462 Bootlin introduction ▶ Engineering company (cid:15) In business since 2004 (cid:15) Before 2018: Free Electrons ▶ Team based in France and Italy ▶ Serving customers worldwide ▶ Highly focused and recognized expertise (cid:15) Embedded Linux (cid:15) Linux kernel (cid:15) Embedded Linux build systems ▶ Strong open-source contributor ▶ Activities (cid:15) Engineering services (cid:15) Training courses ▶ https://bootlin.com -Kernel,driversandembeddedLinux-Development,consulting,trainingandsupport-https://bootlin.com 4/462 Bootlin engineering services -Kernel,driversandembeddedLinux-Development,consulting,trainingandsupport-https://bootlin.com 5/462 Bootlin training courses -Kernel,driversandembeddedLinux-Development,consulting,trainingandsupport-https://bootlin.com 6/462 Bootlin, an open-source contributor ▶ Strong contributor to the Linux kernel (cid:15) In the top 30 of companies contributing to Linux worldwide (cid:15) Contributions in most areas related to hardware support (cid:15) Several engineers maintainers of subsystems/platforms (cid:15) 8000 patches contributed (cid:15) https://bootlin.com/community/contributions/kernel-contributions/ ▶ Contributor to Yocto Project (cid:15) Maintainer of the official documentation (cid:15) Core participant to the QA effort ▶ Contributor to Buildroot (cid:15) Co-maintainer (cid:15) 5000 patches contributed ▶ Significant contributions to U-Boot, OP-TEE, Barebox, etc. ▶ Fully open-source training materials -Kernel,driversandembeddedLinux-Development,consulting,trainingandsupport-https://bootlin.com 7/462 Bootlin on-line resources ▶ Website with a technical blog: https://bootlin.com ▶ Engineering services: https://bootlin.com/engineering ▶ Training services: https://bootlin.com/training ▶ Twitter: https://twitter.com/bootlincom ▶ LinkedIn: https://www.linkedin.com/company/bootlin IconbyFreepik,Flaticon ▶ Elixir - browse Linux kernel sources on-line: https://elixir.bootlin.com -Kernel,driversandembeddedLinux-Development,consulting,trainingandsupport-https://bootlin.com 8/462 Generic course information Generic course information ©Copyright2004-2022,Bootlin. embedded Linux and kernel engineering CreativeCommonsBY-SA3.0license. Corrections,suggestions,contributionsandtranslationsarewelcome! -Kernel,driversandembeddedLinux-Development,consulting,trainingandsupport-https://bootlin.com 9/462 Supported hardware BeagleBone Black or BeagleBone Black Wireless, from BeagleBoard.org ▶ Texas Instruments AM335x (ARM Cortex-A8 CPU) ▶ SoC with 3D acceleration, additional processors (PRUs) and lots of peripherals. ▶ 512 MB of RAM ▶ 4 GB of on-board eMMC storage ▶ USB host and USB device, microSD, micro HDMI ▶ WiFi and Bluetooth (wireless version), otherwise Ethernet ▶ 2 x 46 pins headers, with access to many expansion buses (I2C, SPI, UART and more) ▶ A huge number of expansion boards, called capes. See https://elinux.org/Beagleboard:BeagleBone_Capes. -Kernel,driversandembeddedLinux-Development,consulting,trainingandsupport-https://bootlin.com 10/462