Как скомпилировать ваше собственное ядро ​​Linux

Наряду с установкой Gentoo

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

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

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

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

который на самом деле выполняет все эти работы.

Ядро Linux отличается тем, что оно может быть адаптировано под ваше оборудование. Сравните это с ядром Windows NT, которое будет одинаковым для всех компьютеров. Для этого ядро ​​должно пройти процесс, называемый компиляцией.

Что такое компиляция?

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

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

Различные компиляторы используются для преобразования разных языков программирования. Например, НКУ это компилятор, который переводит код C в машинный код (среди прочих). Но это еще не все — компиляторы тоже могут оптимизировать переведенный код для конкретных машин. Наряду с этим они также могут удалять нежелательные функции из программ при этом.

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

вы работаете прямо сейчас, уже скомпилировано. Это потому, что компиляция чего-то может быть немного сложнее и отнимает много времени. Думайте об этом как о переводе большой книги на иностранный язык.

Короче говоря, компиляция ядра означает преобразование его кода во что-то, что действительно будет работать на вашем компьютере..

Получение исходных текстов ядра

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

sudo apt-get update
sudo apt-get install linux-source

Как скомпилировать ваше собственное ядро ​​Linux Исходный код Debian Linux

Вы также можете установить разные версии этого пакета (например, Linux-источник-4.8.0) если хочешь. Вы найдете установленные файлы в / USR / SRC / каталог, поэтому перейдите туда и просмотрите содержимое:

cd /usr/src/
ls

Вы увидите файл, который заканчивается .tar.bz2. Это источник, который вы будете использовать. Распакуйте его с помощью этой команды:

sudo tar xjvf linux-source-4.4.0.tar.bz2

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

Альтернативный метод

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

Как скомпилировать ваше собственное ядро ​​Linux Исходники ядра Vanilla

Сделав это, распакуйте файл с помощью этой команды:

tar xJvf linux-4.9.11.tar.xz

Как скомпилировать ваш собственный исходный код ядра Linux Vanilla Linux

Убедитесь, что вы используете имя файла, которое соответствует версии, которую вы скачали!

Настроить ядро

Это шаг, на котором вы можете выбрать, от каких частей ядра вы хотите избавиться. Например, ядро ​​поставляется с множеством разных драйверов для разных устройств. Если вам не нужна такая поддержка, избавление от них может принести некоторые преимущества в скорости, а также уменьшенное ядро.

Предпосылки

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

В системах на основе Debian вам нужен строить заменимых пакет, среди прочего:

sudo apt-get install build-essential gcc libncurses5-dev libssl-dev

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

, это называется Ncurses.

Если он еще не установлен, вам также понадобится Коллекция компиляторов GNU (ССЗ). Это инструмент, отвечающий за перевод необработанного исходного кода в нечто понятное для компьютеров. Так сказать, компиляция.

Установив эти программы, откройте свой терминал, чтобы вы внутри извлеченная исходная папка Linux. Например, если вы использовали Linux-источник метод, вы бы сделали это:

cd /usr/src/linux-source-4.4.0

Файл конфигурации ядра

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

sudo make localmodconfig

Это создает файл с именем .конфиг, который говорит GCC, что компилировать из исходных кодов ядра. сделать localmodconfig Команда обнаруживает запущенные компоненты ядра и помечает их для компиляции. Если ядро ​​находится в папке, которой вы владеете, вы не нужно sudo чтобы это работало.

Вы можете встретить некоторые сообщения, подобные приведенному ниже. Просто нажмите Войти ключ, чтобы пропустить их — они, как правило, просто новые функции ядра.

Как скомпилировать ваше собственное ядро ​​Linux Сделайте Localmodconfig новым

Однако localmodconfig не идеален! Если вы в настоящее время не используете некоторые части вашего компьютера, он может не обнаружить все вещи, которые он поддерживает. Таким образом, вам нужно включить их вручную. Кроме того, вы можете полностью пропустить этот шаг и использовать следующую команду. Это скомпилирует новое ядро ​​с теми же параметрами, которые вы используете в настоящее время.

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

sudo make clean

Это даст вам чистую сборку. Вам также следует использовать эту команду, если вы уже скомпилировали ядро ​​с этими источниками.

Дальнейшая настройка

Внутри папки с исходным кодом ядра находится файл с именем .конфиг. Это то, что GCC будет использовать для выбора того, что компилировать. Вместо того, чтобы редактировать его вручную (не рекомендуется), вы вместо этого будете использовать несколько инструментов терминала. Это значительно облегчит выбор параметров компиляции.

Сделав это, настройте его дальше:

sudo make nconfig

Вы увидите всплывающее красочное меню. Это меню конфигурации ядра. Для навигации используйте клавиши со стрелками. Вы можете нажать право клавиша со стрелкой, чтобы расширить записи с -> знак рядом с ними. Перейдите из этих подменю, нажав оставил клавишу со стрелкой.

Как собрать собственное ядро ​​Linux Make Nconfig

Вы можете переключать пункты меню, которые имеют или же [] подписать рядом с ними, нажав клавишу пробела. Это будет циклически проходить через различные пункты меню. Если вы видите * или же M внутри этот конкретный компонент ядра будет скомпилирован. Единственная разница между ними заключается в том, что M опция будет загружена, когда это необходимо. Это может быть полезно, например, если вы компилируете драйвер, который не будет использоваться часто.

Если вы хотите узнать больше о том, что делает конкретный переключатель, нажмите F2 над ним. Вы увидите полезное описание того, что вы компилируете.

Как скомпилировать ваше собственное ядро ​​Linux Make Nconfig F2

После того, как вы все сделали, нажмите F9 Кнопка для сохранения и выхода.

Как скомпилировать ваше собственное ядро ​​Linux Сделать Nconfig Save

составление Установка ядра

Теперь, когда вы создали собственный файл make, вам нужно скомпилировать

ядро. Введите в этой команде:

sudo make -j$(nproc --all)

Ты сможешь не нужно sudo если вы загрузили исходники ядра из Интернета. Вторая часть команды помогает ускорить время компиляции ядра, используя все ядра вашего процессора.

, Вы можете избавиться от этого или изменить номер на что-то другое (например, -j2), если вы хотите использовать свой компьютер для других задач без особых проблем. Однако это также замедлит компиляцию!

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

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

sudo make modules_install

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

sudo make install

Это автоматически скопирует ядро ​​на ваш / загрузки папку и сгенерируйте соответствующие файлы, чтобы она работала.

Переключение ядер с помощью GRUB

Если вы перезагрузите компьютер после установки нового ядра, ваша система может не работать! Обычно это происходит из-за неправильно скомпилированного ядра (то есть, недостаточно хорошей поддержки вашего компьютера). Например, мой собственный ноутбук. На всякий случай рекомендую отредактировать GRUB

так что он может переключиться обратно на старые ядра. Для этого используйте эту команду:

sudo nano /etc/default/grub

Как собрать собственное ядро ​​Linux Ubuntu GRUB

Поместите знак # перед GRUB_HIDDEN_TIMEOUT а также GRUB_HIDDEN_TIMEOUT_QUIET линий. После этого сохраните эти изменения, выполнив следующую команду:

sudo grub-mkconfig -o /boot/grub/grub.cfg

Как скомпилировать свое собственное ядро ​​Linux GRUB Menu

Теперь, если вы перезагрузите свой компьютер, вы сможете переключиться на более старое ядро, если ваше новое не работает. Просто зайдите в Расширенные настройки пункт меню и выберите ядро, которое вы хотите загрузить. Если все работает хорошо, поздравляю! Вы будете использовать ядро, которое вы сами скомпилировали.

Вы заинтересованы в компиляции большего количества ядер? Другие программы? Считаете ли вы это стоящим?

Кредиты изображений: Chombosan / Shutterstock

Ссылка на основную публикацию
Adblock
detector