Наши партнеры

UnixForum





Библиотека сайта rus-linux.net

На главную -> MyLDP -> Электронные книги по ОС Linux
Цилюрик О.И. Модули ядра Linux
Назад Вперед

Загрузка и исполнение

Наш модуль при загрузке/выгрузке выводит сообщение посредством вызова printk(). Этот вывод направляется на текстовую консоль. При работе в терминале X11 вывод не попадает в терминал, и его можно видеть только в лог файле /var/log/messages. Но и в текстовую консоль вывод направляется не непосредственно, а через демон системного журнала, и выводится на экран только если демон конфигурирован для вывода таких сообщений, вопросы использования и конфигурирования демонов журнала будут детально рассмотрены позже.

$ modinfo ./hello_printk.ko

	filename:      hello_printk.ko 
	author:        Oleg Tsiliuric <olej@front.ru> 
	license:       GPL 
	srcversion:    83915F228EC39FFCBAF99FD 
	depends:        
	vermagic:      2.6.32.9-70.fc12.i686.PAE SMP mod_unload 686 

$ sudo insmod ./hello_printk.ko

$ lsmod | head -n2

	Module                  Size  Used by 
	hello_printk             557  0 

$ sudo rmmod hello_printk

$ lsmod | head -n2

	Module                  Size  Used by 
	vfat                    6740  2 

$ dmesg | tail -n2

	Hello, world! 
	Goodbye, world! 

$ sudo cat /var/log/messages | tail -n3

	Mar  8 01:44:14 notebook ntpd[1735]: synchronized to 193.33.236.211, stratum 2 
	Mar  8 02:18:54 notebook kernel: Hello, world! 
	Mar  8 02:19:13 notebook kernel: Goodbye, world! 

Выше показаны 2 основных метода визуализации сообщений ядра (занесенных в системный журнал): утилита dmesg и прямое чтение файла журнала /var/log/messages. Они имеют несколько отличающийся формат: файл журнала содержит метки времени поступления сообщений, что иногда бывает нужно. Кроме того, прямое чтение файла журнала требует наличия прав root.


Предыдущий раздел: Оглавление Следующий раздел:
Сборка модуля   Структура модуля