On Thu, Aug 26, 2010 at 08:00:33PM +0400, Gulay Boris wrote: > On Thu, 26 Aug 2010 18:02:05 +0300, Michael Shigorin > wrote: > Михаил, спасибо за подробный ответ. Письма разослал. > > На текущий момент ситуация такая > p5: > Первая часть имени сборки: > hpc - Ядро для суперкомпьютеров. Обычным людям, как правило, не нужно. > Нужно > там, где есть Lustre, InfiniBand и необходимость строить быстрые > числодробилки. Ядро мёртвое, рекомендуется hpc-skif. > ovz - Ядро с поддержкой OpenVZ. > rt - Ядро real time. Собрано с поддержкой xenomai > (http://www.xenomai.org). > sec - Ядро с поддержкой grsec (http://www.grsecurity.net). > std - Обычное ядро, с которым мы сравнивает все остальные. > Вторая часть имени сборки: > std - Обычное вариант этой сборки. > rhel - Ядро, собранное с патчами от RHEL. > smp - Пока так и не понятно, чем отличается от def и std. Сейчас в большинстве случаев уже ничем - в связи с распространением многоядерных процессоров без SMP уже никуда. > up - Что это? Это ядра без поддержки многопроцессорных и многоядерных конфигураций; сейчас на x86 мало кому нужны, кроме специфических случаев (например, сборка под конкретное железо с выжиманием последних процентов скорости от убирания NOP, вставляемых SMP Alternatives при отключении поддержки SMP). > def - default. Что такое default? Вариант по умолчанию, используемый обычно, если нет весомых причин для выбора какого-то другого. > 5.1 (пишу только отличающиеся): > Первая часть имени сборки: > el - То же, что и rhel. > un - Что это? > Вторая часть имени сборки: > up - Что это? На самом деле структура этих имён не столь аккуратная, как хотелось бы. Изначально складывалось, что первая часть имени соответствует применённым к коду ядра патчам, добавляющим те или иные функции, а вторая - варианту конфигурации, при этом ядра с совпадающей первой частью имени фактически собираются из одного и того же исходного кода. В связи с этим, например, пакет kernel-doc-std собирался один для вариантов ядер std-up и std-smp (тогда разделение было ещё таким - по наличию поддержки многопроцессорных/многоядерных конфигураций). Сейчас местами такая схема нарушилась (правда, там, где она нарушена, тот же пакет kernel-doc-*, похоже, просто перестали собирать). Для второй части имени сборки пропущен один важный вариант, который, правда, существует только для 32-битной сборки (i586): pae - ядро с поддержкой Physical Address Extension (PAE), позволяющее адресовать в 32-разрядном режиме более 4 ГБ физической памяти (теоретически до 64 ГБ). Этот вариант ядра нужен для полного использования >= 4 ГБ ОЗУ в 32-разрядной системе; для 32-разрядного ядра без PAE в этом случае будет доступно от 2 до 3,5 ГБ ОЗУ в зависимости от настроек BIOS. Собирать оба варианта приходится из-за того, что ядро с поддержкой PAE не может запускаться на процессорах, не поддерживающих PAE, а в эту категорию, помимо совсем уж устаревших сейчас Pentium, попадают также первые версии Pentium M. Для x86_64 подобные ограничения старых процессоров уже неактуальны, поэтому ядер *-pae там нет.