Архив метки: Ядро

Ядро Linux — это один из главных компонентов системы. Linux дистрибутивы могут содержать различные наборы программного обеспечения, иметь разные настройки но ядро у них одно. Ядро было разработано Линусом Торвальдсом в 1991 на языке программирования Си с использованием вставок на ассемблере. Ядро Linux контролирует все, что происходит в системе: работу процессов, обращение процессов к оборудованию, запись и чтение данных с жестких дисков, работа с оперативной памятью и многое другое. Если вы хотите разбираться в системе Linux, вам нужно разбираться в ядре. В этой категории вы найдете все что касается ядра: настройку, сборку, подготовку к компиляции и настройку на ходу, во время выполнения. Применяя все это, вы сможете заставить свою систему работать еще более эффективно.

Обновление ядра Debian

Ядро - это один из самых важных компонентов системы, именно здесь реализуется поддержка оборудования, выполняются основные действия по управлению процессами, памятью, сетью и другие действия. Новые версии ядра имеют максимальную поддержку современного оборудования, содержат исправления уязвимостей и многое другое. Поэтому очень важно, чтобы система использовала самые новые версии ядра.

Но Debian - это стабильный дистрибутив, поэтому в нем изначально применяется уже устаревшая версия.  Но если захотеть, то можно установить более новую. В этой статье мы рассмотрим как выполняется обновление ядра Debian. Какие программы лучше использовать и так далее.

Обновление ядра Debian

Когда вы используете Debian, вы должны понимать, что самые новые версии пакетов вы не всегда можете получить. Один из таких компонентов - ядро. Вы можете взять ядро, собранное для других дистрибутивов, например, Ubuntu, но там использованы свои патчи, и скорее всего, оно не будет правильно работать в Debian. Самым простым способом получить новое ядро в этой системе будет использование тестовых репозиториев, таких, как backports и experimental. Например, сейчас самая новая версия Debian - 9. В ней используется ядро 4.9. Но в репозитории experimental есть ядро 4.13, на данный момент, это самая новая версия, доступная на Kernel.org.

uname -a

Давайте рассмотрим как установить ядра из exprimental и backports. Пакеты из backports тоже свежие, но не настолько как из experimental, поэтому они более стабильны. Сначала рассмотрим backports, а уже затем experimental. Нам нужно добавить репозиторий в систему, для этого откройте файл /etc/apt/sources.list и добавьте туда такую строку:

deb http://ftp.debian.org/debian/ stretch-backports main non-free contrib

Обновите список пакетов:

 

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

apt search linux-headers

Как видите, в репозитории backports уже есть ядро 4.11, в то время как в официальном стабильном репозитории только 4.9. Теперь мы можем обновить ядро debian:

sudo apt install linux-headers-4.11-bpo.1  linux-image-4.11-bpo.1

После завершения установки ядра будет автоматически обновлен загрузчик Grub и вам останется только перезагрузить компьютер чтобы изменения вступили в силу. Обратите внимание, что если вы используете ноутбук, то вам еще нужно будет установить прошивку firmware из репозитория backports. Например, для iwlwifi:

sudo apt -t wheezy-backports install firmware-iwlwifi

Если вы хотите самую новую версию ядра, то вам придется использовать репозиторий experimental, но тут дела обстоят немного сложнее. Это экспериментальный репозиторий, поэтому перед добавлением нужно указать настройки чтобы по умолчанию он вообще не использовался и активировался для определенного пакета вручную. Для этого добавьте в файл /etc/apt/preferences:

vi /etc/apt/preferences

Package: *
Pin: release o=Debian,a=experimental
Pin-Priority: 102

Мы установили такой приоритет, что он намного ниже стандартных репозиториев, а значит ничего случайно не обновится и не установится.

 

Теперь добавьте репозиторий в систему:

sudo vi /etc/apt/sources.list

deb http://deb.debian.org/debian experimental main

И обновите список пакетов:

sudo apt update

Проверьте, сработала ли настройка приоритета:

apt-cache policy

Дальше ищем доступные версии ядра:

sudo apt search linux-headers

Тут мы уже видим новую версию ядра Linux 4.13 из репозитория experimental, о которой я говорил выше. Дальше мы можем ее установить:

sudo apt install linux-headers-4.13 linux-image-4.13

Опять же, после установки будет автоматически обновлен Grub и вы сможете перезагрузить компьютер чтобы работать с новым ядром. Если вы поймаете какую-либо ошибку, то всегда можете выбрать в меню загрузчика предыдущее ядро, которое хорошо работало, а новое удалить командой:

sudo apt purge linux-headers-4.13 linux-image-4.13

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

Выводы

В этой небольшой статье мы рассмотрели как выполняется обновление ядра Debian 9. Возможно, это сложнее, чем для других дистрибутивов, но в целом нет ничего сверх сложного и все можно сделать за несколько десятков минут. Но вам нужно учитывать, что если вы используете проприетарные драйвера от NVIDIA или AMD, то ядро лучше вообще не трогать, потому что драйвера могут еще не поддерживать новые версии. Вы можете не только обновить ядро из репозиториев, но и собрать ядро из исходников. Если у вас остались вопросы, спрашивайте в комментариях!

Как обновить ядро Ubuntu

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

Но эту проблему можно решить. Из этой статьи вы узнаете как обновить ядро ubuntu 16.04 или более поздних версий. Хотя новых версий ядра нет в репозитории, но есть программа, которая сделает всю работу за вас.
Читать далее Как обновить ядро Ubuntu

Настройка ядра Linux

Ядро Linux - очень гибкая вещь, позволяющая настроить очень много параметров. Такие параметры, как поддерживаемые устройства и функции настраиваются при сборке ядра. Но сегодня не будет рассматриваться компиляция ядра Linux. Мы поговорим о более тонкой настройке параметров ядра на лету, прямо во время его работы.

Да, мы не можем включать добавлять неподдерживаемые модули и драйвера устройств, но мы можем настроить такие параметры ядра Linux, как особенности работы процессора, памяти, виртуального пространства памяти, планировщика ядра, сетевой стек и многое другое. Все эти настройки доступны через файловую систему proc. Мы рассматривали подробно ее в предыдущей статье, теперь же остановимся только на директории /proc/sys, с помощью которой мы и будем настраивать ядро.
Читать далее Настройка ядра Linux

Файловая система proc в Linux

Программы пространства пользователя в Linux не могут обращаться к ядру системы напрямую. Но для получения информации от ядра были созданы несколько специальных директорий с помощью которых любая программа или пользователь могут получить данные о состоянии компьютера и ядра. Это файловая система proc и sys.

Из этих папок можно получить любую информацию о вашей системе. Например сколько памяти подкачки сейчас используется, насколько велик размер кеша процессора, какие модули ядра загружены, сколько дисков или разделов доступно и т д. Все это можно получить в обычном текстовом виде из папки proc linux.

В этой инструкции будет рассмотрена файловая система proc, ее структура, назначения файлов и где найти ту или иную нужную информацию. Но сначала немного теории.
Читать далее Файловая система proc в Linux

Модули ядра Linux

Как вы знаете из статьи что такое ядро Linux, ядро является монолитным. Это значит, что весь исполняемый код сосредоточен в одном файле. Такая архитектура имеет некоторые недостатки, например, невозможность установки новых драйверов без пересборки ядра. Но разработчики нашли решение и этой проблеме, добавив систему модулей.

Ядро Linux позволяет драйверам оборудования, файловых систем, и некоторым другим компонентам быть скомпилированными отдельно - как модули, а не как часть самого ядра. Таким образом, вы можете обновлять драйвера не пересобирая ядро, а также динамически расширять его функциональность. А еще это значит, что вы можете включить в ядре только самое необходимое, а все остальное подключать с помощью модулей. Это очень просто.
Читать далее Модули ядра Linux

Что такое ядро Linux

Ядро Linux за авторством Линуса Торвальдса недавно отметило юбилей, вот уже три десятилетия оно используется в компьютерах по всему миру. Благодаря тому, что оно перенесено на множество платформ, его можно встретить практически везде, в персональных компьютерах, смартфонах, носимой электронике, бытовой технике и сетевых устройствах.

Так что же делает ядро Linux и почему оно так востребовано? Мы рассмотрим архитектуру ядра, его основные задачи и интерфейсы. Это поможет понять его преимущества и недостатки.

Читать далее Что такое ядро Linux

Обновление ядра Linux до новой версии

В последнее время новые версии ядер выходят достаточно часто. Раз в несколько месяцев выходит стабильный релиз. Ну а нестабильные кандидаты в релизы выходят и того чаще. Линус Торвальдс и множество разработчиков по всему миру постоянно работают над улучшением новых ядер и добавлением в них все больше и больше функциональности.

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

Если вам нужна более подробная информация об изменениях в какой-то определенной версии ядра смотрите ее Changelog на kernel.org, а в этой статье мы рассмотрим обновление ядра Linux до самой новой версии. Я попытаюсь не привязывать инструкцию к определенной версии ядра, новые ядра выходят достаточно часто и она будет актуальна для каждого из них. Рассмотрим обновление ядра Ubuntu и CentOS. Сначала давайте рассмотрим как обновить ядро в Ubuntu.
Читать далее Обновление ядра Linux до новой версии

Сборка ядра Linux

Самым основным компонентом операционной системы Linux есть ядро. Именно ядро выступает промежуточным звеном между пользовательскими программами и оборудованием компьютера. Во всех бинарных дистрибутивах не нужно заботиться о сборке и настройке ядра, все уже сделали за нас разработчики дистрибутива. Но если вы хотите установить самую свежую версию ядра или настроить его под себя удалив от туда всё лишнее, вам придется собрать его вручную.

Раньше ядро собирали для того чтобы получить максимальную производительность от своего оборудования, но сейчас, учитывая стремительное увеличение мощности компьютеров увеличение производительности при сборке ядра совсем незаметно. Сейчас сборка ядра может понадобиться пользователям не бинарных дистрибутивов, таких как Gentoo, тем, кто хочет внести некоторые изменения в ядро, получить новую самую свежую версию ядра и, конечно, же тем, кто хочет полностью разобраться в работе своей системы. В этой статье мы рассмотрим как собрать ядро Linux на примере дистрибутива Ubuntu.
Читать далее Сборка ядра Linux

Автоматическая перезагрузка после Kernel Panic

При работе с Linux иногда возникает ошибка ядра Kernel Panic. Это может произойти при использовании экспериментальных модулей ядра, при написании своего модуля или из-за сбоя оборудования.Автоматическую перезагрузку после Kernel Panic можно настроить тремя способами, хотя суть у них одна - установка параметра ядра panic.

Первый способ состоит в том чтобы добавить параметр ядра panic=num_seconds в конфигурационном файле загрузчика Grub. Здесь num_seconds - количество секунд до автоматической перезагрузки. Например:

sudo vi /boot/grub/grub.cfg

linux /vmlinuz-3.18.7-gentoo root=/dev/sda3 ro panic=10

Можно также добавить этот параметр в шаблон конфигурации, как это сделать читайте в статье Устанавливаем параметры ядра в grub.

Второй способ - указать параметр kernel.panic в файле sysctl.conf:

sudo vi /etc/sysctl.conf

kernel.panic = 10

sudo sysctl -p /etc/sysctl.conf

И наконец можно использовать подсистему /proc для изменения параметра panic:

sudo echo 10 > /proc/sys/kernel/panic

Обратите внимание, что в отличие от первых двух методов, этот метод действует только до перезагрузки, так как любые изменения в подсистеме /proc при перезагрузке стираются.

Настройка параметров ядра в Grub

Ядру Linux можно передавать различные параметры для изменения стандартного поведения или информирования о нестандартной конфигурации оборудования. Делать это можно непосредственно перед загрузкой ядра или уже во время выполнения. Во время выполнения параметры ядра можно установить отредактировав файлы в подсистеме /proc или /sys. Перед загрузкой параметры передаются с помощью загрузчика Grub.

Если вы хотите изменить или добавить параметры ядра Linux с помощью Grub вам необходимо отредактировать файл шаблона конфигурации или конфигурационный файл загрузчика. Расположение и название файла шаблона зависит от конкретного дистрибутива.
Читать далее Настройка параметров ядра в Grub