Thursday, August 13, 2015

Debian Kernel With Sound Fix

(UPDATE: The original version of this post had typos in the symlinks below. They have been corrected.)

Following up on my last post where I mentioned compiling a custom kernel to test sound patches, I can report the patches worked and those of you who have been suffering from that nasty soundcard detection failure will have restored sound in, I believe, the 4.2 kernel. However, if you don't want to wait that long, I'm making available the patched Jessie kernel I compiled on my Sawtooth (download link at bottom).

Actually, the first kernel I compiled was on my G3 iBook, but I compiled it without Altivec instructions, so that would be kind of useless to G4 owners. So I compiled another one on the Sawtooth (I didn't want to risk melting my iBook again), and it works fine on all three systems I've tried it on (G3 iBook, G4 Sawtooth, and G4 Powerbook). It's compiled with all the stock options; the only modifications are the two patches, this one applied on top of this one, that fix the sound bug.

So after you download it, open a terminal and use the cd command to change to your downloads directory:

cd ~/Downloads

Then install the kernel with:

sudo dpkg -i linux-image-3.16.7-ckt11-soundfix_1.0_powerpc.deb

Then to set it as your default kernel, create these two symlinks:

sudo ln -s /boot/initrd.img-linux-image-3.16.7-ckt11-soundfix /boot/initrd.img.soundfix
sudo ln -s /boot/initrd.img-3.16.7-ckt11-soundfix /boot/initrd.img.soundfix


sudo ln -s /boot/vmlinux-linux-image-3.16.7-ckt11-soundfix /boot/vmlinux.soundfix
sudo ln -s /boot/vmlinux-3.16.7-ckt11-soundfix /boot/vmlinux.soundfix


Then edit /etc/yaboot.conf, adding this kernel entry on top of the others:
image=/boot/vmlinux.soundfix
     label=soundfix
     read-only
     initrd=/boot/initrd.img.soundfix
Listing it first will keep it as your default kernel even after a software update installs a newer kernel. Conversely, if you're through with it being your default, list it somewhere other than first. As always when changing yaboot.conf, run sudo ybin -v to update the configuration.

Now using this very unofficial kernel brings up thorny security issues: how can you trust it, how do you know it doesn't have malicious code, etc. However, in the years I've written this blog, I think I've established that

a) I'm reasonably trustworthy.
b) I totally lack the skills to pull something like that off.

So install with no worries :)

Here's the download and sha256 fingerprint:

http://www.mediafire.com/download/cj8h2h4dybg2otm/linux-image-3.16.7-ckt11-soundfix_1.0_powerpc.deb

sha256: f489a9d2c617fa803bbe44c7913a4540b1705ab3e6da6b149559bddcb3b508ff