Phicomm N1安装NixOS

前言

原因在前一篇博客中已写,此处不再赘述。

制作U盘

可以在hydra.nixos.org页面选择最新编译的镜像,比如:nixos-sd-image-24.05pre574351.612f97239e2c-aarch64-linux.img.zst,解压后DD到U盘。我是自己通过NixOS自编译的镜像,包含了nixos-install-tools等必要工具,使用官方镜像自行安装应该差不多。

1
2
zstd -d nixos-sd-image-24.05pre574351.612f97239e2c-aarch64-linux.img
sudo dd if=nixos-sd-image-24.05pre574351.612f97239e2c-aarch64-linux.img of=/dev/sda status=progress

u-boot-2015-phicomm-n1.bin镜像写入到U盘,并避免覆盖第445至512字节,这是储存MBR的分区表的位置

1
2
sudo dd if=u-boot-2015-phicomm-n1.bin of=/dev/sda conv=fsync,notrunc bs=1 count=444
sudo dd if=u-boot-2015-phicomm-n1.bin of=/dev/sda conv=fsync,notrunc bs=512 skip=1 seek=1

U盘启动

如果EMMC可正常引导,那么插入U盘后通电,盒子会正常启动并引导U盘,NixOS镜像会卡在"Starting kernel …“很长时间,要有足够耐心等待。前面的步骤无误,是可以进入系统的。

nixos-install

进入系统后,挂载EMMC。

1
2
mount /dev/mmcblk1p2 /mnt
mount /dev/mmcblk1p1 /mnt/boot

保留emmc_autoscriptuboot,这两个是启动引导文件,如果缺失会永久停留在欢迎界面,其他文件可以全部删除。 然后下载Phicomm N1相应的NixOS配置文件,可参考我的配置nixos,然后进行安装。

1
sudo nixos-install --root /mnt --flake .#n1

启动新系统

关机后断电,然后拔出U盘后通电,盒子会启动进入NixOS系统。 系统截图

使用 Hugo 构建
主题 StackJimmy 设计