Example: dental hygienist

Linux Kernel and Driver Development Training Linux Kernel ...

Linux Kernel and Driver Development trainingLinux Kernel and driverdevelopment Training Copyright 2004-2023, Commons BY-SA update: March 24, updates and Training details: , suggestions, contributions and translations are welcome!Send them embedded Linux and Kernel engineering- Kernel , drivers and embedded Linux - Development , consulting, Training and support - Kernel and Driver Development Training These slides are the Training materials for Bootlin sLinux kerneland Driver developmenttraining course. If you are interested in following this course with an experiencedBootlin trainer, we offer: Public online sessions, opened to individual registration. Datesannounced on our site, registration directly online. Dedicated online sessions, organized for a team of engineersfrom the same company at a date/time chosen by our customer. Dedicated on-site sessions, organized for a team of engineersfrom the same company, we send a Bootlin trainer on-site todeliver the Training .

The Linux kernel is one component of a system, which also requires libraries and applications to provide features to end users. The Linux kernel was created as a hobby in 1991 by a Finnish student, Linus Torvalds. Linux quickly started to be used as …

Tags:

  Development, Linux, Drivers, Driver development

Information

Domain:

Source:

Link to this page:

Please notify us if you found a problem with this document:

Other abuse

Transcription of Linux Kernel and Driver Development Training Linux Kernel ...

1 Linux Kernel and Driver Development trainingLinux Kernel and driverdevelopment Training Copyright 2004-2023, Commons BY-SA update: March 24, updates and Training details: , suggestions, contributions and translations are welcome!Send them embedded Linux and Kernel engineering- Kernel , drivers and embedded Linux - Development , consulting, Training and support - Kernel and Driver Development Training These slides are the Training materials for Bootlin sLinux kerneland Driver developmenttraining course. If you are interested in following this course with an experiencedBootlin trainer, we offer: Public online sessions, opened to individual registration. Datesannounced on our site, registration directly online. Dedicated online sessions, organized for a team of engineersfrom the same company at a date/time chosen by our customer. Dedicated on-site sessions, organized for a team of engineersfrom the same company, we send a Bootlin trainer on-site todeliver the Training .

2 Details and registrations: by Eucalyp, Flaticon- Kernel , drivers and embedded Linux - Development , consulting, Training and support - BootlinAbout Bootlin Copyright 2004-2023, Commons BY-SA , suggestions, contributions and translations are welcome! embedded Linux and Kernel engineering- Kernel , drivers and embedded Linux - Development , consulting, Training and support - introduction Engineering company In business since 2004 Before 2018:Free Electrons Team based in France and Italy Servingcustomers worldwide Highly focused and recognized expertise Embedded Linux Linux Kernel Embedded Linux build systems Strong open-sourcecontributor Activities Engineeringservices Trainingcourses Kernel , drivers and embedded Linux - Development , consulting, Training and support - engineering services- Kernel , drivers and embedded Linux - Development , consulting, Training and support - Training courses- Kernel , drivers and embedded Linux - Development , consulting, Training and support.

3 An open-source contributor Strong contributor to theLinuxkernel In the top 30 of companies contributing to Linux worldwide Contributions in most areas related to hardware support Several engineers maintainers of subsystems/platforms 8000 patches contributed Contributor toYocto Project Maintainer of the official documentation Core participant to the QA effort Contributor toBuildroot Co-maintainer 5000 patches contributed Significant contributions to U-Boot, OP-TEE, Barebox, etc. Fullyopen-source Training materials- Kernel , drivers and embedded Linux - Development , consulting, Training and support - on-line resources Website with a technical blog: Engineering services: Training services: Twitter: LinkedIn: Elixir - browse Linux Kernel sources on-line: by Freepik, Flaticon- Kernel , drivers and embedded Linux - Development , consulting, Training and support - course informationGeneric courseinformation Copyright 2004-2023, Commons BY-SA , suggestions, contributions and translations are welcome!

4 Embedded Linux and Kernel engineering- Kernel , drivers and embedded Linux - Development , consulting, Training and support - hardwareBeagleBone Black or BeagleBone Black Wireless, Texas Instruments AM335x (ARM Cortex-A8 CPU) SoC with 3D acceleration, additional processors (PRUs) and lots ofperipherals. 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, UARTand more) A huge number of expansion boards, calledcapes. Kernel , drivers and embedded Linux - Development , consulting, Training and support - list: hardware for this course BeagleBone Black or BeagleBone Black Wireless - Multiple distributors: USB Serial Cable - V - Female ends (for serial console)1 Nintendo Nunchuk with UEXT connector2 Breadboard jumper wires - Male ends (to connect the Nunchuk)3 USB Serial Cable - V - Male ends (for serial labs, two if possible):Olimex: Note that both USB serial cables are the the gender of their connector Kernel , drivers and embedded Linux - Development , consulting, Training and support - quiz and certificate You have been given a quiz to test your knowledge on the topics covered by thecourse.

5 That s not too late to take it if you haven t done it yet! At the end of the course, we will submit this quiz to you again. That time, youwill see the correct answers. It allows Bootlin to assess your progress thanks to the course. That s also a kindof challenge, to look for clues throughout the lectures and labs / demos, as all theanswers are in the course! Another reason is that we only give Training certificates to people who achieve atleast a 50% score in the final quizandwho attended all the Kernel , drivers and embedded Linux - Development , consulting, Training and support - !During the Don t hesitate to ask questions. Other people in the audience may have similarquestions too. Don t hesitate to share your experience too, for example to compare Linux withother operating systems you know. Your point of view is most valuable, because it can be similar to your colleagues and different from the trainer s. In on-line sessions Please always keep your camera on!

6 Also make sure your name is properly filled. You can also use the Raise your hand button when you wish to ask a question butdon t want to interrupt. All this helps the trainer to engage with participants, see when something needsclarifying and make the session more interactive, enjoyable and useful for Kernel , drivers and embedded Linux - Development , consulting, Training and support - !As in the Free Software and Open Source community, collaborationbetween participants is valuable in this Training session: Use the dedicated Matrix channel for this session to addquestions. If your session offers practical labs, you can also report issues,share screenshots and command output there. Don t hesitate to share your own answers and to help othersespecially when the trainer is unavailable. The Matrix channel is also a good place to ask questions outsideof Training hours, and after the course is Kernel , drivers and embedded Linux - Development , consulting, Training and support - lab - Training SetupPrepare your lab environment Download and extract the lab archive- Kernel , drivers and embedded Linux - Development , consulting, Training and support - Kernel IntroductionLinux KernelIntroduction Copyright 2004-2023, Commons BY-SA , suggestions, contributions and translations are welcome!

7 Embedded Linux and Kernel engineering- Kernel , drivers and embedded Linux - Development , consulting, Training and support - Kernel , drivers and embedded Linux - Development , consulting, Training and support - Kernel IntroductionLinux Kernel features- Kernel , drivers and embedded Linux - Development , consulting, Training and support - The Linux Kernel was created as a hobby in 1991 by a Finnishstudent, Linus Torvalds. Linux quickly started to be used as the Kernel for free softwareoperating systems Linus Torvalds has been able to create a large and dynamicdeveloper and user community around Linux . As of today, about 2,000+ people contribute to each kernelrelease, individuals or companies big and Torvalds in 2014 Image credits (Wikipedia): Kernel , drivers and embedded Linux - Development , consulting, Training and support - Kernel in the system- Kernel , drivers and embedded Linux - Development , consulting, Training and support - Kernel main roles Manage all the hardware resources: CPU, memory, I/O.

8 Provide aset of portable, architecture and hardware independent APIstoallow user space applications and libraries to use the hardware resources. Handle concurrent accesses and usageof hardware resources from differentapplications. Example: a single network interface is used by multiple user space applicationsthrough various network connections. The Kernel is responsible for multiplexing the hardware Kernel , drivers and embedded Linux - Development , consulting, Training and support - calls The main interface between the Kernel and user space isthe set of system calls About 400 system calls that provide the main kernelservices File and device operations, networking operations,inter-process communication, process management,memory mapping, timers, threads, synchronizationprimitives, etc. This system call interface is wrapped by the C library,and user space applications usually never make a systemcall directly but rather use the corresponding C libraryfunctionImage credits (Wikipedia): Kernel , drivers and embedded Linux - Development , consulting, Training and support - filesystems Linux makes system and Kernel information available in user space throughpseudo filesystems, sometimes also calledvirtual filesystems Pseudo filesystems allow applications to see directories and files that do not existon any real storage: they are created and updated on the fly by the Kernel The two most important pseudo filesystems are proc, usually mounted on/proc:Operating system related information (processes, memory ) sysfs, usually mounted on/sys:Representation of the system as a tree of devices connected by buses.

9 Informationgathered by the Kernel frameworks managing these Kernel , drivers and embedded Linux - Development , consulting, Training and support - the Linux Kernel - Kernel , drivers and embedded Linux - Development , consulting, Training and support - Kernel IntroductionLinux Kernel sources- Kernel , drivers and embedded Linux - Development , consulting, Training and support - of official Kernel sources The mainline versions of the Linux Kernel , as released by Torvalds These versions follow the Development model of the Kernel They may not contain the latest developments from a specific area yet A good pick for products Development phase The stable versions of the Linux Kernel , as maintained by a maintainers group These versions do not bring new features compared to Linus tree Only bug fixes and security fixes are pulled there Each version is stabilized during the Development period of the next mainline Kernel Certain versions can be maintained for much longer, 2+years A good pick for products commercialization phase Kernel , drivers and embedded Linux - Development , consulting, Training and support - of non-official Kernel sources Many chip vendors supply their own Kernel sources Focusing on hardware support first Can have a very important delta with mainline Linux Sometimes they break support for other platforms/devices without caring Useful in early phases only when mainline hasn t caught up yet (many vendors investin the mainline Kernel at the same time)

10 Suitable for PoC, not suitable for products on the long term as usually no updatesare provided to these kernels Getting stuck with a deprecated system with broken software that cannot beupdated has a real cost in the end Many Kernel sub-communities maintain their own Kernel , with usually newer butfewer stable features, only for cutting-edge Development Architecture communities (ARM, MIPS, PowerPC, etc) Device drivers communities (I2C, SPI, USB, PCI, network, etc) Other communities (real-time, etc) Not suitable to be used in products- Kernel , drivers and embedded Linux - Development , consulting, Training and support - Kernel size and structure Linux sources: close to 80k files, 35M lines, But a compressed Linux Kernel just sizes a few megabytes. So, why are these sources so big?Because they include numerous device drivers , network protocols, architectures, The core is pretty small! As of Kernel version (in percentage of total number of lines): drivers /: arch/: fs/: sound/: tools/: net/: include/: Documentation/: Kernel /: lib/: usr/: mm/: scripts/,security/,crypto/,block/,sample s/,ipc/,virt/,init/,certs/: < Build system files:Kbuild,Kconfig,Makefile Other files:COPYING,CREDITS,MAINTAINERS,README - Kernel , drivers and embedded Linux - Development , consulting, Training and support - lab - Downloading Kernel source code Clone the mainline Linux source tree with git- Kernel , drivers and embedded Linux - Development , consulting, Training and support - Kernel IntroductionLinux Kernel source code- Kernel , drivers and embedded Linux - Development , consulting, Training and support - language Implemented in C like all UNIX systems A little Assembly is used too: CPU and machine initialization, exceptions Critical library routines.


Related search queries