Đây là phiên bản cập nhật của câu trả lời ban đầu của tôi, nó sẽ hoạt động cho NixOS 15.09. Nó chứa các sửa đổi nhỏ so với phiên bản ban đầu mà tôi đã sử dụng để cài đặt NixOS 14.04 với một số trợ giúp từ danh sách gửi thư nix-dev .
Thiết lập ban đầu
MacBook 5,1 (2008) với Mac OS 10.9 và ổ cứng được phân vùng như sau:
a) Phân vùng hệ thống EFI 200 MB có nhãn "EFI".
b) Hai phân vùng được sử dụng bởi Mac OS (10.9).
c) Hai phân vùng ext4 trống có nhãn "nixos" và "home" và phân vùng Linux Swap có nhãn "hoán đổi".
Tôi đã sử dụng các công cụ sau:
Đây là bảng phân vùng của tôi như được in bởi 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
Cáp Ethernet kết nối Internet.
Một ổ USB được định dạng là FAT với MBR và được gắn nhãn NIXOS_ISO
, với một bản sao (được kéo và thả) nội dung của hình ảnh ISO 64 bit NixOS 15,09 (Live CD hoặc Minimal).
Nhãn của ổ USB phải là NIXOS_ISO
(tôi đã thử FLASH
một lần, nó không hoạt động).
Có vẻ như hình ảnh ISO NixOS 15.09 không thể được gắn trong Mac OS. Nếu hình ảnh không thể được gắn kết, nó là đủ để trích xuất nội dung của nó. Tôi có thể trích xuất nội dung của ảnh ISO bằng trình lưu trữ tệp Keka .
Cài đặt
Khởi động từ ổ USB bằng cách giữ Alt/Optionphím khi khởi động lại và bằng cách chọn USB EFI Boot . Đăng nhập bằng "root" (không có mật khẩu). Đảm bảo kết nối Internet đang hoạt động. Kết nối Internet là cần thiết để cài đặt.
Hành hình
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
Thêm vào
nixpkgs.config.allowUnfree = true;
trong tệp /mnt/etc/nixos/configuration.nix được tạo .
Hành hình
nixos-install
Khởi động lại:
reboot
Khởi động
( Đây là kinh nghiệm của tôi với 14.04. )
Sau khi khởi động lại, máy tính đã khởi động vào NixOS. Tôi khởi động lại một lần nữa, giữ Alt/Optionchìa khóa lần này. Menu khởi động hiển thị hai mục "EFI Boot" giống hệt nhau. Hóa ra một trong số họ là Mac OS, và cái còn lại là NixOS. (Lạ - trước cái có Mac OS được đặt tên theo phân vùng Mac OS.) Ok.
Tôi đã gắn kết và kiểm tra nội dung của phân vùng hệ thống EFI vì tò mò:
§ 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
Mọi thứ ở đó nhưng / EFI / APPLE và nội dung của nó đã được tạo bởi cài đặt NixOS.
Làm cho Mac OS mặc định trở lại
( Đây là kinh nghiệm của tôi với 14.04. )
Để làm cho Mac OS mặc định trở lại và để tạo mục tương ứng trong Optionmenu khởi động -key được đặt tên theo phân vùng Mac OS, bạn đã đi đến Tùy chọn hệ thống ...> Khởi động đĩa trong Mac OS và chọn phân vùng với Mac OS. Thật kỳ lạ, nó yêu cầu nhập mật khẩu quản trị viên hai lần và phân vùng vẫn không được hiển thị như đã chọn, nhưng nếu không thì nó vẫn hoạt động.
Hướng dẫn khác
Để luôn thấy menu gummiboot , nó là đủ để thiết lập boot.loader.gummiboot.timeout
trong configure.nix .
Để cấu hình đúng card đồ họa nVidia của tôi , tôi đã kết thúc bằng trình điều khiển nouveau nguồn mở :
services.xserver.videoDrivers = [ "nouveau" ];
Tôi không có khiếu nại về nó. Nếu tôi sử dụng độc quyền "nvidia"
thay thế, bảng điều khiển văn bản không hoạt động.
Cập nhật cho NixOS 16.09 . Tôi đã quan sát thấy rằng trên máy của tôi có NixOS 16.09, tùy chọn services.xserver.videoDrivers
không cần thiết trong cấu hình. Mọi thứ đều hoạt động tốt và trên thực tế, nó làm giảm đáng kể hiệu năng đồ họa theo một vài thử nghiệm tôi đã làm với điểm chuẩn OpenGL của glmark2 . Tôi cũng quan sát thấy rằng việc chọn "nvidia"
phá vỡ chế độ đồ họa nhưng để lại các bảng điều khiển văn bản, trái với những gì tôi quan sát được với Nix OS 14.04. Tất cả điều này có vẻ hơi lạ đối với tôi, nhưng đây là những gì tôi quan sát được, vì vậy tôi đã xóa tùy chọn này khỏi cấu hình của mình .
Để tải mô-đun applesmc (ví dụ cho cảm biến chuyển động đột ngột), tôi đã đề nghị thêm phần sau vào cấu hình.nix :
boot.kernelModules = [ "applesmc" ];
Nhận xét và quan sát
"Vấn đề" duy nhất với NixOS trên MacBook mà tôi đã quan sát được cho đến nay là việc chạy NixOS máy tính xách tay của tôi thường nóng hơn 5-10 ° C so với Mac OS 10.9. Đây có thể là một vấn đề thông thường đối với Linux trên máy Mac .
Liên kết đến hướng dẫn cài đặt thay thế