Вход:  Пароль:  
FreeSource: AltLinux/Kernels ...
Free Source | Каталог | Изменения | НовыеКомментарии | Пользователи | Регистрация |
Это старая версия AltLinux/Kernels за 2007-11-05 13:05:20..

О ядрах в ALT Linux


В дистрибутивах ALT Linux 2.x используется ядро 2.4 в качестве основного; ALT Linux 2.4 Master имеет поддержку 2.6.x и включает в себя экспериментальную (не рекомендуемую к применению) сборку 2.6.8. В Sisyphus с 4.10.2006 поддерживаются только ядра >2.6.9 по причине перехода на glibc-2.5.


Ядра автоматически не обновляются (см. /etc/apt/apt.conf про Hold); можете снять при уверенности, что не забудете вернуть или что так лучше, но лучше воспользоваться скриптом update_kernel.sh имени VitalyLipatov или apt-upgrade-kernel Ильи Евсеева (см. тж. здесь).


Технология сборки описана в документации (kernel-policy.txt) пакета kernel-build-tools; в то же время считается, что в большинстве случае самостоятельная сборка не должна быть оправдана. При необходимости подпишитесь на список рассылки devel-kernel@ и обсудите возникший вопрос там, если краткого HOWTO не хватит.


FIXME! В связи с переходом сборщиков ядер на git, схема сборки кардинально поменялась, поэтому большая часть информации, изложенной в HOWTO, неверна.

О бинарных пакетах


kernel-image-$flavour: головной пакет, содержащий образ ядра разновидности $flavour, основные модули и запускающий скрипты обновления конфигурации загрузчика;


kernel-modules-$name-$flavour: дополнительный пакет, содержащий модули $name для ядра разновидности $flavour.


$flavour, в свою очередь, заканчивается суффиксом -smp или -pae в зависимости от типа сборки (с поддержкой smp или поддержкой smp с PAE). Раньше еще практиковались т.н. -up сборки, для систем с одним процессором, которые сейчас неактуальны по-причине изложенной ниже.


Начиная с версии 2.6.17, ядра в сизифе стали собираться в конфигурации т.н. SMP alternatives, что позволяет более гибко использовать возможности современных CPU (например, hotplug). Обратная сторона этого изменения – отказ от -up сборок ядер. Зато теперь можно избежать еще одного костыля, который был изложен здесь ранее :)


Следует обратить внимание на то, что по крайней мере std*-smp ( и std26-smp) обычно собираются с опцией CONFIG_HIGHMEM64G, что даёт возможность использовать гигабайт и более памяти (в отличие от std*-up), но не работает на i586 (Pentium первого поколения и аналоги, включая VIA C3), т.к. используется режим Physical Address Extension (PAE), появившийся начиная с Pentium Pro. Внимание: старые Pentium M (400MHz FSB) также не имеют поддержки PAE!


Сейчас разделение таково: -smp – для систем с поддержкой SMP alternatives и _без_ PAE, и -pae, собранный с CONFIG_HIGHMEM64G.


Пора на эту тему FAQ писать. На нынешних ядрах сборка как up _не имеет_
преимущества в скорости перед smp. Ибо соответствующий код в ядре
выбирается при старте.

mithraen@


Ядра std-smp и std-pae отличаются только одной опцией конфигурации: 
в std-smp используется HIGHMEM4G, а в std-pae – HIGHMEM64G.  (Дифф между
конфигами больше одной строки, поскольку там показываются и зависимые
опции, которые устанавливаются автоматически.)

Необходимость сборки двух вариантов ядра для i586 вызвана тем, 
что ядро, собранное с HIGHMEM4G, не может использовать более 4GB RAM, 
зато работает на всех процессорах >= i586, в то время как ядро, собранное 
с HIGHMEM64G, может использовать до 64GB RAM, но не работает 
на процессорах, не поддерживающих режим PAE (поддержка PAE появилась
начиная с Pentium Pro, кроме того, первые варианты Pentium M также 
не поддерживают PAE).  На самом деле пакеты ядер std-pae должны были
бы иметь архитектуру i686, а не i586, но я не знаю, есть ли способ
заставить incoming пересобирать пакеты именно таким образом.

Для архитектуры x86_64 всё это неактуально, поэтому вариант std-pae
существует только на i586.

vsu@

О разновидностях (ветках)

Были известны std, std26 (standard), om (OpenMosix), vs, vs26 (VirtualServer), wks, wks26, ll, ovz; из них om, vs, vs26 и ovz штатно собирались только для SMP-систем, остальные доступны для UP/SMP. По состоянию на 03.01.2007 в Sisyphus имеются:


Аббревиатура Поддерживаемые версии
Особенности
Назначение
std
2.6 (pae, smp)

Стандартное и основное ядро дистрибутивов ALT Linux. При сборке используются патчи из -stable ядер и патчи, исправляющие какие-либо неприятности в работе железа.


Note::
Существует также kernel-suspend2 подверсия ядра std-smp, поддерживаемая Shrek`ом, отличающиеся поддржкой suspend2

Сервера или рабочие станции, где важна безопасность или стабильность вопреки повышенной производительности и времени реакции на события
wks
2.6 (smp)
Содержит патчи для повышения производительности и уменьшения времени реакции на события (lowlatency), поддержки badram, swsusp2, realtime-режима для jack, патчи для undervolt'а CPU на базе Centrino проекта linux-phc, а также файловой системы reiserfs4. Внимание! поддержка win4lin на сейчас в wks26 отсутствует (не требуется майнтейнеру, поддерживать же — труд); в backports/3.0 наблюдается w4l26 на базе std26-up.
Рабочие станции
vs
2.6 (smp)
obsolete ядра с поддержкой технологии виртуализации linux vserver. Еще приложен патч, позволяющий реализовать non-executable stack либо программно, либо процессорными средствами (на x86–64).
Сервера (системы), где необходимо организовывать виртуальные сервера в рамках одной аппаратной платформы. В настоящий момент живет только в git'е у lakostis@, но скоро будет в сизифе
ovz
2.6 (smp/pae?)
Сборка с поддержкой технологии виртуализации OpenVZ. Еще приложен патч, позволяющий реализовать non-executable stack либо программно, либо процессорными средствами (на x86–64).
Сервера или рабочие станции, где требуются повышенная безопасность и контроль ресурсов, а также запуск нескольких контекстов (возможно, с различными дистрибутивами Linux в них)

Примечание относительно pae (c) vsu:


##Summary:## и ##%description## соответствующих пакетов в Сизифе (предложение)

О поддержке большого объёма памяти

В данный момент ситуация такая:



Причём в wks-smp применяется специальный патч 1gb_lowmem, уменьшающий потери производительности при использовании до 1Gb памяти включительно (HIGHMEM их вносит, предоставляя возможность работать с расширенной памятью как таковой).

patch-o-matic

Был приложен по необдуманной просьбе mike@ к 2.4.18 из ALM2.0, вследствие чего при очередном обновлении ядра в updates что-то где-то немного изменилось и разъехался ABI, вследствие чего команда iptables до пересборки падала по segmentation fault.


Сборка (конфигурация, архитектура)


Пример сборки модуля ядра с использованием kernel-headers:

Благодарность

Ссылки


Страницы, ссылающиеся на данную: AltLinux
AltLinux/Features
AltLinux/Kernels/History


 
Файлов нет. [Показать файлы/форму]
Комментариев нет. [Показать комментарии/форму]