Jul 12, 2005 onlpara, Fedora Core 3 上で 2.6カーネル・ソースのインストール --- 2.6カーネル・ソースのインストール #1 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ (http://www-online.kek.jp/~inoue/para-CAMAC/ Work/onlpara-2.6driver1.html) 高エネルギー加速器研究機構 素粒子原子核研究所 物理、オンライングループ 井上 栄二 目的 onlpara で稼動している Fedora Core 3 上に カーネル2.6用のソースを インストールする。 項目 (1). カーネルソースのインストール (2). Hello World カーネル・モジュールの作成および実行 -------------------------------------------------------------------- (1). カーネルソースのインストール カーネルソースをインストールする。 [root@onlpara examples]# yum install kernel-source Setting up Install Process Setting up Repos base 100% |=========================| 1.1 kB 00:00 updates-released 100% |=========================| 951 B 00:00 Reading repository metadata in from local files base : ################################################## 2622/2622 updates-re: ################################################## 881/881 Parsing package install arguments No Match for argument: kernel-source Nothing to do [root@onlpara examples]# KDDIミラーサイトから、kernel-2.6.9-1.667.src.rpm をダウンロードした。 [root@onlpara KernelSource]# pwd /home/inoue/KernelSource [root@onlpara KernelSource]# ls -l 合計 39396 -rw-rw-r-- 1 inoue inoue 40291006 7月 8 2005 kernel-2.6.9-1.667.src.rpm [root@onlpara KernelSource]# [root@onlpara KernelSource]# rpm -ihv ./kernel-2.6.9-1.667.src.rpm : /etc/selinux/targeted/contexts/files/file_contexts: invalid context root:object _r:texrel_shlib_t on line number 995 1:kernel ########################################### [100%] [root@onlpara KernelSource]# [root@onlpara KernelSource]# ls -lR /usr/src/redhat /usr/src/redhat: 合計 40 drwxr-xr-x 2 root root 4096 11月 2 2004 BUILD drwxr-xr-x 8 root root 4096 7月 7 10:29 RPMS drwxr-xr-x 2 root root 4096 7月 8 14:17 SOURCES drwxr-xr-x 2 root root 4096 7月 8 14:17 SPECS drwxr-xr-x 2 root root 4096 11月 2 2004 SRPMS /usr/src/redhat/BUILD: 合計 0 /usr/src/redhat/RPMS: 合計 48 drwxr-xr-x 2 root root 4096 11月 2 2004 athlon drwxr-xr-x 2 root root 4096 11月 2 2004 i386 drwxr-xr-x 2 root root 4096 11月 2 2004 i486 drwxr-xr-x 2 root root 4096 11月 2 2004 i586 drwxr-xr-x 2 root root 4096 11月 2 2004 i686 drwxr-xr-x 2 root root 4096 11月 2 2004 noarch /usr/src/redhat/RPMS/athlon: 合計 0 /usr/src/redhat/RPMS/i386: 合計 0 /usr/src/redhat/RPMS/i486: 合計 0 /usr/src/redhat/RPMS/i586: 合計 0 /usr/src/redhat/RPMS/i686: 合計 0 /usr/src/redhat/RPMS/noarch: 合計 0 /usr/src/redhat/SOURCES: 合計 41580 -rw-rw-r-- 1 root root 32823 9月 9 2004 COPYING.modules -rw-rw-r-- 1 root root 139 9月 9 2004 genkey -rw-rw-r-- 1 root root 50595 11月 3 2004 kernel-2.6.9-i586-smp.config -rw-rw-r-- 1 root root 50671 11月 3 2004 kernel-2.6.9-i586.config -rw-rw-r-- 1 root root 50760 11月 3 2004 kernel-2.6.9-i686-smp.config -rw-rw-r-- 1 root root 50673 11月 3 2004 kernel-2.6.9-i686.config -rw-rw-r-- 1 root root 48227 11月 3 2004 kernel-2.6.9-ia64.config -rw-rw-r-- 1 root root 49892 11月 3 2004 kernel-2.6.9-ppc.config -rw-rw-r-- 1 root root 49045 11月 3 2004 kernel-2.6.9-ppc64.config -rw-rw-r-- 1 root root 49376 11月 3 2004 kernel-2.6.9-ppc64iseries.config -rw-rw-r-- 1 root root 48511 11月 3 2004 kernel-2.6.9-s390.config -rw-rw-r-- 1 root root 48478 11月 3 2004 kernel-2.6.9-s390x.config -rw-rw-r-- 1 root root 48083 11月 3 2004 kernel-2.6.9-x86_64-smp.config -rw-rw-r-- 1 root root 48118 11月 3 2004 kernel-2.6.9-x86_64.config -rw-rw-r-- 1 root root 3448 9月 10 2004 linux-2.4.0-nonintconfig.patch -rw-rw-r-- 1 root root 477 9月 9 2004 linux-2.4.0-test11-vidfail.patch -rw-rw-r-- 1 root root 132031 10月 19 2004 linux-2.6.0-4g4g.patch -rw-rw-r-- 1 root root 34947 10月 29 2004 linux-2.6.0-compile.patch -rw-rw-r-- 1 root root 2363 9月 10 2004 linux-2.6.0-devmem.patch -rw-rw-r-- 1 root root 45194 10月 13 2004 linux-2.6.0-exec-shield.patch -rw-rw-r-- 1 root root 1334 9月 10 2004 linux-2.6.0-must_check.patch -rw-rw-r-- 1 root root 7524 9月 10 2004 linux-2.6.0-sleepon.patch -rw-rw-r-- 1 root root 3936 9月 10 2004 linux-2.6.1-s390-compile.patch -rw-rw-r-- 1 root root 441 9月 20 2004 linux-2.6.2-ppc64-build.patch -rw-rw-r-- 1 root root 342105 10月 13 2004 linux-2.6.2-tux.patch -rw-rw-r-- 1 root root 12527 10月 13 2004 linux-2.6.3-crash-driver.patch -rw-rw-r-- 1 root root 1393 9月 9 2004 linux-2.6.3-ia64-build.patch -rw-rw-r-- 1 root root 3844 9月 9 2004 linux-2.6.3-printopen.patch -rw-rw-r-- 1 root root 661 9月 9 2004 linux-2.6.3-sparc-addbzimage.patc h -rw-rw-r-- 1 root root 11438 9月 9 2004 linux-2.6.4-stackusage.patch -rw-rw-r-- 1 root root 66863 10月 5 2004 linux-2.6.5-ext3-online-resize.pa tch -rw-rw-r-- 1 root root 41314 9月 10 2004 linux-2.6.5-ext3-reservations.pat ch -rw-rw-r-- 1 root root 4039 9月 10 2004 linux-2.6.5-nostack.patch -rw-rw-r-- 1 root root 3875 9月 14 2004 linux-2.6.7-aic7xxx-diskdump.patc h -rw-rw-r-- 1 root root 15472 10月 15 2004 linux-2.6.7-devmem.patch -rw-rw-r-- 1 root root 2016 9月 20 2004 linux-2.6.7-early-schedule.patch -rw-rw-r-- 1 root root 4573 9月 9 2004 linux-2.6.7-hugetlb.patch -rw-rw-r-- 1 root root 2944 9月 9 2004 linux-2.6.7-i8042.patch -rw-rw-r-- 1 root root 3771 9月 20 2004 linux-2.6.7-iobitmap.patch -rw-rw-r-- 1 root root 27997 10月 20 2004 linux-2.6.7-modsign-core.patch -rw-rw-r-- 1 root root 2671 9月 9 2004 linux-2.6.7-modsign-crypto.patch -rw-rw-r-- 1 root root 13382 10月 15 2004 linux-2.6.7-modsign-include.patch -rw-rw-r-- 1 root root 36264 10月 15 2004 linux-2.6.7-modsign-ksign.patch -rw-rw-r-- 1 root root 208518 9月 9 2004 linux-2.6.7-modsign-mpilib.patch -rw-rw-r-- 1 root root 28528 10月 15 2004 linux-2.6.7-modsign-script.patch -rw-rw-r-- 1 root root 32869 10月 13 2004 linux-2.6.7-netdump.patch -rw-rw-r-- 1 root root 6116 11月 2 2004 linux-2.6.7-scsi-whitelist.patch -rw-rw-r-- 1 root root 10717 9月 10 2004 linux-2.6.7-voluntary-preemption. patch -rw-rw-r-- 1 root root 17932 9月 20 2004 linux-2.6.8-4g4g-backout.patch -rw-rw-r-- 1 root root 51935 10月 13 2004 linux-2.6.8-crashdump-common.patc h -rw-rw-r-- 1 root root 50731 10月 13 2004 linux-2.6.8-diskdump-3.patch -rw-rw-r-- 1 root root 22497 10月 13 2004 linux-2.6.8-diskdump-scsi-3.patch -rw-rw-r-- 1 root root 6499 9月 10 2004 linux-2.6.8-execshield-vaspace.pa tch -rw-rw-r-- 1 root root 30412 10月 15 2004 linux-2.6.8-ext3-reservations-upd ate.patch -rw-rw-r-- 1 root root 4330 11月 2 2004 linux-2.6.8-flexmmap-x86-64.patch -rw-rw-r-- 1 root root 3431 10月 13 2004 linux-2.6.8-ipr-diskdump.patch -rw-rw-r-- 1 root root 2351 10月 20 2004 linux-2.6.8-lockd-racewarn2.patch -rw-rw-r-- 1 root root 5089 9月 14 2004 linux-2.6.8-mptfusion-diskdump.pa tch -rw-rw-r-- 1 root root 4310 10月 13 2004 linux-2.6.8-netconsole.patch -rw-rw-r-- 1 root root 1142 10月 6 2004 linux-2.6.8-ppc64-netboot.patch -rw-rw-r-- 1 root root 3799 9月 9 2004 linux-2.6.8-print-fatal-signals.p atch -rw-rw-r-- 1 root root 1856 10月 13 2004 linux-2.6.8-sym53c8xx-diskdump.pa tch -rw-rw-r-- 1 root root 7018 10月 23 2004 linux-2.6.9-ac-bits.patch -rw-rw-r-- 1 root root 19308 10月 22 2004 linux-2.6.9-ac-security-bits.patc h -rw-rw-r-- 1 root root 1606 9月 10 2004 linux-2.6.9-blockfixes.patch -rw-rw-r-- 1 root root 3343 10月 30 2004 linux-2.6.9-e820-EDID.patch -rw-rw-r-- 1 root root 5196 9月 10 2004 linux-2.6.9-irqfixup.patch -rw-rw-r-- 1 root root 82710 10月 13 2004 linux-2.6.9-kexec.patch -rw-rw-r-- 1 root root 1018 10月 23 2004 linux-2.6.9-s390-autoraid.patch -rw-rw-r-- 1 root root 34435 10月 19 2004 linux-2.6.9-sata.patch -rw-rw-r-- 1 root root 108222 10月 19 2004 linux-2.6.9-speedtouch.patch -rw-rw-r-- 1 root root 769 10月 29 2004 linux-2.6.9-vm-tame-oomkiller.pat ch -rw-rw-r-- 1 root root 72898 10月 6 2004 linux-2.6.9-xattr-rework-tmpfs-mm .patch -rw-rw-r-- 1 root root 36261440 10月 19 2004 linux-2.6.9.tar.bz2 -rw-rw-r-- 1 root root 5045 10月 19 2004 patch-2.6.9-final-bk2.bz2 -rw-rw-r-- 1 root root 3453171 10月 19 2004 patch-2.6.9-final.bz2 /usr/src/redhat/SPECS: 合計 44 -rw-rw-r-- 1 root root 39817 11月 3 2004 kernel-2.6.spec /usr/src/redhat/SRPMS: 合計 0 [root@onlpara KernelSource]# [root@onlpara KernelSource]# ls -l /usr/src/redhat/BUILD 合計 8 drwxr-xr-x 3 root root 4096 7月 8 14:29 kernel-2.6.9 [root@onlpara KernelSource]# [root@onlpara KernelSource]# ls -l /usr/src/redhat/BUILD/kernel-2.6.9 合計 8 drwxr-xr-x 19 root root 4096 7月 8 14:30 linux-2.6.9 [root@onlpara KernelSource]# [root@onlpara KernelSource]# ls -la /usr/src/redhat/BUILD/kernel-2.6.9/linux-2.6 .9 合計 544 drwxr-xr-x 19 root root 4096 7月 8 14:30 . drwxr-xr-x 3 root root 4096 7月 8 14:29 .. -rw-r--r-- 1 root root 50923 7月 8 14:30 .config -rw-r--r-- 1 root root 4798 7月 8 14:30 .config.cmd -rw-r--r-- 1 root root 50673 7月 8 14:30 .config.old -rw-r--r-- 1 root root 18691 10月 19 2004 COPYING -rw-r--r-- 1 root root 88031 10月 19 2004 CREDITS drwxr-xr-x 45 root root 4096 7月 8 14:30 Documentation -rw-r--r-- 1 root root 54798 7月 8 14:30 MAINTAINERS -rw-r--r-- 1 root root 42219 7月 8 14:30 Makefile -rw-r--r-- 1 root root 13970 10月 19 2004 README -rw-r--r-- 1 root root 2815 10月 19 2004 REPORTING-BUGS drwxr-xr-x 24 root root 4096 10月 19 2004 arch drwxr-xr-x 2 root root 4096 7月 8 14:30 configs drwxr-xr-x 4 root root 4096 7月 8 14:30 crypto drwxr-xr-x 46 root root 4096 10月 19 2004 drivers drwxr-xr-x 54 root root 4096 7月 8 14:30 fs drwxr-xr-x 36 root root 4096 10月 19 2004 include drwxr-xr-x 2 root root 4096 7月 8 14:30 init drwxr-xr-x 2 root root 4096 10月 19 2004 ipc drwxr-xr-x 3 root root 4096 7月 8 14:30 kernel drwxr-xr-x 4 root root 4096 10月 19 2004 lib drwxr-xr-x 2 root root 4096 7月 8 14:30 mm drwxr-xr-x 33 root root 4096 7月 8 14:30 net drwxr-xr-x 10 root root 4096 7月 8 14:30 scripts drwxr-xr-x 3 root root 4096 10月 19 2004 security drwxr-xr-x 15 root root 4096 10月 19 2004 sound drwxr-xr-x 2 root root 4096 10月 19 2004 usr [root@onlpara KernelSource]# [root@onlpara KernelSource]# mv /usr/src/redhat/BUILD/kernel-2.6.9/linux-2.6.9 / usr/src [root@onlpara KernelSource]# [root@onlpara KernelSource]# ls /usr/src/linux-2.6.9 COPYING Makefile configs include lib security CREDITS README crypto init mm sound Documentation REPORTING-BUGS drivers ipc net usr MAINTAINERS arch fs kernel scripts [root@onlpara KernelSource]# これでカーネルソースのインストールができた。 (2). Hello World カーネル・モジュールの作成および実行 Hello World モジュールを作成して、実行してみる。 [inoue@onlpara examples]$ pwd /home/inoue/DeviceDriverExamples/Oreilly/examples [inoue@onlpara examples]$ ls -l 合計 168 -rw-r--r-- 1 inoue inoue 1091 2月 1 05:31 LICENSE -rw-r--r-- 1 inoue inoue 289 7月 8 15:41 Makefile -rw-r--r-- 1 inoue inoue 289 7月 8 15:39 Makefile-org drwxr-xr-x 2 inoue inoue 4096 2月 1 05:31 include drwxr-xr-x 2 inoue inoue 4096 2月 1 05:31 lddbus drwxr-xr-x 3 inoue inoue 4096 7月 8 16:39 misc-modules drwxr-xr-x 2 inoue inoue 4096 7月 8 16:38 misc-progs drwxr-xr-x 2 inoue inoue 4096 2月 1 05:31 pci drwxr-xr-x 2 inoue inoue 4096 2月 1 05:31 sbull drwxr-xr-x 2 inoue inoue 4096 2月 1 05:31 scull drwxr-xr-x 2 inoue inoue 4096 2月 1 05:31 scullc drwxr-xr-x 2 inoue inoue 4096 2月 1 05:31 sculld drwxr-xr-x 2 inoue inoue 4096 2月 1 05:31 scullp drwxr-xr-x 2 inoue inoue 4096 2月 1 05:31 scullv drwxr-xr-x 2 inoue inoue 4096 2月 1 05:31 short drwxr-xr-x 2 inoue inoue 4096 2月 1 05:31 shortprint drwxr-xr-x 2 inoue inoue 4096 2月 1 05:31 simple drwxr-xr-x 2 inoue inoue 4096 2月 1 05:31 skull drwxr-xr-x 2 inoue inoue 4096 2月 1 05:31 snull drwxr-xr-x 2 inoue inoue 4096 2月 1 05:31 tty drwxr-xr-x 2 inoue inoue 4096 2月 1 05:31 usb [inoue@onlpara examples]$ [inoue@onlpara examples]$ make for n in misc-progs misc-modules skull scull scullc sculld scullp scullv sbull s null short shortprint pci simple usb tty lddbus; do make -C $n || exit 1; done make[1]: Entering directory `/home/inoue/DeviceDriverExamples/Oreilly/examples/m isc-progs' cc -O2 -fomit-frame-pointer -Wall -I/lib/modules/2.6.9-1.667/build/include in p.c -o inp /lib/modules/2.6.9-1.667/build/include/asm/io.h:4 から include されたファイル中, inp.c:33 から: /lib/modules/2.6.9-1.667/build/include/linux/config.h:6:2: #error including kern el header in userspace; use the glibc headers instead! make[1]: *** [inp] エラー 1 make[1]: Leaving directory `/home/inoue/DeviceDriverExamples/Oreilly/examples/mi sc-progs' make: *** [subdirs] エラー 1 [inoue@onlpara examples]$ [inoue@onlpara examples]$ find . -name hello.c -print ./misc-modules/hello.c [inoue@onlpara examples]$ [inoue@onlpara examples]$ cd misc-modules [inoue@onlpara misc-modules]$ [inoue@onlpara misc-modules]$ ls -l 合計 108 -rw-r--r-- 1 inoue inoue 987 2月 1 05:31 Makefile -rw-r--r-- 1 inoue inoue 2128 2月 1 05:31 complete.c -rw-r--r-- 1 inoue inoue 2000 2月 1 05:31 faulty.c -rw-r--r-- 1 inoue inoue 463 2月 1 05:31 hello.c -rw-r--r-- 1 inoue inoue 1130 2月 1 05:31 hellop.c -rw-r--r-- 1 inoue inoue 6194 2月 1 05:31 jiq.c -rw-r--r-- 1 inoue inoue 7571 2月 1 05:31 jit.c -rw-r--r-- 1 inoue inoue 2293 2月 1 05:31 kdataalign.c -rw-r--r-- 1 inoue inoue 1489 2月 1 05:31 kdatasize.c -rw-r--r-- 1 inoue inoue 2044 2月 1 05:31 seq.c -rw-r--r-- 1 inoue inoue 6200 2月 1 05:31 silly.c -rw-r--r-- 1 inoue inoue 2161 2月 1 05:31 sleepy.c [inoue@onlpara misc-modules]$ [inoue@onlpara misc-modules]$ make make -C /lib/modules/2.6.9-1.667/build M=/home/inoue/DeviceDriverExamples/Oreill y/examples/misc-modules modules make[1]: Entering directory `/lib/modules/2.6.9-1.667/build' CC [M] /home/inoue/DeviceDriverExamples/Oreilly/examples/misc-modules/hello.o CC [M] /home/inoue/DeviceDriverExamples/Oreilly/examples/misc-modules/hellop. o CC [M] /home/inoue/DeviceDriverExamples/Oreilly/examples/misc-modules/seq.o CC [M] /home/inoue/DeviceDriverExamples/Oreilly/examples/misc-modules/jit.o CC [M] /home/inoue/DeviceDriverExamples/Oreilly/examples/misc-modules/jiq.o /home/inoue/DeviceDriverExamples/Oreilly/examples/misc-modules/jiq.c: In functio n `jiq_read_tasklet': /home/inoue/DeviceDriverExamples/Oreilly/examples/misc-modules/jiq.c:190: 警告: `interruptible_sleep_on' is deprecated (declared at include/linux/wait.h:290) /home/inoue/DeviceDriverExamples/Oreilly/examples/misc-modules/jiq.c: In functio n `jiq_read_run_timer': /home/inoue/DeviceDriverExamples/Oreilly/examples/misc-modules/jiq.c:227: 警告: `interruptible_sleep_on' is deprecated (declared at include/linux/wait.h:290) CC [M] /home/inoue/DeviceDriverExamples/Oreilly/examples/misc-modules/sleepy. o CC [M] /home/inoue/DeviceDriverExamples/Oreilly/examples/misc-modules/complet e.o CC [M] /home/inoue/DeviceDriverExamples/Oreilly/examples/misc-modules/silly.o CC [M] /home/inoue/DeviceDriverExamples/Oreilly/examples/misc-modules/faulty. o CC [M] /home/inoue/DeviceDriverExamples/Oreilly/examples/misc-modules/kdatasi ze.o CC [M] /home/inoue/DeviceDriverExamples/Oreilly/examples/misc-modules/kdataal ign.o Building modules, stage 2. MODPOST CC /home/inoue/DeviceDriverExamples/Oreilly/examples/misc-modules/complet e.mod.o LD [M] /home/inoue/DeviceDriverExamples/Oreilly/examples/misc-modules/complet e.ko CC /home/inoue/DeviceDriverExamples/Oreilly/examples/misc-modules/faulty. mod.o LD [M] /home/inoue/DeviceDriverExamples/Oreilly/examples/misc-modules/faulty. ko CC /home/inoue/DeviceDriverExamples/Oreilly/examples/misc-modules/hello.m od.o LD [M] /home/inoue/DeviceDriverExamples/Oreilly/examples/misc-modules/hello.k o CC /home/inoue/DeviceDriverExamples/Oreilly/examples/misc-modules/hellop. mod.o LD [M] /home/inoue/DeviceDriverExamples/Oreilly/examples/misc-modules/hellop. ko CC /home/inoue/DeviceDriverExamples/Oreilly/examples/misc-modules/jiq.mod .o LD [M] /home/inoue/DeviceDriverExamples/Oreilly/examples/misc-modules/jiq.ko CC /home/inoue/DeviceDriverExamples/Oreilly/examples/misc-modules/jit.mod .o LD [M] /home/inoue/DeviceDriverExamples/Oreilly/examples/misc-modules/jit.ko CC /home/inoue/DeviceDriverExamples/Oreilly/examples/misc-modules/kdataal ign.mod.o LD [M] /home/inoue/DeviceDriverExamples/Oreilly/examples/misc-modules/kdataal ign.ko CC /home/inoue/DeviceDriverExamples/Oreilly/examples/misc-modules/kdatasi ze.mod.o LD [M] /home/inoue/DeviceDriverExamples/Oreilly/examples/misc-modules/kdatasi ze.ko CC /home/inoue/DeviceDriverExamples/Oreilly/examples/misc-modules/seq.mod .o LD [M] /home/inoue/DeviceDriverExamples/Oreilly/examples/misc-modules/seq.ko CC /home/inoue/DeviceDriverExamples/Oreilly/examples/misc-modules/silly.m od.o LD [M] /home/inoue/DeviceDriverExamples/Oreilly/examples/misc-modules/silly.k o CC /home/inoue/DeviceDriverExamples/Oreilly/examples/misc-modules/sleepy. mod.o LD [M] /home/inoue/DeviceDriverExamples/Oreilly/examples/misc-modules/sleepy. ko make[1]: Leaving directory `/lib/modules/2.6.9-1.667/build' [inoue@onlpara misc-modules]$ [inoue@onlpara misc-modules]$ ls -l hello* -rw-r--r-- 1 inoue inoue 463 2月 1 05:31 hello.c -rw-rw-r-- 1 inoue inoue 50888 7月 12 15:23 hello.ko -rw-rw-r-- 1 inoue inoue 632 7月 12 15:23 hello.mod.c -rw-rw-r-- 1 inoue inoue 28300 7月 12 15:23 hello.mod.o -rw-rw-r-- 1 inoue inoue 23520 7月 12 15:23 hello.o -rw-r--r-- 1 inoue inoue 1130 2月 1 05:31 hellop.c -rw-rw-r-- 1 inoue inoue 52481 7月 12 15:23 hellop.ko -rw-rw-r-- 1 inoue inoue 772 7月 12 15:23 hellop.mod.c -rw-rw-r-- 1 inoue inoue 28560 7月 12 15:23 hellop.mod.o -rw-rw-r-- 1 inoue inoue 24792 7月 12 15:23 hellop.o [inoue@onlpara misc-modules]$ [inoue@onlpara misc-modules]$ cat hello.c /* * $Id: hello.c,v 1.5 2004/10/26 03:32:21 corbet Exp $ */ #include#include MODULE_LICENSE("Dual BSD/GPL"); static int hello_init(void) { printk(KERN_ALERT "Hello, world\n"); return 0; } static void hello_exit(void) { printk(KERN_ALERT "Goodbye, cruel world\n"); } module_init(hello_init); module_exit(hello_exit); [inoue@onlpara misc-modules]$ [root@onlpara misc-modules]# /sbin/lsmod Module Size Used by loop 15561 0 nfsd 204641 9 exportfs 8001 1 nfsd lockd 63241 2 nfsd parport_pc 24705 1 lp 11565 0 parport 41737 2 parport_pc,lp autofs4 24005 0 i2c_dev 10433 0 i2c_core 22081 1 i2c_dev sunrpc 160421 19 nfsd,lockd iptable_filter 2753 0 ip_tables 16193 1 iptable_filter dm_mod 54741 0 button 6481 0 battery 8517 0 ac 4805 0 md5 4033 1 ipv6 232577 10 uhci_hcd 31449 0 ehci_hcd 31557 0 hw_random 5589 0 snd_intel8x0 34829 0 snd_ac97_codec 64401 1 snd_intel8x0 snd_pcm_oss 47609 0 snd_mixer_oss 17217 1 snd_pcm_oss snd_pcm 97993 2 snd_intel8x0,snd_pcm_oss snd_timer 29765 1 snd_pcm snd_page_alloc 9673 2 snd_intel8x0,snd_pcm gameport 4801 1 snd_intel8x0 snd_mpu401_uart 8769 1 snd_intel8x0 snd_rawmidi 26725 1 snd_mpu401_uart snd_seq_device 8137 1 snd_rawmidi snd 54053 9 snd_intel8x0,snd_ac97_codec,snd_pcm_oss,snd_mixe r_oss,snd_pcm,snd_timer,snd_mpu401_uart,snd_rawmidi,snd_seq_device soundcore 9889 1 snd e100 39364 0 mii 4673 1 e100 floppy 58609 0 ext3 116809 3 jbd 74969 1 ext3 [root@onlpara misc-modules]# [root@onlpara misc-modules]# /sbin/insmod ./hello.ko [root@onlpara misc-modules]# [root@onlpara misc-modules]# /sbin/rmmod hello [root@onlpara misc-modules]# [root@onlpara misc-modules]# tail /var/log/messages Jul 12 15:15:02 onlpara crond(pam_unix)[2771]: session closed for user root Jul 12 15:20:01 onlpara crond(pam_unix)[2776]: session opened for user root by ( uid=0) Jul 12 15:20:01 onlpara crond(pam_unix)[2775]: session opened for user root by ( uid=0) Jul 12 15:20:01 onlpara crond(pam_unix)[2776]: session closed for user root Jul 12 15:20:01 onlpara crond(pam_unix)[2775]: session closed for user root Jul 12 15:25:01 onlpara crond(pam_unix)[3070]: session opened for user root by ( uid=0) Jul 12 15:25:02 onlpara crond(pam_unix)[3070]: session closed for user root Jul 12 15:25:28 onlpara su(pam_unix)[3073]: session opened for user root by inou e(uid=500) Jul 12 15:26:39 onlpara kernel: Hello, world Jul 12 15:26:57 onlpara kernel: Goodbye, cruel world [root@onlpara misc-modules]# [root@onlpara misc-modules]# /sbin/insmod ./hello.ko [root@onlpara misc-modules]# [root@onlpara misc-modules]# /sbin/lsmod Module Size Used by hello 1536 0 loop 15561 0 nfsd 204641 9 exportfs 8001 1 nfsd lockd 63241 2 nfsd parport_pc 24705 1 lp 11565 0 parport 41737 2 parport_pc,lp autofs4 24005 0 i2c_dev 10433 0 i2c_core 22081 1 i2c_dev sunrpc 160421 19 nfsd,lockd iptable_filter 2753 0 ip_tables 16193 1 iptable_filter dm_mod 54741 0 button 6481 0 battery 8517 0 ac 4805 0 md5 4033 1 ipv6 232577 10 uhci_hcd 31449 0 ehci_hcd 31557 0 hw_random 5589 0 snd_intel8x0 34829 0 snd_ac97_codec 64401 1 snd_intel8x0 snd_pcm_oss 47609 0 snd_mixer_oss 17217 1 snd_pcm_oss snd_pcm 97993 2 snd_intel8x0,snd_pcm_oss snd_timer 29765 1 snd_pcm snd_page_alloc 9673 2 snd_intel8x0,snd_pcm gameport 4801 1 snd_intel8x0 snd_mpu401_uart 8769 1 snd_intel8x0 snd_rawmidi 26725 1 snd_mpu401_uart snd_seq_device 8137 1 snd_rawmidi snd 54053 9 snd_intel8x0,snd_ac97_codec,snd_pcm_oss,snd_mixe r_oss,snd_pcm,snd_timer,snd_mpu401_uart,snd_rawmidi,snd_seq_device soundcore 9889 1 snd e100 39364 0 mii 4673 1 e100 floppy 58609 0 ext3 116809 3 jbd 74969 1 ext3 [root@onlpara misc-modules]# [root@onlpara misc-modules]# /sbin/rmmod hello [root@onlpara misc-modules]# [root@onlpara misc-modules]# /sbin/lsmod Module Size Used by loop 15561 0 nfsd 204641 9 exportfs 8001 1 nfsd lockd 63241 2 nfsd parport_pc 24705 1 lp 11565 0 parport 41737 2 parport_pc,lp autofs4 24005 0 i2c_dev 10433 0 i2c_core 22081 1 i2c_dev sunrpc 160421 19 nfsd,lockd iptable_filter 2753 0 ip_tables 16193 1 iptable_filter dm_mod 54741 0 button 6481 0 battery 8517 0 ac 4805 0 md5 4033 1 ipv6 232577 10 uhci_hcd 31449 0 ehci_hcd 31557 0 hw_random 5589 0 snd_intel8x0 34829 0 snd_ac97_codec 64401 1 snd_intel8x0 snd_pcm_oss 47609 0 snd_mixer_oss 17217 1 snd_pcm_oss snd_pcm 97993 2 snd_intel8x0,snd_pcm_oss snd_timer 29765 1 snd_pcm snd_page_alloc 9673 2 snd_intel8x0,snd_pcm gameport 4801 1 snd_intel8x0 snd_mpu401_uart 8769 1 snd_intel8x0 snd_rawmidi 26725 1 snd_mpu401_uart snd_seq_device 8137 1 snd_rawmidi snd 54053 9 snd_intel8x0,snd_ac97_codec,snd_pcm_oss,snd_mixe r_oss,snd_pcm,snd_timer,snd_mpu401_uart,snd_rawmidi,snd_seq_device soundcore 9889 1 snd e100 39364 0 mii 4673 1 e100 floppy 58609 0 ext3 116809 3 jbd 74969 1 ext3 [root@onlpara misc-modules]# ok. 正常に実行できた。 ---xxxx