About
I ran a classroom with Arch Women on May 31 2014. I explained what a kernel was and some common things that kernels tend to do. In the second half, I talked about the Linux kernel's module system and the build process as it applies to people compiling their own kernel.
Why kernels?
As a high school student, I was fluent with computers in an odd
sort of way - I would reach for the command line instinctively, I'd LaTeX my
english homework, and I moved from running a full desktop environment to
starting a window manager and all the programs I cared about in my
~/.xinitrc
. I had some inkling of an idea that CPUs are the parts of
computers that do all the heavy lifting and I could replace the RAM and the
hard drive in my laptop. But kernels were just things you were careful about
updating and for all I knew my monitor communicated with my laptop via smoke
signals.
I had a hunch that I wasn't the only person in a situation like this. The archetypal Arch Linux user has fun tweaking configs, is at least passably comfortable with the command line, knows how to build and install programs from source, and perhaps even has experience patching software. (I'm looking at you, dwm!) You learn all of that on the way to having a setup that's Just The Way You Like It(TM), but there's no real motivation to learn how hardware interfaces with software.
This class was for the Arch Linux power users, the 16 year old mes, and for all the other people who ever stopped to wonder what an initramfs was.