Monday, March 8, 2010

Linux Kernel in a nutshell

Although I've been working with Linux kernel for ages, I decided to browse through Linux Kernel in a nutshell, an excellent book on the practical things regarding working with the kernel. There certainly were things that I was not aware of. Here are my notes on these things.


Using a read-only source tree with O=/path/to/build/output

Some basic static analysis with

  • sparse with C=1 or C=2.
  • checkstack
  • namespacecheck

Localversion-prefixed files in object and source trees.


Finding all kernel modules required by the running system, using modaliases in the /sys tree and modprobe with --show-depends. Or get-driver.sh helper script.


Kernel argument max_addr to force a upper bound on physical addresses used. Probably a good for validating a software image for a low cost board version. I've used mem=XX for this before, but I believe max_addr could yield even more realistic results.


The book included nice "demos" for tools like

  • quilt for managing a set of patches against an upstream source tree
  • ketchup as a frontend to upstream kernel archives.


These were not described in detail, but are interesting and I need to remember to read more about them later.

  • RCU's
  • format of modaliases
  • seccomp for sandboxing processes
  • kernel SPI support
  • inotify mechanism
  • oprofile tooling
  • kernel security models.


No comments:

Post a Comment