During measures against COVID-19, see our public and dedicated online training sessions.
No session planned in this location at the moment.
Groups: ask us for a session on your own site
Individual: what locations and dates would interest you?
Contact: email@example.com, phone: +33 484 258 097.
- Duration: 5 days
- Agenda: details
- Training materials: slides, practical labs, lab data.
- Written language: English
- Maximum number of participants: 10
Objectives and target audience
This course targets engineers who wish to develop or improve device drivers in the Linux kernel, for projects on embedded platforms, or on the traditional PC platform. In five days, through theory and practical labs, the course makes you familiar with the essentials of kernel development: kernel architecture, the main APIs, integration of device drivers with other parts of the kernel and with user applications.
At the end of this course, you will be ready to work on Linux device driver development projects.
Here are the main topics that we cover:
- Introduction to the Linux kernel
- Kernel source code
- Configuring, compiling and booting the kernel
- Linux kernel modules
- Memory management and accessing hardware
- Character device drivers
- Processes, scheduling, waiting for resources and interrupt management
- Kernel debugging techniques
- Using DMA
- Kernel architecture for device drivers. Illustration by many examples in the kernel code.
- Kernel booting details
- Porting the Linux kernel to a new hardware platform
- Power management
- Working with the community
- Managing sources with git.
See the detailed agenda.
All the training materials we use during this course are freely available. Before the session, you can then check that they correspond to your needs.
Labs are performed an embedded ARM board (BeagleBone Black). You will get familiar with the generic mechanisms and interfaces provided by the Linux kernel, through the implementation of device drivers for an I2C device (Nintendo Wii Nunchuk in our labs) and for the serial ports of the TI AM 335x CPU. This experience will help you to implement device drivers for any type of devices.
The electronic board is yours to keep at the end of the session. Even long after the course, this allows you to continue to learn and experiment using a well known working base. You can even use your board and what you created during the course to develop your own prototypes.
Participants need to be familiar with the UNIX or Linux command line interface. Those who aren’t are asked to do some self training on the topic, for example by using our training materials. This way, they won’t waste time during practical labs because of issues using the operating system environment.
Participants must also have solid experience in programming in the C language. In particular, they must be familiar with creating and dealing with complex data types and structures, with pointers to such symbols, as well as with function pointers.
If you develop on embedded hardware and lack experience in embedded Linux development, we also recommend to take our Embedded Linux course first. This is not a prerequiste as you will be given all the instructions to operate your embedded Linux system, but it will help you to understand the environment you are using, allowing you to concentrate on kernel programming. In addition, you will need embedded Linux knowledge anyway if you are involved in the development of drivers for embedded products.
The training has been very helpful in getting up to speed and getting hands-on experience with Linux Kernel development in general and Linux Driver development in particular. We found that the instructor was very knowledgeable and helpful when diving in to the lab sessions and when we were asking specific questions about problems that we have been facing in our own development tasks.
Steen Hegelund – Microchip Technology Inc
Bootlin has proven time and again that their expertise in Linux trainings is unparalleled. Not only were the already existing trainings invaluable for training of our personnel, but they were also willing to adapt and reintroduce new trainings, custom tailored for our needs.
Nikola Jelić – Zuehlke Engineering
By the way, you can also see evaluations from previous sessions. In the same way we are transparent with our training materials, we share all the evaluations that we collect, not only the best ones.
See the list of sessions on top of the page to check in which oral language each session will be given.
The training materials are available only in English language.
All our trainers spend most of their time on customer projects or on Open Source projects. Our engineer will therefore have solid on-the-job experience to share.
For further details about our trainers, see our trainers page.
The session will happen in Avignon, in the Mercure Pont d’Avignon Centre Hotel in the historical center, 100 m away from the Popes Palace.
- Address: Rue Ferruce, Quartier Balance, 84000 Avignon, France
- Phone: +33 490 809 393
- GPS: N 43° 57′ 6.73″ E 4° 48′ 20.65″
- Caution: there is another Mercure hotel less than 150 meters away. Make sure you go to the “Mercure Pont d’Avignon” one.
You can reach Avignon:
- From Marseille’s airport. You can come by car (approximately 1 hour), or by public transportation (shuttle + train, 60 to 90 minutes.
- By train from many cities in France, in particular with the TGV fast train. This way you can arrive in Lyon, Paris or Geneva, and take the TGV fast train to reach Avignon in less than 3 hours.
The Avignon area is perfect to go out in the evening or during the week-end. You are in the heart of Provence, a region that attracts visitors from the entire world. Details.
Last but not least, Avignon is 2 hours and 40 minutes away from Paris with the TGV fast train. You may land in Paris, go to Avignon for the week, and get back to Paris for the week-end before you leave France.
This course is from Monday to Friday (five days), from 9:00 am to 6:00 pm. If some participants have to leave earlier on the last day, we can make sure that all key lectures and labs are complete by 4:00 pm on that day.
Our rate includes the course, laptop rental, lunch as well as morning and afternoon breaks. Each participant walks away with his own electronic board.
Note that dinner, breakfast, accommodation, and traveling costs are not included in our price. Each participant will have to pay for such expenses by themselves.
A discounted rate of 300 € is available:
- For extra people from the same company (condition: unique invoice for all participants)
- For any registration confirmed at least 2 months before the session starts.
- For individuals who pay the whole training cost and traveling expenses by themselves (without any refund from their company, and without public funding). This compensates for the fact that we have to add 20% V.A.T. to their training costs.
To pre-register one or several individuals, please contact firstname.lastname@example.org and tell us the dates and location of the session you are interested in.
We will then send you a registration form to collect all the details we need to send you a quote.
You can also ask all your questions by calling +33 484 258 097.
If the emergency of training needs matters more than the costs, or if you have enough people to train, you may also consider ordering an on-site session. You can then choose the date and location, according to the availability of our trainers.
Questions and answers
Q: How to arrive from Marseille’s airport?
A: You can either rent a car, or take public transportation. All details here.
Q: Can I reach Avignon by taxi?
A: It is of course fine to take a taxi to reach Avignon, but it is likely to be an hour drive, as Avignon is 80 km (50 mi) far from the airport. It may cost between 150 and 200 EUR. Traveling by train would be cheaper, though you can expect more waiting time.
Q: How easy is it to travel to Marseille? Are low-cost flights available?
A: Marseille is one of the biggest airports in France in terms of traffic. There are lots of direct flights from many European cities, and from most capitals, including a significant number of low-cost flights. Depending on where you are, it could be cheaper to fly to Marseille that to other parts of your country! However, if flights to Marseille turn out to be inconvenient in terms of time, you can also fly to Lyon, Paris or Geneva, and take the TGV fast train to reach Avignon in less than 3 hours.
Q: Would you have any hotel to recommend?
A: Yes. We recommend to stay at the Mercure Pont d’Avignon Centre hotel where the course takes place. This hotel can also offer a discounted rate to participants to our sessions (depending on how full the hotel is, just ask). That’s why we advise you to book your room by calling the hotel. If the on-line booking system tells you that there are no available rooms left, you can still tell the hotel crew that you participate to the training session, and they will do their best to find a room for you. For example, they can swap rooms booked by tour operators with the other Mercure hotel 200 meters away. If the hotel is really full, you may also try other very close hotels in the historical center of Avignon: Mercure Cite des Papes, Hotel de l’Horloge, Kyriad Avignon Palais des Papes or Hotel du Palais des Papes. Many more hotels are available in Avignon, if you are ready to walk 5 to 10 minutes more (the training venue is within walking distance from all hotels within the city walls). This way, you will even be able to find decent hotels starting at about 50 EUR per night.
Q: Should I rent a car?
A: If you are interested in visiting Provence in the evenings or during the week-ends, we strongly recommend to rent a car if you can. Unfortunately, public transportation is not well developed there, and you would have trouble getting back to Avignon after going out in the evening. On the other hand, if you prefer to stay at your hotel, relax and just visit Avignon by foot, you won’t need a car.
See our page on all our public sessions for more questions and answers common to all training locations.