linux内核的编译和安装

本文详细介绍了如何获取Linux内核源码,通过git克隆或限制深度获取,然后进行编译源码的步骤,包括配置选项、使用make命令,以及安装内核到/lib/modules和/boot目录。最后,文章提到重新启动系统后,新内核将被加载。

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

linux内核的编译和安装

1. 获取内核源码

登录Linux内核官方网站, 可以获取源代码。使用git获取最新提交到Linus版本树的一个副本:

git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git

注意:如果你的机器的内存过小可能导致代码拉到中途失败,错误如下:

fetch-pack: invalid index-pack output

解决方法:可以只拉取最近的一次提交,也能获取最新的代码。

git clone --depth 1 git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git
2. 编译源码

进入源码目录linux-2.6,首先是配置各种形如CONFIG_FEATURE的编译选项,这些选项位于linux-2.6/.config中,可以通过指令来查看图形化的配置格式make menuconfig.

修改后可以通过指令进行配置更新make oldconfig.

源码中会有个默认的配置,也可以直接用这个进行配置,通过指令make defconfig.

配置好后,执行make进行源码编译。

make -jn

上述n代表执行的make线程数,一般设置为cpu核心数的两倍。

编译完成后,内核为linux-2.6/arch/x86/boo/bzImage。

3. 安装内核

以root身份,安装编译的模块,安装在lib/modules下(比如:/lib/modules6.3.0-rc2-00405-ga3671bd86a97),指令如下:

make modules_install

接下来安装内核,安装在/boot下(比如:/boot/vmlinuz-6.3.0-rc2-00405-ga3671bd86a97)

make install
4. reboot,系统加载新的内核

reboot进入grub后,可以看到刚才编译安装的内核:
(我这里是6.3.0-rc2-00405-ga3671bd86a97)

进入grub后,可以看到刚才编译安装的内核:
6.3.0-rc2-00405-ga3671bd86a97

进入系统后,通过uname -r也能看内核变为自己编译的内核了。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值