问题描述
我在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
经过一些研究,我对此进行了验证。我采取的找出步骤(理论上也可以为这些机器的将来迭代完成)是:
-
查找LPC设备:
$ lspci | grep LPC 00:1f.0 ISA bridge: Intel Corporation HM77 Express Chipset LPC Controller (rev 04)
在这种情况下,它是00:1f.0。
-
查找该设备的数据表。例如。搜寻“intel hm77 lpc controller datasheet”会产生this datasheet。
-
现在,您只需要找到合适的寄存器,根据数据手册,这可能是一个挑战。在目录中,我发现“ 5.13.7.5 Sx-G3-Sx,处理电源故障,第180页”,它描述了控制位
AFTERG3_EN
。 -
在文档中进行搜索,我们在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。