- 论坛徽章:
- 0
|
我已经卡在这里3天了, 网上的攻略也不知道看了多少了,完全没有一点帮助 遇到的还是那些问题...
希望有熟悉这个过程的大大来讲解一下...
我用的是ubuntu 10.04 它自带的内核是2.6.32-38-generic
但是因为它没自带源代码, 所以我在kernel.org下载了 2.6.32.1的源代码
我解压到了/usr/src
然后make oldconfig
接着有攻略说可以make 也可以不make 我都试过了 都是一样的问题
然后就是make bzImage ... make modules ... make modules_install
有的说这样就可以了 还有的说需要make install 在/boot下面生成一下内核文件 当然还需要makeinitrd来生成initrd.img
这两种情况我也试过
我不知道是我的makefile写的有问题还是构建内核树的问题
我看书上写的最简单的那个hello.c 说可以写一个最简单的makefile
obj-m:=hello.o
这个就可以了, 但是我make的时候就(已经把原来的makefile改名)会提醒 no target...
然后我又写复杂的 :
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也会出问题
但是改$(MAKE) -C $(KDIR) M=$(SRCPWD) modules 为
$(MAKE) -C $(KDIR) M=$(SRCPWD)/modules 就不会有错误
但是会一直提示进入/lib/modules/2.6.32.1/build 然后make
无限循环一样
之后又会提示waiting for unfinished jobs....
wait:no child processes...
我已经被这些问题纠缠了3天了...实在找不到办法了
所以想在这里求大大指点一下迷津
先谢过了 |
|