Сейчас на форуме: Rio, tyns777, zombi-vadim (+7 невидимых)

 eXeL@B —› Программирование —› Linux. Модули. Printk(...)
Посл.ответ Сообщение

Ранг: 5.0 (гость), 2thx
Активность: 0.010
Статус: Участник

Создано: 20 сентября 2014 23:18
· Личное сообщение · #1

Господа! Прошу помочь желающих знающих в вопросе компилирования простейшего модуля, который выводит строку на экран.
Исходный код модуля
[С]
/*
File name: Read_all_device.c++

This is a kernel module for full reading of any devices
*/
#include <linux/init.h>
#include <linux/interrupt.h>
#include <linux/kernel.h>

//MODULE_LICENSE("Dual BSD/GPL");

static int hello_init(void)
{
printk(KERN_INFO "something went wrong, return code:\n");
return 0;
}
static void hello_exit(void)
{
printk("Hello, world\n");
}
module_init(hello_init);
module_exit(hello_exit);[С]

После компиляции загружаю модуль с помощью терминала. Ожидаю вывода сообщения, но после загрузке сообщение не отображается. Что делать???




Ранг: 1053.6 (!!!!), 1078thx
Активность: 1.060.81
Статус: Участник

Создано: 20 сентября 2014 23:33
· Личное сообщение · #2

и куда он по вашему должен вывести?

| Сообщение посчитали полезным: Excelvrn

Ранг: 431.7 (мудрец), 390thx
Активность: 0.730.32
Статус: Участник

Создано: 20 сентября 2014 23:41 · Поправил: dosprog
· Личное сообщение · #3

Насколько помню, модуль должен экспортировать функции
int init_module() и void cleanup_module().

| Сообщение посчитали полезным: Excelvrn

Ранг: 5.0 (гость), 2thx
Активность: 0.010
Статус: Участник

Создано: 20 сентября 2014 23:44
· Личное сообщение · #4

reversecode пишет:
и куда он по вашему должен вывести?
Окно терминала


dosprog пишет:
Насколько помню, модуль должен экспортировать функции
int init_module() и void cleanup_module().
А это уже в зависимости от исходников... у меня 3.16.2




Ранг: 1053.6 (!!!!), 1078thx
Активность: 1.060.81
Статус: Участник

Создано: 20 сентября 2014 23:45
· Личное сообщение · #5

dmesg



Ранг: 431.7 (мудрец), 390thx
Активность: 0.730.32
Статус: Участник

Создано: 20 сентября 2014 23:46 · Поправил: dosprog
· Личное сообщение · #6

Excelvrn пишет:
А это уже в зависимости от исходников... у меня 3.16.2


Х запущен? Если да, попробуйте без него.



Ранг: 5.0 (гость), 2thx
Активность: 0.010
Статус: Участник

Создано: 20 сентября 2014 23:48
· Личное сообщение · #7

X - в смысле X11???



Ранг: 431.7 (мудрец), 390thx
Активность: 0.730.32
Статус: Участник

Создано: 20 сентября 2014 23:49
· Личное сообщение · #8

Excelvrn пишет:
X - в смысле X11???

Да.



Ранг: 5.0 (гость), 2thx
Активность: 0.010
Статус: Участник

Создано: 20 сентября 2014 23:52
· Личное сообщение · #9

Моделируем. Отключаю Х11 - гасим весь Desktop Manager (В данном случае Гном3).

Добавлено спустя 2 минуты
Xorg запущен и Gnome




Ранг: 1053.6 (!!!!), 1078thx
Активность: 1.060.81
Статус: Участник

Создано: 21 сентября 2014 00:09
· Личное сообщение · #10

вывод dmesg где ?



Ранг: 5.0 (гость), 2thx
Активность: 0.010
Статус: Участник

Создано: 21 сентября 2014 00:19
· Личное сообщение · #11

его и нет.

Добавлено спустя 3 минуты
все действия в терминале.
makefile в папке /home/********
Вызываю из терминала sudo make, sudo insmod NAME.ko(нет реакции); sudo rmmod(нет реакции)

Добавлено спустя 6 минут
ICQ 592357102




Ранг: 1053.6 (!!!!), 1078thx
Активность: 1.060.81
Статус: Участник

Создано: 21 сентября 2014 00:25
· Личное сообщение · #12

возьмите уже учебник по линуксу, а то разговор глухого с немым



Ранг: 5.0 (гость), 2thx
Активность: 0.010
Статус: Участник

Создано: 21 сентября 2014 00:31
· Личное сообщение · #13

рекомендуйте

Добавлено спустя 2 минуты
reversecode пишет:
разговор глухого с немым
Есть выход - переписка))))

Добавлено спустя 39 минут
всё заносилось в /var/log/messages




Ранг: 1053.6 (!!!!), 1078thx
Активность: 1.060.81
Статус: Участник

Создано: 21 сентября 2014 01:11
· Личное сообщение · #14

man dmesg



Ранг: 5.0 (гость), 2thx
Активность: 0.010
Статус: Участник

Создано: 21 сентября 2014 01:25
· Личное сообщение · #15

ty
А нужно отключить???
dmesg -c

Добавлено спустя 2 минуты
dmesg -D
и отключал, и выключал dmesg - ни хрена не помогает. В var/log/messages сохраняются.

Добавлено спустя 5 минут
через dmesg - выводит сообщения, но не то

Добавлено спустя 48 минут
thank you very much.
Через dmesg отлично получается.
Весьма благодарен


 eXeL@B —› Программирование —› Linux. Модули. Printk(...)
Эта тема закрыта. Ответы больше не принимаются.
   Для печати Для печати