LINUX.ORG.RU

Проверка на ошибки поправленного модуля ядра

 ,


0

2

Всем привет,

нужно внести косметическую правку (поменять клавиши местами) в модуль hid-apple.c Тонкостей работы gcc не знаю. Подскажите пожалуйста, как можно проще всего проверить, будет ли собираться ядро после внесения правок? Пробовать каждый раз ядро собирать слишком время-затратно. Думаю, что проверки синтаксиса будет достаточно, если gcc так умеет.

★★

не бойся - пробуй :)
ядро не будек каждый раз полностью перекомпиливаться - только те части, которые зависят от твоих правок

metawishmaster ★★★★★
()

Думаю, что проверки синтаксиса будет достаточно, если gcc так умеет.

-fsyntax-only
Check the code for syntax errors, but don't do anything beyond that.
Samsky
()
Ответ на: комментарий от Samsky

Так он инклуды пытается подключить и вываливаются кучи ошибок. Не подходит.

rmu ★★
() автор топика
Ответ на: комментарий от rmu

А он для этого и не нужен, если ты не удаляешь каталог, в котором собирал.

anonymous
()

Добавь в /etc/apt/sources.list - строку deb-src для основного репозитория. Нужно просто продублировать её, поменяв deb на deb-src. Затем сделай apt-get update.

Создай новую директорию и выполни в ней «apt-get source название_пакета». Я не знаю как называется пакет - вроде «linux-image-цифры». Скачается исходный код и скрипты компиляции. А если в эту команду добавить "-b", то он сразу начнёт компилироваться. Но нам не надо сразу. Вноси правку, и делай «fakeroot ./debian/rules binary». После компиляции, у тебя будут DEB-пакеты.

ZenitharChampion ★★★★★
()

Если правишь прямо в исходниках ядра то «make modules» должно быть достаточно

Можешь еще сначала проверить на соответствие кода ядерным стандартам:

/lib/modules/$(uname -r)/build/scripts/checkpatch.pl --no-tree -f my_module.c
alx777 ★★
()
Ответ на: комментарий от anonymous

make drivers/hid/hid-apple.o

Спасибо, анонимус! Собиртается быстро, просто и только то, что нужно. Спасибо большое!

rmu ★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.