Я сталкивался с той же проблемой до вчерашнего дня, когда нашел что-то интересное. В последнее время ядро Linux приняло pr_ ** вместо printk (версия 3.5 и выше).
Я попытался запустить программу базового модуля с printk на версии ядра 3.3 и на версии 3.7 и выше.
Бывший работает отлично. Позже просто не появляется printk на dmesg или /var/log/messages
. Однако заменив printk макросом pr_info, выполнил задание. (есть и другие варианты pr_err, pr_notice и т. Д., Найденные в include / linux / kernel.h ранее, теперь перемещены в включать / Linux / printk.h )
Хотя макросы pr_ ** довольно старые, благодаря кампании Джо Перчеса, которая инициировала вышеупомянутое изменение, мы лучше изучим способы ядра!
(Ссылка: pr_info () )