Building Linux Packages For Kernel Drivers! (dkms howto)

Background Most of the time the Linux kernel does a great job of having drivers you need, but sometimes you need to install a special driver or update an existing module. Running make; make install is all fine and dandy for testing, but for production you want a repeatable process. For me, this means OS packages. (deb/rpms) So, how do you go from kernel module source code => Debian package?

Cool Things to Do After Installing OpenWrt

OpenWrt is the bomb. Think all the power of a full Linux distro on your tiny home router or plug computer. Install an External Root Overlay What the heck does that mean? OpenWrt uses an ingenious system were the root filesystem is a super compressed squashfs, merged with a read/write jffs2 filesystem called the overlay. This maximizes your available space on the device. Instead of using part of your remaining flash for read/write, you can use a larger, external device for the overlay.

7 Underused IPMItool Commands

IPMI is Awesome. But, it is underused. Most sysadmins don’t even enable it. If they do enable it, they probably enable it by manually going into the BIOS, and then probably only using the Web interface. LAME. There is no need to go to the BIOS to configure ipmi. You can use IPMItool to configure it in-band. This is my first underused command: (disclaimer: not all IPMI interfaces / bios versions / hardware platforms are equal.

Carbon Fiber Table

It kinda sucks. No matter how much sanding and polish I do, I can’t get it to look great. It is smooth, however. Corners are hard. Just posting these pics for archival purposes, not to show off here.

Carbon Fiber / Copper Solar Light

A copper tube sculptural with carbon fiber leaves. One of the carbon fiber leaves is a solar panel from a deconstructed solar lamp. The tips of the small copper tubes have the white LEDs. The larger copper tube stores the battery and charge circuitry. I would show pictures of them at night but the sun doesn’t shine much here anymore…

Configuring Nagios Like a Boss!

I’m tired of configuring Nagios by hand. Just tired. I always forget to do stuff. I’ll add a new host, or stick in a raid card, add a new website, whatever, and forget to add a nagios check for it. So it happened. You setup a server, put critical infrastructure on it, but forgot to monitor it. It goes down, bad stuff happens. Your boss asks, why weren’t we monitoring this?

Carbon Fiber Glasses

Build Systems out of Poured Concrete, not Bricks

Personally, I don’t have any kind of battle-hardened wisdom. Most of what I know comes from the wisdom of others. In particular I would like to acknowledge the real geniuses up front: My First Petabyte: Now What? (Jacob Farmer from Cambridge Computer) Google Platforms Rant (Steve Yegge of Google) (James Hamilton of Amazon) Ted Dzuiba Tons of blogs posts, LISA talks, that I can’t site specifically.

Graph EVERYTHING with Graphite!

I believe that a graphing tool should be flexible enough for the user to decide what metrics are important to their environment, and it should be able to accept metric data from any source. There are pretty good graphing tools out there for the Linux engineer: Munin, Ganglia, Cacti, Zabbix, Collectd, etc. I call these “graphing” tools, because I don’t consider them “monitoring” tools, like Nagios, WhatsUp, or Zabbix.

Lose the Metawork and Get on with Your Life!

Every job has metawork. Sometimes it becomes so commonplace that we just forget about it. We should never forget about it. I hope this blog post reminds you of what your metawork is. For the purposes of this blog post it will focus on code-centric stuff, but could apply to anything. Different jobs have different types of metawork. Sometimes it is just paperwork. Other times it is called “overhead”. Commonly it is referred to as “Process”.