本人系统是虚拟机上的ubuntu18,过程参考了以下3个链接:
https://blog.csdn.net/huangjunsheng123/article/details/116202848
https://blog.51cto.com/u_15899439/5907513
https://kunaly.blog.csdn.net/article/details/101111502?spm=1001.2101.3001.6650.3&utm_medium=distribute.pc_relevant.none-task-blog-2~default~CTRLIST~Rate-3-101111502-blog-116202848.235%5Ev39%5Epc_relevant_anti_t3_base&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2~default~CTRLIST~Rate-3-101111502-blog-116202848.235%5Ev39%5Epc_relevant_anti_t3_base&utm_relevant_index=6&ydreferer=aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2h1YW5nanVuc2hlbmcxMjMvYXJ0aWNsZS9kZXRhaWxzLzExNjIwMjg0OA%3D%3D&ydreferer=aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2h1YW5nanVuc2hlbmcxMjMvYXJ0aWNsZS9kZXRhaWxzLzExNjIwMjg0OA%3D%3D&ydreferer=aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2h1YW5nanVuc2hlbmcxMjMvYXJ0aWNsZS9kZXRhaWxzLzExNjIwMjg0OA%3D%3D
1、下载内核和补丁(推荐用镜像下载)
国内阿里镜像内核下载地址(下载速度快): https://mirrors.aliyun.com/linux-kernel/
国内阿里镜像补丁下载地址(下载速度快): https://mirrors.aliyun.com/linux-kernel/projects/rt/
本人下载的是5.4.138版本的核心和补丁。
2:解压打补丁
1.将第一步下载的文件放到新建的kernel文件夹中 cd ~ mkdir kernel cd kernel 2.解压内核源码 tar -zxvf linux-4.4.tar.gz 3.解压补丁 gunzip patch-4.4-rc6-rt1.patch.gz 4.打补丁 cd linux-4.4 patch -p1 < ../patch-4.4-rc6-rt1.patch 5.安装编译内核需要的模块 sudo apt-get install libncurses-dev sudo apt-get install libssl-dev 6.配置linux内核 make menuconfig
注:详细补充下第6步中配置内核的具体操作:由于第三个链接中是4.几版本的,而我下的是5.4.138版本的(同第二个链接,因为和他ubunut系统版本一样,为了方便),在5.4内核版本里,menuconfig界面都改了,所以界面和第三个参考链接中的插图不一样。
开始实操!进入menuconfig后是这个画面,点击进入第一个(要不要点忘了,可以试试,点击后下一步搜索得到就行):
选项太多,直接查找更方便,弹窗最上方也提示了,按/就可以弹出搜索界面,输入CONFIG_EXPERT,显示如下界面,按1选择进入专业配置模式?:
然后画面会变成这样,还是在general setup里,但是后面多个了括号描述(config expert):
继续按/搜索PREEMPT_RT,界面类似下图,选择1:
如图,然后继续回车,进入:
选择最后一个RT选项,保存退出即可:
3:为了避免出错,编译参考的还是同版本的第二个链接:
make -j4 (直接写make也行,-j4就是四核线程加速,如果虚拟机创建的时候分配的2核,就写-j2)
注:这一步的执行时间较长,本人虚拟机创建时分配的2核,因此用的make -j2,笔记本编译内核过程用了将近3小时。
注:make -j2 编译时候的遇到一些错误如下:
问题1:编译 Linux 内核报错 ( /bin/sh: 1: gcc: not found scripts/Makefile.host:95: recipe for target ‘scripts/basic/fixdep’ failed )
解决:https://blog.csdn.net/lqf123123/article/details/126426860
问题2:编译内核问题,找不到那个RT选项。
解决:General setup 中打开内核 feature,或者在这个界面里按/进行搜索CONFIG_EXPERT,好像是按1把选择,在里面继续搜索PREEMPT_RT,选择进入Preemption Model。选择最后的RT选项。保存退出。也就是上面截图所演示的。
参考链接:https://blog.51cto.com/u_15899439/5907513
问题3:Linux内核编译错误:make[1]: *** 没有规则可制作目标“debian/canonical-certs.pem”,由“certs/x509_certificate_list” 需求。 停止
解决:https://blog.csdn.net/m0_51203305/article/details/120805372
注:只要改:CONFIG_SYSTEM_TRUSTED_KEYS="debian/canonical-certs.pem" #这个要删除
注:问题3和4要改的.config文件就在kernel/linux5.4.138下,文件管理器中隐藏的,在终端直接sudo vim .config就可以编辑。
问题4:内核编译错误:Makefile:988: recipe for target 'certs' failed
解决:https://blog.csdn.net/weixin_43966269/article/details/106097920?spm=1001.2101.3001.6650.2&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-2-106097920-blog-115805848.235%5Ev39%5Epc_relevant_anti_t3_base&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-2-106097920-blog-115805848.235%5Ev39%5Epc_relevant_anti_t3_base
方法:关闭:CONFIG_MODULE_SIG和CONFIG_SYSTEM_TRUSTED_KEYS关联项(y改为n,最后那个上一个问题改为空过了)
另外内核编译关闭CONFIG_DEBUG_INFO,内核Debug信息量很大
完事后开始下面三个指令,这三步就很快了,一共大概十分钟。完事后重启系统。再用指令查看内核版本,如下图,应该就OK了。
sudo make modules_install sudo make headers_install sudo make install
重启后,执行查看版本指令,效果如图。OK:
cat /proc/version
安装测试数据集:
sudo apt-get install rt-tests
测试效果,如图:
sudo cyclictest -t 5 -p 80 -n
完事!
标签:relevant,Ubuntu18,make,blog,编译,内核,https,Linux From: https://www.cnblogs.com/beautifulmoonlight/p/17919003.html