- Kernel (Русский)
- Contents
- Официальные ядра
- Компиляция
- Ядра kernel.org
- Неофициальные ядра
- Отладка регрессий
- Mainline – Another Tool to Install Latest Kernel in Ubuntu / Linux Mint
- How to install Mainline in Ubuntu:
- Uninstall:
- Что такое mainline linux
- Latest commit
- Git stats
- Files
- README.md
- About
- Ubuntu Wiki
- MainlineBuilds
- Introduction
- How do I install an upstream kernel?
- Prepare OS to install an upstream kernel
- Choose the proper upstream kernel files
- Download upstream kernel files from the Ubuntu archive
- Install all upstream kernel files
- Problems installing upstream kernels
- Virtualbox
- Unsatisfied dependencies
- Other install errors
- Uninstalling upstream kernels
- Mainline kernel build toolchain
- Mainline kernel mapping to Ubuntu kernel
- Support (BEWARE: there is none)
- Kernel source code trees
- Verifying mainline build binaries
- Upstream kernel details
- Can I install and use a mainline kernel in a live environment?
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. Содержит улучшения производительности и безопасности.
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 , после чего сообщите о нём в баг-трекер ядра. Важно проверять ванильное непропатченное ядро, чтобы убедиться, что причиной ошибки является не патч. Если проблемы вызывает патч, то сообщите об этом его автору.
Источник
Mainline – Another Tool to Install Latest Kernel in Ubuntu / Linux Mint
Mainline is a graphical tool to install the latest mainline Kernel in Ubuntu, Linux Mint, and derivatives.
Mainline (Ubuntu Mainline Kernel Installer) is an open-source fork of ukuu, which now is pay for use. It offers a simple interface with updated list of the “mainline” Kernels, allows to one-click install, remove, or purge Kernels in Ubuntu-based distributions.
- Fetches list of available kernels from Ubuntu Mainline PPA
- Optionally watches and displays notifications when a new kernel update is available
- Downloads and installs packages automatically
- Display available and installed kernels conveniently
- Install/remove kernels from gui
- For each kernel, the related packages (headers & modules) are installed or removed at the same time
How to install Mainline in Ubuntu:
NOTE: The mainline kernels are provided by Ubuntu Kernel Team for testing and debugging purposes. They are not supported and are not appropriate for production use. You should only install these if they may fix a critical problem you’re having with the current kernel.
The software has an official PPA so far contains packages for Ubuntu 18.04, Ubuntu 19.10, Ubuntu 20.04, and derivatives.
1.) To add the PPA, open terminal from system application launcher and run command:
2.) Then check updates and install the tool via commands:
Uninstall:
To remove the PPA, run command:
To remove the Ubuntu Mainline Kernel Installer, run command:
Источник
Что такое mainline linux
A continuation of the free version of ukuu.
This branch is not ahead of the upstream master.
No new commits yet. Enjoy your day!
Latest commit
Git stats
Files
Failed to load latest commit information.
README.md
Ubuntu Mainline Kernel Installer
This is a tool for installing the latest mainline Linux kernel on Ubuntu-based distributions.
- Fetches list of available kernels from Ubuntu Mainline PPA
- Optionally watches and displays notifications when a new kernel update is available
- Downloads and installs packages automatically
- Display available and installed kernels conveniently
- Install/Uninstall kernels from gui
- For each kernel, the related packages (headers & modules) are installed or uninstalled at the same time
Downloads & Source Code
mainline is written using Vala and GTK3. Source code and binaries are available from the GitHub project page.
mainline is a fork of ukuu
The original author stopped maintaining the original GPL version of ukuu and switched to a paid license for future versions.
Enhancements / Deviations from the original author’s final GPL version
- (from stevenpowerd) Options controlling the internet connection check
- (from cloyce) Option to include or hide pre-release kernels
- Changed name from «ukuu» to «mainline»
- Removed all GRUB options
- Removed all donate buttons, links, dialogs
- Remove source cruft
- Better temp and cache directory behavior
- Better desktop notification behavior
- Make the notification bg process detect when the user logs off and exit itself.
- Save & restore window dimensions.
- Move the notification/dbus code into the app and make an «applet mode»
About
A continuation of the free version of ukuu.
Источник
Ubuntu Wiki
MainlineBuilds
Introduction
By default, Ubuntu systems run with the Ubuntu kernels provided by the Ubuntu repositories. However it is handy to be able to test with unmodified upstream kernels to help locate problems in Ubuntu kernel patches, or to confirm that upstream has fixed a specific issue. To this end we now offer select upstream kernel builds. These kernels are made from unmodified kernel source but using the Ubuntu kernel configuration files. These are then packaged as Ubuntu .deb files for simple installation, saving you the time of compiling kernels, and debugging build issues.
These kernels are not supported and are not appropriate for production use.
How do I install an upstream kernel?
Following these steps in order will help you successfully test an upstream kernel.
Prepare OS to install an upstream kernel
First, if one is using select proprietary or out-of-tree modules (e.g. bcmwl, fglrx, NVIDIA proprietary graphics drivers, VirtualBox, etc.) unless there is an extra package available for the version you are testing, you will need to uninstall the module first, in order to test the mainline kernel. If you do not uninstall these modules first, then the upstream kernel may fail to install, or boot.
Choose the proper upstream kernel files
The build directories are nicely organized into per architecture groups. For example, if one is using a 64-bit/amd64 architecture and wants the generic kernel version you would want those files marked A, from the appropriate group.
If you want the low latency version, B.
Download upstream kernel files from the Ubuntu archive
Few things can compromise the security of a Linux system worse than a compromised kernel
We urge you to carefully verify the integrity of any and all downloaded kernel packages as explained below.
The Mainline kernel archive has a directory for each tagged release version, with packages for the generic and lowlatency configurations inside.
Note: If you are testing to isolate a bug or regression, please do not use the daily folder. Instead, use the latest mainline kernel at the top from the link above.
Install all upstream kernel files
Execute the following command against each of the downloaded files in a terminal of your choosing:
If no errors show up, reboot while holding Shift then select «Advanced options for Ubuntu», then select and boot into the new entry that looks something like:
Problems installing upstream kernels
Virtualbox
Some errors that may occur while attempting to install an upstream kernel are the result of VirtualBox being installed. For example,
As per above, you need to either install the modules-extra package, if available, or uninstall VirtualBox.
Unsatisfied dependencies
A failure to install can also result from the installed version of Ubuntu lacking the newer packages the upstream kernel is dependent on for the install to succeed. For example,
If you already have the package referenced by the error message (in this instance, libssl1.1) installed but the version number is beneath the new kernel’s requirements, then you would first need to upgrade your Ubuntu installation to a newer release. However, if libssl1.1 is not installed at all, and the version that comes with your release is sufficient, then install libssl1.1.
Other install errors
If for some reason the kernel you attempted to build failed, and it’s not due to the above, then continue to test the next most recent kernel version until you can test to the issue.
Uninstalling upstream kernels
The upstream kernels have their own ABI namespace, so they install side by side with the stock Ubuntu kernels (each kernel has a separate directory under /lib/modules/VERSION for example). This means that you can keep several mainline and Ubuntu stock kernels installed at the same time and select the one you need from the GRUB boot menu.
If you want to uninstall an upstream kernel once your need for installing it has abated, execute the following to find the exact name of the kernel packages you need to uninstall:
and then execute the following to uninstall them:
Remember that several packages can belong to one kernel version; common headers plus the architecture specific headers, image and modules are to be expected at a minimum.
Mainline kernel build toolchain
These kernels are built with the toolchain (gcc, g++, etc.) from the previous Ubuntu LTS release. (e.g. Ubuntu 14.04 «Trusty Tahr» / 16.04 «Xenial Xerus» / 18.04 «Bionic Beaver», etc.) Therefore, out-of-tree kernel modules you already have built and installed for use with your release kernels are not likely to work with the mainline builds.
Mainline kernel mapping to Ubuntu kernel
The Ubuntu kernel is not bit-for-bit the same as the mainline. However, one may find the upstream release that the Ubuntu kernel is based on via the Ubuntu to mainline mapping table.
Support (BEWARE: there is none)
The mainline kernel builds are produced for debugging purposes and therefore come with no support. Use them at your own risk.
Kernel source code trees
In each directory of the above-linked archive there is a file named COMMIT which defines the base commit in Linus Torvalds’ master tree from which they were built. The patches in the same directory . -* are applied on top of this commit to make the build tree. A mirror of Linus’ tree is available from git://kernel.ubuntu.com/virgin/linux.git.
First download the COMMIT and patch files . -* from the mainline build in question to a temporary directory:
Verifying mainline build binaries
To provide verification that the published builds are 1. built by the Ubuntu mainline build system, and 1. are bit-for-bit identical copies of the files on the server,
the individual files are checksummed and the results are published as a file named CHECKSUMS in the same directory. This file is in turn signed by the mainline builder using the GPG key below, which can be validated against its record from the Ubuntu Keyserver.
The verification can be done by running the following commands:
- Import the above public key to your keyring (if you haven’t already done that):
- Download the CHECKSUMS and CHECKSUMS.gpg files from the build directory and verify if the CHECKSUMS is signed with the above key:
- Verify the checksums of downloaded deb files: You should get a line ending with «OK» for each of downloaded deb file and each type of checksums that are given in the CHECKSUMS file.
Upstream kernel details
We currently build five sets of upstream kernels. All formal tags from Linus’ tree and from the stable trees, plus:
the tip of the drm-next head of Dave Airlie’s linux repository daily,
the tip of the drm-intel-next head of Keith Packard’s linux repository daily until 2012, after which it has been taken over by Daniel Vetter at http://cgit.freedesktop.org/drm-intel/, and in particular, the drm-intel-next branch,
the tip of the master branch of the debloat-testing tree daily,
tags from the combined v2.6.32.x.y tree (by StefanBader) which is v2.6.32.x with DRM from 2.6.33.y.
This makes these kernels closer to the Lucid kernels which are based on 2.6.32 kernels with DRM backported from the 2.6.33 series.
The tagged releases (as made by Linus and the stable maintainers) are found under a directory matching their tag name and which kernel configuration they were built with ( — ).
Daily tip of the tree builds are found in the daily sub-directory named for the date they were made.
Each build directory contains the header and image .deb files for the generic flavour i386 and amd64 architectures, as well lowlatency.
Can I install and use a mainline kernel in a live environment?
No. One has two choices to use a mainline kernel:
- Install the mainline kernel in an installed environment, restart, and choose this newly installed kernel.
- Build a live environment with the new kernel in it. Given the amount of effort involved in doing this, it is easiest to use an installed OS to test the mainline kernel.
Kernel/MainlineBuilds (последним исправлял пользователь roguescholar 2020-03-26 22:30:32)
Источник