7ehost
全球服务器主机

CentOS内核的编译与安装简单示例分享

Linux 内核简介
现在让我们从一个比较高的高度来审视一下 GNU/Linux 操作系统的体系结构。您可以从两个层次上来考虑操作系统,如下图所示
http://www.7ehost.com/wp-content/uploads/2023/12/20231215102813-657c2a3d6d1af.jpg (370×250)

最上面是用户(或应用程序)空间。这是用户应用程序执行的地方。用户空间之下是内核空间,Linux 内核正是位于这里。
GNU C Library (glibc)也在这里。它提供了连接内核的系统调用接口,还提供了在用户空间应用程序和内核之间进行转换的机制。这点非常重要,因为内核和用户空间的应用程序使用的是不同的保护地址空间。每个用户空间的进程都使用自己的虚拟地址空间,而内核则占用单独的地址空间。
Linux 内核可以进一步划分成 3 层。最上面是系统调用接口,它实现了一些基本的功能,例如 read 和 write。系统调用接口之下是内核代码,可以更精确地定义为独立于体系结构的内核代码。这些代码是 Linux 所支持的所有处理器体系结构所通用的。在这些代码之下是依赖于体系结构的代码,构成了通常称为 BSP(Board Support Package)的部分。这些代码用作给定体系结构的处理器和特定于平台的代码。
Linux 内核实现了很多重要的体系结构属性。在或高或低的层次上,内核被划分为多个子系统。Linux 也可以看作是一个整体,因为它会将所有这些基本服务都集成到内核中。这与微内核的体系结构不同,后者会提供一些基本的服务,例如通信、I/O、内存和进程管理,更具体的服务都是插入到微内核层中的。

CentOS系统的内核编译与

下载内核

从官方网站https://www.kernel.org/下载内核,我下载的是linux-3.13.7.tar.xz

复制代码

代码如下:

cat /proc/version #先查看一下我的内核版本

http://www.7ehost.com/wp-content/uploads/2023/12/20231215102813-657c2a3de5b6b.png (1267×53)

复制代码

代码如下:

cd /usr/src</p>
<p>wget https://www.kernel.org/pub/linux/kernel/v3.x/linux-3.13.7.tar.xz</p>
<p>xz -d linux-*.tar.xz</p>
<p>tar xf linux-*.tar</p>
<p>cd linux-3.13.7</p>
<p>#清楚源码树和.config
make mrproper
这个时候你可能报错,会提示如下
*** Unable to find the ncurses libraries or the</p>
<p>#解决办法安装</p>
<p>#centos</p>
<p>yum install ncurses-devel -y</p>
<p>#ubuntu</p>
<p>apt-get install ncurses-dev

定制内核

复制代码

代码如下:

make menuconfig #最少也要把网卡、文件系统和声卡驱动选上,配置说明见底部附录</p>
<p>#2.6以前的版本是,但是现在的内核是不需要make dep了
make dep
make bzlmage
make modules
make modules_install
make install</p>
<p>#编译内核
make </p>
<p>make bzImage #编译内核镜像,会提示如下
#Kernel: arch/x86/boot/bzImage is ready </p>
<p>make modules #编译内核模块</p>
<p>make modules_install #安装内核模块</p>
<p>#我的3.13.7不需要太复杂的配置</p>
<p>make install #就直接安装好了,包括内核映射,grub配置都不需要手工配置了,它都脚本自动给你配置好了

http://www.7ehost.com/wp-content/uploads/2023/12/20231215102814-657c2a3e532d3.png (1265×150)

我们看下,我执行了make install 这个时候install.sh这个脚本都干了什么?
http://www.7ehost.com/wp-content/uploads/2023/12/20231215102814-657c2a3ea89fc.png (1151×623)

现在我们看出来了,以前那些繁琐的步骤都给我们省略了,全部脚本都干了,其实脚本替我们做的如下
http://www.7ehost.com/wp-content/uploads/2023/12/20231215102815-657c2a3f3e9e4.png (640×350)

http://www.7ehost.com/wp-content/uploads/2023/12/20231215102815-657c2a3fa8864.png (720×181)

安装完成

未经允许不得转载:7eHost全球服务器资源 » CentOS内核的编译与安装简单示例分享

更好的更稳定的服务器

7EHOST从事服务器多年经验积累和风险预测,确保企业型服务能够满足我们大/小客户需求。所有机房电话,邮件,工单提供24/7/365全年全天候技术支持,服务器在线率99.99%。

联系我们联系我们