Given that I want to have my own setup (LVM and RAID) I decide to compile my own kernel. I also like the fact that it gives me more control. However I do make my kernels "The Debian Way".
apt-get build-dep kernel-image-2.4.19
binutils perl-modules perl patch make dpkg-dev file libbz2-1.0
bzip2 debconf-utils html2text debhelper kernel-package
(and kernel-source-...)
apt-get install gcc
apt-get install wget bzip2 gnupg cd /usr/src
wget ftp://sunsite.cnlab-switch.ch/mirror/linux/kernel/linux/kernel/v2.4/linux-2.4.19.tar.bz2
wget ftp://sunsite.cnlab-switch.ch/mirror/linux/kernel/linux/kernel/v2.4/linux-2.4.19.tar.bz2.sign
gpg linux-2.4.19.tar.bz2.sign
gpg --recv-keys 517D0F0E. I can then test that the
same person (or commitee) is signing all the kernels. If one
kernel does'nt get negative press then the next kernel will likely
be trustworthy too.
wget http://www.kernel.org/pub/linux/kernel/people/rml/preempt-kernel/v2.4/preempt-kernel-rml-2.4.19-2.patch
tar xjvf linux-2.4.19.tar.bz2
ln -s linux-2.4.19 linux ; cd linux
patch -p1 < ../preempt-kernel-rml-2.4.19-2.patch
make
menuconfig I need ncurses, i.e., apt-get install
libncurses5-dev. The following items of the /usr/src/linux-2.4.19/.config
file are important for my setup:
#
# Multi-device support (RAID and LVM)
#
CONFIG_MD=y
CONFIG_BLK_DEV_MD=y
CONFIG_MD_RAID1=y
CONFIG_BLK_DEV_LVM=y
#
# ATA/IDE/MFM/RLL support
#
CONFIG_IDE=y
CONFIG_BLK_DEV_IDE=y
CONFIG_BLK_DEV_IDEDISK=y
#
# File systems
#
CONFIG_EXT3_FS=y
CONFIG_EXT2_FS=y
CONFIG_DEVFS_FS=y
CONFIG_DEVFS_MOUNT=y
make-kpkg clean
make-kpkg --append_to_version=-heebs.1.5 --revision=heebs.1.5 kernel_image
dpkg -i /usr/src/kernel-image-2.4.19-heebs.1.5_heebs.1.5_i386.deb
apt-get install lvm10
lvmcreate_initrd 2.4.19-heebs.1.5
apt-get install devfsd
image=/boot/vmlinuz-2.4.19-heebs.1.5
label=LinuxNEW
initrd=/boot/initrd-lvm-2.4.19-heebs.1.5.gz
append="hdb=ide-scsi"
read-only
and install it in the MBR (of /dev/hda3)
/sbin/lilo -v
continue with building the RAID pairs.