linux内核编译与配置(X86)

本文详细介绍从下载Linux内核源码、清理配置、裁剪编译到安装启动的全过程,并提供实用命令指导。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 *本文基于本人亲自实践*

在linux官网下载最新版本的linux内核,要下载偶数版本(稳定版)。

linux官网( www.linux.org ),不要到其他网站上下载,其他网站上的是人家裁剪过的,编译的时候会有令人抓狂的问题。
1.删除之前配置和编译产生的临时文件。有三个命令,一般直接用第一个命令就好
(1) make distclean 
会删除所有产生的临时文件、配置文件和一些备份文件。
(2) make mrproper
会删除所有产生的临时文件和配置文件。
(3) make clean 
会删除所有的临时文件,但是保留原有的配置。
2.内核裁剪和配置。要根据实际CPU的架构进行配置,一般在arc/下相应的处理器目录里有配置好的.config文件,把它复制到内核文件的顶层目录。内核裁剪命令有三个,一般用第一个就可以。
(1) make menuconfig 
基于文本模式的菜单行编译。会有一个菜单,实现整体编译。注意要在顶层目录下执行,如果有.config文件,会在这个文件的基础上进行修改。
(2) make config
基于文本模式的交互式编译,这个编译是一问一答的形式,每一个配置项问你,(Y/N/M),选择之后才能继续下一项,全部配置完成才会生成.config文件。不推荐
(3) make oldconfig
跟第二个差不多,只是如果有.config文件,那么已经配置过的就不会再问你了。
4.内核编译,有两个命令,一般用第一个就可以,如果用第二个,X86平台下如果内核超过512K会出错。在其他平台下没区别。
(1) make bzImage       

(2) make zImage 

一般后面会加上V=1 ,这样编译具体信息才会打印出来,如果有问题方便查找错误。

编译成功后,生成的bzImage文件会保存在./arch/<CPU>/boot下面。如果bzImage没有执行的权限,要加上执行权限!
5.内核模块编译
 make modules
6.内核模块安装
make modules_install 
这个命令的功能:将编译好的内核模块,当前目录拷到/lib/modules下面。   
7.制作init ramdisk
mkinitrd myinitrd-3.18.0 3.18.0
后面的那个3.18.0是内核版本,一定要正确。不知道查看/lib/modules
至此,linux内核已经定制成功!主要是要获得两个文件:bzImage 和initrd-xxxx    
8.内核安装
(1) 把./arch/<CPU>/boot/bImage 文件拷到/boot/下面。

(2) 把./initrd-xxx 文件拷贝到/boot/下面。

(3) 修改grub引导文件,复制原来的部分,然后修改。把原来的内核映像和initrd改成自己的。

9.重启,可以看到引导的时候多了一个内核启动的选项,就是刚刚编译好的mylinux-3.18.0



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

叶落西湘

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值