Перейти к содержимому

Liquorix kernel что это

  • автор:

Kernel (Русский)

Состояние перевода: На этой странице представлен перевод статьи Kernel. Дата последней синхронизации: 10 июля 2021. Вы можете помочь синхронизировать перевод, если в английской версии произошли изменения.

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

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

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

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

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

  • Stable — «ванильное» ядро Linux с модулями и некоторыми патчами.
  • Hardened — ориентированное на безопасность ядро Linux с набором патчей, защищающих от эксплойтов ядра и пространства пользователя. Содержит больше защитных особенностей, чем linux .
  • Longterm — ядро и модули с долгосрочной поддержкой (Long Term Support, LTS).
  • Zen Kernel — результат коллективных усилий исследователей с целью создать лучшее из возможных ядер Linux для систем общего назначения. Подробности проекта можно найти на сайте liquorix.net (там же можно скачать двоичные файлы Zen-ядра для Debian).

Компиляция

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

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

  • Нестандартное ядро чревато всевозможными проблемами в плане надёжности и стабильности работы, поэтому настоятельно рекомендуется использовать резервное копирование.
  • Arch Linux поддерживает только #Официальные ядра. Если вы работаете с другим ядром, то не забывайте упоминать это в запросах в поддержку.
  • Лучший способ повысить производительность — адаптировать ядро под свою систему, в первую очередь под архитектуру и тип процессора.
  • Если оставить в ядре только действительно нужные вам функции, то удастся уменьшить его размер и, следовательно, время сборки. Например, удалите из него Bluetooth, Video4Linux, 1000Mbit Ethernet и прочие вещи, которые на вашей машине точно не понадобятся.

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

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

Ядра kernel.org

  • Git — ядро Linux, собранное из файлов с исходным кодом из git-репозитория Линуса Торвальдса.
  • Mainline — ядра, в которых появляются все нововведения. Выходят каждые 2-3 месяца.
  • Next — самые новейшие ядра, с улучшениями, которые будут добавлены в следующий mainline-выпуск.
  • Longterm 4.14 — LTS-ядро версии 4.14.
  • Longterm 4.19 — LTS-ядро версии 4.19.
  • Longterm 5.4 — LTS-ядро версии 5.4.
  • Longterm 5.10 — LTS-ядро версии 5.10.
  • Longterm 5.15 — LTS-ядро версии 5.15.

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

  • Ck — патч от Con Kolivas, повышение быстродействия для настольных систем с любым типом нагрузки.
  • Clear — патчи проекта Clear Linux от Intel. Содержит улучшения производительности и безопасности.
  • GalliumOS — ядро Linux с патчами GalliumOS для Хромбуков.
  • Libre — без проприетарных или обфусцированных драйверов устройств.
  • Liquorix — ядро, собранное из исходного кода Zen с настройками для Debian. Разработан для настольных, мультимедийных и игровых систем, часто используется в качестве замены основному ядру Debian. Создатель патча Liquorix, Damentz, также является разработчиком набора патчей Zen.
  • pf-kernel — набор неплохих улучшений, не вошедших в mainline. Сопровождается разработчиком ядра. Предоставляет порты улучшений для новых версий ядра, если они не были выпущены официально. Наиболее важные нововведения — UKSM.
  • Репозиторий, linux-pfAUR от разработчика pf-kernel, post-factum.
  • Realtime kernel — поддерживается небольшой группой разработчиков, возглавляемой Ingo Molnar. Патч позволяет применять kernel preemption практически ко всему ядру за исключением небольших участков кода («raw_spinlock critical regions»). Этого удалось добиться за счёт замены большинства спинлоков ядра на мьютексы с поддержкой наследования приоритета, а также перемещением всех прерываний (в том числе и программных) в потоки ядра.
  • Tkg — ядро с набором патчей для планировщиков PDS и Project C / BMQ. Стандартный планировщик CFS также доступен. Изменения нацелены на улучшение баланса интерактивность/производительность в играх. Автор и сопроводитель — Etienne Juvigny (Tk-Glitch).
  • VFIO — патч ядра от Alex Williamson с поддержкой PCI Passthrough для KVM на некоторых машинах.
  • XanMod — улучшение производительности ядер рабочих станций, игровых компьютеров, медиацентров и других систем. Включает планировщик MuQSS, планировщик ввода-вывода BFQ, алгоритм дедупликации памяти в реальном времени UKSM, алгоритм управления перегрузками TCP BBR, расширенный набор команд для архитектуры x86_64 и другие изменения.

Решение проблем

Паника ядра

Паника ядра (kernel panic) возникает, когда ядро Linux попадает в состояние невосстановимого сбоя. Это состояние обычно возникает из-за ошибок в драйверах оборудования, в результате чего система попадает в deadlock, не реагирует на запросы и требует перезагрузки. Непосредственно перед deadlock генерируется диагностическое сообщение, состоящее из: состояния компьютера, когда произошел сбой, трассировки (call trace), ведущей к функции ядра, распознавшей сбой, и списка загруженных в данный момент модулей. К счастью, паники ядра случаются нечасто при использовании основных версий ядра — таких, которые поставляются из официальных репозиториев — но когда они случаются, необходимо знать, как с ними бороться.

Примечание: Паники ядра иногда называются oops или kernel oops. Хотя и то, и другое возникает в результате сбоя, oops является более общим явлением, поскольку не обязательно приводит к deadlock — иногда ядро может восстановиться после oops, убив проблемную задачу и продолжив работу.

Совет: Передайте параметр ядра oops=panic при загрузке или запишите 1 в /proc/sys/kernel/panic_on_oops , чтобы заставить восстановимый oops выдавать панику. Это рекомендуется сделать, если вас волнует небольшая вероятность получения нестабильной системы после восстановления из oops, что может затруднить диагностику будущих ошибок.

Изучение сообщения паники

Если паника ядра происходит очень рано в процессе загрузки, вы можете увидеть в консоли сообщение «Kernel panic — not syncing:», но после запуска systemd сообщения ядра обычно перехватываются и записываются в системный журнал. Однако, когда возникает паника, диагностическое сообщение, выдаваемое ядром, почти никогда не записывается в файл журнала на диске, потому что компьютер попадает в deadlock до того, как system-journald получит шанс записать журнал. Поэтому единственный способ просмотреть сообщение о панике — это просмотреть его на консоли в момент возникновения (не прибегая к установке kdump crashkernel). Вы можете сделать это, загрузившись со следующими параметрами ядра и попытавшись воспроизвести панику на tty1:

systemd.journald.forward_to_console=1 console=tty1

Совет: Если сообщение о панике прокручивается слишком быстро, попробуйте передать параметр ядра pause_on_oops=секунды при загрузке.

Пример сценария: плохой модуль

Можно сделать предположение о том, какая подсистема или модуль вызывает панику, используя информацию в диагностическом сообщении. В этом сценарии мы имеем панику на некотором воображаемом компьютере во время загрузки. Обратите внимание на строки, выделенные жирным:

kernel: BUG: unable to handle kernel NULL pointer dereference at (null) [1] kernel: IP: fw_core_init+0x18/0x1000 [firewire_core] [2] kernel: PGD 718d00067 kernel: P4D 718d00067 kernel: PUD 7b3611067 kernel: PMD 0 kernel: kernel: Oops: 0002 [#1] PREEMPT SMP kernel: Modules linked in: firewire_core(+) crc_itu_t cfg80211 rfkill ipt_REJECT nf_reject_ipv4 nf_log_ipv4 nf_log_common xt_LOG nf_conntrack_ipv4 . [3] kernel: CPU: 6 PID: 1438 Comm: modprobe Tainted: P O 4.13.3-1-ARCH #1 kernel: Hardware name: Gigabyte Technology Co., Ltd. H97-D3H/H97-D3H-CF, BIOS F5 06/26/2014 kernel: task: ffff9c667abd9e00 task.stack: ffffb53b8db34000 kernel: RIP: 0010:fw_core_init+0x18/0x1000 [firewire_core] kernel: RSP: 0018:ffffb53b8db37c68 EFLAGS: 00010246 kernel: RAX: 0000000000000000 RBX: 0000000000000000 RCX: 0000000000000000 kernel: RDX: 0000000000000000 RSI: 0000000000000008 RDI: ffffffffc16d3af4 kernel: RBP: ffffb53b8db37c70 R08: 0000000000000000 R09: ffffffffae113e95 kernel: R10: ffffe93edfdb9680 R11: 0000000000000000 R12: ffffffffc16d9000 kernel: R13: ffff9c6729bf8f60 R14: ffffffffc16d5710 R15: ffff9c6736e55840 kernel: FS: 00007f301fc80b80(0000) GS:ffff9c675dd80000(0000) knlGS:0000000000000000 kernel: CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 kernel: CR2: 0000000000000000 CR3: 00000007c6456000 CR4: 00000000001406e0 kernel: Call Trace: kernel: do_one_initcall+0x50/0x190 [4] kernel: ? do_init_module+0x27/0x1f2 kernel: do_init_module+0x5f/0x1f2 kernel: load_module+0x23f3/0x2be0 kernel: SYSC_init_module+0x16b/0x1a0 kernel: ? SYSC_init_module+0x16b/0x1a0 kernel: SyS_init_module+0xe/0x10 kernel: entry_SYSCALL_64_fastpath+0x1a/0xa5 kernel: RIP: 0033:0x7f301f3a2a0a kernel: RSP: 002b:00007ffcabbd1998 EFLAGS: 00000246 ORIG_RAX: 00000000000000af kernel: RAX: ffffffffffffffda RBX: 0000000000c85a48 RCX: 00007f301f3a2a0a kernel: RDX: 000000000041aada RSI: 000000000001a738 RDI: 00007f301e7eb010 kernel: RBP: 0000000000c8a520 R08: 0000000000000001 R09: 0000000000000085 kernel: R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000c79208 kernel: R13: 0000000000c8b4d8 R14: 00007f301e7fffff R15: 0000000000000030 kernel: Code: 04 25 00 00 00 00 01 00 00 00 bb f4 ff ff ff e8 73 43 9c ec 48 kernel: RIP: fw_core_init+0x18/0x1000 [firewire_core] RSP: ffffb53b8db37c68 kernel: CR2: 0000000000000000 kernel: ---[ end trace 71f4306ea1238f17 ]--- kernel: Kernel panic - not syncing: Fatal exception [5] kernel: Kernel Offset: 0x80000000 from 0xffffffff810000000 (relocation range: 0xffffffff800000000-0xfffffffffbffffffff kernel: ---[ end Kernel panic - not syncing: Fatal exception
  • [1] Указывает тип ошибки, вызвавшей панику. В данном случае это была ошибка программиста.
  • [2] Указывает, что паника произошла в функции под названием fw_core_init в модуле firewire_core.
  • [3] Указывает, что firewire_core был последним загруженным модулем.
  • [4] Указывает, что функция, вызвавшая функцию fw_core_init, была do_one_initcall.
  • [5] Указывает на то, что это сообщение oops на самом деле является паникой ядра, и система ушла в deadlock.

Мы можем предположить, что паника произошла во время инициализации модуля firewire_core при его загрузке. (Тогда можно предположить, что аппаратное обеспечение компьютера несовместимо с данной версией модуля драйвера firewire из-за ошибки программиста, и придётся ждать новой версии). Тем временем, самый простой способ заставить компьютер снова работать — это предотвратить загрузку проблемного модуля. Это можно сделать одним из двух способов:

  • Если модуль загружается в процессе работы initramfs, перезагрузитесь с параметром ядра rd.blacklist=firewire_core .
  • Иначе перезагрузитесь с параметром ядра module_blacklist=firewire_core .

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

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

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

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

Примечание: Локализация местонахождения бага в коде может занять много времени, поскольку придётся многократно пересобирать ядро.

Смотрите также

  • O’Reilly — Linux Kernel in a Nutshell — электронная книга «Ядро Linux в двух словах».
  • Какую из stable-версий ядра лучше использовать? от Greg Kroah-Hartman.
  • Документация ядра Linux

Как установить или удалить ядро ​​Liquorix Linux Mint

Как установить или удалить ядро ​​Liquorix Linux Mint

Внимание! Номер версии будет отличаться со временем, т.к. ядро ​​Liquorix постоянно получает обновления.

Удаление ядра ​​Liqourix

Чтобы удалить Liquourix Kernel, используйте следующую команду

sudo apt remove linux-image-liquorix-amd64 linux-headers-liquorix-amd64 -y

Можем удалить репозиторий PPA

sudo add-apt-repository --remove ppa:damentz/liquorix -y

Так же может потребоваться удалить Liquorix с помощью следующей команды

sudo apt autoremove linux-image-*.*.-*.*-liquorix-amd64 linux-headers-*.*.*-*.*-liquorix-amd64 --purge

Внимание!
Звездочки заменить на нужную версию ядра. Для этого нам нужно будет узнать точное имя пакета образа и заголовка ядра.
Это можно узнать с помощью следующей команды.

dpkg --list | grep `uname -r`
user@Mint:~$ dpkg --list | grep `uname -r` ii linux-headers-5.17.0-11.1-liquorix-amd64 5.17-14ubuntu1~focal amd64 Header files for Linux 5.17.0-11.1-liquorix-amd64 ii linux-image-5.17.0-11.1-liquorix-amd64 5.17-14ubuntu1~focal amd64 Linux 5.17 for 64-bit PCs

Нужное нам выделено красным цветом.
Теперь команда удаления приобретает следующий вид

sudo apt autoremove linux-image-5.17.0-11.1-liquorix-amd64 linux-headers-5.17.0-11.1-liquorix-amd64 --purge

При удалении ядра появится предупреждение, что если у нас нет старого существующего ядра, к которому можно было бы вернуться, то система может не загрузиться.

Жмём Yes и продолжаем удаление.

После удаления ядра Liquorix, для подстраховки, устанавливаем стандартное ядро Linux

sudo apt install linux-image-generic

После этого перезагружаем систему

Ядро Liquorix (Zen Kernel, Brain Fuck Scheduler, Con Kolivas)

Изображение пользователя DarkneSS.

Ядро Liquorix собрано с патчами от Zen Kernel, они ориентируются на повышение производительности на десктопах. Среди патчей есть знаменитый Brain Fuck Scheduler от не менее знаменитого анестезиолога.

Если Liquorix вас не любит (Forbidden 404), как и меня =) можно использовать зеркало. Добавляем в сорс-лист строку deb http://ftp.belnet.be/mirror/liquorix.net/debian sid main past

В main находится ядро версии 2.6.37, в past — 2.6.36. Я решил установить обе версии и ключ репозитория: sudo aptitude install liquorix-keyrings linux-image-2.6-liquorix-amd64 linux-headers-2.6-liquorix-amd64 linux-headers-2.6.36-3.dmz.2-liquorix-amd64 linux-image-2.6.36-3.dmz.2-liquorix-amd64 amd64 замените на i386, кому нужно — ничего страшного не будет, если ошибётесь: неправильное ядро просто не установится.

Варианты в ppa.

Несмотря на то, что текущая версия ядра в 10.10 — 2.6.35, автоматически собранные модули virtualbox и nvidia работают без ошибок. При установке отработал скрипт (как всегда при установке новой версии ядра) и добавил обе версии в загрузчик. После перезагрузки я приобщился к ядерному дзену, никаких отличий от стандартного ядра ubuntu я (пока?) не заметил, только вот процессор больше не сбрасывает обороты при низкой загрузке =(

Ядро Liquorix: одно из лучших ядер для любого дистрибутива Linux

Ядро Liquorix: одно из лучших ядер для любого дистрибутива Linux

El Ядро ликера является ядро особенный, спроектированный таким образом, что он служит эффективная замена из ядро оригинал любого Распространение Linux (Дистрибутив).

Поскольку его конструкция предназначена для использования лучший доступный исходный код базы ядра и самый оптимальные и совместимые конфигурации об этом для оптимизировать рабочие нагрузки, для наиболее часто используемых или востребованных видов Linux дистрибутив, то есть для рабочий стол, мультимедиа и игры.

Liquorix Kernel: Введение

Или по-другому, Ядро ликера оптимизирован с различными дополнительные настройки для достижения этого дистрибутивы Linux, в которые он интегрирован, имеют производительность выше оригинала. Таким образом, чтобы оборудование (компьютеры), на котором они установлены, получило более высокая производительность en задачи с высоким спросом вычисления, такие как разработка или выполнение мультимедийный контент, развлечения (игры) или общего назначения (автоматизация делопроизводства), но с высокие нагрузки.

Liquorix Kernel: особенности

  • 1 Ядро ликера
    • 1.1 Характеристики и преимущества
      • 1.1.1 главный
      • 1.1.2 вузы
      • 1.2.1 Для обнаружения и решения требований
      • 1.2.2 Установка (только для 64-битных архитектур)

      Ядро ликера

      Характеристики и преимущества

      главный
      • Интегрирует интерактивную настройку Zen: Это упрощает настройку ядра для повышения быстродействия за счет требуемой производительности и энергопотребления.
      • Программист процессов MuQSS: Это обеспечивает более сбалансированный планировщик процессов для игр, мультимедиа и задач с высокой рабочей нагрузкой в ​​реальном времени.
      • Высокая частота тиков: Предлагает более эффективную тактовую частоту 1000 Гц для приложений, чувствительных к задержкам.
      • Реализация RCU на основе иерархического дерева: Это предлагает более оптимальную реализацию RCU (Read Copy Update / Read Copy Update) для систем, работающих в режиме реального времени.
      • Приоритет жесткого ядра: Это дает лучший порядок приоритетов задачам, связанным с интеграцией в него необходимых патчей в реальном времени. Таким образом, чтобы гарантировать лучший отклик системы в сценариях с высокой интенсивностью смешанных рабочих нагрузок.
      • Алгоритм очереди с справедливым бюджетом: Это позволяет использовать подходящий дисковый программатор, оптимизированный для настольных компьютеров, которым требуется высокая производительность и низкая задержка.
      • Контроль перегрузки TCP BBR: Это обеспечивает лучший и более быстрый контроль перегрузки системы, поскольку он максимизирует производительность, гарантируя более высокие скорости, чем традиционный кубический контроль перегрузки (Cubic).
      вузы
      • Установщики для самых популярных дистрибутивов Linux: На его веб-сайте представлены установщики или исходные файлы (двоичные файлы) для Debian во всех его версиях, то есть стабильных (стабильных), тестовых (тестовых) и нестабильных (нестабильных). Для Ubuntu файлы доступны в репозитории Liquorix PPA в той же степени, что и последние доступные файлы для DEBIAN.
      • Идеальный заменитель: Его адекватная конфигурация в стиле каждого дистрибутива Linux, основанная на DEBIAN и Ubuntu, способствует обнаружению и управлению более широким выбором оборудования. Помимо увеличения возможностей области паравиртуализации.
      • Минимальная отладка: Он имеет минимальное количество параметров отладки, позволяющих повысить его производительность.

      требования

      Установка

      Он имеет официальная, простая, быстрая и эффективная процедура ан су официальный сайт, и состоит из выполнения командные приказы следующий:

      Для обнаружения и решения требований

      На ДЕБИАНЕ:

      codename="$(find /etc/apt -type f -name '*.list' | xargs grep -E '^deb' | awk '' | grep -Eo '^[a-z]+' | sort | uniq -c | sort -n | tail -n1 | grep -Eo '[a-z]+$')" && sudo apt-get update && sudo apt-get install apt-transport-https && echo -e "deb http://liquorix.net/debian $codename main\ndeb-src http://liquorix.net/debian $codename main\n\n# Mirrors:\n#\n# Unit193 - France\n# deb http://mirror.unit193.net/liquorix $codename main\n# deb-src http://mirror.unit193.net/liquorix $codename main" | sudo tee /etc/apt/sources.list.d/liquorix.list && curl https://liquorix.net/linux-liquorix.pub | sudo apt-key add - && sudo apt-get update

      В Ubuntu:

      sudo add-apt-repository ppa:damentz/liquorix && sudo apt-get update
      Установка (только для 64-битных архитектур)
      sudo apt-get install linux-image-liquorix-amd64 linux-headers-liquorix-amd64

      Мой личный тест с Liquorix

      После установки «Liquorix Kernel» о моем нынешнем «Distro MX-Linux 19 (patito feo)» , который основан на «DEBIAN 10» , Я мог воспринимать меньшее потребление оперативной памяти приблизительно к 100 MB. Помимо фактического наблюдения более быстрая зарядка системы и лучшая беглость при запуске приложений, особенно Веб-браузер Firefox.

      Следует отметить, что он не заменил ядро по умолчанию в начале GRUB, но добавлен в расширенных параметрах GRUB для ручного запуска. Но его можно активировать как запускаемый по умолчанию, используя «GRUB Customizer» o «Boot Repair» или вручную отредактировав его параметры.

      Заключение

      Заключение

      Мы надеемся на это это полезный небольшой пост на «Liquorix Kernel» , которое является одним из лучших настраиваемых и оптимизированных ядер, доступных на Интернет для любого «Distro Linux» , представляет большой интерес и полезность для всего «Comunidad de Software Libre y Código Abierto» и большой вклад в распространение замечательной, гигантской и растущей экосистемы приложений и для «GNU/Linux» .

      И для получения дополнительной информации не всегда стесняйтесь посещать любой Онлайн-библиотека в качестве OpenLibra y ДжедИТ читать книги (PDF) по этой теме или другим области знаний. А пока, если вам это понравилось «publicación» , не переставай делиться этим с другими, в вашем Любимые веб-сайты, каналы, группы или сообщества социальных сетей, желательно бесплатных и открытых как Мастодонт, или безопасно и конфиденциально, например Telegram.

      Или просто посетите нашу домашнюю страницу по адресу FromLinux или присоединяйтесь к официальному каналу Телеграмма от FromLinux читать и голосовать за ту или иную интересную публикацию на «Software Libre» , «Código Abierto» , «GNU/Linux» и другие темы, связанные с «Informática y la Computación» И «Actualidad tecnológica» .

      Содержание статьи соответствует нашим принципам редакционная этика. Чтобы сообщить об ошибке, нажмите здесь.

      Полный путь к статье: Из Linux » GNU / Linux » Ядро Liquorix: одно из лучших ядер для любого дистрибутива Linux

      12 комментариев, оставьте свой

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *