看ddr3的人还真的挺多的,看大家的博文也看的不少,但是,自己写的hello world模块至今不能正常运转,于是打算按照书上的,一步一步把准备工作做好。安装主线内核,配置并构造内核树,希望在后面问题的出现会少一些。
首先申明,本文有参考到别人写的文章。
()
(http://xiaonannanya.blogbus.com/logs/72097165.html)
提示:查看显示当前内核版本号:uname -r
1.下载Linux源码:
首先查看可以下载的Linux内核源码包
- ljj@ljj-laptop:~$ sudo apt-cache search linux-source
-
[sudo] password for ljj:
-
linux-source - Linux kernel source with Ubuntu patches
-
linux-source-2.6.32 - Linux kernel source for version 2.6.32 with Ubuntu patches
然后选定要下载的源码包:
- ljj@ljj-laptop:~$ sudo apt-get install linux-source-2.6.32
下载完成后,在/usr/src下,文件名为:linux-source-2.6.32.tar.bz2,是一个压缩包,然后用
命令解压即可获得Linux内核的源代码:
- ljj@ljj-laptop:/usr/src$ sudo tar jxvf linux-source-2.6.32.tar.bz2
2.然后在Linux内核源码目录/usr/src/linux-source-2.6.32目录下面用老的方法配置好Linux内核:
- ljj@ljj-laptop:/usr/src/linux-source-2.6.32$ sudo make oldconfig
3.然后执行:
- ljj@ljj-laptop:/usr/src/linux-source-2.6.32$ sudo make bzImage
这个过程大概需要半个小时左右。。。执行完成后会在当前目录下面生成一个文件vmlinux.o
4.然后编译模块:
- ljj@ljj-laptop:/usr/src/linux-source-2.6.32$ sudo make modules
这个过程又是大概半个小时。。。
5.然后便可以安装模块了:
- ljj@ljj-laptop:/usr/src/linux-source-2.6.32$ sudo make modules_install
这个过程大概两分钟:
以上步骤完成以后,会在/lib/modules目录下面生成一个文件夹linux-2.6.32-27-generic,至此你差不多已经成了,因为你已经构造好了内核树!!!
在这个过程中,当进行make modules的时候出现了问题。
是这个样子的:
LD [M] ubuntu/omnibook/omnibook.o
ld: /ubuntu/omnibook/sections.lds: No such file: No such file or directory
make[2]: *** [ubuntu/omnibook/omnibook.o] Error 1
make[1]: *** [ubuntu/omnibook] Error 2
make: *** [ubuntu] Error 2
网上也看到了类似的提问。
解决方法:
$ sudo gedit /usr/src/linux/ubuntu/omnibook/Makefile
160: #EXTRA_LDFLAGS += $(src)/sections.lds
161: EXTRA_LDFLAGS += $(PWD)/ubuntu/omnibook/sections.lds
改写成:
160: EXTRA_LDFLAGS += $(src)/sections.lds
161: #EXTRA_LDFLAGS += $(PWD)/ubuntu/omnibook/sections.lds
就可以继续了。
阅读(517) | 评论(0) | 转发(0) |