6.9.7.7. Překlad jádra 2.4.27 z Debian Backports (Backports.ORG) z řadou patchů

rcsinfo="$Header: /home/radek/cvs/unix-book/unix.xml,v 1.7 2009-03-07 03:52:40 radek Exp $"

Poznámky k překladu jádra již narostly a začaly být nepřehledné. Tímto se pokouším je trochu uspořádat. Začal jsem při potřebě přeložit jádro pro server. Zkusím si vytvořit jádro které budu moci nasadit na všechny servery a tím si zjednodušit administraci těchto serverů.

Překlad je prováděn na čistém virtuálním serveru bone instalovaném z Debina Woody. Použití tohoto virtuálního serveru má zajistit že se mi do překladu nezamíchají věci ze Sarge. Rovněž mi umožní sledovat které balíčky jsou opravdu nezbytné pro správný překlad.

Na čistém serveru jsem opravil soubor /etc/apt/sources.list. Mimo základní zdroje Woody jsem přidal zdroje z Debian Backports (Backports.ORG) nutné pro překlad novějšího jádra a taky s novějšími patchi. Jako zdrojový server používám apt-proxy bežící na stejném stroji.

deb http://localhost:9999/main woody main contrib non-free
deb http://localhost:9999/non-US woody/non-US main contrib non-free
deb http://localhost:9999/security woody/updates main non-free
deb http://localhost:9999/main sarge main       # kernel-patch-vserver
deb http://localhost:9999/backports woody kernel-2.4
…
# apt-get update
# apt-get upgrade
# apt-get install gcc libncurses5-dev
# apt-get install kernel-source-2.4.27 kernel-package dh-kpatches
# apt-get install kernel-patch-vserver

Po nainstalování pak rozbalíme zrdroje a spustíme překlad.

# cd /usr/src
# tar xjf kernel-source-2.4.27.tar.bz2
# ln -s kernel-source-2.4.27 linux
# cd linux
# export PATCH_THE_KERNEL=YES
# make-kpkg clean
# cp kernel-config-file-from-some-where .
# make-kpkg --append-to-version -vs --revision 1 \
            --added-patches vserver \
            --initrd --config menu kernel_image modules_image

V konfiguračním menu jsem nejdříve načetl volby z nakopírovaného onfiguračního souboru. To má zajistit aby nově sestavované jádro mělo všechny původní vlastnosti a ovladače. Poté jsem provedl jemné vyladění parametrů jádra. Mimo jiné jsem nastavil parametr CONFIG_BLK_DEV_VROOT na „m“. Tento parametr najdeme v menu Block devicesVirtual Root device support (NEW)

Ještě uvedu skript jenž jsem užíval k překladu.

#!/bin/sh
# $Header: /home/radek/cvs/unix-book/unix.xml,v 1.7 2009-03-07 03:52:40 radek Exp $
# Build kernel for Debian Woody
# Copyright (c) 2005 Radek Hnilica

VARIANT=tvs
REVISION=${1:-1}

cd /usr/src
rm -fr kernel-source-2.4.27 linux

tar xjf kernel-source-2.4.27.tar.bz2
ln -s kernel-source-2.4.27 linux
cp $VARIANT.* linux

cd linux
export PATCH_THE_KERNEL=YES
cp ../config-2.4.28-bf2.4 dell
make-kpkg clean
make-kpkg --append-to-version -$VARIANT --revision $REVISION \
          --added-patches vserver \
          --initrd --config menu kernel_image modules_image