Ubuntu内核编译简单过程

本文详细介绍了在Ubuntu 8.04上编译Linux内核的步骤,包括下载源码、清理旧文件、配置内核、安装所需库、编译及安装。遇到的错误提示了缺少libncurses5-dev和libqt3-headers库,解决后通过make menuconfig进行配置。成功编译后,确保Vmlinuz、initrd和System.map文件在/boot目录下,并更新Grub引导。

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

(以下过程在Ubuntu 8.04编译通过,其他版本暂时没有尝试过)

Step 1:

下载最新的(或你想要的Linux内核源码)

下载地址:www.kernel.org

得到源码后,将其解压到某个目录下

Step 2:

打开终端,进入源代码目录下

进入后,安全起见,先 make mrproper 一下,

以清除目录下所有配置文件和先前生成内核时产生的中间文件

接下来将要进行内核配置,这是最难也是最关键的一步

有四种方法可完成这件事情:

#make config

#make menuconfig

#make xconfig

#make oldconfig

我用的是第二种,但这时问题来了,运行命令后发生错误,而且一堆

最关键的错误信息是少一个库。

安装以下库:

apt-get install libncurses5-dev  (meke menuconfig要调用的)

apt-get install libqt3-headers   (make xconfig要调用的)

上面列的不全,但你安装的时候,源会提示你,哪些包是推荐安装的

都装上就是了。

如果连基本的编程库(gcc, make等)也没有的话

apt-get install build-essential

如果上面的东西都装完了,恭喜你,终于可以make menuconfig了。

如果感觉配置太麻烦的话,其实可以直接跳过这一步骤,直接使用当前系统的配置文件即可:

cp /boot/config-`uname -r` ./.config

Step 3:

make clean

make -j4  (-j4是让处理器分成四个线程来编译内核,速度快,推荐CPU好的使用)

make modules_install

make install

make-kpkg clean (kpkg具体什么作用不懂)

make-kpkg --initrd --append_to_version -shan275 kernel_image kernel_headers

其中--initrd必需要,不然生成不了initrd文件

--append生成多重镜像,也就是在启动菜单里看到的选项

shan275是你自己取的镜像的名字,必须以数字结尾,比如在这里写Shan275 //错误

镜像名字不能大写,所以改成-shan275。

编号内核后,就会显示linux-2.6.20.1-shan275最后两项是生成镜像包和头文件包

make完之后,会在上一层目录看到两个deb包

用dpkg -i命令安装这两个包就好了

这个时候,一切都弄好了

可以去/boot目录下看看Vmlinuz、initrd、System.map文件是否都在

然后看看/boot/Grub/menulist文件中的内容是否已经加上你新编译的内核

如果是,恭喜你,放心大胆的重启吧

重启后,就可以进入你自己编译的内核了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值