Manually upgrading Debian & friends to a newer kernel

CrunchBang 11 Kernel Upgrade Offline

After nearly a year and a half of using Arch Linux as my primary desktop distribution for my desktop and its more user-friendly cousin, Manjaro, for my laptop, I ran into problems when installing a copy of VMware Workstation 9.

The .bundle installer would run for a while and mysteriously fail, leaving me with a broken VMware daemon. After some digging around, I learned that VMware Workstation depends on a Debian-like environment (a System V-style init, for starters) and getting it to work on Arch would require quite a bit of elbow grease before using it.

Being short on time, I decided to get a lightweight Debian installed on my desktop for the purposes of installing and using VMware. For me, CrunchBang 11 “Waldorf” (aka #!) was a fast, configurable, and attractive choice (I am a sucker for Flux/OpenBox distros).

Unfortunately, #! is based on the x86-64 Debian stable (Wheezy, at this time of writing) and my motherboard uses the new Haswell Z87 chipset and UEFI. Ugh. I had issues right off the bat. My Logitech M705 and K320 crash-banged (see what I did there?) while it booted and spat out the error:

logitech-djreceiver: probe of 0003:046D:C52B.0009 failed with error -32

Not good, but plugging in a wired mouse and keyboard worked around this problem. The rest of my system wasn’t so lucky. #! could not recognize the new Haswell microcode changes and gave me more errors. Audio under ALSA was glitchy. Worst of all, neither of my dual Gigabit Ethernet NICs on my motherboard worked (didn’t show up on ifconfig), so I couldn’t go online to update my kernel image and firmware. I decided to download the necessary packages on my laptop, bring ’em on over to my desktop the old-fashioned way and do the upgrade manually.

Read more

Linux Kernel 3.1 has arrived!

Tux, the Linux mascotJust this morning, Linus Torvalds released the Linux kernel 3.1 into the mainline branch. This was merely a few days after Linux kernel 3.0 hit the Internet. Apparently the new version numbering scheme is doing its job well. Still this release has been relatively silent and without much fanfare, as neither Linus or have published any announcements or posted on their mailing list yet.


The current lack of publicity in this version does not mean that there is nothing nice in this new release. There have been a plethora of new improvements whipped up in this batch of the kernel. Here are a few highlights:

  1. Open source graphics driver improvements
    • This is an epic win for GNU/Linux! Notable GPU fixes and speedups include the buggy Ivy Bridge, Intel GMA 500, Nouveau, and ATI drivers, among others.
  2. Filesystem usage
  3. Dynamic Writeback Throttling
    •  “Writeback” is when programs copy data from RAM and write it to your hard disk. To keep busy programs from overwriting their own RAM data, “context throttling” comes in handy. Throttling is telling a process or two to not create any new data until the current data has been copied to disk (hint: think of a street crossing guard).
    • Unfortunately, the older writeback was not very mindful of the filesystem dutifully tidying up your hard disk, and would sometimes interfere with its cleanup work and corrupt its structure. The new writeback system can now intelligently check when the filesystem is busy and adjust its throttling habits accordingly, keeping your hard disk clean and boosting performance.
  4. OpenRISC support
    • Yay! OpenRISC is a project by the OpenCores organization aimed at creating a modern computing CPU platform based upon the classic RISC, fully licensed under the GNU LGPL License, and now Linux can boot on it. I’m not surprised, as Linux can be made to run on basically anything. 🙂
  5. Wiimote Controller support
    • Finally, the Wii remote works! The driver has been around for a while, but it has now been added to the official kernel repositories.

More Information

To see a full description of the new Linux kernel 3.1 fixes and improvements, I’d recommend you visit this page at It explains the rather cryptic changelog in a well-organized, plain English wiki page. Now, all that is left is to wait for Linux kernel version 3.2, which (unsurprisingly, given the new warp-speed version numbering scheme) is already in the works…