Библиотека сайта rus-linux.net
Цилюрик О.И. Linux-инструменты для Windows-программистов | ||
Назад | Компиляция и сборка приложений | Вперед |
Сборка модулей ядра
Частным случаем сборки приложений есть сборка модулей ядра Linux (драйверов), для сборки
модуля (в ядрах 2.6.х) составляется Makefile
построенный на использовании макросов,
нам остаётся только записать (для файла кода с именем mod_params.c
),
как шаблон для сборки модулей:
CURRENT = $(shell uname -r) KDIR = /lib/modules/$(CURRENT)/build PWD = $(shell pwd) TARGET = mod_params obj-m := $(TARGET).o default: $(MAKE) -C $(KDIR) M=$(PWD) modules ...
В результате:
$ make make -C /lib/modules/2.6.18-92.el5/build M=/home/olej/2011-work/Linux-kernel/examples/modules-done_1/hello_printk modules make[1]: Entering directory `/usr/src/kernels/2.6.18-92.el5-i686' CC [M] /home/olej/2011-work/Linux-kernel/examples/modules-done_1/hello_printk/hello_printk.o Building modules, stage 2. MODPOST CC /home/olej/2011-work/Linux-kernel/examples/modules-done_1/hello_printk/hello_printk.mod.o LD [M] /home/olej/2011-work/Linux-kernel/examples/modules-done_1/hello_printk/hello_printk.ko make[1]: Leaving directory `/usr/src/kernels/2.6.18-92.el5-i686' $ ls -l *.o *.ko -rw-rw-r-- 1 olej olej 74391 Мар 19 15:58 hello_printk.ko -rw-rw-r-- 1 olej olej 42180 Мар 19 15:58 hello_printk.mod.o -rw-rw-r-- 1 olej olej 33388 Мар 19 15:58 hello_printk.o $ file hello_printk.ko hello_printk.ko: ELF 32-bit LSB relocatable, Intel 80386, version 1 (SYSV), not stripped $ /sbin/modinfo hello_printk.ko filename: hello_printk.ko author: Oleg Tsiliuric <olej@front.ru> license: GPL srcversion: 83915F228EC39FFCBAF99FD depends: vermagic: 2.6.18-92.el5 SMP mod_unload 686 REGPARM 4KSTACKS gcc-4.1
Предыдущий раздел: | Оглавление | Следующий раздел: |
Создание проектов, сборка make | Установка программного обеспечения |