2016-04-13 3 views
0

Я использую встроенный linux на модуле SOM, основанный на IMX6. Я хотел бы исправить мое ядро, оно отлично работает, оно было исправлено, но я хотел бы добавить некоторые функции. Я применяю старые исправления к источникам, добавляю свой код и создаю новый патч.Патч ядра с Bitbake

В yocto Я добавляю свой патч к рецепту и битую его, я начинаю плату с нового загруженного ядра, и, похоже, у меня нет моей модификации!

Для Bitbake моего нового ядра, я типа:

bitbake -c clean linux-toradex-fsl 
bitbake linux-toradex-fsl 

Он компилируется без ошибок, я скопировать мой uImage в моей папке Tftp, но мои возможности не кажется, должны быть выполнены.

Так что я пытаюсь создать простой патч, с

printk(KERN_WARNING"This is a test\n"); 

я помещаю его после очередного предупреждения, называется и отображается.

И он тоже не работает.

Я проверяю с помощью -c devshell, и мои модификации применяются в yocto, исправление работает здесь.

Я также проверяю файл uImage, он имеет тот же размер, с или без моих патчей.

У вас есть идеи по этой проблеме?

С уважением, Pierre-Olivier

Решением

Я нашел решение после некоторых попыток, мне просто нужно запустить

bitbake -c cleansstate linux-toradex-fsl 
bitbake my-image 

И изображение bitbaked с исправленным ядром.

ответ

2

Bitbake является забавным о-чистке. Он пытается сохранить каталог состояний, поэтому -clean просто запускает обычную «чистую» в make-файле, но make-файл может быть закорочен общим состоянием, которое может включать в себя зашифрованные предварительно созданные двоичные файлы из предыдущей сборки. Попробуйте следующее:

bitbake -c cleansstate linux-toradex-fsl 
bitbake linux-toradex-fsl 

обратите внимание на дополнительные 's' в cleansstate (чистое общее состояние).

+0

Я пробовал, но он такой же, как и раньше, мой принтер не появляется при загрузке. – PierreOlivier

+0

Хммм, вот что работает для меня, но вы можете попробовать поразить его большим молотом: запустить -c cleanall, -c очистить состояние и -c очистить. Затем запустите -c fetch, затем -c configure Затем проверьте дерево сборки - в рабочей папке есть папка с архивами, и под ней будет папка с фактической компоновкой linux. Проверьте и проверьте, присутствует ли патч. – Brad

+0

Я нашел решение, я просто делаю очистку, и вместо того, чтобы строить ядро, я создаю изображение, а правильное ядро ​​перестраивается. – PierreOlivier

Смежные вопросы