linux 内核 x86系统,x86平台linux内核的编译

首先获得内核,这里得到的是linux2.6.29;

进入内核目录;

make distclean

这一步是清理中间文件,配置文件

3.然后选择参考配置文件

就选择当前运行的linux平台的配置文件吧

cp /boot/config-2.6.18-194.el5 .config   4.然后进行配置内核

make menuconfig

等图形界面出来后,向下移动鼠标,选择Load an Alternate Configuration file,然后回车Select进行选择,然后Exit,它会提示你保存。

5.然后执行如下命令,进行编译内核

make bzImage

整个过程需要大概20分钟左右的时间,看个人的配置好坏了。

然后生成的内核镜像bzImage位于 arch/x86/boot 目录下。

有一个需要注意的问题:

不要在windows文件系统下编译linux内核,因为它不支持ln,比如:

ln: 创建符号链接 “include/asm”: 不支持的操作

附注:因为有次我尝试在虚拟机下安装的linux系统编译,在/mnt/hgfs/linux-2.6.29 下编译。因为是在windows的FAT目录下编译,所以出现了这样的错误。

所以,编译内核的时候在linux文件系统下编译就行了,比如/home目录。

6.编译内核模块

make modules

7.安装内核模块

make modules_install

8.制作init ramdisk

initramdisk的作用:提供一种让内核可以简单实用ramdisk的能力。这些能力包括:格式化一个ramdisk;加载文件系统内容到ramdisk;将ramdisk作为根文件系统。

mkinitrd initrd-2.6.29 2.6.29

然后再当前目录会生成initrd-2.6.29

9.安装内核

由于linux系统启动时,会从/boot目录下来寻找内核文件与init ramdisk,所以需要将内核和init ramdisk拷贝至/boot目录

cp linux-2.6.29/arch/x86/boot/bzImage /boot/vmlinuz-2.6.29

cp initrd-2.6.29 /boot

然后修改grub的配置文件。

vi /etc/grub.config然后你会看到你系统中已经有一个了,这里我以rhel5举例

title Red Hat Enterprise Linux Server (2.6.18-194.el5)

root (hd0,0)

kernel /vmlinuz-2.6.18-194.el5 ro root=LABEL=/ rhgb quiet

initrd /initrd-2.6.18-194.el5.img

~

你只需要修改一下上图中的红色字体就行了。然后再拷贝一份在下面就行了。开机的时候按空格键就可以选择了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值