因工作需要,需要给另一台跑ubuntu的笔记本编译一套内核,那台笔记本配置差,硬盘太小,因此只能在虚拟机上操作,步骤如下:
1、虚拟机安装和目标机一样版本的Linux,,硬盘容量设置大一些,编译kernel最少需要20G的空间,我分配了120G。。。无需多说了吧 _
2、虚拟机在https://mirrors.edge.kernel.org/pub/linux/kernel/v4.x/下载你需要的内核版本并解压到linux-4.18目录
3、编译环境配置:
sudo apt-get install gcc make libncurses5-dev openssl libssl-dev build-essential kernel-package pkg-config libc6-dev libelf-dev libncurses5-dev bison flex
4、编译
cd linux-4.18
sudo make mrproper
sudo make menuconfig
sudo make-kpkg clean
sudo make-kpkg --initrd --append-to-version=133yb kernel-image kernel-headers
编译完成后,将会再当前目录的上级目录下生成两个文件,linux-image-...和linux-headers-...文件,这就是我们需要的内核包
5、安装编译好的内核包
将内核文件拷贝到目标机,执行安装
sudo dpkg -i linux-image-(按tab键)
sudo dpkg -i linux-headers-(按tab键)
sudo update-grub2
6、安装成功后重启电脑,选新内核启动:
附:检查系统中安装的内核:
dpkg --list|grep linux-image
dpkg --list|grep linux-headers
删除不想要的内核版本:
sudo apt-get purge linux-image-3.19.0-15
sudo update-grub2