Kernel ubuntu что это

Обновлено: 07.07.2024

The kernel is the software that directly manages your hardware, allowing application libraries and software like GNOME and Firefox to run on many types of hardware without much difficulty. Because the Linux kernel is the core component of a GNU/Linux system, a full restart is required to complete the kernel update.

Types

Ubuntu packages the Linux kernel for a variety of architectures, including several variants of the x86 architecture. These include a 386 version, a 686 version, and versions for the AMD k6 and k7 processors. While most software for x86 processors in Ubuntu is compiled for 386 or better instruction sets, the kernel and a few other packages are specifically compiled for certain processors for speed reasons. Check the package documentation to determine what type of kernel will perform best for your processor.

Versions

Ubuntu currently packages the 3.8 kernel for optimal desktop speed and features.

Some motherboards have more than one processor on them, and some processors have multiple cores. If your computer is like this, then the SMP kernel is for you. Non-SMP kernels will not be able to take advantage of your multiple processors. However, if you do not have multiple processors, the additional code in an SMP kernel will only slow you down. Naturally, Ubuntu provides both SMP and non-SMP kernels for all supported architectures.

PAE (Physical Address Extension) allows the 32 bit version of Ubuntu to access up to 64 Gb of memory and is the standard for all members of the Ubuntu family from release 12.10 and beyond, as the non-PAE version has been dropped. For more on this please see here.

If your hardware does not support PAE, refer to the PAE pages with topics like installing, upgrading and enabling (with) PAE.

HowTo Upgrade or Recompile Kernel

The precompiled kernels that are supplied with your distro should be fine however if you wish to update or optimise (or standardise) for your platform :

1) You can Kernel/Upgrade easily using Ubuntu.

Just press <ENTER> instead of a number if you get stuck on a certain question in the python script.

В данном пошаговом руководстве вы узнаете, как правильно собрать и установить ядро ветвей >2.6 в семействе ОС Ubuntu.

Шаг 1. Получение исходного кода ядра

Исходники ядра Ubuntu можно получить двумя способами:

Установив архив из репозитория, с автоматическим наложением последних официальных патчей. При этом скачается пакет размером

150 Мб в текущую папку. Чтобы получить исходники ядра, версия которого установлена на компьютере выполните команду:

Или вместо `uname -r` можно указать конкретную версию из имеющихся в репозитории.

Список имеющихся в репозитории версий можно увидеть набрав команду: «apt-get source linux-image-» и, не нажимая Enter , нажать два раза клавишу Tab .

Не забудьте включить общий доступ к исходникам в репозитории ( Параметры системы → Программы и обновления → Программное обеспечение Ubuntu → Исходный код ). Из консоли это сделать можно раскомментировав строки начинающиеся с deb-src в файле /etc/apt/sources.list, а затем выполнить обновление командой: «sudo apt-get update».

Самая свежая версия ядра доступна по git. Размер скачиваемого пакета

Где <release codename> - имя релиза, например:

Другие ядра

Архив с базовой версий без патчей, т.е. например «4.8.0», «4.8.10»:

Распакуйте полученный архив, используя команды:

Или в случае с linux-source:

Шаг 2. Получение необходимых для сборки пакетов

Данный шаг необходимо выполнить, только если ядро собирается на компьютере в первый раз

Выполните следующие команды для установки основных пакетов:

Далее всё зависит от того, каким способом вы хотите произвести конфигурацию ядра. Это можно сделать несколькими способами.

config - традиционный способ конфигурирования. Программа выводит параметры конфигурации по одному, предлагая вам установить для каждого из них свое значение. Не рекоммендуется для неопытных пользователей. oldconfig - файл конфигурации создаётся автоматически, основываясь на текущей конфигурации ядра. Рекомендуется для начинающих. defconfig - файл конфигурации создаётся автоматически, основываясь на значениях по-умолчанию. menuconfig - псевдографический интерфейс ручной конфигурации, не требует последовательного ввода значений параметров. Рекомендуется для использования в терминале. xconfig - графический (X) интерфейс ручной конфигурации, не требует последовательного ввода значений параметров. gconfig - графический (GTK+) интерфейс ручной конфигурации, не требует последовательного ввода значений параметров. Рекомендуется для использования в среде GNOME. localmodconfig - файл конфигурации, создающийся автоматически, в который включается только то, что нужно данному конкретному устройству. При вызове данной команды большая часть ядра будет замодулирована localyesconfig - файл конфигурации, похожий на предыдущий, но здесь большая часть будет включена непосредственно в ядро. Идеальный вариант для начинающих.

В случае, если вы хотите использовать config, oldconfig, defconfig, localmodconfig или localyesconfig, вам больше не нужны никакие дополнительные пакеты. В случае же с оставшимися тремя вариантами необходимо установить также дополнительные пакеты.

Для установки пакетов, необходимых для использования menuconfig выполните следующую команду:

Для установки пакетов, необходимых для использования gconfig выполните следующую команду:

Для установки пакетов, необходимых для использования xconfig выполните следующую команду:

Шаг 3. Применение патчей

Официальные патчи уже наложены на исходники, если ядро получалось описанной выше командой:

Если вы никогда до этого не применяли патчей к исходному коду, то выполните следующую команду:

Эта команда установит программу patch, необходимую для, как можно догадаться, применения патчей. Теперь скачайте файл патча в папку, куда вы распаковали ядро. Это может быть либо архивный файл (напр. Bzip2 или Gzip), либо несжатый patch-файл.

На данный момент подразумевается, что вы уже сохранили файл в ту папку, куда ранее распаковали ядро, и установили программу patch.
Если скачанный вами файл был в формате Gzip (*.gz), тогда выполните следующую команду для распаковки содержимого архива:

Если скачанный вами файл был в формате Bzip2 (*.bz2), тогда выполните следующую команду для распаковки содержимого архива:

где 2.6.x.y - версия патча ядра. Соответствующие команды распакуют файл патча в папку с исходным кодом ядра. Прежде чем применить патч, необходимо удостовериться, что он заработает без ошибкок. Для этого выполните команду:

где 2.6.x.y - версия патча ядра. Эта команда сымитирует применение патча, не изменяя сами файлы.

Если при её выполнении не возникнет ошибок, то изменения можно смело внедрять в сами файлы. Для этого выполните команду:

где 2.6.x.y - версия патча ядра. Если не было никаких ошибок, значит к исходному коду был успешно применён патч.

где 2.6.x.y - версия патча и ваших исходников

Шаг 4. Конфигурация будущей сборки ядра

Перейдите в папку, куда вы распаковали ядро, выполнив команду

где 2.6.x.y - версия загруженного вами ядра.

На данный момент вы уже должны были определиться с методом конфигурации ядра (если нет, то ознакомьтесь с ними в разделе «Получение необходимых для сборки пакетов». В зависимости от этого, выполните следующую команду для запуска выбранного вами способа конфигурации:

config - традиционный способ конфигурирования. Программа выводит параметры конфигурации по одному, предлагая вам установить для каждого из них свое значение. Вызывается командой oldconfig - файл конфигурации создаётся автоматически, основываясь на текущей конфигурации ядра. Рекомендуется для начинающих. Вызывается командой defconfig - файл конфигурации создаётся автоматически, основываясь на значениях по-умолчанию для данной конкретной архитектуры. Вызывается командой menuconfig - псевдографический интерфейс ручной конфигурации, не требует последовательного ввода значений параметров. Рекомендуется для использования в терминале. Вызов: gconfig и xconfig - графические конфигураторы для ручной настройки. Вызов: localmodconfig и localyesconfig - автоматические конфигураторы. Конфиг создается на основе вызванных в данных момент модулей и запущенного ядра. Разница между этими двумя конфигураторами в количестве модулей. В первом случае их будет не менее 50% ядра, а во-втором не больше 2 модулей. Вызов:

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

Шаг 5. Сборка ядра

Итак, приготовления завершены. Теперь можно запустить процесс сборки ядра. Чтобы это сделать, выполните команду:

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

Шаг 6. Установка образов и заголовков ядра

Когда сборка ядра подошла к концу, в вашей домашней папке появятся два deb-пакета. Их и необходимо установить. Для этого выполните команды:

где 2.6.x.y - версия собранного ядра, arc - архитектура процессора (i386 - 32-бит, amd64 - 64-бит).
Если вы не знаете точного названия пакета, выведите список файлов в домашнем каталоге командой

и найдите эти самые два пакета.

Шаг 7. Генерация начального RAM-диска

Внимание! Если вы во время сборки ядра добавили ключ –initrd, этот шаг можно пропустить.

Для корректной работы Ubuntu требует наличия образа начального RAM-диска. Чтобы его создать, выполните команду:

где 2.6.x.y - версия собранного ядра.

Шаг 8. Обновление конфигурации загрузчика GRUB

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

Файл menu.lst (для GRUB версии 1) или grub.cfg (для GRUB версии 2) обновится в соответствии с наличием установленных операционных систем и образов ядер.

Этот шаг тоже можно пропустить, потому что во время установки ядра команда update-grub вызывается postinst-скриптом

Шаг 9. Проверка ядра

Сборка и установка ядра успешно выполнены! Теперь перезагрузите компьютер и попробуйте загрузить систему с новым ядром. Чтобы удостовериться, что система запущена с новым ядром, выполните команду

Она выведет на экран используемую версию ядра.

Если всё сделано правильно, то вы можете удалить архивы с исходным кодом и весь каталог linux-2.6.x.y в вашей домашней папке. Это освободит около 5 ГБ на вашем жёстком диске (размер освобождаемого пространства зависит от параметров сборки).

На этом процесс сборки и установки завершён, поздравляю!

And why should I care? А зачем мне об этом беспокоиться?

Начиная с 8 августа 2014 системы с 12.04.2 HWE, 12.04.3 HWE или 12.04.4 HWE больше не будут получать обновлений для ядра и, если он у вас используется, графического стека.

You can: Вы можете:

Tool Утилита

Get it from Launchpad if you want it earlier:

Если она понадобится вам раньше, можете получить её с Launchpad:

Notes on this tool:

Примечания по работе с этой утилитой:

On affected systems, it provides command line instructions for machines not running a graphics stack (typically servers). It will refer you to a graphical tool (update-manager) if a graphics stack is detected (typically desktops).

Packages

Check your running kernel version:

Проверьте версию вашего ядра:

you are affected if it shows a kernel in these series: 3.5 or 3.8 or 3.11 you are not affected if it shows a kernel in these series: 3.2 or 3.13

You have three options:

У вас есть три варианта:

1. Install 12.04.5 HWE (Trusty kernel/graphics)

The hwe-support-status tool will tell you what you need to do.

Инструмент hwe-support-status сообщит вам, что нужно делать.

2. Upgrade to 14.04 LTS

The hwe-support-status tool will tell you what you need to do.

Инструмент hwe-support-status сообщит вам, что нужно делать.

If you want to upgrade a desktop system to 14.04 before July 16, 2014 (the date at which all necessary software components are in the regular -updates repository) you will need to invoke update-manager from the command line:

Если вы хотите обновить систему для настольных компьютеров до 14.04 раньше 16 июля 2014 г. (в этот день все необходимые программные компоненты попадают в стандартные репозитории -updates), вам понадобится запустить update-manager из командной строки:

И для серверов, и для ПК настоятельно рекомендуется убедиться перед обновлением, что система находится в хорошем состоянии. Вот некоторые советы:

Enough free space (2x the size of all installed packages) Run sudo apt-get autoremove to clean up old packages Ensure a reboot works normally (and on dual boot Linux machines, note which operating system controls the bootloader/GRUB) Убедитесь в наличии свободного места (вдвое больше размера всех установленных пакетов) Запустите sudo apt-get autoremove , чтобы очистить кэш от старых пакетов Убедитесь, что система перезагружается нормально (на компьютерах с двойной загрузкой обратите внимание, какая из систем управляет загрузчиком/GRUB)

3. Fresh install of 14.04 LTS "Чистая" установка 14.04 LTS

Redeploy with a fresh copy of Ubuntu 14.04 LTS .

Установите на компьютер свежую копию Ubuntu 14.04 LTS .

FAQ Вопросы и ответы

Not true. Such a system will only stop receiving updates for the kernel and the graphics stack. The rest of the software will continue to get updates. Это не так. Такая система лишь перестанет получать обновления для ядра и графического стека. Остальное ПО по-прежнему будет обновляться.

Not true. 12.04.3 is not 12.04.3 HWE. And since HWE (and thus a new kernel series) cannot be introduced through regular package updates it is possible to update a non-HWE system to arrive at a later point release, such as 12.04.3, and still preserve the EOL date of April 2017. Неверно. 12.04.3 - это не 12.04.3 HWE. And since HWE (and thus a new kernel series) cannot be introduced through regular package updates it is possible to update a non-HWE system to arrive at a later point release, such as 12.04.3, and still preserve the EOL date of April 2017.

At the core of the Ubuntu operating system is the Linux kernel, which manages and controls the hardware resources like I/O (networking, storage, graphics and various user interface devices, etc.), memory and CPU for your device or computer. It is one of the first software programs a booting device loads and runs on the central processing unit (CPU). The Linux kernel manages the system's hardware environment so other programs like the operating system's user space programs and application software programs can run well without modification on a variety of different platforms and without needing to know very much about that underlying system.

Identifying a kernel

The easiest way to determine the kernel you're running is to type cat /proc/version_signature on the terminal. For example:

Ubuntu 5.4.0-12.15-generic 5.4.8

This output provides important information about the kernel:

  • Canonical adds " Ubuntu "
  • Ubuntu kernel-release = 5.4.0-12.15-generic
    • kernel version is 5.4 , which is identical to upstream stable kernel version
    • .0 is an obsolete parameter left over from older upstream kernel version naming practices
    • -12 application binary interface (ABI) bump for this kernel
    • .15 upload number for this kernel
    • -generic is kernel flavour parameter, where -generic is the default Ubuntu kernel flavour

    Kernel and OS releases

    Canonical provides long-term support (LTS) kernels for Ubuntu LTS releases. Canonical also provides interim operating system releases with updated kernels every 6 months.

    For customers and business partners that don't have specialised bleeding-edge workloads or latest hardware needs, the latest LTS release "-generic" kernel is the best option for them such as the 4.15 default kernel in Ubuntu 18.04 LTS. Customers who need the latest hardware support capability can install the latest HWE kernel such as the ones contained in interim releases, keeping in mind the shorter support lifespan associated with these kernels (9 months). HWE kernel customers are recommended to upgrade to a newer LTS release that supports their hardware and/or software needs as soon as it is available. Another option for customers is to use point releases. For example, there is an 18.04.4 point release as of February 2020, which includes an updated 5.3.x kernel but is also considered LTS, exactly like the original GA 4.15 kernel in 18.04.

    Kernel security

    The Canonical Kernel Team's primary focus is the careful maintenance of kernels and their variants for regular delivery via the Ubuntu SRU process and the Canonical livepatch service. This includes rigorous management of all Linux kernel Common Vulnerabilities and Exposures (CVE) lists (with a focus on patching all high and critical CVEs) review and application of all relevant patches for all critical and serious kernel defects in the mailing lists and then rigorously testing newly updated kernels end-to-end each SRU cycle.

    General Availability (GA) and variant Ubuntu kernels

    The complete functionality of any given kernel is determined by the included modules and the kernel configuration for both hardware and the expected workloads that are run on it.

    Kernel modules are binary programs that extend a kernel's ability to control the computing system's hardware or add additional system capabilities like high-performance networking or non-standard graphics, etc. The GA kernel that is shipped by default, with the Canonical Ubuntu Long Term Support (LTS) and Hardware Enablement (HWE) releases, are tuned for stable, reliable, secure, high-performance operation over a wide variety of hardware platforms and workloads.

    A kernel variant is a kernel that deviates from the generic GA kernel by changes to its configuration, and/or by having modules added and/or removed.

    Custom kernels

    Canonical advocates for customers to use the GA kernel shipped with Ubuntu as the best and most cost-effective option in their business environment. We also offer the option for customers to customize their own Ubuntu kernels. Several of our enterprise, Telco and cloud provider customers have systems and workload needs, which justify both the time investment to optimise their kernels and the pay to develop and maintain those custom kernels over time.

    © 2021 Canonical Ltd. Ubuntu and Canonical are registered trademarks of Canonical Ltd.

    Читайте также: