初学Linux——Linux内核的编译

本文详细介绍了解压和编译Linux内核源代码的过程,包括使用makemenuconfig配置内核选项,解决编译错误,安装编译后的内核及更新启动项。

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

一.解压Linux源代码

    我们从网上下下来的Linux源代码一般都是压缩包的形式,通常以.tar.bz2结尾,如,这时,我们需要执行命令tar xvf linux-2.6.32.60.tar.bz2(2.6.32.60是我下载的Linux内核版本),这里还要说明一点,Linux内核的编译是向高版本编译的,比如说你现在的Linux内核版本是3.3.4的,那你就不可能再编译2.6.32.60的。

 二.编译Linux内核

   进入解压好的Linux内核源码目录下:

   

   如果你是直接得到的解压好的Linux内核源码,建议你在编译之前执行一下make distclean 命令,这会将Linux中的中间文件和配置文件清理掉,以免编译时报错。
   然后进入root模式,内核编译的方法有四种,这里介绍两种:
   1.执行 make config 命令:
   这种方式的好处是你能看到Linux内核编译时的所有内容,但是麻烦的是系统一直在提醒你要不要装,yes/no,所以不推荐这种方法。
   2.执行 make menuconfig命令:
   你会看到:
   

 点击General setup:



 点击Local version:
 然后然你输入你自己想要添加的版本标识(我这里输入了worldhope)


然后保存配置文件(也可以自己修改其余的配置选项比如说网络配置等等)并退出:


然后执行 make 命令,开始编译。
我在刚开始make后系统报错,提示“You have not yet configured your kernel!  missing kernel .config file”无法进行编译,上网查了一下,你可以执行一下make mrproper(和make distclean类似,确保源代码目录下没有不正确的.o文件以及文件的互相依赖,但是make distclean删除的更加彻底),然后重新设置一下,再执行 make oldconfig ,然后make 就跑起来啦!
这个过程大概需要一个多小时,结束后是这样的:



然后执行make modules 命令,和make modules_install,再执行make install,最后再输入 update-initramfs -c -k 2.6.32.60 worldhope(此为你刚才输入的版本标识名),最后出现的界面是这样:



3.最后一步,让我们来修改一下grub 的启动项,你可以直接update-grub,但是可能会多出一些启动项,或者执行 cd  /boot/grub/,然后执行gedit grub.cfg,自己来编辑启动项,这时会到gedit的编辑界面下:



如果显示无法编辑,先执行 chmod 644 /boot/grub/grub.cfg 获得可编辑权限,编辑完成后再执行 chmod 444 /boot/grub/grub.cfg 再改为只读就行了,
将图示中的Linux版本全部改成你所编译的版本号,我所编译的是2.6.32.60worldhope(worldhope是我自己改的版本标识,依你自己输入的而定)。

至此,整个内核编译的工作就全部完成了,这时你就可以重启系统了,可以通过执行:
uname -a 
cat /proc/version
gnome-system-monitor 来查看版本号。

希望能够帮助到Linux的初学者朋友们 微笑微笑

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值