V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
ityspace
V2EX  ›  MacBook

在 Apple Silicon 芯片上的 Macbook 上使用 NixOS

  •  
  •   ityspace · 10 天前 via Android · 231 次点击

    众所周知,NixOS 是一个“懒人”发行版。在配置好 NixOS 之后,几乎就没多少操心的事了。所以集 Linux 的自由配置和 Macbook 的丝滑操作的体验就可以在 NixOS 下完美体现。

    我们需要一个 U 盘,其次去 https://github.com/tpwrules/nixos-apple-silicon/releases 下载 liveCD 镜像。通过diskutil list命令找到 U 盘位置然后通过 dd 命令把镜像刻录到 U 盘。

    Asahi Linux 项目提供了 M 系列芯片上安装 Linux 发行版的支持。首先我们要运行 Asahi Linux 项目提供的脚本。

    curl https://alx.sh | sh

    在选择安装系统时我们选择UEFI environment only。脚本运行快结束时提示我们要关机,关机后长按电源键进入恢复模式,找到新的启动项进去。(如果你关机后第一次没有进去恢复模式,这会导致安装失败,你需要重新运行一遍脚本)。

    这个脚本提供了 UEFI 环境的支持。插入 U 盘,在没有安装系统的情况下自动进入 U 盘,在安装系统之后可以通过开机时按任意键打断启动,然后输入env set boot_efi_bootmgr ; run bootcmd_usb0进入 U 盘系统。

    安装过程和正常 x86 平台电脑安装没有太大区别,但是在配置文件中需要添加额外的配置。你需要把apple-silicon-support模块添加进系统。

    如果你使用 flake 配置,那么你需要手动指定固件位置。  hardware.asahi.peripheralFirmwareDirectory = ./firmware;。固件可以通过cp /boot/asahi/{all_firmware.tar.gz,kernelcache*}获取。

    详细的安装教程可以在 https://github.com/tpwrules/nixos-apple-silicon/blob/main/docs/uefi-standalone.md 找到。

    然而安装时我遇到了一些坑,是文档里没说的。

    如果你用的 Macbook 的内存较小。安装系统时需要编译内核,那么你的内存就会爆掉。解决方法是把安装环境中的/tmp bind 到硬盘上。

    mkdir /mnt/nix/tmp
    mount --bind /mnt/nix/tmp /tmp
    

    安装后你会发现 Hyprland 打不开,解决办法是开启实验性显卡驱动。

      hardware.asahi = {
        useExperimentalGPUDriver = true;
        experimentalGPUInstallMode = "overlay";
        };
    

    如果你在国内,那么安装时的网络问题足以头痛了。最好准备一个软路由,或者手机 root 后下载 VPN hotspot 。

    2 条回复
    ityspace
        1
    ityspace  
    OP
       10 天前 via Android
    日常使用几乎没问题。对于有刘海屏的笔记本,刘海屏部分显示为黑色。
    tiandishi
        2
    tiandishi  
       10 天前
    体验过 fedora ,生态太差
    本来 mac arm 生态就不怎么样
    arm linux 更不怎么样,小众软件基本无解。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2282 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 15:15 · PVG 23:15 · LAX 08:15 · JFK 11:15
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.