This shows you the differences between two versions of the page.
ass:laboratoare:04 [2023/07/22 09:14] radu.mantu |
— (current) | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ~~NOTOC~~ | ||
- | |||
- | ===== Lab 04 - Kernel development ===== | ||
- | |||
- | ===== Objectives ===== | ||
- | |||
- | * Learn Linux kernel development basics; | ||
- | * Build your own Linux kernel module; | ||
- | * Understand userspace device types; | ||
- | * Use MMIO to communicate with the IMX UART peripheral! | ||
- | |||
- | ===== Contents ===== | ||
- | |||
- | {{indexmenu>:ass:laboratoare:04:tasks|skipfile}} | ||
- | |||
- | ===== Lecture ===== | ||
- | |||
- | No lecture available :( | ||
- | |||
- | ===== Additional resources ===== | ||
- | |||
- | This is a list of curated sources of information to help you study kernel development on your own: | ||
- | * [[https://embetronicx.com/tutorials/linux/device-drivers/|EmbeTronicX tutorials]]: Usually it's pretty hard to find up-to-date tutorials on how to write drivers. While some core APIs have been the same for years, there's always one thing that changes every few releases and deprecates previously written materials. These 40+ bite-sized lessons are great for learning about the core systems you interact with while writing modules. | ||
- | * [[https://ocw.cs.pub.ro/courses/isc/labs/kernel|Intro to x86-64 kernel dev]]: A lab written by yours truly for an ASE Masters class. This walks you through setting up your testing environment (including bootstrapping the rootfs) using **qemu-system**. It contains some tips about kernel debugging with **gdb** and teaches how to write an **iptables** plugin. Note: try this out on a Ubuntu target environment (i.e.: what's in the lab). The latest releases on Arch are in the process of deprecating **iptables** plugins in favor of transitioning to **nftables**. Haven't had the chance to look further into this. | ||
- | * [[https://lwn.net/|Linux Weekly News]]: A news website containing discussions about new kernel features. Chances are that at some point you'll find a stack overflow answer linking back to one of these articles. In case you're worried about the paywalled articles, know that each week you get a composite release of recent articles (past 7 days). While this is still paywalled, the previous week's articles become free. | ||
- | * [[https://www.phoronix.com/Phoronix]]: Yet another news website, but more focused on hardware. | ||
- | |||
- | ===== Tasks ===== | ||
- | |||
- | {{namespace>:ass:laboratoare:04:tasks&nofooter&noeditbutton}} | ||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||