当前位置: 首页>>技术教程>>正文


停电后,运行Ubuntu的Mac mini重启

,

问题描述

我在2010 Mac Mini(4,1)上运行Ubuntu 10.04.1(Lucid)。这是一台服务器,所以我希望它能够在断电(“server mode”)后重新启动。

在Mac OS X中,您可以在”Energy Saver”系统偏好设置中选中“断电后自动启动”。但是,检查此值似乎并不会影响Ubuntu中的”server mode”行为(也就是说,断电后不会重新启动)。

这似乎是因为”server mode”值未持久存储在pram /efi中,而是在每次引导时由Mac OS X设置。

我发现了有关如何为Mac Mini开启”server mode”的信息this tutorial,但是它不起作用:

$ setpci -s 0:1f.0 0xa4.b=0
setpci: Warning: No devices selected for `0xa4.b=

新的4,1 Mac Minis发生了很多变化-仅在其上安装Ubuntu就是一项壮举。也许”server mode”的咒语也变了?

我的问题是:如何在新的4,1 Mac Mini上启用”server mode”?

最佳回答

在某些Mac Mini(我大约在2014年进行了测试)上,它似乎仍然是:

sudo setpci -s 00:1f.0 0xa4.b=0

经过一些研究,我对此进行了验证。我采取的找出步骤(理论上也可以为这些机器的将来迭代完成)是:

  1. 查找LPC设备:

    $ lspci | grep LPC
    00:1f.0 ISA bridge: Intel Corporation HM77 Express Chipset LPC Controller (rev 04)
    

    在这种情况下,它是00:1f.0。

  2. 查找该设备的数据表。例如。搜寻“intel hm77 lpc controller datasheet”会产生this datasheet

  3. 现在,您只需要找到合适的寄存器,根据数据手册,这可能是一个挑战。在目录中,我发现“ 5.13.7.5 Sx-G3-Sx,处理电源故障,第180页”,它描述了控制位AFTERG3_EN

  4. 在文档中进行搜索,我们在530页表底部的13.8.1.3节(通用PM配置寄存器3)中找到了它。从中我们看到它是16位寄存器0xA4的位0。

然后可以用来构造相关的setpci命令。

因此,如果将来这种情况再次发生变化,请找到设备,找到数据表,构造命令,测试并举起拳头以取胜。

但是基本上,设备和寄存器地址在不同的机器上可能有所不同,这是特定于LPC控制器的;因此,这是您在确定使用哪个命令之前必须首先检查的硬件。

次佳回答

我发现答案埋在this post中。新的setpci命令是

sudo setpci -s 00:03.0 0x7b.b=19

顺便说一句,此设置不是”sticky”,并且不会在重新启动后持续存在-必须在每次启动时进行设置。

您可以将此命令放在bash脚本中,并在启动时运行它。有关start-up脚本的详细信息,请参见here

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/10852.html,未经允许,请勿转载。