[d-kernel] þÔÏ ËÁÞÁÔØ ÄÌÑ ÓÂÏÒËÉ ÑÄÒÁ

Ed V. Bartosh ed at altlinux.ru
Mon Aug 4 15:26:00 MSD 2003


>>>>> "AA" == Aleksey Avdeev writes:

 AA>    Созрел я для сборки ядер под свои конфигурации (для 3х машин:
 AA>    Пень 133 (не MMX) на SIS5511/12/13, Пень 3 на какомто из Intel
 AA>    и Атлон на nForce2). В общем виде данный процесс, в принципе
 AA>    понятен (статью http://www.atmsk.ru/viewtopic.php?t=903
 AA>    читал). Но я запутался, с определением списка пакетов, которые
 AA>    надо вытянуть для корректной сборки ядра:
Можно взять спек от kernel-image и посмотреть на то, какие патчи туда
включаются (макрос %add_patch_list) - это будет список нужных пакетов
kernel-feat и kernel-fix. Кроме того нужен kernel-source-<версия ядра>
и kernel-build-tools.

Почитайте полиси, оно лежит в kernel-build-tools, там кое-что об этом есть.
  
 AA>  1. Непонял кокое ядро лучше взять за основу: aw или std (скорее
 AA>  всего std) под мои требования (см. ниже).
На это могу сказать только об aw - среди затребованых фич в нем нет
alsa,NVIDIA и Raiser-а. последний в принципе могу собрать модулем.

 AA>  2. Слабо представляю что от чего зависит.
В смысле ? Все фичи включаются в спеке kernel-image с помощью
вышеупомянутого макроса %add_patch_list. Остальные зависимости, да и
эти тоже, видно обычным образом:
rpm -q --requires

 AA>    Что я хочу получить в результате (основные позиции):
 AA>  1. EVMS
 AA>  2. Alsa 0.9.6
 AA>  3. USB
 AA>  4. Reiserfs
 AA>  5. XFS
 AA>  6. На платные сенсоры
 AA>  7. Драйвера NVIDIA для nForce и видео карт.
  
 AA>    Как я понял из рассылки, aw и std ядра полностью данный список
 AA>    не покрывают. :-(
Ну да. В aw звук и видео и не планируется включать, оно
сервер-ориентированное. 
А понимать это проще не из рассылки, а с помощью rpm :)

 AA>    Подскажите пожалуйста, что мне надо будет выкачать (из source,
 AA>    modules, feat, fix и т. д.) а то глаза разбегаются. :-)
Дык это, схема ничем не отличается от других пакетов - все те же
зависимости, вся информация доступна с помощью rpm:

Берем kernel-image-std-up...src.rpm и смотрим, что ему нужно для сборки:
[ed at pc213 kernel-source-2.4.21]$ rpm -qp --requires kernel-image-std-up-2.4.21rel-alt7.src.rpm 
...
kernel-source-2.4.21 = 1.0.0
kernel-build-tools  
kernel-fix-security-owl  
kernel-fix-security  
kernel-fix-build  
kernel-fix-drivers-ide  
kernel-fix-drivers-net  
kernel-fix-drivers-pci  
kernel-fix-drivers-scsi  
kernel-fix-drivers-usb  
kernel-fix-core  
kernel-fix-fs  
kernel-feat-core-O1sched  
kernel-feat-addon
kernel-feat-acpi  
kernel-feat-i2c  
kernel-feat-fs-ntfs  
kernel-feat-fs-xfs  
kernel-feat-kconfig  
kernel-feat-crypto  
kernel-feat-drivers-video-splash  
kernel-feat-bttv  
kernel-feat-net-ppp-mppe  
kernel-feat-net-ipsec  
...

Выкачиваем и устанавливаем по этому списку все, что мы хотим
включить в свое ядро.

Точно так же и для модулей:
rpm -qp --requires /mnt/Sisyphus/SRPMS.kernel/kernel-modules-alsa-std-up-0.9.6-alt1.src.rpm 
gcc2.96  
modutils  
perl  
rpm >= 4.0.2-75
kernel-headers-std-up = 2.4.21rel-alt7
kernel-source-alsa-0.9.6

Например, для alsa выкачиваем
kernel-source-alsa и, для примера, модуль для std-up:
kernel-modules-alsa-std-up ... src.rpm
Для nvidia и всего остального, что в модулях - аналогично.

Для evms-а берем kernel-feat-dm и evms (kernel-feat-evms из одного
спека с evms генерится). (это есть в ядре -aw, можно глянуть там)

Raiser нужно будет просто включить, он в ядре уже есть.

Когда все это добро у нас есть и установлено, то делаем на основе
kernel-image-std (или любого другого kernel-image) спек(и) для kernel-image-наше_новое_ядро и пытаемся
его собрать. потом точно так же поступаем с модулями.

Вот и все вкратце.

-- 
Best regards,
Ed V. Bartosh



More information about the devel-kernel mailing list