Добрый день,
спасибо за ответ.
Makefile у меня в порядке, как и Kconfig. В том-то и дело, что если я размещаю папку со своим модулем в папке /drivers, (подключаю Makefile и Kconfig) всё работает на ура, т.е. я могу и модуль отдельный сделать (.ko), и в ядро вкомпилировать. Но если я то же самое (т.е. перемещаю папку, и подключаю Makefile и Kconfig) делаю в папке /samples - в ядро ничего не добавляется, хотя .ko можно сделать без проблем.
Мне кажется, что дело в Makefile-ах ядра... В корневом Makefile есть интересный момент (http://lxr.free-electrons.com/source/Makefile#L914)
ifdef CONFIG_SAMPLES
$(Q)$(MAKE) $(build)=samples
endif
Где
$(Q) = @
$(build) = -f scripts/Makefile.build obj
Но развернуть эту цепочку дальше я затрудняюсь...
--
Best regards,
Semen A Martynov.
Saint Petersburg, Russia.
https://www.facebook.com/semen.martynov
Привет,
Конечно надо подходить предметно к разговору, но в общих чертах в
Makefile просто добавь строчку
obj-y += foo.o
если у тебя отдельная директория тогда
obj-y += directory_name/
если ты сделал изменения в KConfig и добавил новый CONFIG_FOO, тогда
можно делать так
obj-$(CONFIG_FOO) += foo.o
http://lwn.net/Articles/21835/
-- wiz best wishez, Aleksej
Добрый вечер,
написал письмо в англоязычную ветку, но решил продублировать письмо на список Kernel-russian (если тут ещё кто-то есть...).
Ситуация:
У меня есть код модуля, который отлично компилируется и работает (и в качестве модуля, и в ядре), если я кладу его в какую-то папку, отличную от папки /samples. В этой папке почему-то удаётся собрать только kernel object, т.е. когда я пытаюсь вкомпилировать свой код в ядро, я получаю объектник, но в ядро мой код не попадает. Предполагаю, что этому препятствуют какие-то директивы в каком-то из make-файлов...
Вопрос:
Каким образом достигается такой эффект, и какая строчка в make-файлах за это ответственна?
Спасибо.
--
Best regards,
Semen A Martynov.
Saint Petersburg, Russia.
https://www.facebook.com/semen.martynov