为了搞清楚coredump的问题,不得不去学习调试内核。要调试内核,第一步得会编译和升级内核。
先去网上看了一通,大同小异的。
首先尝试用Fedora自带的源代码编译内核。
1. 备份Vmware映像和原版的code
2. 在/usr/src/kernel下面找到源代码目录
3. 不想去研究怎么配置了,直接make clean然后make,发现报错,说
No rule to make target `init/main.o'
在网上搜了一圈,有不少人有同样的问题,但是没有找到解决方案。直接放弃。去下了个官方版本的2.6.22.1
4. 下载2.6.22.1 在中可以找到这个版本。主要是考虑到原来的内核版本是2.6.21,因此找个稍微新一点的希望差异小一点。
5. 把内核解压到/usr/src下。
6. 把原来发行版本中的.config文件拷贝到/usr/src/linux.2.6.22.1/中
7. 执行make oldconfig,基于原来的config文件去产生新的config文件,这样就不用折腾配置了(本来我的目的就不是去折腾内核配置的)。在2.6.22.1上产生的新配置都用了默认选项,因此一路回车到结束。
8. 执行make。过了一会有出错信息,说空间不够。 于是又去把sda5 umount掉(原来mount在/opt上),再把sda1上的/opt目录删除,把sda1的磁盘空间释放出来
9. 重新make,等待大约半个小时,OK
10. make modules_install 等待
11. make install
12. 修改grub.conf文件,其实基本功能makefile都帮你做好了,只要把hidemenu给注掉就行。在启动菜单上就会出现新的kernel
13. 重启
阅读(930) | 评论(0) | 转发(0) |