Ini adalah versi terbaru dari jawaban awal saya, seharusnya berfungsi untuk NixOS 15.09. Ini berisi sedikit modifikasi dibandingkan dengan versi awal yang saya gunakan untuk menginstal NixOS 14.04 dengan bantuan dari nix-dev milis.
Penyiapan awal
-
MacBook 5,1 (2008) dengan Mac OS 10.9 dan hard drive dipartisi sebagai berikut:
a) Partisi Sistem EFI 200MB berlabel "EFI".
b) Dua partisi yang digunakan oleh Mac OS (10.9).
c) Dua partisi ext4 kosong berlabel "nixos" dan "home", dan sebuah partisi Linux Swap berlabel "swap".
Saya menggunakan alat berikut:
-
fdisk GPT (dari bawah Mac OS),
-
mkfs.ext4
(dari bawah NixOS pada drive USB yang dapat di-boot), -
mkswap
.
Ini adalah tabel partisi saya seperti yang dicetak oleh
gdisk
:Number Start (sector) End (sector) Size Code Name 1 40 409639 200.0 MiB EF00 EFI System Partition 2 409640 104603575 49.7 GiB AF00 Untitled 3 104865720 261418767 74.7 GiB AF00 Untitled 4 261680912 287071535 12.1 GiB 8302 home 5 287071536 307888927 9.9 GiB 8300 nixos 7 307888928 312581774 2.2 GiB 8200 swap
-
-
Koneksi internet kabel Ethernet.
-
Drive USB yang diformat sebagai FAT dengan MBR dan diberi label
NIXOS_ISO
, dengan salinan (diseret dan dilepas) konten NixOS 15.09 64-bit ISO image (Live CD atau Minimal).-
Label drive USB harus menjadi
NIXOS_ISO
(saya mencoba denganFLASH
sekali, itu tidak berhasil). -
Tampaknya gambar ISO NixOS 15.09 tidak dapat dipasang di bawah Mac OS. Jika gambar tidak dapat dipasang, cukup mengekstrak isinya. Saya dapat mengekstrak konten citra ISO dengan pengarsipan file Keka.
-
Instalasi
-
Boot dari drive USB dengan menahan Alt/Option saat mem-boot ulang dan dengan memilih EFI Boot USB . Masuk sebagai "root" (tanpa kata sandi). Pastikan koneksi Internet berfungsi. Koneksi internet diperlukan untuk instalasi.
-
Jalankan
swapon /dev/disk/by-label/swap mount /dev/disk/by-label/nixos /mnt mkdir /mnt/boot mkdir /mnt/home mount /dev/disk/by-label/EFI /mnt/boot mount /dev/disk/by-label/home /mnt/home nixos-generate-config --root /mnt
-
Tambahkan
nixpkgs.config.allowUnfree = true;
di /mnt/etc/nixos/configuration.nix yang dihasilkan berkas.
-
Jalankan
nixos-install
-
Mulai ulang:
reboot
Booting
(Ini adalah pengalaman saya dengan 14,04. )
Setelah mem-boot ulang, komputer mem-boot ke NixOS. Saya mem-boot ulang lagi, kali ini menahan Alt/Option key.Menu boot menunjukkan dua item "EFI Boot" yang tampak identik.Ternyata salah satunya adalah Mac OS, dan yang lainnya adalah NixOS.(Aneh -- sebelum yang dengan Mac OS dinamai menurut partisi Mac OS. ) Oke.
Saya memasang dan memeriksa konten partisi sistem EFI karena penasaran:
§ tree /Volumes/EFI/
.
├── EFI
│ ├── APPLE
│ │ ├── EXTENSIONS
│ │ │ └── Firmware.scap
│ │ └── FIRMWARE
│ │ └── MB51_007D_03B_LOCKED.scap
│ ├── Boot
│ │ └── BOOTX64.EFI
│ ├── gummiboot
│ │ └── gummibootx64.efi
│ └── nixos
│ ├── 5683z247xmsrh4lyr2hgpxwlb9gg5wyl-linux-3.12.20-bzImage.efi
│ └── mmjxbf6vwp5mwb384yfd6c8vkhd19gx8-initrd-initrd.efi
└── loader
├── entries
│ └── nixos-generation-1.conf
└── loader.conf
Semuanya ada di sana kecuali /EFI/APPLE dan isinya telah dibuat oleh instalasi NixOS.
Menjadikan Mac OS default lagi
(Ini adalah pengalaman saya dengan 14,04. )
Untuk menjadikan Mac OS sebagai default lagi dan menjadikan item yang sesuai di Opsi -key boot menu dinamai partisi Mac OS, cukup buka System Preferences...> Startup Disk di bawah Mac OS dan pilih partisi dengan Mac OS. Anehnya, diperlukan memasukkan kata sandi admin dua kali, dan partisi itu masih belum ditampilkan sebagai dipilih, tetapi sebaliknya berhasil.
Petunjuk lainnya
-
Untuk selalu melihat gummiboot menu, cukup mengatur
boot.loader.gummiboot.timeout
di configuration.nix . -
Untuk mengonfigurasi nVidia saya dengan benar kartu grafis, saya akhirnya menggunakan nouveau sumber terbuka pengemudi:services.xserver.videoDrivers = [ "nouveau" ];
Saya tidak punya keluhan tentang itu. Jika saya menggunakan"nvidia"
milik sebaliknya, konsol teks tidak berfungsi.Pembaruan untuk NixOS 16.09 . Saya mengamati bahwa di mesin saya dengan NixOS 16.09, opsi
services.xserver.videoDrivers
tidak diperlukan di configuration.nix agar semuanya bekerja dengan baik, dan ternyata hal itu secara nyata menurunkan kinerja grafis menurut beberapa tes yang saya lakukan dengan glmark2 Tolok ukur OpenGL. Saya juga mengamati bahwa memilih"nvidia"
merusak mode grafis tetapi meninggalkan konsol teks, bertentangan dengan apa yang saya amati dengan Nix OS 14.04. Ini semua tampak agak aneh bagi saya, tetapi inilah yang saya amati, jadi saya menghapus opsi ini dari configuration.nix saya . -
Untuk memuat applemc modul (untuk sensor gerak mendadak, misalnya) disarankan kepada saya untuk menambahkan yang berikut ke configuration.nix :
boot.kernelModules = [ "applesmc" ];
Keterangan dan pengamatan
Satu-satunya "masalah" dengan NixOS di MacBook saya yang telah saya amati sejauh ini adalah menjalankan NixOS laptop saya biasanya menjadi 5-10 °C lebih panas daripada di bawah Mac OS 10.9. Ini mungkin masalah biasa untuk Linux di Mac.
Tautan ke petunjuk penginstalan alternatif
- Instal Linux di MacBook Air, 17/06/2015 (Instalasi NixOS di MacBook Air dalam konfigurasi dual-boot dengan Mac OS).
Beberapa kiat tambahan:
Jika Anda ingin lampu latar berfungsi dan mencegah laptop Anda menyala kembali secara spontan saat tutupnya ditutup, Anda dapat menggunakan sesuatu seperti berikut di configuration.nix
Anda :
# Enable the backlight control on rMBP
# Disable USB-based wakeup
# see: https://wiki.archlinux.org/index.php/MacBookPro11,x
powerManagement.powerUpCommands = ''
if [[ "$(cat /sys/class/dmi/id/product_name)" == "MacBookPro11,3" ]]; then
${pkgs.pciutils}/bin/setpci -v -H1 -s 00:01.00 BRIDGE_CONTROL=0
if cat /proc/acpi/wakeup | grep XHC1 | grep -q enabled; then
echo XHC1 > /proc/acpi/wakeup
fi
fi
'';
Bergantung pada versi MacBook Anda, Anda mungkin perlu mengubah perintah di atas, jadi mohon jangan salin dan tempel begitu saja.