Arch linux как установить zen ядро

Kernel (Русский)

Ядро Linux — ядро операционной системы, соответствующее стандартам POSIX, составляющее основу операционных систем семейства Linux.

Дистрибутив Arch Linux основан на ядре Linux. Помимо основной стабильной (stable) версии в Arch Linux можно использовать некоторые альтернативные ядра. В статье описываются доступные в официальных репозиториях версии ядер, возможные патчи, а также способы, которыми пользователи могут скомпилировать собственное ядро.

Пакет ядра устанавливается в файловую систему в каталоге /boot/ . Для загрузки нужного ядра при запуске системы необходимо соответствующим образом настроить загрузчик.

Contents

Официальные ядра

Помощь при работе с официальными ядрами можно найти на форуме и в баг-трекере.

  • Stable — «ванильное» ядро Linux с модулями и некоторыми патчами.

https://www.kernel.org/ || linux

  • Hardened — ориентированное на безопасность ядро Linux с набором патчей, защищающих от эксплойтов ядра и пространства пользователя. Содержит больше защитных особенностей, чем linux .

https://github.com/anthraxx/linux-hardened || linux-hardened

  • Longterm — ядро и модули с долгосрочной поддержкой (Long Term Support, LTS).

https://www.kernel.org/ || linux-lts

  • Zen Kernel — результат коллективных усилий исследователей с целью создать лучшее из возможных ядер Linux для систем общего назначения. Подробности проекта можно найти на сайте liquorix.net (там же можно скачать двоичные файлы Zen-ядра для Debian).

https://github.com/zen-kernel/zen-kernel || linux-zen

Компиляция

Скомпилировать собственное ядро можно двумя способами:

/Arch Build System Преимущества — наличие готового PKGBUILD для пакета linux и удобство системы управления пакетами. /Традиционная компиляция Ручная загрузка архива файлов с исходными кодами ядра и их компиляция.

Файлы конфигурации пакетов с ядрами Arch можно найти в исходниках (например, файл [1] из linux ). Если включена опция ядра CONFIG_IKCONFIG_PROC , то файл /proc/config.gz содержит настройки ядра, которое работает на вашей машине в данный момент.

Некоторые из перечисленных пакетов могут быть также доступны в двоичном виде в неофициальных репозиториях.

Ядра kernel.org

  • Git — ядро Linux, собранное из файлов с исходным кодом из git-репозитория Линуса Торвальдса.

https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git || linux-gitAUR

  • Mainline — ядра, в которых появляются все нововведения. Выходят каждые 2-3 месяца.

https://www.kernel.org/ || linux-mainlineAUR

  • Next — самые новейшие ядра, с улучшениями, которые будут добавлены в следующий mainline-выпуск.

https://www.kernel.org/doc/man-pages/linux-next.html || linux-next-gitAUR

  • Longterm 4.4 — LTS-ядро версии 4.4.

https://www.kernel.org/ || linux-lts44AUR

  • Longterm 4.9 — LTS-ядро версии 4.9.

https://www.kernel.org/ || linux-lts49AUR

  • Longterm 4.14 — LTS-ядро версии 4.14.

https://www.kernel.org/ || linux-lts414AUR

  • Longterm 4.19 — LTS-ядро версии 4.19.

https://www.kernel.org/ || linux-lts419AUR

  • Longterm 5.4 — LTS-ядро версии 5.4.

https://www.kernel.org/ || linux-lts54AUR

Неофициальные ядра

  • Aufs — совместимое с aufs ядро Linux. Полезно при работе с Docker.

http://aufs.sourceforge.net/ || linux-aufsAUR

  • Ck — патч от Con Kolivas, повышение быстродействия для настольных систем с любым типом нагрузки.

http://ck.kolivas.org/ || linux-ckAUR

  • Clear — патчи проекта Clear Linux от Intel. Содержит улучшения производительности и безопасности.
Читайте также:  Linux расширить том lvm

https://github.com/clearlinux-pkgs/linux || linux-clearAUR

  • GalliumOS — ядро Linux с патчами GalliumOS для Хромбуков.

https://github.com/GalliumOS/linux || linux-galliumosAUR

  • Libre — без проприетарных или обфусцированных драйверов устройств.

https://www.fsfla.org/ikiwiki/selibre/linux-libre/ || linux-libreAUR

  • Liquorix — ядро, собранное из исходного кода Zen с настройками для Debian. Разработан для настольных, мультимедийных и игровых систем, часто используется в качестве замены основному ядру Debian. Создатель патча Liquorix, Damentz, также является разработчиком набора патчей Zen.

https://liquorix.net || linux-lqxAUR

  • MultiPath TCP — ядро с поддержкой Multipath TCP.

https://multipath-tcp.org/ || linux-mptcpAUR

  • pf-kernel — набор неплохих улучшений, не вошедших в mainline. Сопровождается разработчиком ядра. Предоставляет порты улучшений для новых версий ядра, если они не были выпущены официально. Наиболее важные нововведения — UKSM и планировщик процессорного времени PDS.

https://gitlab.com/post-factum/pf-kernel/wikis/README || Пакеты:

  • Репозиторий разработчика pf-kernel, post-factum.
  • Репозиторий с пакетами linux-pfAUR и linux-pf-preset-defaultAUR от создателя форка pf-kernel, Thaodan.
  • linux-pf-gitAUR от yurikoles
  • Realtime kernel — поддерживается небольшой группой разработчиков, возглавляемой Ingo Molnar. Патч позволяет применять kernel preemption практически ко всему ядру за исключением небольших участков кода («raw_spinlock critical regions»). Этого удалось добиться за счёт замены большинства спинлоков ядра на мьютексы с поддержкой наследования приоритета, а также перемещением всех прерываний (в том числе и программных) в потоки ядра.

https://wiki.linuxfoundation.org/realtime/start || linux-rtAUR , linux-rt-ltsAUR

  • Tkg — ядро с набором патчей для планировщиков PDS и Project C / BMQ. Стандартный планировщик CFS также доступен. Изменения нацелены на улучшение баланса интерактивность/производительность в играх. Автор и сопроводитель — Etienne Juvigny (Tk-Glitch).

https://github.com/Frogging-Family/linux-tkg || not packaged? search in AUR

  • VFIO — патч ядра от Alex Williamson с поддержкой PCI Passthrough для KVM на некоторых машинах.

https://lwn.net/Articles/499240/ || linux-vfioAUR , linux-vfio-ltsAUR

  • XanMod — улучшение производительности ядер рабочих станций, игровых компьютеров, медиацентров и других систем. Включает планировщик MuQSS, планировщик ввода-вывода BFQ, алгоритм дедупликации памяти в реальном времени UKSM, алгоритм управления перегрузками TCP BBR, расширенный набор команд для архитектуры x86_64 и другие изменения.

https://xanmod.org/ || linux-xanmodAUR

Отладка регрессий

Прежде всего проверьте ядро linux-mainline AUR на предмет того, не была ли проблема уже решена. В прикреплённом комментарии указан репозиторий с уже собранными ядрами, так что собирать ядро вручную не придётся.

Если проблема проявляется не слишком часто, то имеет смысл попробовать LTS-ядро ( linux-lts ). Старые версии LTS-ядер можно найти в архиве Arch Linux.

Если избавиться от проблемы не удалось, попробуйте локализовать баг в linux-git AUR , после чего сообщите о нём в баг-трекер ядра. Важно проверять ванильное непропатченное ядро, чтобы убедиться, что причиной ошибки является не патч. Если проблемы вызывает патч, то сообщите об этом его автору.

Источник

Zen Kernel — зачем ползать если можно летать?

Уже около месяца в моем Arch Linux крутится zen kernel. Довольно неплохо обработанное напильником, с кучей пачтей и дополнительных фич не входящих в ванильное ядро. Сегодня я расскажу что же оно есть такое и чуток углублюсь в дебри 🙂

Читайте также:  Macrium reflect как клонировать windows

Ядро Zen

Zen представляет собой вариант ядра Linux, который предназначен для настольных компьютеров. Это «исправленный» Linux для настольных/не-серверных систем, использует комбинацию нескольких проектов, обновляет код через git-репозиторий, а так же имеет несколько специфичных для Zen вещей стремящихся удовлетворить большинство потребностей пользователей реализовав их в одном ядре. Некоторые примеры слияния кодов это drm-next, wireless-testing, выбор планировщиков CPU (CFS/BFS), BFQ планировщик ввода-вывода, aufs, unionfs, reiser4, tuxonice, PHC, и многие другие замечательные вещи которые замечательно подойдут для улучшения настроек настольных или ноутбук систем или просто код улучшающий производительность настольных систем. Однако объединенный код может изменится в любой момент. Так же, «передовые технологии» такие как drm-next, wireless-testing, linux-2.6.git, или что-то другое по сути дела являющееся «передовыми разработками» слиты с кодом только в нестабильной ветке (zen.git).

Основной целью является удовлетворение запросов людей в различных областях, запускающих ядро Linux на непроизводственных машинах . Эти области включают в себя производительность, драйверы/новейшие драйверы, и новые «фичи» (новые возможности могут включать в себя все — от файловых систем до tuxonice). Вторая цель — предоставление тестового полигона для новинок включаемых, но не принятых в основное ядро Linux. Это обеспечивает разработчиков такого кода большой базой тестеров которые особенно ценны, когда необходимо поправить несколько ошибок в скрипте, или найти проблемы при работе на различном оборудовании.

Что включено в Zen-ядро?

Код включаемый в zen ядро может быть разным в разное время. Несколько примеров проектов которые были последовательно объединены с zen: bfs/zen-sched, bfq i/o планировщик, aufs, reiser4, tuxonice, smapi, linux PHC, mactel, gc-linux, fbcondecor, cko, и другие. Это не точный список того что указано на сайте, и он может изменяться от релиза к релизу.

Если вам интересно знать что включается в zen ядро в любой момент времени, посетите gitweb и прочитайте, или поищите в логах git. Интерфейс gitweb отображает все вносимые правки с пояснениями к ним, а так же все ветки которые существуют в дереве. Эта информация отображается для текущей ‘master’ ветки дерева и для любой существующей метки (вы так же можете вернуться назад и посмотреть старые релизы).

Как альтернатива этому — это подробная документация включающая даже документацию к проектам включенным в Zen ядро, она может быть найдена на странице Документации.

Отличие между zen.git и zen-stable.git

Zen-Stable.git

  • Создается на основе последнего стабильного ядра: нет RC ядер (2.6.X.Y)
  • Не имеет репозитория новинок для будущего слияния с основным кодом (нет drm-next, sound-2.6.git, wireless-testing, или любых других «тестовых» деревьев)
  • Не включает код «просто посмотрите работает ли это»
  • Имеет только stable + stable zen метки (нет -rc меток)

Zen.git

  • Берется из linux-2.6.git: -rc/git ядра (2.6.X-rcY)
  • Имеет git-репозиторий нововведений (drm-next, sound-2.6.git, wireless-testing)
  • Новые проекты которые хотят протестить включаются сюда, смотрят как они работают в Zen.git, если все нормально и стабильно то можгут быть включены в zen-stable.git.
  • Только unstable + unstable zen метки (только -rc метки)
Читайте также:  Драйвер для звука для windows 10 pro 64 bit

Вам не требуется клонировать оба zen-stable.git и zen.git если вам хочется использовать оба дерева одновременно! Прочитайте «Как переключаться между zen-stable и zen в одном древе»

Так вы сможете получить все метки (не только -rc или stable метки), и получить оба древа в одном.

Источник

Zen kernel ArchLinux (manjaro linux)

что то я видимо совсем глупый, не могу сам разобраться. напишите кто нибудь инструкцию, как поставить ядро зен или аналогичное с планировщиками bfs/bfq. Я в дебиане пытался пропатчить ядро сам, но как то не хватило мозгов(((( а тут вообще незнакомая система

И будет ли что то с дистрибутивом manjaro (что то полетит), если я пропатчу в нем ядрышко? Спасибо заранее за ответы на мои нуботемы)

в репах есть
читай вики
только смысла особого нет в ядрах этих

у тебя ssd? используй noop и не страдай херней.

На HDD ещё есть ощущение, но с SSD вообще ничего не даёт. А вот с noop плохо кидается на всякие флэшки и прочее. Нет пути.

Слушай, вот у меня на старом hdd и оч старом ноуте (2003) ощущение не просто есть, а я радуюсь и улыбаюсь даже. Скорость с 1-3 мб/с и открытия файликов и папочек, которое занимает 20-30 сек поднялось до 10-15 и открытию за 3-5сек. Я конечно понимаю что это бомжопроблемымы, но иногда нужно этот комп брать, так как негде больше протестить определённое по.

Я не уверен, но вроде в Manjaro BFQ по умолчанию.
Если нет — смотри в сторону pf-kernel.

Ещё советую отключить эффекты в XFWM, или заменить его на что-то легковесное (dwm, Xmonad)

себе пожалуй тоже поставлю.

Так ничего же сложного. Устанавливаешь linux-zen и добавляешь в /boot/grub/grub.cfg (или как там у тебя?) ещё один пункт меню, который будет загружать zen-ядро. Он будет очень похож на твой текущий вариант, кроме строчки с linux /boot/vmlinuz-linux , в которую, само собой, надо дописать что-то типа ‘-zen’: linux /boot/vmlinuz-linux-zen . Посмотри на список файлов в /boot/ после установки linux-zen.

Вот это и не могу, я не панимай как ставят ядра(((. В манах как будто не могу разобраться

Что ты не можешь? Установить пакет linux-zen? — sudo pacman -S linux-zen Или поправить конфиг граба? Скопипасть дефолтный mnuentry, с какого загружаешься и допиши ‘-zen’ к ядру. Или выложи grub.conf и список файлов из /boot/ на http://pastebin.com я тебе сделаю.

Он ставится через пакман?! Я просто только на деб дистрах сидел, но там домашка сложно было делать. А может я просто губас)

Ну у тебя же Арч. Если тебя интересует как ядро было собрано, то можешь пройти по этой ссылке. В Манджаре может по-другому собирают. А может и нет.

Ну, результат зависит от двоих действий. Если ты накосячишь с патчами, то будут проблемы — да.

Источник

Оцените статью