reboot setelah kegagalan daya untuk Mac mini menjalankan Ubuntu

10

Saya memiliki Ubuntu 10.04.1 (Lucid) berjalan pada Mac Mini 2010 (4,1). Ini server, jadi saya ingin dapat memulai kembali setelah listrik mati ("mode server").

Di Mac OS X, Anda dapat memeriksa "Mulai secara otomatis setelah listrik mati" di Preferensi Sistem "Penghemat Energi". Namun, memeriksa nilai ini sepertinya tidak mempengaruhi perilaku "mode server" di Ubuntu (artinya, ia tidak akan memulai ulang setelah listrik mati).

Ini tampaknya karena nilai "mode server" tidak bertahan di pram / efi, tetapi ditetapkan oleh Mac OS X pada setiap boot.

Saya menemukan tutorial ini tentang cara mengaktifkan "mode server" untuk Mac Mini, tetapi tidak berhasil:

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

Banyak yang telah berubah dengan Mac Minis 4,1 baru - hanya menginstal Ubuntu di atasnya adalah suatu prestasi. Mungkin mantra "mode server" telah berubah juga?

Pertanyaan saya adalah: bagaimana cara saya mengaktifkan "mode server" pada 4,1 Mac Minis yang baru?

paleozogt
sumber
Dalam pengalaman saya, ini adalah sesuatu yang biasanya ditangani oleh bios. Karena saya tidak tahu apa-apa tentang cara kerja yang lebih rendah dari Mac (selain itu mereka menggunakan sebagian besar prosesor Intel standar), saya tidak akan dapat memberi tahu Anda bagaimana mengatur nilai-nilai yang diperlukan dalam bios, apalagi cara masuk ke dalam tempat pertama.
MBraedley
Maksud Anda EFI, bukan BIOS. Lagi pula tidak ada pengaturan EFI untuk ini. Ini adalah register chipset yang harus disodok pada setiap boot. Saya berharap itu ada di EFI, atau setidaknya kereta bayi, maka kita hanya perlu mengaturnya satu kali!
paleozogt
Maksud saya tepatnya.
MBraedley
Solusi saat ini tidak berfungsi untuk Mac Pro, tetapi Anda dapat memeriksa bug ini di Ubuntu bugs.launchpad.net/ubuntu/+source/linux/+bug/784571
sorin
@ Korin Sbarnea: baik, pertanyaannya adalah untuk mac mini
paleozogt

Jawaban:

9

Pada beberapa Mac Minis (saya uji pada sekitar tahun 2014) sepertinya masih:

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

Saya memverifikasi ini setelah beberapa penelitian. Langkah-langkah yang saya ambil untuk mencari tahu, yang secara teoritis dapat dilakukan untuk iterasi mesin-mesin ini di masa mendatang, adalah:

  1. Cari perangkat LPC:

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

    Dalam hal ini, ini adalah 00: 1f.0.

  2. Temukan lembar data untuk perangkat. Misalnya, Googling untuk "intel hm77 lpc controller datasheet" menghasilkan datasheet ini .

  3. Sekarang Anda hanya perlu menemukan register yang tepat, yang bisa menjadi tantangan tergantung pada lembar data. Di sini saya menemukan "5.13.7.5 Sx-G3-Sx, Menangani Kegagalan Daya, hal. 180" dalam daftar isi, yang menggambarkan bit kontrol AFTERG3_EN.

  4. Mencari melalui dokumen untuk itu, kita menemukannya di bagian 13.8.1.3 (register konfigurasi PM umum 3) di bagian bawah tabel pada halaman 530. Dari sini kita melihat itu adalah bit 0 dari register 16-bit pada 0xA4.

Maka itu dapat digunakan untuk membangun setpciperintah yang relevan .

Jadi jika ini berubah lagi di masa depan, cari perangkat, temukan lembar data, buat perintah, uji, dan angkat kepalan kemenangan.

Tetapi pada dasarnya perangkat dan alamat register mungkin berbeda pada mesin yang berbeda, itu khusus untuk kontroler LPC; jadi itu bagian dari perangkat keras yang harus Anda periksa terlebih dahulu sebelum menentukan perintah mana yang akan digunakan.

Jason C
sumber
ini berfungsi pada iMac lama 2007! controller adalah yang berbeda, tetapi memeriksa dokumen yang relevan mengarah pada perintah yang sama, pada akhirnya ...
benzkji
memang benar bahwa ini harus dijalankan pada setiap boot, kalau tidak hilang ...
benzkji
8

Saya menemukan jawabannya terkubur di pos ini . Perintah setpci baru adalah

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

btw, pengaturan ini tidak "lengket" dan tidak akan bertahan di seluruh reboot - harus ditetapkan pada setiap boot.

Anda dapat menempatkan perintah ini dalam skrip bash dan menjalankannya saat startup. Lihat di sini untuk detail tentang skrip start-up.

paleozogt
sumber
Bisakah Anda menjalankan perintah itu dalam skrip start-up, atau apakah masih akan meminta kata sandi su?
MBraedley
Ya, Anda dapat menjalankannya dalam skrip start-up. Saya telah mengedit jawaban untuk menautkan ke skrip start-up caranya.
paleozogt
Bisakah Anda begitu baik untuk menambahkan informasi mengenai di mana menambahkan baris ini untuk memastikan bahwa itu akan dieksekusi ketika sistem boot, sebaiknya sesegera mungkin? - Ubuntu
sorin
@Sorin Sbarnea: dalam jawabannya adalah tautan ke info tentang skrip start-up di ubuntu
paleozogt