操作系统原理-课后作业1
在Ubuntu16.04LTS下编译Linux-4.15.7内核
一、下载内核
我下载的是Linux-4.15.7版本。
·在终端输入sudo –su切换到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文件。该软件包包括minizip和miniunzip工具;
· 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
依次安装内核模块和内核。
安装完成:
五、加载内核
重新启动系统,选择高级选项,进入内核选择加载界面,选择自己编译的内核的正常模式。
成功!