LINUX.ORG.RU

Написание драйвера под ядро 4.10

 


0

1

Доброе время суток!

Пытаюсь портировать пример отсюда https://habrahabr.ru/post/106702/ под ядро 4.10

Посмотрел исходники под это ядро, в принципе функции регистрации модуля те же, должно работать.

При сборке ругается следующим образом:

make -C /lib/modules/4.10.0-27-generic/build

make[1]: Entering directory '/usr/src/linux-headers-4.10.0-27-generic'

HOSTCC scripts/basic/fixdep

HOSTCC scripts/basic/bin2c

HOSTCC scripts/kconfig/conf.o

HOSTCC scripts/kconfig/zconf.tab.o

HOSTLD scripts/kconfig/conf

scripts/kconfig/conf --silentoldconfig Kconfig

make[2]: *** No rule to make target 'arch/x86/entry/syscalls

syscall_32.tbl', needed by 'arch/x86/entry/syscalls/../../include/generated/asm/syscalls_32.h'. Stop.

arch/x86/Makefile:192: recipe for target 'archheaders' failed

make[1]: *** [archheaders] Error 2

make[1]: Leaving directory '/usr/src/linux-headers-4.10.0-27-generic'

Makefile:4: recipe for target 'all' failed

make: *** [all] Error 2

Я так понимаю, проблема с битностью системы.. Подскажите, пожалуйста, как мне это дело правильно собрать.

Ответ на: комментарий от Pink-Pank

make -C /lib/modules/4.10.0-27-generic/build

Ну нет такой команды.
Модуль собирается в 4.12 без проблем.

arson ★★★★★ ()
Ответ на: комментарий от Pink-Pank

make -C /usr/src/kernels/4.12.3-1.el7.elrepo.x86_64 M=$PWD modules

Makefile:

obj-m += test.o

arson ★★★★★ ()
Последнее исправление: arson (всего исправлений: 1)
Ответ на: комментарий от arson

Так тоже не хотит..

make -C /usr/src/linux-headers-4.10.0-27-generic

make[1]: Entering directory '/usr/src/linux-headers-4.10.0-27-generic'

make[2]: *** No rule to make target 'arch/x86/entry/syscalls/syscall_32.tbl', needed by 'arch/x86/entry/syscalls/../../include/generated/asm/syscalls_32.h'. Stop.

arch/x86/Makefile:192: recipe for target 'archheaders' failed

make[1]: *** [archheaders] Error 2

make[1]: Leaving directory '/usr/src/linux-headers-4.10.0-27-generic'

Makefile:5: recipe for target 'all' failed

make: *** [all] Error 2

Pink-Pank ()
Ответ на: комментарий от Pink-Pank

make -C /usr/src/linux-headers-4.10.0-27-generic

?!

P.S. Завязывай ты с драйверами.

arson ★★★★★ ()
Последнее исправление: arson (всего исправлений: 1)
Ответ на: комментарий от Pink-Pank

-C /usr/src/linux-headers-4.10.0-27-generic

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

Harald ★★★★★ ()
Ответ на: комментарий от Pink-Pank

Ээээ.. А собственно в чем вопрос?

Забыл?!
Написание драйвера под ядро 4.10

arson ★★★★★ ()
Ответ на: комментарий от Pink-Pank

Так тоже не хотит..

Ты читать-то умеешь? Тебе постом выше написали

make -C /usr/src/kernels/4.12.3-1.el7.elrepo.x86_64 M=$PWD modules

alexku ()
Ответ на: комментарий от alexku

Ты читать-то умеешь?

Я-то умею. Если бы мейку не нравилось именно это - он бы об этом сказал.

Не пойму, чего здесь все такие агрессивные?

Pink-Pank ()
Ответ на: комментарий от Pink-Pank

Хотя бы копипасть команды в том виде, в котором тебе их дают.

anonymous ()

Заголовки ядра для сборки модулей поставить не забыл?

Khnazile ★★★★ ()
Ответ на: комментарий от Pink-Pank

Если бы мейку не нравилось именно это - он бы об этом сказал.

Святая наивность…

Не пойму, чего здесь все такие агрессивные?

Добро пожаловать на ЛОР :)

Deleted ()
Ответ на: комментарий от Khnazile

Заголовки поставил. Вчера скачал все исходники, попробовал указать путь до них. Долго компилировалась куча объектников ядра, а потом все равно завалилось все с другой ошибкой. Сейчас попробую воспроизвести

Pink-Pank ()
Ответ на: комментарий от Pink-Pank

Собственно вот вчерашняя ошибка при компиляции с полными исходниками.

CC [M]  ubuntu/vbox/vboxguest/VBoxGuest-linux.o
cc1: fatal error: ./ubuntu/vbox/vboxguest/include/VBox/VBoxGuestMangling.h: No such file or directory
compilation terminated.
scripts/Makefile.build:294: recipe for target 'ubuntu/vbox/vboxguest/VBoxGuest-linux.o' failed
make[4]: *** [ubuntu/vbox/vboxguest/VBoxGuest-linux.o] Error 1
scripts/Makefile.build:567: recipe for target 'ubuntu/vbox/vboxguest' failed
make[3]: *** [ubuntu/vbox/vboxguest] Error 2
scripts/Makefile.build:567: recipe for target 'ubuntu/vbox' failed
make[2]: *** [ubuntu/vbox] Error 2
Makefile:1020: recipe for target 'ubuntu' failed
make[1]: *** [ubuntu] Error 2
make[1]: Leaving directory '/home/alexey/Документы/linux-hwe-4.10.0'
Makefile:5: recipe for target 'all' failed
make: *** [all] Error 2

Попробую погуглить этот VBox

Pink-Pank ()
Ответ на: комментарий от Pink-Pank

make[1]: Leaving directory '/home/alexey/Документы/linux-hwe-4.10.0'

Имхо, почему бы не вынести сорцы в /tmp или /usr/src/ для начала и собирать там, мало ли, может мейку кириллица в пути не нравится.

RedEyedMan4 ★★★★★ ()
Последнее исправление: RedEyedMan4 (всего исправлений: 2)
Ответ на: комментарий от Pink-Pank

Попробуй указать путь до родительского каталога (не заголовочного) с сорцами ядра и укажи еще M=$PWD modules

RedEyedMan4 ★★★★★ ()
Последнее исправление: RedEyedMan4 (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.