UCS - коллекция мануалов

Практика - критерий истины...

Инструменты пользователя

Инструменты сайта


linux:build_kernel

Различия

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

Ссылка на это сравнение

linux:build_kernel [2025/09/17 20:25] – создано Luciferuslinux:build_kernel [2025/12/15 01:40] (текущий) Luciferus
Строка 27: Строка 27:
 Если же вы хотите выполнять все действия, ограничив себя только терминалом и избежать при этом массы лишних движений, то вы можете выполнить несколько команд в нем, получив тот же результат... Если же вы хотите выполнять все действия, ограничив себя только терминалом и избежать при этом массы лишних движений, то вы можете выполнить несколько команд в нем, получив тот же результат...
 Скачиваем, при условии, что уже находимся в **/usr/src**: Скачиваем, при условии, что уже находимся в **/usr/src**:
-<code>wget https://www.kernel.org/pub/linux/kernel/v6.x/linux-6.16.6.tar.xz</code>+<code>wget https://www.kernel.org/pub/linux/kernel/v6.x/linux-6.18.1.tar.xz</code>
 затем извлекаем архив:  затем извлекаем архив: 
 <code>tar -xpJf linux-*.tar.xz</code> <code>tar -xpJf linux-*.tar.xz</code>
Строка 35: Строка 35:
 </WRAP> </WRAP>
 Например: Например:
-<code>tar -xpJf linux-6.16.6.tar.xz</code> +<code>tar -xpJf linux-6.18.1.tar.xz</code> 
  
 Создаём линк на директорию с извлеченными сорцами и переходим в **/usr/src/linux**: Создаём линк на директорию с извлеченными сорцами и переходим в **/usr/src/linux**:
-<code>ln -s /usr/src/linux-6.16.linux && cd /usr/src/linux</code>+<code>ln -s /usr/src/linux-6.18.linux && cd /usr/src/linux</code>
 В ряде случаев, если вы используете какое-то специфическое оборудование или хотите добавить поддержку какой-то недокументированной функции в ядро, вам необходимо наложить **патч** для корректной работы этих устройств... Это отдельная тема, так как существует несколько способов патчинга для различных целей, поэтому не будем заострять на этом внимания, чтобы не вывихнуть себе моск окончательно :-D. К тому же, если у вас до этого все устройства функционировали нормально, то патчинг определенно не нужен. В любом случае, вы сможете нагуглить себе необходимую информацию в любое время, а возможно я как-нибудь напишу отдельное руководство для этих действий... Просто не забывайте, что патчить, если возникла необходимость, надо именно на этом шаге. А пока пропустим его. В ряде случаев, если вы используете какое-то специфическое оборудование или хотите добавить поддержку какой-то недокументированной функции в ядро, вам необходимо наложить **патч** для корректной работы этих устройств... Это отдельная тема, так как существует несколько способов патчинга для различных целей, поэтому не будем заострять на этом внимания, чтобы не вывихнуть себе моск окончательно :-D. К тому же, если у вас до этого все устройства функционировали нормально, то патчинг определенно не нужен. В любом случае, вы сможете нагуглить себе необходимую информацию в любое время, а возможно я как-нибудь напишу отдельное руководство для этих действий... Просто не забывайте, что патчить, если возникла необходимость, надо именно на этом шаге. А пока пропустим его.
  
Строка 165: Строка 165:
 Теперь вам осталось лишь скомпилировать и собрать ваше кастомное ядро в пакеты, чтобы была возможность удалить их в случае неудачной/косячной сборки или избавления от старых версий при установке нового ядра, пользуясь пакетными менеджерами системы. Теперь вам осталось лишь скомпилировать и собрать ваше кастомное ядро в пакеты, чтобы была возможность удалить их в случае неудачной/косячной сборки или избавления от старых версий при установке нового ядра, пользуясь пакетными менеджерами системы.
 Выполняем команду: Выполняем команду:
-<code>make-kpkg -j 16 --initrd --revision=6.16.6-01 kernel_image kernel_headers modules_image</code>+<code>make-kpkg -j 16 --initrd --revision=6.18.1-01 kernel_image kernel_headers modules_image</code>
 **-j 16** означает использование при компиляции шестнадцати ядер или потоков процессора (это в моем случае, естественно пишем соответственно своему железу), в revision пишем что угодно - 386, 64 и так далее, например я пишу версию ядра - **6.6.6** и номер сборки - **01**. Ждём, возможно долго ждём, все зависит от количества модулей, которые вы решили впилить в свое ядро и от мощности вашего компьютера. **-j 16** означает использование при компиляции шестнадцати ядер или потоков процессора (это в моем случае, естественно пишем соответственно своему железу), в revision пишем что угодно - 386, 64 и так далее, например я пишу версию ядра - **6.6.6** и номер сборки - **01**. Ждём, возможно долго ждём, все зависит от количества модулей, которые вы решили впилить в свое ядро и от мощности вашего компьютера.
  
linux/build_kernel.1758126317.txt.gz · Последнее изменение: Luciferus