jenerated

A First Look at the Linux Kernel

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.

The notes and logs are on Github.