Linux内核编译
Linux源代码下载并解压到相应文件目录
1.下载源代码
链接: Linux内核官网.
感觉内核更新的速度超快的~做实验时下载的内核版本为4.15.10,现在好像都5字开头了。
2.获取超级用户权限
用 sudo su 命令来获取超级用户权限,成功获取后可以发现字体颜色变得苍白了:)(超级用户为所欲为啊),然后也可以用 whoami 命令来查看
3.解压
先将下载好的内核文件移动到/usr/src目录下,切换到该目录,解压文件,然后进入Linux解压文件。
配置内核
1.config文件
输入cp/boot/config-,然后按下Tab键,系统会自动补上该目录下符合条件的文件名,然后输入./config,目的是使用在boot目录下的原配置文件
如果不成功也没关系,继续往下走
2.内核配置
在终端输入 make menuconfig (通过菜单界面配置内核各种选项,当然还有其他方式来进行配置,如文本的方式,不过我感觉还是菜单界面比较符合人机交互:)进入内核配置界面。在里面有很多可选的模块,如网络模块啊,图形模块啊等等,根据自己的需求进行剪裁。(此次实验全选了,默认全选)
开始编译
1.编译内核
make dep
建立编译时的从属文件。如果内核未被编译过,可跳过
make clean
清除内核编译的目标文件。如果内核未被编译过,可跳过
make bzImage
开始编译内核
漫长的编译过程…
2.编译可加载模块
make modules
编译可加载模块
又是漫长的编译过程…
安装内核
1.安装可加载模块和内核
make modules_install
安装可加载模块
make install
安装内核
修改系统引导配置文件
1.grub文件配置
依次输入:
sudo mkinitramfs -o /boot/initrd.img-4.15.10(根据自己的内核版本号)
sudo update-initramfs -c -k 4.15.10
sudo update-grub2(自动修改系统引导配置,产生grub.cfg启动文件)
2.新命名
sudo gedit /boot/grub/grub.cfg 修改 grub.cfg
将 grub 中的menuentry “Ubantu,Linux 4.15.10-generic”{…}修改为
menuentry “Ubantu,Linux 4.15.10 newly bulit by Menglong”(emmmmmmmmmmmmm Whatever U want)
最终结果
grub引导界面:出现了安装好的内核选项
新旧内核: