Re: [問題] 編寫Hello World Module一直失敗 〒△〒

看板LinuxDev作者 (Martin Yang)時間18年前 (2007/05/09 00:34), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串2/2 (看更多)
建設你Makefie換成這個 試試 ifneq ($(KERNELRELEASE),) obj-m := helloMod.o else KDIR := /lib/modules/$(shell uname -r)/build PWD := $(shell pwd) all \ default: $(MAKE) -C $(KDIR) SUBDIRS=$(PWD) modules rm -r .tmp_versions *.mod.c .*.cmd *.o clean: @ rm *.ko endif ※ 引述《saap (我是好人囧rz)》之銘言: : 請教各位高手大大們, : 小弟試著在Fedora Core 6裡編寫一個簡單的Module, : 照著書打可是一直出現錯誤, : 想煩請大大們幫小弟開釋一下, : 小弟的kernel為2.6.20-1.2944.fc6, : 謝謝。 : 主Module程式---heloMod.c : ===================================================== : #include <linux/module.h> : #include <linux/kernel.h> : int init_module(void) : { : printk("Hello Ryan!\n"); : return 0; : } : void cleanup_module(void) : { : printk("Hello Module was removed!\n"); : } : MODULE_LICENSE("GPL"); : ===================================================== : Makefile內容 : ===================================================== : CC=gcc : CFLAGS = -O2 -DMODULE -D__KERNEL__ -Wall \ : -I/usr/src/kernels/2.6.20-1.2944.fc6-i586/include : heloMod.o: heloMod.c : $(CC) $(CFLAGS) -c heloMod.c : install: : /sbin/insmod heloMod.o : remove: : /sbin/rmmod heloMod : clean: : rm -f heloMod.o : ===================================================== : 執行make後的失敗訊息: : ===================================================== : make: Warning: File `heloMod.c' has modification time 63 s in the future : gcc -O2 -DMODULE -D__KERNEL__ -Wall : -I/usr/src/kernels/2.6.20-1.2944.fc6-i586/include -c heloMod.c : In file included from : /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/asm/thread_info.h:16, : from : /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/thread_info.h:21, : from : /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/preempt.h:9, : from : /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/spinlock.h:49, : from : /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/module.h:9, : from heloMod.c:1: : /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/asm/processor.h:82: 錯誤:「 : CONFIG_X86_L1_CACHE_SHIFT」 未宣告 (不在函式內) : /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/asm/processor.h:82: 錯誤:要求 : 的對齊邊界不是常數 : /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/asm/processor.h: 在函式 「 : cpuid_count」 中: : /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/asm/processor.h:617: 警告:傳 : 遞參數 1 (屬於 「native_cpuid」) 給指標時目的與指標有/無號不一致 : /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/asm/processor.h:617: 警告:傳 : 遞參數 2 (屬於 「native_cpuid」) 給指標時目的與指標有/無號不一致 : /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/asm/processor.h:617: 警告:傳 : 遞參數 3 (屬於 「native_cpuid」) 給指標時目的與指標有/無號不一致 : /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/asm/processor.h:617: 警告:傳 : 遞參數 4 (屬於 「native_cpuid」) 給指標時目的與指標有/無號不一致 : 在包含自 /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/sched.h:51 的 : 檔案中, : 從 : /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/utsname.h:35, : 從 /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/asm/elf.h : :12, : 從 : /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/elf.h:7, : 從 : /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/module.h:15, : 從 heloMod.c:1: : /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/jiffies.h:33:3: 錯誤: : #error You lose. : /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/jiffies.h:225:31: 錯誤: : #if 中用零做除數 : /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/jiffies.h:225:31: 錯誤: : #if 中用零做除數 : /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/jiffies.h:225:31: 錯誤: : #if 中用零做除數 : /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/jiffies.h:225:31: 錯誤: : #if 中用零做除數 : /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/jiffies.h:225:31: 錯誤: : #if 中用零做除數 : /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/jiffies.h:225:31: 錯誤: : #if 中用零做除數 : /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/jiffies.h:225:31: 錯誤: : #if 中用零做除數 : /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/jiffies.h:225:31: 錯誤: : #if 中用零做除數 : /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/jiffies.h:225:31: 錯誤: : #if 中用零做除數 : /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/jiffies.h:225:31: 錯誤: : #if 中用零做除數 : /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/jiffies.h:225:31: 錯誤: : #if 中用零做除數 : /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/jiffies.h:225:31: 錯誤: : #if 中用零做除數 : /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/jiffies.h:225:31: 錯誤: : #if 中用零做除數 : /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/jiffies.h:225:31: 錯誤: : #if 中用零做除數 : /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/jiffies.h:225:31: 錯誤: : #if 中用零做除數 : /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/jiffies.h:225:31: 錯誤: : #if 中用零做除數 : /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/jiffies.h:269:46: 錯誤: : #if 中用零做除數 : In file included from : /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/sched.h:51, : from : /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/utsname.h:35, : from : /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/asm/elf.h:12, : from : /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/elf.h:7, : from : /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/module.h:15, : from heloMod.c:1: : /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/jiffies.h: 在函式 「 : jiffies_to_msecs」 中: : /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/jiffies.h:274: 錯誤:「 : CONFIG_HZ」 未宣告 (在此函式內第一次使用) : /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/jiffies.h:274: 錯誤:(即 : 使在一個函式內多次出現,每個未宣告的識別碼在其 : /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/jiffies.h:274: 錯誤:所 : 在的函式內只報告一次。) : /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/jiffies.h:280:46: 錯誤: : #if 中用零做除數 : /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/jiffies.h: 在函式 「 : jiffies_to_usecs」 中: : /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/jiffies.h:285: 錯誤:「 : CONFIG_HZ」 未宣告 (在此函式內第一次使用) : /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/jiffies.h:293:46: 錯誤: : #if 中用零做除數 : /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/jiffies.h: 在函式 「 : msecs_to_jiffies」 中: : /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/jiffies.h:298: 錯誤:「 : CONFIG_HZ」 未宣告 (在此函式內第一次使用) : /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/jiffies.h:306:46: 錯誤: : #if 中用零做除數 : /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/jiffies.h: 在函式 「 : usecs_to_jiffies」 中: : /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/jiffies.h:311: 錯誤:「 : CONFIG_HZ」 未宣告 (在此函式內第一次使用) : /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/jiffies.h: 在函式 「 : timespec_to_jiffies」 中: : /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/jiffies.h:330: 錯誤:「 : CONFIG_HZ」 未宣告 (在此函式內第一次使用) : /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/jiffies.h:336: 錯誤:「 : SHIFT_HZ」 未宣告 (在此函式內第一次使用) : /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/jiffies.h: 在函式 「 : jiffies_to_timespec」 中: : /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/jiffies.h:349: 錯誤:「 : CONFIG_HZ」 未宣告 (在此函式內第一次使用) : /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/jiffies.h: 在函式 「 : timeval_to_jiffies」 中: : /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/jiffies.h:371: 錯誤:「 : CONFIG_HZ」 未宣告 (在此函式內第一次使用) : /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/jiffies.h:375: 錯誤:「 : SHIFT_HZ」 未宣告 (在此函式內第一次使用) : /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/jiffies.h: 在函式 「 : jiffies_to_timeval」 中: : /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/jiffies.h:387: 錯誤:「 : CONFIG_HZ」 未宣告 (在此函式內第一次使用) : /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/jiffies.h:400:6: 錯誤: : #if 中用零做除數 : /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/jiffies.h:400:6: 錯誤: : #if 中用零做除數 : /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/jiffies.h:400:6: 錯誤: : #if 中用零做除數 : /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/jiffies.h:400:6: 錯誤: : #if 中用零做除數 : /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/jiffies.h:400:6: 錯誤: : #if 中用零做除數 : /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/jiffies.h:400:6: 錯誤: : #if 中用零做除數 : /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/jiffies.h:400:6: 錯誤: : #if 中用零做除數 : /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/jiffies.h:400:6: 錯誤: : #if 中用零做除數 : /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/jiffies.h:400:6: 錯誤: : #if 中用零做除數 : /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/jiffies.h:400:6: 錯誤: : #if 中用零做除數 : /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/jiffies.h:400:6: 錯誤: : #if 中用零做除數 : /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/jiffies.h:400:6: 錯誤: : #if 中用零做除數 : /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/jiffies.h:400:6: 錯誤: : #if 中用零做除數 : /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/jiffies.h:400:6: 錯誤: : #if 中用零做除數 : /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/jiffies.h:400:6: 錯誤: : #if 中用零做除數 : /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/jiffies.h:400:6: 錯誤: : #if 中用零做除數 : /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/jiffies.h: 在函式 「 : jiffies_to_clock_t」 中: : /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/jiffies.h:401: 錯誤:「 : CONFIG_HZ」 未宣告 (在此函式內第一次使用) : /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/jiffies.h: 在函式 「 : clock_t_to_jiffies」 中: : /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/jiffies.h:412: 錯誤:「 : CONFIG_HZ」 未宣告 (在此函式內第一次使用) : /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/jiffies.h:431:6: 錯誤: : #if 中用零做除數 : /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/jiffies.h:431:6: 錯誤: : #if 中用零做除數 : /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/jiffies.h:431:6: 錯誤: : #if 中用零做除數 : /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/jiffies.h:431:6: 錯誤: : #if 中用零做除數 : /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/jiffies.h:431:6: 錯誤: : #if 中用零做除數 : /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/jiffies.h:431:6: 錯誤: : #if 中用零做除數 : /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/jiffies.h:431:6: 錯誤: : #if 中用零做除數 : /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/jiffies.h:431:6: 錯誤: : #if 中用零做除數 : /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/jiffies.h:431:6: 錯誤: : #if 中用零做除數 : /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/jiffies.h:431:6: 錯誤: : #if 中用零做除數 : /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/jiffies.h:431:6: 錯誤: : #if 中用零做除數 : /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/jiffies.h:431:6: 錯誤: : #if 中用零做除數 : /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/jiffies.h:431:6: 錯誤: : #if 中用零做除數 : /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/jiffies.h:431:6: 錯誤: : #if 中用零做除數 : /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/jiffies.h:431:6: 錯誤: : #if 中用零做除數 : /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/jiffies.h:431:6: 錯誤: : #if 中用零做除數 : /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/jiffies.h: 在函式 「 : jiffies_64_to_clock_t」 中: : /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/jiffies.h:432: 錯誤:「 : CONFIG_HZ」 未宣告 (在此函式內第一次使用) : In file included from : /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/aio.h:5, : from : /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/sched.h:262, : from : /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/utsname.h:35, : from : /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/asm/elf.h:12, : from : /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/elf.h:7, : from : /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/module.h:15, : from heloMod.c:1: : /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/workqueue.h: 在函式 「 : cancel_delayed_work」 中: : /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/workqueue.h:203: 警告: : 提領類型雙關的指標將破壞強重疊規則 : In file included from : /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/utsname.h:35, : from : /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/asm/elf.h:12, : from : /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/elf.h:7, : from : /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/module.h:15, : from heloMod.c:1: : /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/sched.h: 在函式 「 : dequeue_signal_lock」 中: : /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/sched.h:1316: 警告:隱含 : 宣告函式 「local_irq_save」 : /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/sched.h:1318: 警告:隱含 : 宣告函式 「local_irq_restore」 : 在包含自 /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/module.h:21 的 : 檔案中, : 從 heloMod.c:1: : /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/asm/module.h:67:2: 錯誤: : #error unknown processor family : make: *** [heloMod.o] Error 1 : ===================================================== : 麻煩高手大大們替小弟釋疑, : 超感激, : 謝謝。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 203.75.58.49
文章代碼(AID): #16GAQeIN (LinuxDev)
文章代碼(AID): #16GAQeIN (LinuxDev)