收起左侧

飞牛最新版本升级-- AMD系统 (N5 Pro)

1
回复
30
查看
[ 复制链接 ]

1

主题

7

回帖

0

牛值

江湖小虾

悬赏1飞牛币未解决
AMD 系统需要这个intel 的更新包吗? 上次就是卡这里, 最后升级失败了. 能够自定义需要升级的包吗? 感觉这个包会和系统冲突



.image.png
收藏
送赞
分享

1

主题

7

回帖

0

牛值

江湖小虾

2 小时前 楼主 显示全部楼层

最终升级成功, 中途有bug, 手动修复. (非官方)

fnOS 1.1.3104 升级全程记录

日期**:2026-05-18
设备**:铭凡 N5 Pro**
升级路径:fnOS 1.1.30 → 1.1.3104Kernel 6.12.18-trim → 6.18.18-trim
总耗时**:约 3 小时(含排查)**
最终结果:**✅ 全部正常,31 个容器运行,6.18 内核稳定


升级包清单

包名 版本 大小 最终状态
linux-image-6.18.18-trim 6.18.18-trim#570 80M 运行中
trim**(**fnOS 核心) 1.1.3104 337M
linux-modules-trim-6.18.18-trim 6.18.18-trim-570 163M
linux-headers-6.18.18-trim 6.18.18-trim-570 8.9M
linux-libc-dev 6.18.18-trim-570 1M
firmware-intel-misc 20250410-2~bpo12+1 backports 版
firmware-intel-graphics 20250410-2~bpo12+1 backports 版
firmware-amd-graphics 20250410-2~bpo12+1 backports 版
wireless-regdb 2026.02.04-1~deb12u1

坑一:固件包安装冲突,更新界面卡死 60 分钟

现象

fnOS 更新界面在 firmware-intel-misc 阶段卡住,进度条不动,显示"等待下载更新包...",无任何错误提示。

根因

firmware-intel-misc_20260110-1 与已安装的 firmware-misc-nonfree_20230210-5 存在 dpkg 显式冲突:

dpkg: regarding firmware-intel-misc_20260110-1_all.deb:
  firmware-intel-misc conflicts with firmware-misc-nonfree (<< 20230625-3~)
  firmware-misc-nonfree (version 20230210-5) is present and installed.

firmware-misc-nonfree 是 Debian 官方非自由固件包,fnOS 自己的固件包是其替代品,文件重叠。dpkg 报错后,fnOS 更新编排器没有错误恢复逻辑,进入假死状态。同时 packages.fnnas.com 这个域名根本不存在于公共 DNS(任何 DNS 服务器均 NXDOMAIN),更新进程重试下载也失败。

解决

# Step 1:移除冲突包(安全,fnOS 固件包是其完整替代品)
sudo dpkg --remove firmware-misc-nonfree

# Step 2:从 Debian backports 安装 Intel 固件
sudo apt-get install -y firmware-intel-misc firmware-intel-graphics wireless-regdb

# Step 3:安装 AMD 固件(会拉 firmware-realtek,但它与 firmware-linux-trim 冲突中断)
sudo apt-get install -t bookworm-backports firmware-amd-graphics
# 中途报错,firmware-amd-graphics 已解包未配置(状态 iU)

# Step 4:完成配置
sudo dpkg --configure firmware-amd-graphics
sudo dpkg --configure -a

避坑指南

  • 升级前先检查并移除 firmware-misc-nonfreedpkg -l firmware-misc-nonfree
  • fnOS 实际 apt 源是 repo.fnnas.com/etc/apt/sources.list.d/trim_repo.list),packages.fnnas.com 是无效域名,遇到 DNS 报错不要浪费时间排查
  • firmware-linux-trim 与 Debian 官方 firmware-realtek 文件重叠,安装 backports 版本时会冲突,需要单独处理 firmware-amd-graphics

坑二:6.18 内核启动后 fnOS/网络完全不通

现象

重启后自动进入 6.18.18-trim**,**fnOS Web 界面无法访问,只有进 GRUB 手动选 6.12 才能正常使用。

根因

双重问题叠加:

① RTL8126 网卡驱动缺失

N5 Pro 主网卡为 Realtek RTL8126 5GbE**(**PCI c5:00.010EC:8126)。fnOS 6.12 通过 realtek-r81xx 包提供 vendor 驱动 r8126.ko,但该包的 6.18 版本根本没有发布:

6.12 有:/lib/modules/6.12.18-trim/realtek/r8126.ko  ✓
6.18 无:/lib/modules/6.18.18-trim/updates/trim/     ✗(无 r8126.ko)

② r8169 通用驱动被主动 blacklist

/etc/modprobe.d/blacklist-r8169.conf 内容:

# To use realtek driver explicitly
blacklist r8169

fnOS 加这个 blacklist 的历史原因:RTL8126 支持是后来才加入 mainline r8169 的,早期 fnOS 版本只能用 Realtek vendor 驱动。结果是 6.18 下既无 vendor 驱动,又封锁了 mainline 驱动,网卡完全无法工作。

调研过程

检查 6.18 内核的 r8169.ko 发现 mainline 实际上已完整支持 RTL8126A**:**

strings /lib/modules/6.18.18-trim/kernel/drivers/net/ethernet/realtek/r8169.ko | grep 8126
# 输出:
alias=pci:v000010ECd00008126sv*sd*bc*sc*i*   ← PCI ID 完全匹配
rtl_nic/rtl8126a-3.fw                         ← 固件文件引用
rtl_hw_start_8126a                            ← 硬件初始化函数
RSS_CTRL_8125                                 ← 多队列支持

固件文件也已存在(来自 firmware-linux-trim):

/lib/firmware/rtl_nic/rtl8126a-2.fw  ✓
/lib/firmware/rtl_nic/rtl8126a-3.fw  ✓

结论:直接删除 blacklist 即可,不需要编译任何驱动。删除 blacklist 对 6.12 也没有影响——6.12 下 r8126.ko 优先加载,r8169 拿不到设备,自然无效。

解决

# 删除 blacklist(对 6.12 无影响,r8126 优先级更高会抢先加载)
sudo rm /etc/modprobe.d/blacklist-r8169.conf

# 更新两个内核的 initramfs
sudo update-initramfs -u -k 6.18.18-trim
sudo update-initramfs -u -k 6.12.18-trim

# 设置 GRUB 默认为 6.18
sudo grub-set-default "gnulinux-advanced-...>gnulinux-6.18.18-trim-advanced-..."
sudo update-grub
sudo reboot

重启后验证:

r8169 0000:c5:00.0 enp197s0: RTL8126A, 38:05:25:32:64:a2 — 驱动正确加载
r8169 0000:c5:00.0 enp197s0: Link is Up - 1Gbps/Full    — 链路正常

避坑指南

  • fnOS 升级大版本内核前,应验证 realtek-r81xx 是否有对应新内核的版本
  • blacklist 不一定是「必须的」,要理解其存在原因再决定是否保留
  • 网卡名 enp197s0 基于 PCI 路径(c5:00.0),换驱动不会改变接口名和 MAC,IP/端口不受影响

坑三:NVIDIA DKMS 模块 CRC 不匹配

现象

6.18 下 sudo modprobe nvidia 报错:

modprobe: ERROR: could not insert 'nvidia': Exec format error

根因

DKMS 在系统升级期间(运行 6.12 时)预编译了 nvidia 模块并安装到 6.18 目录。但由于是跨内核编译,symbol CRC(modversions)与实际运行的 6.18 内核不一致,导致加载失败。vermagic 字符串相同但 CRC 校验不过。

解决

在已启动的 6.18 内核下原地重建:

sudo dkms remove nvidia/570.211.01 --all
sudo dkms install nvidia/570.211.01 -k 6.18.18-trim
sudo modprobe nvidia
nvidia-smi  # 验证正常

避坑指南

  • 任何 DKMS 模块(不只是 nvidia)在跨内核预编译后,首次启动新内核时都应该验证能否加载
  • 判断方法:strings /lib/modules/<kernel>/updates/dkms/xxx.ko | grep vermagicuname -v 对比
  • 遇到 Exec format error 不是模块损坏,是 CRC 问题,dkms remove + install 即可解决
  • 其他 DKMS 模块(如 ZFS、第三方驱动)升级内核后同样需要注意

遗留问题

fnOS 更新界面仍显示固件包待安装

fnOS 更新管理器追踪自己 repo 的版本号(20260110-1),我们安装的是 Debian backports 版(20250410)。功能上等价,不影响使用。待 repo.fnnas.com 的包版本更新后可再次点击更新安装官方版。


最终系统状态

fnOS 版本:1.1.3104
运行内核:6.18.18-trim #570
网卡驱动:r8169 mainline(RTL8126A 5GbE,IP 不变)
GPU:NVIDIA RTX A3000 12GB,驱动 570.211.01 DKMS 重建 ✓
AMD 固件:20250410(backports)✓
容器:31/31 Up,全部 healthy

经验总结

# 教训
1 升级前 dpkg -l firmware-misc-nonfree,有则先移除
2 fnOS 更新卡住 → 先查 /var/log/dpkg.log/var/log/dpkg.error.log,比看 UI 有用
3 大版本内核升级后不要直接 reboot,先确认关键驱动(网卡、GPU)在新内核下是否有对应模块
4 blacklist 要理解原因,不要无脑保留;mainline 驱动追上 vendor 后 blacklist 就成了绊脚石
5 DKMS 跨内核预编译不可靠,首次启动新内核后手动 dkms remove + install 更保险
6 永远保留一个可工作的旧内核在 GRUB 里作退路,切换新内核不要急着删旧内核
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则