ALT LINUX KERNEL 2.6 HOWTO

Дата последнего изменения: Чтв Фев 26 10:37:11 EET 2004

Этот документ предназначен для пользователей ALT Linux, желающих
насладиться преимуществами использования ядра Linux версии 2.6.X

Самую свежую версию этого документа можно найти здесь:
ftp://ftp.altlinux.ru/pub/people/ed/ALTLinux-Kernel-2.6-Howto

Прочитать о возможностях ядра 2.6 можно здесь:
http://www.opennet.ru/base/sys/linux26_intro.txt.html

Все упоминающиеся ниже пакеты лежат здесь:
ftp://ftp.altlinux.ru/pub/people/ed/
или здесь:
ftp://ftp.altlinux.ru/pub/distributions/ALTLinux/Sisyphus/

1. Установка готового ядра
--------------------------
Все нижеперечисленное относится к установке на
Sisyphus, Compact, ALT Linux Master 2.2.
Версии пакетов для ALM 2.2 нужно искать в подкаталогах с именем ALM2.2
Версии пакетов для Compact - в подкаталогах с именем Compact

1.1 Устанавливаем следующие пакеты:
mkinitrd
modutils (можно взять из Сизифа)
bootloader-utils
initscripts (только на ALM 2.2)

Для Compact:
Все, у кого установлен startup-0.7-alt1, могут безболезненно обновить
этот пакет до 0.8-alt1 либо 0.8.1-alt1 из Sisyphus.
Тем, у кого startup < 0.7-alt1, обновление до startup >= 0.7-alt1 лучше
всего делать dist-upgrade'ом.

1.2 Можно установить еще и это (необязательно):
libsysfs
sysfsutils

1.3 Правим конфигурационные файлы:

Для поддержки sysfs добавляем следующую строку в /etc/fstab:
none  /sys  sysfs defaults 0 0

Для загрузки драйвера PS/2 мыши добавляем это в /etc/modules:
psmouse

Редактируем /etc/modules.conf :

Для работы звука добавляем драйвер звуковой карты:
alias snd-card-0 snd-cmipci
alias char-major-14 soundcore
alias sound-slot-0 snd-card-0
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
В примере используется драйвер snd-cmipci, драйвер своей звуковой
карты можно попытаться найти ниже /lib/modules/2.6.1-std26-up-altX/kernel/sound/)

Для загрузки драйвера COM-порта добавляем его алиас :
# RS232
alias char-major-4 8250

Изменилось название модулей USB с ehci-hcd  usb-ohci usb-uhci на
ehci-hcd  ohci-hcd  uhci-hcd соответственно.
Вот пример для uhci:
#alias usb-interface usb-uhci
alias usb-interface uhci-hcd

Добавляем алиасы для модуля поддержки пакетной записи
# Packet CD writing
alias block-major-97 pktcdvd
alias /dev/pktcdvd[0-9]* pktcdvd

1.3 Cтавим собственно ядро:
kernel-image-std26-up

1.4 Ставим нужные модули:
для Sisyphus и Compact:
kernel-modules-nvidia-std26-up-5328

для ALM2.2:
Ставим модули kernel-modules-nvidia-std26-up-4191

1.5 Проверяем наличие нужной секции в lilo.conf,
или в конфиге grub-а,  запускаем lilo для вступления изменений в силу.
Перезапускаем систему.
Все должно загрузиться и работать.

1.6 Если что-то не работает, то пишем в devel-kernel@ или еще куда-нибудь.

2. Пересборка ядра.
--------------------
2.1. Очень внимательно и вдумчиво читаем это:
http://www.atmsk.ru/index.php?option=articles&task=viewarticle&artid=9&Itemid=3

2.2 Ставим kernel-build-tools
Читаем /usr/share/doc/kernel-build-tools-0.6/kernel-policy.txt опять
очень вдумчиво. Проникаемся.

2.3 Ставим kernel-image-std26-up-2.6.1-altX.src.rpm,
смотрим в его спек, находим там все, что нужно ему для сборки:
kernel-source-2.6.X
kernele-build-tools версии >= 0.6-alt3
coreutils dev86 bzip2 make tar flex
rpm >= 4.0.2-75 libdb4.0-devel
gcc-3.3
Несколько kernel-fix-* и kernel-feat-*
и ставим это.

Путь для занятых - пропускаем пункты 2.1 и 2.2, ставим kernel-image-std26-up-2.6.1-altX.src.rpm,
делаем rpm -bp kernel-image-std26-up.spec и смотрим что ему нужно по
многочисленным сообщениям rpm. Ставим это.

2.4 Делаем rpm -bp kernel-image-std26-up.spec и после завершения идем в `rpm --eval %_builddir`
идем в kernel-image-std26-up-2.6.1-altX/kernel-source-2.6.1/ и находим
там распакованые и пропатченые сорцы, готовые к сборке.

2.5 Накладываем свои патчи (необязательно)
Опакечиваем свои патчи согласно kernel-policy и прописываем их в спек kernel-image-std26-up

2.6 Берем конфиг в `rpm --eval %_sourcedir` для kernel-image-std26-up
копируем его (config-2.6.1-std26-up) в ./.config
Делаем make menuconfig и конфигуряем ядро на свой страх и риск.
Копируем получившийся ./config обратно в %sourcedir

2.7 Делаем rpm -ba kernel-image-std26-up.spec и долго ждем.
    Если мы все сделали правильно, то получаем в результате что-нибудь
    типа этого:
Wrote: /sandman/SRPMS/kernel-image-std26-up-2.6.1-alt5.src.rpm
Wrote: /sandman/RPMS/i586/kernel-image-std26-up-2.6.1-alt5.i586.rpm
Wrote: /sandman/RPMS/i586/kernel-headers-std26-up-2.6.1-alt5.i586.rpm
Wrote: /sandman/RPMS/i586/kernel-headers-modules-std26-up-2.6.1-alt5.i586.rpm

2.8 Собираем нужные модули для нашего нового ядра:
Процесс описан для модуля nvidia:
Ставим kernel-source-nvidia-4496-1.0.4496-alt4.noarch.rpm
Ставим kernel-headers-std26-up и kernel-headers-modules-std26-up
для нашего(!!!) ядра (см. п. 2.7)
Делаем rpm --rebuild kernel-modules-nvidia-std26-up-1.0.4496-alt9.src.rpm

2.9 Плавно переходим в начало данного текста и читаем как это ставить.

3. Ссылки:

Migrating to Linux kernel 2.6
http://linuxdevices.com/articles/AT3855888078.html
http://linuxdevices.com/articles/AT4389927951.html
http://linuxdevices.com/articles/AT5793467888.html

Замечательный Мир Linux 2.6
http://www.opennet.ru/base/sys/linux26_intro.txt.html

Linux KERNEL 2.6 HOWTO
http://armin.emx.at/kernel_2.6/kernel_2.6_howto.html

Linux KERNEL HOWTO
http://www.linuxdocs.org/HOWTOs/Kernel-HOWTO.html

Сборка ядра ALT Linux
http://www.atmsk.ru/index.php?option=articles&task=viewarticle&artid=9&Itemid=3

4. Disclaimer: Все вышесказанное ни на что не претендует и автор ни за
что не несет ответственности.

Используются технологии uCoz