打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
[转]编译linux内核并安装
http://blog.sina.com.cn/s/blog_7e49bf5e0100y4sr.html

最近对linux内核进行了编译,并安装在了vmware上。
linux内核:linu-2.6.29
操作系统:redhat 5

1.linux内核源码(如果没有,可以从www.kernel.ogr上下载)

2.将内核源码解压到工作目录(这个目录可以是任意的,但是路径不能带有空格)
     tar jxf linux-2.6.29.tar.bz2

3.进入内核源码,使用命令(make distclean、make clean、make mrproper三个命令中的一个即可)

4.拷贝参考配置文件为内核目录下.config
    cp /boot/config-2.6.18.53.e15 .config

5.配置内核
   配置内核的方式有4种:
      make config
      make menuconfig
      make xconfig
     make oldconfig
这四条命令的区别如下:
make config是基于文本的最为传统的配置界面,即字符界面。比较适合在dos下使用。
make menuconfig:基于文本选单的配置界面,比较适合在终端字符下使用。

Make xconfig:基于图形窗口模式的配置界面,可以直接通过鼠标来选择。
Make oldconfig:只是对一些新功能进行配置。

6.编译内核镜像:make bzImage(bzImage位于arch/x86/boot/目录下)
      问题:make bzImage提示如下错误(这个错误不是每个人都会遇到的,可以用gcc--help查看你的gcc版本,如果你的版本是4.6或者4.6之后的应该会有下面的问题,如果比4.6的早就不会出现这个问题):
gcc: 错误: elf_i386:没有那个文件或目录
make[2]: *** [arch/x86/vdso/vdso32-int80.so.dbg] 错误 1
make[1]: *** [arch/x86/vdso] 错误 2
make: *** [arch/x86] 错误 2
     解决方法:
这个问题是由于 gcc 4.6 不再支持 linker-style 架构。将 arch/x86/vdso/Makefile 中,
以 VDSO_LDFLAGS_vdso.lds 开头所在行的 "-m elf_x86_64" 替换为 "-m64"。
以 VDSO_LDFLAGS_vdso32.lds 开头所在行的 "-m elf_x86" 替换为 "-m32"。

7.编译内核模块:make modules(源于启动的菜单型配置界面中选择<m>的项)

8.安装内核模块:make modules_install(代码会拷在/lib/modules/2.6.29目录下)

9制作initrd:mkinitrd initrd-2.6.29 2.6.29(如果是ubuntu,则使用mkinitramfs命令)

10.拷贝initrd和内核镜像到/boot
     cp linu-2.6.29/arch/x86/boot/bzImage /boot/vmlinuz-2.6.29
     cp initrd-2.6.29 /boot
11.修改grub的配置文件/etc/grub.conf
  
后面的四行是参照上面的修改的。

12.测试新安装的内核是否能用,使用命令reboot重启系统,按住空格键不放,直到进入grub界面
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
编译内核步骤详解
elf_i386或elf_x86_64
Linux内核分析(一)
Linux 2.6内核编译安装全景体验(下)
编译 Linux2.6 内核总结 - build-kernel - AC郎拿度
更新内核
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服