Как создается файл .ko

Я пытаюсь перенести свой собственный драйвер на плату Beagle xm arm-cortex-A8. Во время переноса я пытаюсь понять, как на самом деле создается файл .ko. В нашем Makefile у нас есть только команда для создания файла.o.

Как создается .ko файл?

Я использую ядро ​​linux- 2.6.38.8 и пытаюсь настроить драйвер для моего ядра.


person user1584685    schedule 12.05.2013    source источник
comment
@ H2CO3: более конструктивным комментарием было бы указать, что это возможный дубликат заголовка stackoverflow.com/questions/10476990/ ... но указатель от бесхитростного шума ниже - хорошее дополнение к ответам там.   -  person unixsmurf    schedule 13.05.2013


Ответы (1)


Ядро kbuild Документ модуля содержит много информации о том, как создать внешний модуль. Если у вас есть Raspberian или какой-либо другой встроенный ARM Linux, вам нужно будет получить пакет с исходным кодом для вашего ядра. Процесс отличается в зависимости от того, компилируете ли вы на той же машине, на которой будет работать модуль, или пытаетесь собрать его на ПК (надеюсь, на ПК с Linux).

Укажите, каким образом вам нужно выполнить сборку, если документ kbuild module недостаточно хорошо объясняет ситуацию.

person artless noise    schedule 12.05.2013
comment
Кто-то только что задал вопрос о кросс-компиляции модуля. Это часть ответа, касающаяся другой машины. - person artless noise; 13.05.2013
comment
привет, большое спасибо за документ модуля kbuild ... за дополнительную помощь я хотел бы добавить еще несколько вещей, например ... Я сейчас пытаюсь поместить свой драйвер в свое ядро ​​(linux-2.6.38.8) Архитектура X86 с помощью make menuconfig , make, modules-install и install, и для этого я изменил файл Kconfig в /usr/src/kernels/linux-2.6.38.8/drvers/char, а также Makefile, находящийся в том же каталоге .... При компиляции файл makefile создает файл .o, но я не совсем понимаю, как будет сгенерирован мой файл .ko и что для этого нужно добавить ... Спасибо - person user1584685; 13.05.2013
comment
Пожалуйста, добавьте свои дополнения в Kconfig и Makefile к своему вопросу. Кроме того, символы .config относятся к драйверу. Пожалуйста, попробуйте отредактировать соответствующую информацию (хотя лучше слишком много, чем слишком мало). - person artless noise; 13.05.2013