首页 > 代码库 > linux学习之路之手动编译内核

linux学习之路之手动编译内核

手动编译内核

一般来说,内核的核心功是直接在内核里,其他大多数功能具有以下三种选择:

1、不使用该功能

2、将这些功能编译成模块的形式

3、将这些功能直接编译进内核当中


那么该如何手动编译内核呢?

手动编译的方式:

使用make gconfig命令,不过使用该命令适用于Gnome桌面环境,且需要安装图形开发库

使用make kconfig命令,该命令适用于KDE桌面环境,且需要安装图形开发库


不过最常见的方式是使用make menuconfig命令来编译,使用该命令会产生一个窗口界面

在该窗口下有许多参数可以选择

然后选择完成之后执行make modules_install来安装编译的模块

最后执行make、make install来完成整个编译过程


在二次编译前,最好先执行make clean命令来清理上次编译过程中产生的一些二进制模块,核心文件(.config)不会被清理掉

如果是第一次编译,也最好执行make mrproper命令来清理一些残留文件,不过该命令也会将核心配置文件(.config)删除掉,所以建议在执行该命令前,最好将 .config文件备份一下


内核编译步骤

1、将某个内核解压缩到/usr/src/目录下

2、使用cd命令切换到/usr/src目录下

3、在/usr/src目录下有一个内核文件,为这个内核文件创建链接

4、切换到这个链接目录下,里面存放里许多和内核有关的文件

5、使用命令make menuconfig来打开一个文本窗口(如果使用该命令打不开的话,把终端窗口最大化)

    在这个文本窗口下:

    [*]:表示将该功能直接编译到内核

    [M]:表示将该功能做出模块

    []:表示不启用该功能

    使用Enter键可以切换这三种选择

    在每个选项后面如果出现箭头,表示该选项还有其子选项,按Enter键可进入子选项界面

    如果选择完所有功能后,按两次ESC键,即可回到退出界面,在按YES键即可保存之前的选择配置

6、保存配置完成之后,会在当前目录下生产一个.config文件

7、在使用make进行编译

8、使用make modules_install安装内核模块

9、使用make install命令安装内核即可


不过使用这种方式编译的内核可能在系统启动过程中出现许多的错误,或者是某些功能没有编译到内核中。因此,完了提高编译的成功率,我们可以将当前系统内核所使用的配置文件,直接复制到链接目录下,并重命名为.config来覆盖链接目录下的.config文件,之后的步骤和之前一下,不再详述。


例如:编译linux-2.6.28.10.tar.gz这个内核文件





screen命令:
screen -ls: 显示已经建立的屏幕
screen: 直接打开一个新的屏幕
    Ctrl+a, d: 拆除屏幕
screen -r ID: 还原回某屏幕
exit: 退出



本文出自 “linux学习之路” 博客,谢绝转载!