KERNEL_SRC = /home/hoge/Fedora/FC15 BUILD_DIR := $(shell pwd) MODULE_OBJS = hoge1.o hoge2.o hoge3.o obj-m := hoge.o hoge-objs := $(MODULE_OBJS) CROSS_COMPILE = /home/hoge/build/FC15/export/sysroot/hogehoge-glibc_std/arm-linux/hoge-linux-gnu-glibc_std- ARCH = arm MAKEARCH = $(MAKE) ARCH=$(ARCH) CROSS_COMPILE=$(CROSS_COMPILE) all: $(MAKEARCH) -C $(KERNEL_SRC) SUBDIRS=$(BUILD_DIR) modules clean: rm -f *.o rm -f *.ko rm -f *.mod.c rm -f Module.markers Module.symvers modules.order
obj-mは、ローダブルモジュール(.ko)を作成する場合です。insmod コマンドでロードする場合です。
obj-yは、カーネル起動時にロードする場合です。zImageやuImageに含める場合です。
メジャー番号確認
cat /proc/devices
モジュールインストール
insmod hoge.ko
デバイスノード作成
mknod /dev/hoge c 258 0