User Tools

Site Tools


компиляция_ядра_linux

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
компиляция_ядра_linux [2024/02/17 09:01] uf4nкомпиляция_ядра_linux [2024/09/20 16:16] (current) uf4n
Line 1: Line 1:
 ====== Компиляция ядра Linux ======  ====== Компиляция ядра Linux ====== 
- 
-===== Обычная компиляция ===== 
  
 Скачать исходники ядра нужной версии Скачать исходники ядра нужной версии
Line 13: Line 11:
 Установить необходимые для сборки пакеты (ALT Linux) Установить необходимые для сборки пакеты (ALT Linux)
  
-  sudo apt-get install libssl-devel libelf-devel /usr/bin/x86_64-alt-linux-gcc ncurses-devel /usr/bin/flex /usr/bin/bison /usr/bin/pahole+  sudo apt-get install libssl-devel libelf-devel gcc ncurses-devel /usr/bin/flex /usr/bin/bison /usr/bin/pahole
      
 Скопировать конфигурационный файл от текущего ядра в каталог с распакованными исходниками Скопировать конфигурационный файл от текущего ядра в каталог с распакованными исходниками
  
   sudo cp /boot/config-5.8.14-un-def-alt1 .config   sudo cp /boot/config-5.8.14-un-def-alt1 .config
 +
 +Отключение отладочной информации
 +
 +  scripts/config --disable DEBUG_INFO
      
 Выполнить конфигурирование при необходимости Выполнить конфигурирование при необходимости
Line 31: Line 33:
  
 {{::компиляция_ядра_linux_2.jpg?nolink|}} {{::компиляция_ядра_linux_2.jpg?nolink|}}
- 
-Отключение отладочной информации 
- 
-  scripts/config --disable DEBUG_INFO 
  
 Компиляция Компиляция
Line 47: Line 45:
   sudo ls -l /boot/initrd.img /boot/vmlinuz   sudo ls -l /boot/initrd.img /boot/vmlinuz
      
-===== Оптимизированная компиляция =====+-----------------------------------------------------------------------
  
-Можно собрать ядро под конкретный процессор, чтобы применялись наиболее оптимальные алгоритмы и машинные команды. Для этого откройте Makefile и допишите в переменную KBUILD_USERCFLAGS параметры +Официальная документация по компиляции
  
-  "-march=native -flto -O3"+https://www.kernel.org/doc/readme/Documentation-admin-guide-README.rst
  
-При использовании последнего могут быть дефекты, лучше компилировать с O2.+Другие материалы
  
-{{::компиляция_ядра_linux_3_uf4n.png?800|}}+[[установка_и_настройка_загрузчика_lilo|Установка и настройка загрузчика LILO]]
  
-Также можно избавиться от модулей, ненужных на вашем оборудовании, и вкомпилировать в само ядро те модули, которые точно нужны. Если встроить драйвер дисковой подсистемы в ядро, загрузка cможет осуществляться без использования initrd. Это позволит сократить время на загрузку системы, ведь в оперативную память не придётся загружать образ ram-диска, который обычно бывает больше ядра, и не надо будет выполнять инициализацию, предполагаемую initrd. +[[оптимизированная_компиляция_ядра_linux|Оптимизированная компиляция ядра Linux]]
- +
-Если вы уверены, что все модули, которые могут вам когда-либо пригодиться, на дынный момент подгружены ядром, выполните  +
- +
-  lsmod > mylsmod +
- +
-Отключаем поддержку LKM - Loadable Kernel Modules.  +
- +
-  make LSMOD=/path/to/mylsmod localmodconfig +
-   +
-Команда создаст конфигурацию сборки с учётом подгруженных модулей +
- +
-Компиляция +
- +
-  make -j`nproc` +
-   +
-   +
-   +
------------------------------------------------------------------------ +
-Оригинальная статья +
-https://lecorbeausvault.wordpress.com/2022/04/26/building-a-minimal-custom-linux-kernel-on-debian/+
компиляция_ядра_linux.1708160479.txt.gz · Last modified: 2024/02/17 09:01 by uf4n