操作系统作业(一):编译Linux内核
背景&要求:
除了BIOS以外,内核是操作系统中最早加载到内存的。编译内核的目的在于让Linux更加符合使用者的要求,比如说新功能的需求、原来的内核太过于臃肿、或者是嵌入式操作系统的需求。
环境:VMware虚拟机+Ubuntu 16.04(硬盘大小最好大于30G,不然可能会崩)
第一步:在官网上下载内核
网址:https://www.kernel.org/
我这里选用的是4.19的版本,点击tarball下载,解压的时候我是直接解压到/home/download的文件下面,然后用命令:
sudo mv /home/download/linux-4.19.28 /usr/src
这里一定要注意权限呀!!
这样内核就下载好了
第二步:安装依赖
build-essential (基本的编程库(gcc, make等)
kernel-package (Debian 系统里生成 kernel-image 的一些配置文件和工具)
libncurses5-dev (meke menuconfig要调用的)
在终端输入:
sudo apt-get install build-essential kernel-package libncurses5-dev
再转化到/usr/src/linux-4.19.28目录下终端输入make menuconfig
如果报错说xxx not found
,再用sudo apt-get install xxx
下载,这样我就配置好了。
最后为了保证源码的干净,将以前执行过的内核功能选择文件删除,执行
make mrproper
注意:一般这个命令在第一次执行核编译前执行,如果以后想要删除前一次编译过程的残留数据,只需要执行:
make clean
输入make menuconfig
就出现了这样的界面