- Kernel/History
- Версии и ветки
- SMP/UP
- О поддержке большого объёма памяти
- patch-o-matic
- Старая таблица вариантов
- Сборка ядра
- Kernel/History
- Версии и ветки
- SMP/UP
- О поддержке большого объёма памяти
- patch-o-matic
- Старая таблица вариантов
- Сборка ядра
- Разновидности ядер в ALT Linux
- Основные
- Дополнительные
- Специализированные
- Сторонние
- Неактуальные
- Полезное
- Пакет kernel-image-std-def: Информация
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. Ибо соответствующий код в ядре выбирается при старте.
О поддержке большого объёма памяти
В данный момент ситуация такая:
- 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.
Старая таблица вариантов
Внимание! эта таблица устарела и предлагается только в качестве исторического материала; более современная информация доступна на Kernels/Flavours.
Были известны std, std26 (standard), om (OpenMosix), vs, vs26 (VirtualServer), wks, wks26, ll, ovz; из них om, vs, vs26 и ovz штатно собирались только для SMP-систем, остальные доступны для UP/SMP. По состоянию на 03.01.2007 в Sisyphus имеются:
Note:: Существует также kernel-suspend2 подверсия ядра std-smp, поддерживаемая Shrek`ом, отличающиеся поддржкой suspend2
- led-ws — для рабочих станций
- led-vs — для серверов (с поддержкой linux-vserver)
- led-xen — для серверов виртуализации Xen
Также используется gns@ в нетбучном live дистрибутиве.
Сборка ядра
Устаревшие на данный момент инструкции по сборке своего ядра:
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. Ибо соответствующий код в ядре выбирается при старте.
О поддержке большого объёма памяти
В данный момент ситуация такая:
- 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.
Старая таблица вариантов
Внимание! эта таблица устарела и предлагается только в качестве исторического материала; более современная информация доступна на Kernels/Flavours.
Были известны std, std26 (standard), om (OpenMosix), vs, vs26 (VirtualServer), wks, wks26, ll, ovz; из них om, vs, vs26 и ovz штатно собирались только для SMP-систем, остальные доступны для UP/SMP. По состоянию на 03.01.2007 в Sisyphus имеются:
Note:: Существует также kernel-suspend2 подверсия ядра std-smp, поддерживаемая Shrek`ом, отличающиеся поддржкой suspend2
- led-ws — для рабочих станций
- led-vs — для серверов (с поддержкой linux-vserver)
- led-xen — для серверов виртуализации Xen
Также используется gns@ в нетбучном live дистрибутиве.
Сборка ядра
Устаревшие на данный момент инструкции по сборке своего ядра:
Разновидности ядер в ALT Linux
Примечание: В полном названии пакета с ядром его разновидность (или «флейвор«) указывается после kernel-image- (например, для ядра «kernel-image-std-def» флейвор, это «std-def»). ☝ При этом, так исторически сложилось и в таблицах ниже, флейвор делится на две части по дефису — первая часть называется «дерево исходников» (первый столбец), вторая часть, если она есть, называется «вариант сборки» (второй столбец), (например, для флейвора с названием «std-def» дерево исходников, это «std», а вариант сборки, это «def»). Где «дерево исходников» подразумевает различие в версии ядра (как правило это различие в мажорной версии, например, стабильные ядра на базе v5.15, v5.10), а «вариант сборки» отличается конфигурацией и/или патчами.
Основные
Поддерживаются для соответствующих дистрибутивов; рекомендуются к применению. Как правило, эти ядра обновляются каждую неделю (следуя за обновлениями апстрима) и содержат критические обновления.
В бранчах (платформах) версия может быть более ранним longterm, как правило, это longterm версия, которая была на момент выпуска бранча и которая продолжает поддерживаться.
Стоит отметить, что перед переходом на следующую мажорную версию стабильного ядра (первые две цифры версии) есть задержка в несколько минорных (третья цифра версии) релизов — для стабилизации.
Для ядер std-def и un-def есть дополнительные пакеты с отладочной информацией для разработчиков — название пакетов имеет суффикс -debuginfo к основному названию — для его установки требуется включить компонент debuginfo. (Пример названия такого пакета для ядра std-def — kernel-image-std-def-debuginfo .) Эти пакеты огромные и легко могут быть в 20 раз больше самого ядра, так что просто так их ставить не рекомендуется, для работы ядра они не требуются!
Дополнительные
Поддерживаются для особых случаев; могут не оправдать надежд в иных случаях.
Дерево исходников Варианты сборки Особенности Назначение std debug Экспериментально-отладочное ядро Ядро со включенными различными DEBUG опциями, предназначено для сбора дополнительной информации о проблемах ядра или модулей. Эти опции значительно влияют на производительность системы. (Присутствует только в Сизифе.) ovz el7 Поддержка технологии виртуализации OpenVZ 7 поверх ядра RHEL7. Сервера или рабочие станции, где требуются повышенная безопасность и контроль ресурсов, а также запуск нескольких контекстов (возможно, с различными дистрибутивами Linux в них). (Только для x86-64) centos Ядро CentOS Stream 9. https://lists.altlinux.org/pipermail/devel/2021-November/215971.html Специализированные
Для отдельных случаев (чаще всего, для архитектур второго уровня поддержки и SoC-конфигураций) выпускаются ядра из отдельного дерева исходников со своим патчсетом и/или со специализированным набором модулей.
В Сизифе — ядро с PREEMPT_RT на базе std-def (для x86-64 и aarch64).
Предназначено для промышленных и отзывчивых систем (например LinuxCNC), обработки звука и т.п.
Сторонние
Представленные вне проекта sisyphus ядра (подробности по текущему состоянию лучше узнавать в рассылках на http://lists.altlinux.org/):
- lakostis@ (август 2019: 5.2.0-lks-wks)
сборка переехала в gitlab после 2022 года и результаты публикуются здесь: new — lakostis@- livecd
- рассылка
Неактуальные
Некоторые разновидности по разным причинам исчезли или собираются исчезнуть (см. тж. здесь):
- vs (Linux-VServer) объявлено устаревшим в пользу ovz
- wks (workstation), led-*, tmc-*, el*-def объявлены неподдерживаемыми в сизифе
- ovz-el: |Поддержка технологии виртуализации OpenVZ поверх ядра RHEL6. |Сервера, где требуются повышенная безопасность и контроль ресурсов, а также запуск нескольких контекстов (возможно, с различными дистрибутивами Linux в них). (Последнее обновление 2019 г. p8, только для x86-64)
Полезное
Пакет kernel-image-std-def: Информация
Список rpm-пакетов, предоставляемых данным srpm-пакетом:
kernel-doc-std (noarch)
kernel-headers-modules-std-def (x86_64, ppc64le, i586, armh, aarch64)
kernel-headers-std-def (x86_64, ppc64le, i586, armh, aarch64)
kernel-image-domU-std-def (x86_64, i586)
kernel-image-domU-std-def-debuginfo (x86_64, i586)
kernel-image-std-def (x86_64, ppc64le, i586, armh, aarch64)
kernel-image-std-def-checkinstall (x86_64, ppc64le, i586, armh, aarch64)
kernel-image-std-def-debuginfo (x86_64, ppc64le, i586, armh, aarch64)
kernel-modules-drm-ancient-std-def (x86_64, ppc64le, i586, armh, aarch64)
kernel-modules-drm-ancient-std-def-debuginfo (x86_64, ppc64le, i586, armh, aarch64)
kernel-modules-drm-nouveau-std-def (x86_64, ppc64le, i586, armh, aarch64)
kernel-modules-drm-nouveau-std-def-debuginfo (x86_64, ppc64le, i586, armh, aarch64)
kernel-modules-drm-std-def (x86_64, ppc64le, i586, armh, aarch64)
kernel-modules-drm-std-def-debuginfo (x86_64, ppc64le, i586, armh, aarch64)
kernel-modules-staging-std-def (x86_64, ppc64le, i586, armh, aarch64)
kernel-modules-staging-std-def-debuginfo (x86_64, ppc64le, i586, armh, aarch64)- Сборочные зависимости:
- /usr/bin/sphinx-build
- banner
- bc
- dwarves >= 1.16
- flex
- fontconfig
- gcc13
- gcc13-c++
- gcc13-plugin-devel
- iproute2
- kernel-source-6.1
- kmod
- rpm-build-kernel
- python3-module-sphinx
- python3-module-sphinx_rtd_theme
- libmpc-devel
- rpm-build-vm-run >= 1.30
- ltp >= 20210524-alt2
- lzma-utils
- libdb4-devel
- openssl
- openssl-devel
- libelf-devel
- perl-Pod-Usage
- rsync
- libgmp-devel
- zlib-devel