Как патчить ядро ​​Linux? - PullRequest
       8

Как патчить ядро ​​Linux?

0 голосов
/ 17 ноября 2010

У меня серьезная проблема.
Что у меня в руке:

  • Linux Kernel 2.6.29 с исправлениями для Android Eclair и некоторыми исправлениями для плат (в виде .patch файлов).
  • Linux Kernel 2.6.32 с патчами Android Froyo.

Чего я хочу достичь:

  • Я хочу объединить патчи , специфичные для платы , с моим ядром Linux 2.6.32 с патчами Android Froyo.

Я не могу понять, как это сделать. Я попытался применить специальные исправления Board непосредственно к ядру 2.6.32, но оно не получилось со многими ошибками.

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

Спасибо
Sen

1 Ответ

2 голосов
/ 17 ноября 2010

Не видя конкретных ошибок, трудно определить.

Patch даст вам файл ".rej" для каждого файла / патча, в котором будет показано, что он пытался сделать, и что он обнаружил, вызвав сбой.Как правило, он сообщает вам, что создал эти файлы, чтобы вы могли их исправить.

Возможно, вы столкнетесь с чем-то более примитивным - в этом патче даже не найдены правильные файлы.

Это, если чаще всего вызвано тем фактом, что пути в файлах исправлений по-разному расположены в зависимости от того, как вы его выполняете.(Я попытаюсь привести пример).

Если вы посмотрите на каждую запись файла для каждого файла, который будет пропатчен, у него будет имя файла «источник» и «место назначения», например:

/ original / src / drivers / mydriver.c /destination/src/drivers/mydriver.c

Это будет означать, что - скажем, например, ваш проект находился в каталоге с именем "project"».Ваш текущий рабочий каталог будет «проектом», а файл, который вы патчируете, будет:

/ project / src / drivers / mydriver.c

Этот патч будетработа.

Скажем, например, вы запустили тот же патч, но ваш текущий рабочий каталог был:

/ project / src

Когда выЗапустил патч, он будет искать файл с именем:

/ project / src / src / drivers / mydriver.c

И ничего не будет работать.

Существует два средства:

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

  2. Используйте "-p {num} "flag in patch - который по сути говорит ему игнорировать определенное количество каталогов в начале каждого имени файла в файле заплатки.

Вы также можете опубликовать некоторые ошибки, которые выполучение дополнительной помощи ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...