记 N1 Debian 的一次有惊无险的升级 (更新日期:12Aug2025)
随着8月9日 Debian 13 Trixie 的发布,感觉家中的N1盒子(运行Armbian 12)有必要跟随升级,毕竟有新版本的软件,包括 curl 的 HTTP/3 支持、wcurl、新版的 OpenSSL 等等。
一顿操作猛如虎,期间问了一些问题,都按默认(N)保留原配置处理,一直还算顺利。然而,前期的顺利,造成了麻痹大意,忽略了一个严重错误信息:
update-initramfs: Converting to u-boot format
mkimage: Write only 11775936/14758517 bytes, probably no space left on the device
在做了清理后重启,启动失败:
apt autoremove --purge
N1的引导,主要用到了 zImage 和 uInitrd 这两个文件,而由于权限原因,以往系统内核升级会出错失败,但不影响正常运行。幸好,现系统使用的5.15.126+内核是自己编译安装的,deb 包有备份。
U盘写入 Armbian 并启动,解开5.15.126+内核deb包,将N1的 mmcblk2p1 (/boot分区所在设备)挂载到 /mnt,与解开的内核 deb 包进行文件对比,发现 zImage 文件大小一致,uInitrd 比 /mnt 的小。看起来,initramfs-tools 在写入 uInitrd 的过程中,因 /boot 写满出错跳出,文件未写全,没有象过去那样回滚到老版本,造成了系统启动失败。
用 deb 包解开的 uInitrd 替换 /mnt 内同名文件后重启,系统恢复正常。
经验教训及 Tips:
- 大版本的系统升级,一定要密切注意所有错误信息,以免出现问题手足无措。
- 做好N1内核的关键文件备份,至少备份 zImage 和 uInitrd。这次就用内核安装包解包恢复了写入错误的 uInitrd。
- N1的 /boot 分区大小有限,要注意及时清理。系统恢复后,将老版 5.0.2 内核删除,腾出近 40M 空间。
- N1没有用到 uImage,如果 /boot 内有这个文件,可以删除,能回收8.8M。
- N1的引导,没有用到 grub。
N1盒子扩容后的相关问题及处理 (更新日期:05Sep2025)
N1的 8GB eMMC 实在捉襟见肘,几年来一直凑合着用:跑轻量 docker,用符号链接将 docker 相关目录映射至外挂硬盘解决容量不足问题。然而,长期挂载移动硬盘的稳定性、安全性(搞卫生碰掉几次)都不理想。现今,海鲜市场扩容 N1 工艺已非常成熟,全新 64G eMMC 不过2位数。于是,将一台备用 N1 递出,不日改好递回。
在用的 Armbian 是当年大毛 balbes150 的 5.77,一路升级到 Trixie,内核由 5.0.2 升级到自编译的 5.15.126。
系统迁移有2个选择:
- 全新安装 ophub 的 Armbian 系统,最新内核,最新 Debian Trixie,更新维护及时,但,所有配置重做,包括打印机配置(我的打印机是 HP 1020 Plus,固件外置,配置很麻烦)、外链、动态域名……想想就怕。
- 用 ophub Armbian 系统U盘启动,用
Armbian-ddbr脚本做好系统备份,恢复到扩容后的备用 N1 上。
最后决定采用方案2。店家完成扩容后,帮刷上了降级小改的安卓固件,需要额外安装1个 APP: reboot update,装好运行它,重启,插上事先用 rufus 写好的 Armbian U盘,启动到 Armbian。
注意:一定不要在安卓系统运行状态下插入U盘,否则会改写U盘所有文件的属性为1023:1023。
U盘启动后,运行 Armbian-ddbr 恢复原系统,关机拨出U盘,重拨插电源,用内置 eMMC 启动系统成功。
-
有线网络 MAC 地址每次重启随机变化
重启完成后想固定IP,发现有线网卡 MAC 地址每次重启都会随机变化,固定其 MAC 地址有几个方法,最方便的是:修改 /boot/uEnv.ini,增加一行:ethaddr=FC:7C:02:xx:xx:xx(FC:7C:02为斐讯公司),详细方法可在这里查阅。 -
系统备份恢复后,分区保持原样,扩容后增加的空间未利用
用 Armbian-ddbr 恢复系统备份后,所有分区大小及文件系统(ext4或btrfs)与扩容前保持一致,扩容后增加的空间未被文件系统识别利用。再次用 Armbian U盘启动,执行:
parted /dev/mmcblk2 resizepart 2 100%
上述指令中,mmcblk2 为 eMMC,part 2 为根分区(part 1 为FAT16格式的 boot 分区)。执行后分区已扩大至可用空间的100%,但还需要文件系统识别并占用这个新空间,执行:
resize2fs /dev/mmcblk2p2
至此,扩容操作完成。
N1盒子减少eMMC写入优化
- 修改
/etc/fstab,不更新文件的访问时间
/dev/root / ext4 defaults,noatime,errors=remount-ro 0 1
- 定期执行 Trim,回收垃圾空间
sudo systemctl status fstrim.timer
sudo systemctl enable fstrim.timer
sudo systemctl start fstrim.timer
上述定义默认为每周执行一次

浙公网安备 33010602011771号