Перейти к содержанию

printk не пишет


unvo

Рекомендуемые сообщения

Написал модуль ядра типа Hello World. вот метод инициализации модуля:

static int __init hello_init(void)
{
	printk("<0> Hello World\n");
	return 0;
}

Модуль загружается, но ничего на консоль не выводит.

Вот содержимое файла:

# cat /proc/sys/kernel/printk

4 4 1 7

/var/log/messages содержит сообщение. Об этом же говорит и dmesg. Но на консоли не вижу. В чем хитрость-то?

Ссылка на комментарий
Поделиться на другие сайты

А почему? Я раньше писал драйверы для разных контроллеров под Linux'ом и uClinux'ом. И там это был основной способ отладки - вывод на консоль. И Рубини пишет, что если в printk строка loglevel с более высоким приоритетом, чем значение системной переменной console_loglevel, то должен быть вывод непосредственно на консоль. А здесь я почему-то этого не наблюдаю.

Ссылка на комментарий
Поделиться на другие сайты

unvo писал(а) Thu, 04 December 2008 21:20

если в printk строка loglevel с более высоким приоритетом, чем значение системной переменной console_loglevel, то должен быть вывод непосредственно на консоль.

Помнится, под 2.4 такое работало точно. Может быть, в 2.6 что-то изменили? Попробуйте другие версии ядер. Либо загрузитесь с init=/bin/sh, чтоб наверняка никакие инициализационные скрипты не повлияли, после чего подгрузите модуль.

Ссылка на комментарий
Поделиться на другие сайты

EvilShadow писал(а) Fri, 05 December 2008 01:56

unvo писал(а) Thu, 04 December 2008 21:20

если в printk строка loglevel с более высоким приоритетом, чем значение системной переменной console_loglevel, то должен быть вывод непосредственно на консоль.

Помнится, под 2.4 такое работало точно. Может быть, в 2.6 что-то изменили? Попробуйте другие версии ядер. Либо загрузитесь с init=/bin/sh, чтоб наверняка никакие инициализационные скрипты не повлияли, после чего подгрузите модуль.

По опыту знаю, что в 2.6 оно тоже работает. Не хотелось бы пересобирать ядро, должны же быть какие-то команды, позволяющие изменить поведение ядра.

Ссылка на комментарий
Поделиться на другие сайты

cppmm писал(а) Fri, 05 December 2008 02:35

Извиняюсь за жестокий оффтоп, но как-то эта тема смущает в разделе SuSe Linux, вам не кажется? Wink

Посоветуйте, где разместить этот топик?

Ссылка на комментарий
Поделиться на другие сайты

unvo писал(а) Fri, 05 December 2008 10:12

должны же быть какие-то команды, позволяющие изменить поведение ядра.

sysctl. Но в этом случае, думаю, dmesg

Ссылка на комментарий
Поделиться на другие сайты

EvilShadow писал(а) Fri, 05 December 2008 11:47

unvo писал(а) Fri, 05 December 2008 10:12

должны же быть какие-то команды, позволяющие изменить поведение ядра.

sysctl. Но в этом случае, думаю, dmesg

Да, я могу сделать

# sysctl kernel.printk=8

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

# klog -c 8

или

# echo 8 > /proc/sys/kernel/printk.

Т.е. все равно приходится смотреть через dmesg.

Ссылка на комментарий
Поделиться на другие сайты

unvo писал(а) Fri, 05 December 2008 10:14

cppmm писал(а) Fri, 05 December 2008 02:35

Извиняюсь за жестокий оффтоп, но как-то эта тема смущает в разделе SuSe Linux, вам не кажется? Wink

Посоветуйте, где разместить этот топик?

Где-то в разделе программирования.

Во всяком случае, в этом топике нет ни слова про SuSe.

Ссылка на комментарий
Поделиться на другие сайты

cppmm писал(а) Sat, 06 December 2008 06:57

unvo писал(а) Fri, 05 December 2008 10:14

cppmm писал(а) Fri, 05 December 2008 02:35

Извиняюсь за жестокий оффтоп, но как-то эта тема смущает в разделе SuSe Linux, вам не кажется? Wink

Посоветуйте, где разместить этот топик?

Где-то в разделе программирования.

Во всяком случае, в этом топике нет ни слова про SuSe.

Так и про программирование здесь ни слова Smile А SuSu неявно подразумевается - такой у меня дистрибутив.

Ссылка на комментарий
Поделиться на другие сайты

"Написал модуль ядра типа Hello World" подразумевает программирование. Smile

А если бы вы в последнем сообщении не сказали, что у вас SuSe, я бы и не догадался. Предполагается, что в разделе про этот дистрибутив, решаются задачи, характерные именно для этого дистра. Ваша же проблема является общей для любых дистров.

Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
×
×
  • Создать...