序
因为某些原因需要给一个i7-8550u的cpu, nvme 128g ssd的mini pc 安装ubuntu
大概长这个样子
出厂的时候是装好了win10的,但是我们的程序需要运行在ubuntu上
以前是直接就装好了ubuntu 16.04.3,用了很长一段时间,但是最近发现120G 的硬盘被撑满了, 看了下发现是 /var/log/kern.log
, /var/log/syslog
两个文件几十个G,
里面是报某个硬件设备的问题
然而找了一圈并没有找出来具体是什么硬件的驱动背锅
搜了一圈,可以禁用msi (Message Signaled Interrupt)。 于是改/etc/default/grub
内核引导参数加了 pci=nomsi
全局禁用msi
中断,重启之后,cpu使用从100%降到了接近0,问题解决了
但是直接禁用msi中断似乎很是暴力,因为系统很多功能都重度依赖于中断,关闭了msi中断表面看起来问题是解决了,但是有未知的影响, 毕竟这个nvme的硬盘也是需要msi中断的,其他的很多驱动也需要msi中断
队友叫我重装系统,但是我强烈感觉这东西重装了之后问题还是会持续的,需要找到罪魁祸首才行。
无奈功力不够,没找出来,而且并没有太多的时间去折腾他。于是决定重装了试试。
重装第一次
做好了启动盘,装系统快要装好的时候, 报 硬件错误弹窗 ,关掉之后提示安装未完成,但是无法继续了
于是现在没有系统用了,因为安装过程中就会报错
于是尝试了其他版本,包括 ubuntu 16.04.3, 16.04.4, 17.10.1, 18.04 beta2, mint 18, 均失败(这时候才发现原来我电脑上存着的的iso这么多,上面几个大部分在我电脑和移动硬盘里面都有)
然后成功装好了 win10, 更新一下发现没有遇到任何问题,资源占用正常
但是我们并不需要win10, 并且忽然在我电脑里面发现了没有尝试过的 ubuntu16.04.1 于是决定再试试,出乎意料,顺利安装完成。
如果到这里就结束了,那么我肯定不会写这篇部落格的。
重装第n次
几天后队友又告诉我,mini pc 硬盘满了,还是之前的问题。不得已,只好再次处理,重新想了解决方案
- 写corntab 定时
echo > /var/log/kern.log
- 将
/var
独立出来,让他自己写 - 改
rsyslog
日志级别
一方思考后,觉得都不行,因为他们仍然会占用两个核的cpu, 虽然这个有8个核心,但是会耗费电池电量,同时发热非常严重
问了淘宝卖家,卖家说7代的u在很多地方都会有驱动的问题,8代的问题更严重,但是并没有给我解决方案
于是去了irc #linuxba 问了下,有人提醒我16.04 lts 是指bug的支持,不包括新特性新功能的支持,所以可能需要更新的内核 购买设备不建议购买最新的硬件,会出现莫名其妙的支持的问题 两年前的驱动也有问题
看了下i7 8550u的发布日期,2017.9月左右,那时候大概是v4.14
, 而装好的ubuntu 16.04.4 是v 4.4.0
, 两年前的内核了,新硬件很可能不支持。
决定用现在最新的v4.16.4
(一天前release)
那么先装个18.04 beta2试试,因为想顺便干掉双系统, 然后成功翻车
好了现在又又又又又没有系统用了
重装第1w次
irc上交流的时候,忽然觉得既然是安装过程中出错的,那么我在安装的时候就把 msi禁用了,是不是可以正常安装了?
可不可以在启动盘里面就把内核替换掉,然后装上去?询问了下并没有得到答复,但是建议我尝试新的内核
于是又做了一个 16.04.1的启动盘,进去 /boot
改了启动引导,翻了下看到了熟悉的grub
, 根据后面的文字提示 Try ubuntu without install
, install ubuntu
可以得知这个就是启动的时候会用到的,那么进去加一个pci=nomsi
,然后成功安装了系统。
系统装好进去之后,禁用msi, 装4.16.4
(后来因为unsigined
的问题换了v4.16.3
, 一周前更新)的内核
删掉nomsi, 新内核启动之后,问题依然存在,但是报错换了
和电控联调程序,调到了凌晨5点,实在不想折腾操作系统了,于是果断nomsi
好了现在插一个摄像头设备进去会出两个设备名,还是再再再再重装一次吧 :P
跋
熬夜伤身
2018-4-25 20:28:41