Chinaunix首页 | 论坛 | 博客
  • 博客访问: 34362
  • 博文数量: 12
  • 博客积分: 460
  • 博客等级: 下士
  • 技术积分: 125
  • 用 户 组: 普通用户
  • 注册时间: 2010-02-18 14:19
文章分类

全部博文(12)

文章存档

2010年(12)

我的朋友
最近访客

分类: LINUX

2010-02-20 14:16:36

    为了搞清楚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) |
给主人留下些什么吧!~~