在Ubuntu16.04LTS下编译Linux-4.15.7内核

操作系统原理-课后作业1

在Ubuntu16.04LTS下编译Linux-4.15.7内核


一、下载内核

官网:https://www.kernel.org/

我下载的是Linux-4.15.7版本。

·在终端输入sudosu切换到root账户。

·输入mv linux-4.15.7.tar.gz  /usr/src,把下载的内核源代码文件移到/usr/src目录。

·输入cd /usr/src,切换到该目录下。

·输入tar zxvf linux,4.15.7.tar.gz,解压内核包,生成的源代码放在linux-2.6.36目录下。

·输入cd linux-4.15.7,切换到该目录下。


二、下载软件依赖包

一般的内核编译依赖软件包主要有以下几个:

· libncurses5-dev :主要是在make menuconfig时能够出现图形化的选择菜单所依赖的的库;

· libssl-dev : openssl的依赖包;

· build-essential:建立debian软件包的工具;

· openssl:涉及到系统安全的编译过程中的相关程序的依赖库;

· zlibc:允许运行中的文件能够实现解压缩数据文件的一个工具;

· minizip:是一个轻量级的支持库,能够支持压缩、提取、查看和操作ZIP文件。该软件包包括minizipminiunzip工具;

· libidn11-dev : 涉及到系统帮助等文档以及软件库等信息的一个软件包;

如果没有下载依赖包就会报错:

软件依赖包安装命令:

sudo apt-get install libncurses5-dev libssl-dev
sudo apt-get install build-essential openssl
sudo apt-get install zlibc minizip
sudo apt-get install libidn11-dev libidn11

如过安装过程中按Y嫌麻烦,可以在安装命令后面加上个-y参数。


三、编译内核

依次使用命令:

sudo make mrproper
sudo make clean
sudo make menuconfig

实现完全干净的第一次编译。

其中mrproper为清除编译过程中产生的所有中间文件。

clean为清除上一次产生的编译中间文件。

menuconfig中出现选择的图形化界面后,直接按右方向键选择到exit退出,退出提示中选择保存,实现内核的默认配置。

进入Menuconfig界面,进行内核裁剪:

内核裁剪中参数的具体含义见以下博客:

http://blog.csdn.net/zhanjianshinian/article/details/9143349 

剪裁完毕后即可使用make命令进行内核编译。

先使用lscpu命令看看你的cpu支持几个线程:


输入make –j3命令,使用三个线程进行编译:

编译过程:



四、安装内核

编译完成后使用:

sudo make modules_install
sudo make install

依次安装内核模块和内核。

安装完成:


五、加载内核

重新启动系统,选择高级选项,进入内核选择加载界面,选择自己编译的内核的正常模式。

成功!

  • 5
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值