首先,为什么要编译内核?
目的是进行内核配置,改变内核的默认选项,又或者是想更换内核。
一个系统可以安装多个内核,新内核不会覆盖旧内核,可以在grub中选择要运行的内核。
第一次使用ubuntu需要更改root密码,初始没有设置密码
sudo passwd
1.先使用wget命令下载内核压缩包,我下载的是4.4.4。
2.安装软件编译工具
apt-get install libncurses5-dev build-essential kernel-package
3.解压下载好的内核
一般内核文件都放在/usr/src
tar -zxvf linux-4.4.1.tar.gz /usr/src
第一次使用ubuntu还需要下载安装make、vim和gcc
4.配置内核
此时cd到解压的内核文件夹,清除曾经编译产生的旧文件,如果是第一次解压,可以不操作。
make mrproper
拷贝当前系统的config
cd /usr/src/linux-4.4.1 cp /boot/config-XX ./.config make menuconfig
menuconfig是图形化配置程序,依次load,然后save,再退出。
5.编译内核
make
很可能产生错误,一个是error: code model kernel does not support PIC mode,需要将以下代码加入解压的linux内核文件中MakeFile文件的末尾。
KBUILD_CFLAGS += -fno-pic
一个是fatal error: openssl/opensslv.h: No such file or directory,ubuntu下用以下命令安装
apt-get install libssl-dev