Компилируем ядро на Debian 9

Сообщения
75
Реакции
66
Помог
1 раз(а)
Не знаю зачем вам это будет нужно...
Кратко и внятно опишу процесс. Занимает сама компиляция довольно много времени и зависит от комплектации вашей виртуальной машины.
!!! Все манипуляции делаем на свой страх и риск.
Чтобы не делать долгий вступ, сразу же приступим:

Debian поддерживает ядро в форме пакета, это удобно, но немного отличается от традиционного подхода к компиляции и установке ядра.
1. Установим зависимости.
Код:
apt install build-essential libncurses5-dev fakeroot
Официальный исходный код Linux содержит всё, что нужно для сборки пакета ядра Debian, но сначала нужно установить пакет build-essential для того, чтобы обеспечить наличие инструментов для сборки пакетов Debian. Так же для настройки ядра требуется пакет libncurses5-dev. Пакет fakeroot позволяет создавать пакеты Debian, не имея root доступа.

2. Загрузка исходника.
Официальный пакет исходного кода Debian немного отличается от того, что опубликован на сайте kernel.org
В даном пакете применяют некоторые патчи, которые могут быть или не быть в официальной версии. Эти модификации включают в себя бэкпорты исправлений, функций и драйверов из более новых версий ядра, новые функции, которые ещё не полностью интегрированы в официальный код Linux, а иногда даже изменения, специфичные для Debian.
Так как на данный момент последняя версия ядра 4.9, то к примеру возьмем ее.
linux-source-4.9 - Linux kernel source for version 4.9 with Debian patches
Выполняем:
Код:
apt install linux-source-4.9
Наш пакет установился в папку /usr/src

Код:
# ls /usr/src
linux-config-4.9  linux-patch-4.9-rt.patch.xz  linux-source-4.9.tar.xz
Разархивируем linux-source-4.9.tar.xz в удобную нам папку. У меня это директория пользователя, нет смысла добавлять лишние ключи в команду.
Код:
tar -xvf /usr/src/linux-source-4.9.tar.xz
3. Настройка ядра.
Если у вас нет опыта, не стоит отклонятся от дефолтного конфига линукс.
Чтобы не настраивать все с 0, скопируем старый конфиг ядра и обновим его.
Версия должна быть точно такой же, как версия используемого в данный момент ядра, которую можно выяснить, воспользовавшись командой uname -r.
На данный момент у меня установлена версия 4.9.0.8
Код:
cp /boot/config-4.9.0-8-amd64 ~/linux-source-4.9/.config
Зайдем в папку с нашим ядром и обновим конфиг командой make olddefconfig - все вопросы получат ответ по умолчанию. Если вы хотите настроить вручную - воспользуйтесь командой make oldconfig.
Код:
cd linux-source-4.9
make olddefconfig
После всего этого можно настроить нужные нам параметры.
Команда make menuconfig запустит текстовый интерфейс, в котором мы и сможем это сделать.
Нажатие на клавишу пробела позволяет изменить значение выбранной опции. Клавишей Enter «нажимают» на кнопки, которые выбирают в нижней части экрана. Кнопка Select в нижней части экрана применяется для перехода в выбранное подменю. Кнопка Exit закрывает текущий экран и осуществляет переход вверх по иерархии. Кнопка Help выводит более подробные сведения о выбранной опции. Клавиши-стрелки позволяют перемещаться по списку опций и экранных кнопок. Для того, чтобы выйти из конфигурационной программы, выберите команду Exit из главного меню. Затем программа предложит сохранить сделанные изменения, сделайте это, если вас всё устраивает.

Запускаем и настраиваем под свои нужды. Писать что за что отвечает не буду, материала очень много. Ищем сами в интернете.
Код:
 make menuconfig
Сохраняем и можем приступить к компиляции и сборке пакета.

4. Компиляция и сборка.

Код:
// Запустим данную команду, если вы уже ранее делали компиляцию, чтобы удалить лишние файлы.
make clean
// Следующая команда позволит собрать пакет. Процес очень долгий, по этому запасаемся печеньками или пивом.
make deb-pkg LOCALVERSION=-customkernel KDEB_PKGVERSION=$(make kernelversion)-1
Если у вас виртуальная машина, то можем запустить данный процесс в оболочке tmux`a или screen.

....

....

И так, прошли века вечные смотрения в монитор и вот у нас в главной директории пользователя появились скомпилированые файлы с такими названиями.
  • linux-headers
  • linux-image-version
  • linux-image-version-dbg
  • linux-libc-dev
Подробно описывать каждый не буду, нам нужен только [BGCOLOR=rgb(247, 218, 100)]linux-image[/BGCOLOR], его мы и установим в систему следующей командой.

Код:
// Смотрим названия файлов.
ls ~/
// file.deb меняем на свою версию файла.
dpkg -i file.deb
Перезапускаем нашу систему и радуемся.
Спасибо за внимание.
 
Последнее редактирование:
Сообщения
75
Реакции
66
Помог
1 раз(а)
mr_CHikAZ, :crazy:
Возможно, некоторые поймут, что оно действительного того не стоит, не смотря на то,что данный путь компиляции является довольно простым.
Лично мне, в одно время, отключение ненужных функций в ядре помогло повысить производительность старого пк. К сожалению, он не имел никакого отношения к кс. Надеюсь, что кому то мануал будет тоже очень полезен.
 
Сообщения
160
Реакции
170
Помог
1 раз(а)
zerg, Мануал действительно полезен,даже если и не понадобится то знать про это надо,чем черт не шутит.
 
Сообщения
460
Реакции
68
Помог
7 раз(а)
mr_CHikAZ, я например хочу перейти на линукс но для меня это пока что тёмный лес , но такой мануальчик мне будет полезен как начинающему юзеру данной системы.
 
Сообщения
2,143
Реакции
1,225
Помог
44 раз(а)
mr_CHikAZ, я например хочу перейти на линукс но для меня это пока что тёмный лес , но такой мануальчик мне будет полезен как начинающему юзеру данной системы.
Оно не нужно, чтобы перейти на линь с окон. Это для "прошаренных".
 
Сообщения
66
Реакции
34
Помог
3 раз(а)
Оно не нужно, чтобы перейти на линь с окон. Это для "прошаренных".
Тем более в дефолтном конфиге. А прошаренные... прошаренные следуют офф докам дистрибутива.
 

ifx

Сообщения
331
Реакции
153
Помог
4 раз(а)
Best777, начни с ubuntu или ставь debian c xfce, там все предельно просто на самом деле
а такие мануалы это прям совсем для тру-сисадминов, хотя по факту разницы по нагрузке не ощутишь
 

Пользователи, просматривающие эту тему

Сейчас на форуме нет ни одного пользователя.
Сверху Снизу