Пора уже
Начитавшись
всяких док, скачал последнее тестовое ядро. Попытался наживить и описывать действия по порядку. Получился вольный перевод с небольшими комментариями
1) Софт
Скачал
последнее ядро 2.6.0-test9
Также для нового ядра пришлось скачать новые же modutils. Сейчас они называются module-init-tools
последняя версия на момент сборки ядра 0.9.14. Раздают их
тут.
На этом подготовка к сборке закончилась. Но тут надо учесть, что у меня RH9 - один из последних дистрибутивов. Остальным придется проверить версии и наличие нижеследующих пакетов и, при необходимости, обновить/доставить их.
//-------------------------------------------------
Gnu C Compiler 2.95.3 gcc --version
Gnu Make 3.78 make --version
binutils 2.12 ld -v
util-linux 2.10o fdformat --version
module-init-tools 0.9.9 depmod -V
procps 2.0.9 ps --version
//-------------------------------------------------
Следующие пакеты необходимо обновлять в зависимости от используемой fs
//-------------------------------------------------
e2fsprogs 1.29 tune2fs
jfsutils 1.0.14 fsck.jfs -V
reiserfsprogs 3.6.3 reiserfsck -V 2>&1 | grep reiserfsprogs
xfsprogs 2.1.0 xfs_db -V
nfs-utils 1.0.5 showmount --version
//-------------------------------------------------
Эти пакеты обновляем, если пользуемся. Ставить в обязательном порядке нужды нет
//-------------------------------------------------
pcmcia-cs 3.1.21 cardmgr -V
quota-tools 3.09 quota -V
PPP 2.4.0 ppd --version
isdn4k-utils 3.1pre1 isdnctrl 2>&1 | grep version
oprofile 0.5.3 oprofiled --version
//-------------------------------------------------
2) Начали.
2.1) распаковал module-init-tools в /usr/src и по очереди:
./configure --prefix=/
make moveold
make
make install
./generate-modprobe.conf /etc/modprobe.conf
все прошло быстро и безболезненно.
2.2) во избежание заморочек с rpm и иже с ним в
/etc/bashrc
была добавлена строчка
export LD_ASSUME_KERNEL=2.2.5
2.3) Для 2.6 ядра _нужно_ подготовить новую mountpoint
В корне создаем каталог sys
mkdir /sys
в /etc/fstab добавляем строчку
none /sys sysfs defaults 0 0
2.4) самая заморочная часть: правка скриптов.
открываем /etc/rc.d/rc.sysinit
сразу после строки
mount -f /proc
добавляем
mount -f /sys
после строки
action $"Mounting proc filesystem: " mount -n -t proc /proc /proc
добавляем:
action $"Mounting sysfs filesystem: " mount -n -t sysfs /sys /sys
Названия модулей usb изменились. Все вхождения /proc/bus/usb, заменяем на /sys/bus/usb
keybdev на usbkbd
mousedev на usbmouse
Следующий фрагмент уже исправлен:
needusbstorage=
if [ $usb = "1" ]; then
needusbstorage=`LC_ALL=C grep -e "^I.*Cls=08" /sys/bus/usb/devices 2>/dev/null`
action $"Initializing USB HID interface: " modprobe hid 2> /dev/null
action $"Initializing USB keyboard: " modprobe usbkbd 2> /dev/null
action $"Initializing USB mouse: " modprobe usbmouse 2> /dev/null
fi
Также необходимо исправить /etc/rc.d/init/halt (в некоторых дистрибутивах /etc/init.d/halt.d/halt)
Изменяем строку
awk '$2 ~ /^\/$|^\/proc|^\/dev/{next}
на
awk '$2 ~ /^\/$|^\/proc|^\/sys|^\/dev/{next}
2.5) ALSA
Кусок относящийся к параметрам звуковой карты
У меня ( mobo K7S5A [SiS 735]) звук AC97
alias char-major-14 soundcore
alias sound-slot-0 snd-intel8x0
alias snd-card-0 snd-intel8x0
alias sound-service-0-0 snd-mixer-oss
alias sound-service-0-1 snd-seq-oss
alias sound-service-0-3 snd-pcm-oss
alias sound-service-0-8 snd-seq-oss
alias sound-service-0-12 snd-pcm-oss
install sound-slot-0 /sbin/modprobe --ignore-install sound-slot-0 && { /bin/aumix-minimal -f /etc/.aumixrc -L >/dev/null 2>&1; /bin/true; }
remove sound-slot-0 { /bin/aumix-minimal -f /etc/.aumixrc -S >/dev/null 2>&1; /bin/true; }; /sbin/modprobe -r --ignore-remove sound-slot-0
2.6)
У меня в файле /etc/fstab root раздел был обозначен как
LABEL=/ / ext3 defaults 0 0
после перезагрузки новое ядро затупило

пришлось "LABEL=/" заменить на /dev/hda6 (то есть на обычный вариант). Это, понятно, у меня линукс так установлен, да и /boot находится на том же разделе.
3) Сборка ядра.
Ну тут все как обычно
make mrproper
make menuconfig (или xconfig или gconfig, в общем читать README все равно нужно

)
make bzImage
make install (я lilo пользую, мне можно

)
make modules
make modules_install
проверяем как там новое ядро лежит, настройки загрузчика и вперед. reboot
Все.
ЗЫ для пользователей девятой шапки: Thomer M. Gil выложил не только описание того как ставить новое ядро, но и поделился поправленными скриптами
http://thomer.com/linux/migrate-to-2.6.html