- 論壇徽章:
- 0
|
我已經(jīng)卡在這里3天了, 網(wǎng)上的攻略也不知道看了多少了,完全沒(méi)有一點(diǎn)幫助 遇到的還是那些問(wèn)題...
希望有熟悉這個(gè)過(guò)程的大大來(lái)講解一下...
我用的是ubuntu 10.04 它自帶的內(nèi)核是2.6.32-38-generic
但是因?yàn)樗鼪](méi)自帶源代碼, 所以我在kernel.org下載了 2.6.32.1的源代碼
我解壓到了/usr/src
然后make oldconfig
接著有攻略說(shuō)可以make 也可以不make 我都試過(guò)了 都是一樣的問(wèn)題
然后就是make bzImage ... make modules ... make modules_install
有的說(shuō)這樣就可以了 還有的說(shuō)需要make install 在/boot下面生成一下內(nèi)核文件 當(dāng)然還需要makeinitrd來(lái)生成initrd.img
這兩種情況我也試過(guò)
我不知道是我的makefile寫(xiě)的有問(wèn)題還是構(gòu)建內(nèi)核樹(shù)的問(wèn)題
我看書(shū)上寫(xiě)的最簡(jiǎn)單的那個(gè)hello.c 說(shuō)可以寫(xiě)一個(gè)最簡(jiǎn)單的makefile
obj-m:=hello.o
這個(gè)就可以了, 但是我make的時(shí)候就(已經(jīng)把原來(lái)的makefile改名)會(huì)提醒 no target...
然后我又寫(xiě)復(fù)雜的 :
obj-m:=hello.o
KDIR:=/lib/modules/2.6.32.1/build
SRCPWD:=$(shell pwd)
all:
$(MAKE) -C $(KDIR) M=$(SRCPWD) modules
clean:
rm -rf hello.o
這里make也會(huì)出問(wèn)題
但是改$(MAKE) -C $(KDIR) M=$(SRCPWD) modules 為
$(MAKE) -C $(KDIR) M=$(SRCPWD)/modules 就不會(huì)有錯(cuò)誤
但是會(huì)一直提示進(jìn)入/lib/modules/2.6.32.1/build 然后make
無(wú)限循環(huán)一樣
之后又會(huì)提示waiting for unfinished jobs....
wait:no child processes...
我已經(jīng)被這些問(wèn)題糾纏了3天了...實(shí)在找不到辦法了
所以想在這里求大大指點(diǎn)一下迷津
先謝過(guò)了 |
|