sitelogo

Как применить патч на ядро Linux

Существует стандартная процедура применения любых патчей на ядро Linux, которая описана ниже. Все мои патчи являются стандартными.
Нужно перекомпилировать ядро с примененным патчем. К сожалению, в Linux нельзя устанавливать драйвер уже скомпилированным с помощью установщика.
  1. Скачиваем любую версию Linux с сайта http://www.kernel.org
  2. Распаковываем архив и заходим в папку linux-x.x.x, внутри которой есть папка Documentation
  3. Копируем патчи с расширением patch или diff, N штук в этот каталог. Вообще патчи могут иметь любое расширение, их можно хоть отсылать в тексте email.
  4. *1 Применяем их, с помощью команды patch -p1 < «имя_файла.patch», соблюдая очередность. Все стандартные патчи пронумерованы, имеют следующий шаблон именования: cccc-*.patch. К примеру, 0001-fix-bug.patch, 0012-fix-bug.patch. Нужно применить сначала патч с номером 1, потом с номером 2, и так до 12-го. Никаких ошибок в терминале быть не должно
  5. Собираем ядро. Используются разные методы для разных дистрибутивов: для Debian есть make-kpkg, для других не знаю как, либо вручную с помощью make. Google в помощь.
  6. Устанавливаем пакет ядра в систему. Звук должен появиться после перезагрузки с новым ядром. Если нет — проверьте, включен ли модуль в make menuconfig.

*1 Все команды запускаются из терминала Linux. Для быстрого перехода по каталогам, советую использовать пакет Midnight Commander (mc).

Всеравно не могу собрать ядро

Ждите, когда мой патч будет принят сообществом мейнтейнеров alsa-project.org\lkml.org и Линусом Тордвальсом. Тогда ничего компилировать не надо. В философию этой ОС не входит заставлять каждого уметь разбираться в исходных кодах, применять патчи и собирать ядро. Просто Вам предоставляется такая возможность: почувствовать себя немного разработчиком, изменить исходный код и добиться результата.