• 技术文章 >运维 >linux运维

    linux内核如何编译

    VV2020-02-14 14:01:38原创801

    环境:

    电脑操作系统:ubuntu10.04 。

    linux内核版本:linux-3.12.6

    具体步骤:

    1、打开终端,更改为root用户。输入命令su,再输入密码即可。

    2、进入下载到的内核所在的目录,将下载的内核移动到/usr/src/目录下

    mv linux-3.12.6.tar.xz /usr/src

    3、切换到/usr/src/目录下,解压缩内核压缩包。由于下载的压缩包是.tar.xz后缀,解压分为两步:

    xz -d linux-3.12.6.tar.xz
    tar -xvf linux-3.12.6.tar

    然后进行一些准备工作,将/usr/include/asm、/usr/inlude/linux、/usr/include/scsi链接到/usr/src/linux/include目录下的对应目录中。

    83eb7a022ef4f537e457e2eef270f6f.png

    以上红色字体部分不是必做。

    (在线学习视频教程分享:linux视频教程

    同时,清理内核源码中的残渣(多次编译留下的):

    cd /usr/src/linux-3.12.6
    make mrproper

    4、输入cd linux-3.12.6 进入解压后的目录下。

    以下要进行内核的配置了。

    5、由于系统中没有图形界面配置工具ncurses,因此首先下载此工具安装包,然后在终端打开工具所在目录,切换到root用户下,输入以下命令:

    tar zxvf ncurses-5.9.tar.gz
    cd ncurses-5.9
    ./configure
    make
    make install

    这样就安装好了ncurses,可以使用了。

    6、第五步是独立步骤。单独操作。这一步接上面第四步。在终端输入以下命令:

    make menuconfig

    出现了配置的图形界面。

    08bc507e742cff3acda6f5b8d7386ca.png

    说一下配置:

    对每一个配置选项,用户有三种选择,它们分别代表的含义如下:

    <*>或[*]——将该功能编译进内核

    []——不将该功能编译进内核

    [M]——将该功能编译成可以在需要时动态插入到内核中的代码

    7、这一步是配置过程。配置你需要的内容。配置完成以后,保存退出。

    8、配置完成以后,开始编译内核,在终端输入make命令即可。

    还有一种比较麻烦的方法,在终端依次输入以下命令:

    make dep
    make clean
    make bzlmage
    make modules

    这样也可以。

    这一步需要很长时间,耐心等待吧。

    然后是安装内核模块。

    9、输入命令

    make modules_install

    10、输入命令

    make install

    此时,内核编译完成。剩下是修改启动程序配置,然后运行新的内核程序。

    11、将生成的bzImage文件和System.map文件拷贝到/boot/目录下,命令如下:

    cp /usr/src/linux-3.12.6/arch/x86/boot/bzImage /boot/
    cp /usr/src/linux-3.12.6/System.map /boot/

    12、在终端输入命令:

    mkinitramfs 3.12.6 -o /boot/initrd/img-3.12.6

    来建立镜像文件,然后输入命令:

    update-initramfs -c -k 3.12.6

    再输入命令:

    update-grub2

    更新修改系统引导配置。

    13、进入引导程序(boot loader)的配置文件看看,对于不同的引导程序(LILO和GRUB),其配置文件所在路径不同。

    对于LILO,路径为:/etc/lilo.conf

    对于GRUB,路径为:/boot/grub/grub.cfg

    本系统为GRUB引导,因此进入/boot/grub/grub.cfg,命令如下:

    cd /boot/grub
    gedit grub.cfg

    看到配置文件中有如下内容:

    b60a32702b16650af4d187439f56096.png

    说明内核已经添加到启动项了。

    14、到此,内核编译就算全部完成,可以重启电脑了。

    15、以上是在ubuntu下编译内核的全过程。

    相关文章教程推荐:linux教程

    以上就是linux内核如何编译的详细内容,更多请关注php中文网其它相关文章!

    声明:本文原创发布php中文网,转载请注明出处,感谢您的尊重!如有疑问,请联系admin@php.cn处理
    专题推荐:linux 内核
    上一篇:linux服务器如何安装nginx 下一篇:linux中如何利用shell判断文件或目录是否存在
    大前端线上培训班

    相关文章推荐

    • linux虚拟机怎么联网• linux视频教程推荐【汇总】• linux换行符详解• linux文件系统中每个文件用什么来标识

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网