值得买科技-分享、推荐高性价品牌产品购物排行榜!

Macmini2006(初代Intel)安装黑群晖,交叉编译内核驱动

Wocer 真实性核验

认证:存储设备优质原创作者

发布时间:2022-07-24 15:07 来源:什么值得买

浏览量:2296 1216次收藏

分类:存储设备 NAS存储

本文有1522个文字,大小约为6KB,预计阅读时间4分钟

[导读]: 背景 去年。我收藏的iMac Intel 初代因为长时间没开机。加上受潮。屏幕出现了竖线。我的初代Intel Mac Pro 也因为长时间不用。突然开机崩坏了2个电源了。但是你要开它吧。性能孱弱。...

精选评测好文

 

背景

去年。我收藏的iMac Intel 初代因为长时间没开机。加上受潮。屏幕出现了竖线。我的初代Intel Mac Pro 也因为长时间不用。突然开机崩坏了2个电源了。但是你要开它吧。性能孱弱。MacOS X 10.11也很多软件不兼容了。况且很费电。干脆不开了。留着今后改机箱吧。但是Mac mini不占地方。功率也低。为了防止它崩掉。打算把它利用起来。

配置

CPU:T7200。64位。由T2300升级

内存:2G DDR2

硬盘:500G机械

这套配置在06。07年的时候还是相当不错的。直到MacOS X 10.6 时代都是能够流畅使用的。现在只能算是古董。收藏价值大于实用价值。

版本选择和引导

介于这台机器的性能还是选择DSM5.2吧。下载DS3615的5.2的引导。打开看看里面是什么:

5.2引导文件

NAS存储

很简单了。BIOS的syslinux。但是。这台Mac mini采用了32位的uefi。很鸡肋。而且Mac不是随便识别MBR引导的。于是我们祭出Mac平台引导管理神器(曾经):rEFIT。

首先。给U盘分个区。MBR格式。先建立2个分区。1个FAT32。用来放5.2引导的文件。第二个分区按照rEFIT的要求。格式化为HFS+也就是MacOS扩展。把rEFIT的efi文件夹复制进去。然后在MacOS中执行enable.sh。不出意外的话。重启Mac mini。按alt。就能看见rEFIT了。不过不急。先去Windows用bootice安装syslinux的分区引导。安装完成后。将5.2的引导文件放入FAT32分区。这下就能正常引导DSM5.2的安装了。这里安装过程就不赘述了。安装好后没什么大问题:只是风扇狂转。这对老Mac来说显然是不健康的。必须解决。

编译AppleSMC驱动。解决风扇问题

给Mac装过Linux应该知道。控制Mac风扇的软件:mbpfan。在GitHub上

NAS存储

找到它的主页看看说明:需要applesmc和coretemp这两个模块。可以用lsmod | grep -e applesmc -e coretemp检查是否被加载。applesmc肯定是没有的。我们需要自己编译。applesmc有个依赖:input-polldev.ko也需要编译。

在群晖中执行命令:uname -a。得到内核版本:3.10.35 并将/proc/config.gz复制出来。这个是内核的配置文件。后面会用到。

applesmc.ko这个模块在许多大的Linux发行版都是默认启用了的。但是3.10.35的版本比较老。我找了许多Linux发行版都没有

NAS存储

找到现成模块。只能自己编译了。先去source forge的群晖主页(dsgpl)下载DSM5.2的源码(5565是5.2的。这里吐槽一下老版的源码是大包1.6g。实际上我们只需要内核源码。如果你要编译6.2.3的内核。只下载Linux开头的就行了)DS3615xs代号bromolow。就下载bromolow-source.txz。再下一个编译工具吧。在DSM 5.2 Tool Chains目录里面没有bromolow。没关系Intel x86 Linux 3.10.35 (Braswell)是可以的。都是x86。

接下来就是编译了。3.10.35的内核比较老了。稳妥起见我们在Ubuntu14.04中编译。将源码和编译工具导入到Ubuntu中。解压。

安装编译工具:sudo apt-get install libc6-i386 build-essential libncurses5-dev

cd 到source/linux-3.10.x。解压之前从群晖中复制的config.gz到这里。命名为.config

make ARCH=x86_64 CROSS_COMPILE=/path_to_your_toolchain/x86_64-pc-linux-gnu/bin/x86_64-pc-linux-gnu- menuconfig

进入配置菜单在Device Drivers > Hardware Monitoring support 中

NAS存储

找到 Apple SMC按M选择。

在Device Drivers > Input device suppert

NAS存储

找到Polled input device skeleton 按M 选择。

Save。Exit。

make ARCH=x86_64 CROSS_COMPILE=/usr/local/x86_64-pc-linux-gnu/bin/x86_64-pc-linux-gnu- modules 开始编译。

编译结束后复制drivers/input/input-polldev.ko和/drivers/hwmon/applesmc.ko 到群晖的/lib/modules/下,安装内核:

insmod /lib/modules/input-polldev.ko

insmod /lib/modules/applesmc.ko

接下来编译mbpfan。放到群晖。运行试一下:mbpfan -t -v

出错了!mbpfan could not detect any temp sensor. Please contact the developer.

这一句Using new sensor path for kernel >= 3.15.0 or some CentOS versions with kernel 3.10.0让我感到很迷。内核明明3.10.35啊。被它判断错了。3.15.0以上的内核温度传感器位置变了。这样是找不到传感器的。于是打开mbpfan的源码看看:

改后的

它这一段读取内核版本号的判断在群晖上是会出错的。不过没关系。暴力一点。不管新版老版都把传感器的路径设置老版的路径就行了。也可以直接删除这段if。直接将正确的路径赋给“path_begin”这个变量。改完后编译。重新放入群晖。再来

mbpfan测试通过

风扇瞬间安静了。(这里我没有导入配置文件。可以按照mbpfan主页说明。将mbpfan.conf按自己的温控需求修改 复制到 /etc/下)

再测试一下:

for i in `seq 1 $(cat /proc/cpuinfo |grep "physical id" |wc -l)`; do dd if=/dev/zero of=/dev/null & done

以上命令会让群晖的CPU达到100%。观察温度:

cat /sys/devices/platform/coretemp.0/temp2_input

不错。温度上来了。观察风扇速度(也可以耳朵听。哈哈):

cat /sys/devices/platform/applesmc.768/fan1_output

转速也上去了。关闭测试进程:

pkill -9 dd

再看看温度和风扇速度。都下去了。完美!

最后:将一下命令加入开机脚本

insmod /lib/modules/input-polldev.ko

insmod /lib/modules/applesmc.ko

/your_path/mbpfan

总结

对于Mac。网上大多教程都是用虚拟机安装群晖。但是既然是老Mac了。性能本来就out了。再用虚拟机损耗太大了。经检验。老Mac mini直接安装黑群晖是可行的。我这里以5.2版本为例。抛砖引玉。如果你也有老Mac且是UEFI64位的。可以尝试安装6.2以上。引导可以使用rEFIT的新衍生版: rEFInd。重点就是要交叉编译applesmc。

作者声明本文无利益相关。欢迎值友理性交流。和谐讨论~

其他人还看了

杀疯了!两千元档,N5105、双M2、4盘位、8G内存,绿联DX4600使用体验与评测

绿联DX4600

包括物理黑群迁移、升级、硬解等

遇强越强的绿联私有云DX4600,可兼顾性能与易用

非专业对ikuai和openwrt软交换性能测试

哎呦不错哦,赞!(785)
打赏 打赏打赏给作者

郑重声明:本文“Macmini2006(初代Intel)安装黑群晖,交叉编译内核驱动”,https://nmgjrty.com/cunchusb_493529.html内容,由Wocer提供发布,请自行判断内容优劣。

上一篇:全金属机身,硬核散热马甲,ORICO硬盘盒M232C3体验

下一篇:极空间新Z4:操作简单功能强大

说点什么吧
  • 全部评论(0
    还没有评论,快来抢沙发吧!
相关推荐


tags标签

返回顶部