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