Kernel/History
История
Здесь собраны устаревшие сведения про ядра в ALT Linux, некоторые из которых могут представлять исторический интерес (например, при столкновении с устаревшими версиями ALT). См. этажом выше, если это не ваш случай.
Версии и ветки
В дистрибутивах 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.
SMP/UP
Начиная с версии 2.6.17, ядра в сизифе стали собираться в конфигурации т. н. SMP alternatives, что позволяет более гибко использовать возможности современных CPU (например, hotplug). Обратная сторона этого изменения — отказ от -up сборок ядер. Зато теперь можно избежать еще одного костыля :)
Пора на эту тему FAQ писать. На нынешних ядрах сборка как up _не имеет_ преимущества в скорости перед smp. Ибо соответствующий код в ядре выбирается при старте.
mithraen@
О поддержке большого объёма памяти
(подробнее см. здесь)
В данный момент ситуация такая:
- 2.4 (std-up, std-smp, vs-smp) из Master 2.4 поддерживают 4Gb (up) и 64Gb (smp)
- 2.6 из Sisyphus:
- std-smp, wks-smp, ovz-smp, vs-smp: 4Gb;
- std-pae : 64Gb
Причём в wks-smp применяется специальный патч 1gb_lowmem, уменьшающий потери производительности при использовании до 1Gb памяти включительно (HIGHMEM их вносит, предоставляя возможность работать с расширенной памятью как таковой).
Следует обратить внимание на то, что по крайней мере 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. Раньше еще практиковались т. н. -up сборки, для систем с одним процессором, каковые сборки сейчас неактуальны (см. выше).
patch-o-matic
Был приложен по необдуманной просьбе mike@ к 2.4.18 из ALM2.0, вследствие чего при очередном обновлении ядра в updates что-то где-то немного изменилось и разъехался ABI, вследствие чего команда iptables до пересборки падала по segmentation fault.
Старая таблица вариантов
Были известны 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) | ядра с поддержкой технологии виртуализации linux vserver. Еще приложен патч, позволяющий реализовать non-executable stack либо программно, либо процессорными средствами (на x86-64). | Сервера (системы), где необходимо организовывать виртуальные сервера в рамках одной аппаратной платформы. В настоящий момент живет только в git’е у lakostis@, но скоро будет в сизифе |
ovz | 2.6 (smp/pae?) | Сборка с поддержкой технологии виртуализации OpenVZ. Еще приложен патч, позволяющий реализовать non-executable stack либо программно, либо процессорными средствами (на x86-64). | Сервера или рабочие станции, где требуются повышенная безопасность и контроль ресурсов, а также запуск нескольких контекстов (возможно, с различными дистрибутивами Linux в них) |
el | def | Дерево исходных текстов ядра из RHEL6 | Сервера или рабочие станции, где требуются LTS-ядро. На i586 включено PAE. |
el7 | def | Дерево исходных текстов ядра из RHEL7 | Сервера или рабочие станции, где требуются LTS-ядро. На i586 включено PAE. |
xen | dom0 | Поддержка технологии виртуализации Xen. | Сервера или рабочие станции, где требуются повышенная безопасность и контроль ресурсов, а также запуск нескольких (возможно, различных) ОС |
Дерево исходников | Варианты сборки | Особенности | Назначение |
---|---|---|---|
led | vs, ws, xen | LTS-ядра имени led@. | Основываются на openSUSE-шных, сопровождаются с патченьем в стиле vsu@. Несколько отличающийся набор kernel-modules с более тонкой порезкой (аналогичные имеют Provides: к тем, что в std-def).
|
tmc | tc | Ядро для тонких клиентов ALTSP | Входит в состав дистрибутивов терминального сервера, не предполагается к установке на рабочие станции и тем более серверы. i586 only, поддерживает одно ядро одного процессора (отключена поддержка SMP), не поддерживает PAE (работает на Pentium), отключена сборка драйверов для множества нетипичного для задачи оборудования. |
pure-emerald | Mainline с kernel.org (на 2012-09-28 это 3.6-rc7) | Предназначено для любителей свежатины и экспериментаторов, а также для счастливых обладателей неподдерживаемого старыми ядрами железа, а также для всех бесстрашных и сильных духом.
Также используется gns@ в нетбучном live дистрибутиве. | |
hpc | skif | Ядро для суперкомпьютера СКИФ (http://skif.pereslavl.ru/skif). hpc - Ядро для суперкомпьютеров (High Performance Computing). Обычным людям, как правило, не нужно, нужно там, где есть Lustre, InfiniBand и требуется наличие Performance Monitoring Counters. |
Summary: и %description соответствующих пакетов (предложение)
Сборка ядра
Устаревшие на данный момент инструкции по сборке своего ядра:
- Alexei Mezin;
- Afanasov Dmitry
- Sisyphus:devel/KernelCVS
- FAQ