собственно, по такой методе собирал на дебиане и на убунте. работает ведь!
качаем сырцы с кернельорга (с сырцами от kernel.ubuntu.com, как я понял, лучше не связываться)
добавляем себя в группу src:
sudo gpasswd -a username src
пробуем писать в /usr/src, например
echo "111" > /usr/src/tmpfile
у меня почему-то не получилось с первого раза, а только после ребута. в любом случае, это более правильный способ, чем "chmod 777 -R /usr/src". получив права, кидаем сырцы в /usr/src
mv ~/somewhere/linux-xxxxx.tar.bz2 /usr/src
cd в /usr/src и распаковываем архив
cd /usr/src
tar -xvjf linux-xxxx.tar.bz2
операция займет минут пять. далее доставляем необходимое, если чего-то еще нету:
sudo aptitude install kernel-package libncurses5-dev fakeroot wget bzip2 build-essential
идем в свежераспакованный каталог
cd linux-xxxx
запускаем
make mrproper
(это не "мистер Пропер", с которым веселей, но хз...)
теперь возьмем готовый ядерный конфиг лежат они в /boot, берем конфиг старшей версии, например
cp /boot/config-2.6.31-16-generic .config
и после этого
make oldconfig
данная операция считает наши старые настройки. для новых фич, появившихся в собираемой версии ядра - задаст вопросы. тут уж или думаем, или просто жмем энтер, соглашаясь на вариант по умолчанию. ну и после этого, собственно
make menuconfig
тут уж разбираемся самостоятельно. лично я вполне себе сам все проковырял без всяких статей. хелпы к параметрам более-менее внятные, во многих даже написано, дескать, "если вы ваще не понимаете, что это такое, выберите Y". собственно, нужно знать конфигурацию своего железа (lshw в помощь), те железяки, которых нет - можно смело вырубать. то же самое со всякими джойстиками и прочими тв-тюнерами - если все это не планируется к использованию - жмем N.
в принципе, ничего нереально сложного. просто нужно будет один раз потратить часок на раздумья, в следующие разы все будет совсем просто.
что хочу отметить: компрессию лучше оставить gzip и не трогать, initrd нужно включить. и еще важный момент: корневую фс лучше сразу вкомпилить монолитом. в принципе, можно моголитом и ту, что под хомяк. остальные модульно, лишние выключить совсем.
настроив все это дело, выходим в корень менюшки и выбираем "save file ...".
бэкапим куда-нибудь в укромное место (не сюда же!) полученный .config, он нам еще пригодится. после этого
make-kpkg clean
проверяем, на месте ли конфиг.
и мы готовы, собственно, к сборке. нижеприведенный метод - дебиан-вэй, на выходе получим deb-пакеты (в отличие от канонического make install):
fakeroot make-kpkg --initrd --append-to-version=-custom --revision=2010-036 kernel_image kernel_headers
вместо "-custom" указываем то, что хотим видеть в названии версии (ядро будет именоваться примерно так: 2.6.33-rc6-custom). revision виден в версии не будет, но будет виден в имени deb-пакета. пишем что хотим, но оно должно содержать цифру. я советую использовать дату сборки, так оно понятней будет потом.
ну и все, запускаем. и идем пить чай. на моей конфигурации процесс занял 29 минут. да, если хочется статистики, запускаем через "time fakeroot ...". кроме того, полезно будет получить лог процесса. для этого перед началом сборки выполняем
script -f /somewhere/filename
теперь все, что будет показано на консоли, запишется и в указанный файл.
по заершении получаем два deb-пакета. и ставим их
sudo dpkg -i linux-image-xxxx.deb
sudo dpkg -i linux-headers-xxx.deb
grub2 обновится сам.
но есть один нюанс. initrd должен собраться сам, но может и не собраться. зрим в /boot
ls /boot
если есть vmlinuz-xxx, но нет к нему initrd.img-xxxx - соберем его ручками:
sudo update-initramfs -c 2.6.33-rc5-custom
версия должна соответствовать той, что после vmlinuz-. после этого grub2 снова обновится. и можно грузить свежеиспеченное ядро.
могу заметить, что ничего старшного в этом нет. я урезал все, что только нашел, и ничего, оно работает. а если и не станет работать - можно удалить в aptitude и собрать по новой. самый, на мой взгляд, сложный момент в настройке - это ide/sata/atapi-контроллеры, вот здесь надо аккуратно, иначе хард вообще не определится. с другой стороны, если терзают сомнения - можно оставить все модулями.
вот как-то так. вроде каких-то иных особых сложностей не замечал