Tag Archives: debian

Compile a debian kernel with make-kpkg

The debian way (etch packages):
# apt-get install linux-source-2.6.18 kernel-package build-essential fakeroot libncurses5-dev
$ cd /usr/local/src
$ tar jxvf /usr/src/linux-source-2.6.18.tar.bz2
$ cp /boot/config-2.6.18-6-686 linux-source-2.6.18/.config
$ cd linux-source-2.6.18
$ make menuconfig
$ fakeroot make-kpkg --initrd clean
$ fakeroot make-kpkg --initrd kernel_image

Examples:
fakeroot make-kpkg --arch amd64 clean
fakeroot make-kpkg --arch amd64 --initrd --append-to-version=-skx.2008082001 kernel_image

Lenny, Xen domU and amd64

There is not yet a xen-amd64 domU kernel for Lenny. There might not be one on release day. Discussion here: http://groups.google.com/group/linux.debian.devel/browse_thread/thread/8940430a093bbda5/546883797d0cbdf9

Fortunately, someone builds a 2.6.26-xen-amd64 kernel.
Add this to your sources.list:
deb http://kernel-archive.buildserver.net/debian-kernel/waldi/xen-extra/ all main

Install these packages:
linux-image-2.6.26-1-xen-amd64
linux-modules-2.6.26-1-xen-amd64

Fix the “new Xen console” problem (xen now uses hvc0 for its console):
If you use pygrub, in grub.conf on the domU add these kernel parameters : console=hvc0 xencons=tty
title Debian 2.6.26
kernel /boot/vmlinuz-2.6.26-1-xen-amd64 ro root=/dev/sda1 console=hvc0 xencons=tty
initrd /boot/initrd.img-2.6.26-1-xen-amd64

If you don’t use pygrub, specify extra = “console=hvc0 xencons=tty” in your virtual machine xen config file.

Use at your own risk 😉

By the way, this fixed a nasty bug for me: php5-cli used to segfault a lot when using linux-image-2.6.18-6-xen-amd64 under Lenny. It’s stable now.

Edit: linux-image-2.6.26-1-xen-amd64 is now available in unstable :-)

Resolving apt-get gpg issues

You run apt-get update, and it complains about some missing key IDs:

W: There is no public key available for the following key IDs:
B5D0C804ADB11277
W: GPG error: http://volatile.debian.org etch/volatile Release: The following signatures couldn’t be verified because the public key is not available: NO_PUBKEY EC61E0B0BBE55AB3
W: You may want to run apt-get update to correct these problems

B5D0C804ADB11277 and EC61E0B0BBE55AB3 are the missing gpg pub keys. Fetch them with gpg, and import them into apt :

gpg --keyserver subkeys.pgp.net --recv-key B5D0C804ADB11277
gpg -a --export B5D0C804ADB11277 | apt-key add -
apt-get update

OR (new and improved!)

apt-key advanced --keyserver subkeys.pgp.net --recv-keys B5D0C804ADB11277
apt-get update

or, with a different server: apt-key advanced --keyserver pgp.mit.edu --recv-keys