本文基于之前写的两篇博文,整个来龙去脉请先看先前两篇博文:
博文A:<Linux> Ubuntu kernel 源码编译 替换___毛豆的博客-CSDN博客
博文B:<Linux> 制作minimal amd64 Linux OS___毛豆的博客-CSDN博客
基本环境: virtualbox, Ubuntu 16.04
1,搭建环境
首先,我在virtualbox中安装Ubuntu 16.04 server(后称虚拟机A),磁盘设置的是32G(不低于26G),后面需要用这个系统编译源码,所以把内存加到了2GB;
按照博文B,创建一个磁盘2G,内存也2G(这和上边编译机内存设置有关,否则可能会引起kernel panic)Ubuntu 64虚拟机,但不安装系统(后称虚拟机B);
2,kernel源码操作
具体请看博文A,在虚拟机A中,查看可下载的kernel源码:
phoebus@ubuntu:~$ sudo apt update
phoebus@ubuntu:~$ apt-cache search linux-source
linux-source - Linux kernel source with Ubuntu patches
linux-source-4.4.0 - Linux kernel source for version 4.4.0 with Ubuntu patches
linux-source-4.10.0 - Linux kernel source for version 4.10.0 with Ubuntu patches
linux-source-4.11.0 - Linux kernel source for version 4.11.0 with Ubuntu patches
linux-source-4.13.0 - Linux kernel source for version 4.13.0 with Ubuntu patches
linux-source-4.15.0 - Linux kernel source for version 4.15.0 with Ubuntu patches
linux-source-4.8.0 - Linux kernel source for version 4.8.0 with Ubuntu patches
phoebus@ubuntu:~$
因为系统自带的是4.4的,所以,我这里也下载的是4.4的,其它请自行尝试:
sudo apt install linux-source-4.4.0
下载成功之后,文件在/usr/src下面,我习惯在/home下编译,复制过去,并解压后,进入代码主目录,复制系统自身的config文件到主目录:
phoebus@ubuntu:~/linux-source-4.4.0$ sudo cp /boot/config-4.4.0-186-generic .config
phoebus@ubuntu:~/linux-source-4.4.0$ make menuconfig
执行make m