收起左侧

在MacBookPro上安装飞牛OS趟过的坑

2
回复
157
查看
[ 复制链接 ]

0

主题

2

回帖

0

牛值

江湖小虾

一、前言

家里有一台华为的家庭存储设备,但基本只能用于手机的相册备份与同步,偶尔用百度网盘来下载一些游戏资源,其它的功能几乎约等于没有。

在网上了解到飞牛OS之后,正好老婆闲置下来一台MacbookPro 2018 13寸,也有1-2块闲置的大容量硬盘,眼看着放家里吃灰,便想着能不能在mbp上安装飞牛OS,用来当做家里的第二个NAS设备。

经过一番了解和搜索后,发现网上的教程基本都只能初步安装上飞牛OS,但还有很多引导、驱动的遗留问题没有解决。

最后自己动手开始边研究边尝试,趟了很多坑,最终达到了一个相对理想的效果:把飞牛OS安装到外置硬盘上,并且无线网卡、蓝牙、风扇控制这些功能都正常可用。

在mbp上安装飞牛OS最大的问题根源是苹果的T2芯片:Apple T2安全芯片是苹果为其Mac电脑设计的第二代定制芯片,旨在增强安全性和管理多个硬件功能,T2芯片对启动引导、硬件驱动管理的实现与传统X86架构的计算机完全不同,所以常规的安装方式,会导致无法自动引导、网卡等驱动异常、风扇无法正常控制等问题。

二、飞牛OS的安装

1、安装磁盘的选择

首先是大多数人遇到的第一个问题,把飞牛OS安装到mbp的内置硬盘还是外接硬盘上,先说结论,不是十分懂技术的朋友建议还是找块外接硬盘来安装飞牛OS,目前飞牛OS的安装流程会将安装硬盘彻底格式化,这会导致mac内置硬盘中的引导信息、驱动固件被删除,会引发很多问题,解决起来很复杂。安装到外接硬盘上能够规避掉大部分问题,并且等NAS玩够了,也可以继续使用macos。

2、安装步骤

在MBP上安装飞牛OS的方法很简单,网上也都能找到对应教程,我这里简单说一下核心内容就行。

首先是需要准备的东西如下:

  1. 一个飞牛OS的安装U盘(在官网下载最新镜像,通过rufus等工具把镜像烧录到U盘);
  2. 一个用于安装飞牛OS的外置硬盘(建议SSD);
  3. 一个type-c扩展坞(带RJ45网口);

接着是安装步骤:

  1. 首先通过扩展坞和网线,让mac连接上有线网络
  2. 关闭T2芯片的SIP:mbp关机状态下,按住Command+R的同时按开机键,知道mac进入修复模式,根据系统提示输入macos的用户密码,从菜单栏中选取“实用工具”>“启动安全性实用工具”,将安全启动和允许的启动介质两个选项都修改为最后一个“无安全性”和“允许从外部介质或可移动介质启动”,然后把mbp关机。【参考链接:https://support.apple.com/zh-cn/102522】
  3. 插入飞牛OS安装U盘,在mbp关机状态下同时安装option和开机键,等待一会儿之后,屏幕上会出现启动项选择界面,选择EFI选项(也就是你的飞牛OS安装盘),根据官方教程正常安装飞牛OS。

三、问题解决

安装好飞牛OS后,你会发现没有无线网卡驱动,必须得用扩展坞来连接有线网络,CPU风扇也没有正常控制,大部分情况下风扇都不转,另外mbp的关盖休眠功能会导致飞牛OS断连。这些问题都有对应的解决方案。

1、关闭关盖休眠

在飞牛OS里安装终端应用(FntermX),连接到飞牛的shell,通过以下命令来关闭mac的关盖休眠功能。【参考链接:https://club.fnnas.com/forum.php?mod=viewthread&tid=989】

  1. 通过以下命令把用户切换到root(不切换也可以,但记得后续每条命令都要加上sudo),记得输入命令按回车后,需要输入飞牛OS的管理员密码:

    sudo -Si

  2. 通过vi编辑器打开系统logind.conf配置文件,按i键进入编辑模式:

    vi /etc/systemd/logind.conf

  3. 在打开的vi编辑器界面,将以下配置项的注释符号删除并修改为ignore:

    修改=后的值为ignore,删除最前面的注释符号“#” HandleLidSwitch=ignore
    #HandleLidSwitchDocked=ignore
    #HandleLidSwitchExternalPower=ignore

  4. ESC键,然后输入**:wq**后按回车,保存并退出VI编辑器。

2、安装T2Linux来解决无线网卡驱动和风扇控制问题

T2Linux是一个专门面向带T2芯片的mac电脑的linux发行版本,飞牛OS的内核就是基于debian的linux系统,所以可以通过安装T2Linux的内核来适配苹果的T2芯片。这个内核的安装方法相对复杂,需要熟练掌握linux的一些shell命令和操作。我在这里放出相关资源和教程的链接,并且附上我遇到的问题和解决方案,供大家参考,如果是不熟悉这方面技能的朋友,建议不要擅自操作。

  • Debian的T2Linux内核(https://github.com/t2linux/T2-Debian-and-Ubuntu-Kernel):根据readme里的教程在飞牛OS里安装对应的内核:bookworm,如果在线安装出现了问题,建议参考“Download package manually”里的教程,手动下载需要的包手动安装
  • 无线网卡和蓝牙驱动(https://wiki.t2linux.org/guides/wifi-bluetooth/)):这一步不是必须,安装T2linux内核后,部分机器理论上会自动安装好驱动,如果发现驱动仍未安装成功,再尝试手动安装。(手动安装无无线网卡驱动需要macos系统存在,这也是我建议大家安装到外接硬盘的原因,如果安装到内置硬盘,macos已经不存在了,就无法通过macos提取无线网卡和蓝牙的固件)
  • 风扇控制程序(https://wiki.t2linux.org/guides/wifi-bluetooth/):通过安装t2fanrd来在飞牛OS里实现cpu风扇的智能温控,一般情况下安装好后默认配置既可,如果需要手动修改风扇控制策略,参考项目的readme。

3、总结

这一顿折腾下来,闲置的mbp基本能够满足我家日常的NAS需求,也不会出现关键功能缺失和致命性问题,当然也还有一些遗留问题,比如虽然解决了关盖休眠问题,但屏幕常亮问题依然没有软件方案解决,只能通过拆机拔掉屏幕排线来变相实现关闭屏幕(需要的话,参考ifixit的mbp屏幕更换教程),但除非你家里正好有一台限制的macbook,二手价格也不理想,以旧换新也不值几个钱,否则我还是建议不要考虑在macbook上安装飞牛OS,除非官方愿意主动去适配。目前自建飞牛OS的最佳方案,还是用便宜的NUC、X86主机来部署,成本低、兼容性强、可靠性高。

最后总结一下在mbp上安装飞牛OS的关键步骤:

  1. 关闭苹果的SIP功能,确保能够通过外置硬盘引导启动;
  2. 正常安装飞牛OS并初始化配置;
  3. 关闭mac的关盖休眠功能;
  4. 安装适配debian的t2linux内核;
  5. 可选:提取和安装无线网卡和蓝牙驱动;
  6. 安装t2fanrd来实现风扇温控。
收藏
送赞
分享

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x

0

主题

2

回帖

0

牛值

江湖小虾

昨天 23:35 楼主 显示全部楼层

补充一个小技巧,论坛里也有大佬分享:关闭屏幕背光([url]https://club.fnnas.com/forum.php?mod=viewthread&tid=5502[/url])

在终端下,输入以下命令既可关闭/打开屏幕背光,达到省电和降低发热的效果:

关闭屏幕命令:

setterm --blank force --term linux </dev/tty1

打开屏幕命令:

setterm --blank poke --term linux < /dev/tty1

0

主题

2

回帖

0

牛值

江湖小虾

昨天 23:59 楼主 显示全部楼层

再补充一个遇到的新坑,安装T2Linux内核之后,系统用户组权限会发生变更,会出现大量没有权限的报错。这个问题的解决方案如下:

  1. 打开系统设置的SSH功能,通过远程终端(连接地址127.0.0.1),本地终端因为权限问题不可用,把你的nas账号加入root组(test修改为你的nas用户名):sudo usermod -aG root test
  2. 把系统存储空间和远程挂载相关目录的所有者修改为你的nas用户,这里需要根据实际情况处理,一般挂载的存储空间会以vol1、vol2这种形式命名,挂载空间一般都是vol01、vol02,如果不清楚需要修改哪些目录,建议在遇到权限不足的问题是,文件管理地址栏点击一下就能看见真实路径(例如:/vol1/1000/123123,这里说明你的/vol1路径没有权限)。具体命令是:chown -R test:root /vol1

我测试之后发现并不能完全解决所有问题,目前最大的遗留问题是,能够上传、新增、修改、移动、复制文件,但不能通过文件管理应用进行删除,无论是回收站还是彻底删除都不行,排查推测是t2linux内核影响了飞牛OS内置的垃圾回收服务(trim_trashbind.service),我试了很多办法都无法让这个服务正常启动。

最后,还是期待官方做固件的大佬们尽快考虑applesmc的适配问题吧,目前在具有T2芯片的mac设备上安装飞牛OS的所有问题几乎都是由它引起的。linux官方实际上是在发行版中内置了applesmc的驱动模块(applesmc.c « hwmon « drivers),我尝试过在飞牛OS中手动编译驱动模块,但最终都失败了,希望官方能够把这个驱动放到后续版本更新的内核中去,这样就不用这么折腾了。

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则