รีบูตหลังจากไฟฟ้าดับสำหรับ Mac mini ที่ใช้ Ubuntu


10

ฉันมี Ubuntu 10.04.1 (Lucid) ที่ทำงานบน 2010 Mac Mini (4,1) มันเป็นเซิร์ฟเวอร์ดังนั้นฉันต้องการให้สามารถรีสตาร์ทได้หลังจากไฟฟ้าดับ ("โหมดเซิร์ฟเวอร์")

ใน Mac OS X คุณสามารถตรวจสอบ "เริ่มต้นโดยอัตโนมัติหลังจากไฟฟ้าดับ" ในการตั้งค่าระบบ "ประหยัดพลังงาน" อย่างไรก็ตามการตรวจสอบค่านี้ดูเหมือนว่าจะไม่ส่งผลกระทบต่อพฤติกรรม "โหมดเซิร์ฟเวอร์" ในอูบุนตู (นั่นคือมันจะไม่รีสตาร์ทหลังจากเกิดไฟฟ้าขัดข้อง)

สิ่งนี้น่าจะเป็นเพราะค่า "โหมดเซิร์ฟเวอร์" ไม่ได้คงอยู่ในรถเข็น / efi แต่ได้รับการกำหนดโดย Mac OS X ในทุกการบู๊ต

ฉันพบบทช่วยสอนนี้เกี่ยวกับวิธีเปิด "โหมดเซิร์ฟเวอร์" สำหรับ Mac Mini แต่มันไม่ทำงาน:

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

มีการเปลี่ยนแปลงมากมายกับ 4,1 Mac Minis ใหม่ - เพิ่งได้รับการติดตั้ง Ubuntu บนมันเป็นเรื่องค่อนข้างดี บางทีคาถา "โหมดเซิร์ฟเวอร์" ก็ได้เปลี่ยนไปหรือไม่

คำถามของฉันคือฉันจะเปิดใช้งาน "โหมดเซิร์ฟเวอร์" ใน 4,1 Mac Minis ใหม่ได้อย่างไร


จากประสบการณ์ของฉันนี่คือสิ่งที่มักจัดการโดยประวัติ เนื่องจากฉันไม่รู้อะไรเลยเกี่ยวกับการทำงานที่ต่ำกว่าของ Mac (นอกเหนือจากที่พวกเขาใช้โปรเซสเซอร์ Intel ส่วนใหญ่เป็นมาตรฐาน) ฉันจะไม่สามารถบอกคุณได้ว่าการตั้งค่าที่จำเป็นในไบออสนั้นเป็นอย่างไร ที่แรก.
MBraedley

คุณหมายถึง EFI ไม่ใช่ BIOS อย่างไรก็ตามไม่มีการตั้งค่า EFI สำหรับสิ่งนี้ มันคือการลงทะเบียนชิปเซ็ตซึ่งจะต้องมีการกระตุ้นในการบู๊ตทุกครั้ง ฉันหวังว่ามันจะอยู่ใน EFI หรืออย่างน้อยก็ในเรือท้องแบนแล้วเราจะต้องตั้งมันครั้งเดียวเท่านั้น!
paleozogt

จุดของฉันอย่างแน่นอน
MBraedley

โซลูชันปัจจุบันไม่สามารถใช้งานได้กับ Mac Pro แต่คุณสามารถตรวจสอบข้อผิดพลาดนี้ได้ที่ Ubuntu bugs.launchpad.net/ubuntu/+source/linux/+bug/784571
โซริน

@ โซริน Sbarnea: ดีคำถามสำหรับmac mini
paleozogt

คำตอบ:


9

ใน Mac Minis บางตัว (ฉันทดสอบในรอบหนึ่งปี 2557) มันก็ยังคงเป็น:

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. ค้นหาแผ่นข้อมูลสำหรับอุปกรณ์ เช่น Googling สำหรับแผ่นข้อมูล "intel hm77 lpc controller"ให้แผ่นข้อมูลนี้

  3. ตอนนี้คุณเพียงแค่ต้องค้นหาการลงทะเบียนที่ถูกต้องซึ่งอาจเป็นความท้าทายขึ้นอยู่กับแผ่นข้อมูล ที่นี่ผมพบว่า "5.13.7.5 SX-G3-SX Handling Power ล้มเหลวพี. 180" AFTERG3_ENในตารางของเนื้อหาซึ่งอธิบายบิตควบคุม

  4. การค้นหาเอกสารสำหรับสิ่งนั้นเราพบในหัวข้อ 13.8.1.3 (การลงทะเบียน PM การกำหนดค่าทั่วไป 3) ที่ด้านล่างของตารางในหน้า 530 จากนี้เราเห็นว่าเป็นบิต 0 ของการลงทะเบียน 16 บิตที่ 0xA4

จากนั้นสามารถใช้สร้างsetpciคำสั่งที่เกี่ยวข้องได้

ดังนั้นหากการเปลี่ยนแปลงนี้อีกครั้งในอนาคตค้นหาอุปกรณ์ค้นหาแผ่นข้อมูลสร้างคำสั่งทดสอบและยกกำปั้นของคุณในชัยชนะ

แต่โดยทั่วไปอุปกรณ์และที่อยู่การลงทะเบียนอาจแตกต่างกันในเครื่องที่แตกต่างกันโดยเฉพาะกับคอนโทรลเลอร์ LPC ดังนั้นนั่นคือชิ้นส่วนของฮาร์ดแวร์ที่คุณต้องตรวจสอบก่อนที่จะกำหนดคำสั่งที่จะใช้


ใช้งานได้กับ iMac รุ่นเก่าปี 2007! ตัวควบคุมต่างจากที่อื่น แต่การตรวจสอบเอกสารที่เกี่ยวข้องนำไปสู่คำสั่งเดียวกันในตอนท้าย ...
benzkji

มันเป็นความจริงที่ว่าสิ่งนี้จะต้องถูกประหารชีวิตในทุก ๆ การบู๊ตมิฉะนั้นมันจะหายไป ...
benzkji

8

ฉันพบคำตอบที่ฝังอยู่ในโพสต์นี้ คำสั่ง setpci ใหม่คือ

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

btw การตั้งค่านี้ไม่ "ติดหนึบ" และจะไม่คงอยู่ในการรีบูต - จะต้องตั้งค่าในการบู๊ตแต่ละครั้ง

คุณสามารถใส่คำสั่งนี้ในสคริปต์ทุบตีและเรียกใช้เมื่อเริ่มต้น ดูที่นี่สำหรับรายละเอียดเกี่ยวกับสคริปต์เริ่มต้น


คุณสามารถเรียกใช้คำสั่งนั้นในสคริปต์เริ่มต้นหรือจะยังคงถามรหัสผ่าน su หรือไม่?
MBraedley

ใช่คุณสามารถเรียกใช้ในสคริปต์เริ่มต้น ฉันได้แก้ไขคำตอบเพื่อเชื่อมโยงไปยังสคริปต์เริ่มต้นวิธีการ
paleozogt

คุณยินดีที่จะเพิ่มข้อมูลเกี่ยวกับตำแหน่งที่จะเพิ่มบรรทัดนี้เพื่อให้มั่นใจว่าจะถูกดำเนินการเมื่อระบบบูทโดยเฉพาะอย่างยิ่งโดยเร็วที่สุด? - อูบุนตู
sorin

@ โซริน Sbarnea: ในคำตอบคือการเชื่อมโยงไปยังข้อมูลเกี่ยวกับสคริปต์เริ่มต้นใน Ubuntu
paleozogt
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.