# 晴天 / Eagle Server 详细技术记录
**日期：2026-09-16（工作延续至 2026-09-17 凌晨）**

## 1. 系统与硬件基线
- Server name：Eagle
- Motherboard：GIGABYTE B860M EAGLE PLUS WIFI6E
- BIOS：FA5
- CPU：Intel Core Ultra 5 225
- RAM：32GB Corsair（2×16GB）
- System NVMe：PSENN512GA87QC0，512GB
- OS：Ubuntu 24.04.5 LTS
- Kernel：`6.8.0-139-generic`
- Ethernet controller：Realtek RTL8125 2.5GbE
- PCI：`81:00.0`
- PCI ID：`10ec:8125`
- Ethernet interface：`enp129s0`
- MAC：`30:56:0f:49:bc:14`
- BIOS AC recovery：AC BACK = Always On
- ErP = Disabled

## 2. RTL8125 故障背景
Ubuntu 原 in-tree `r8169` 无法正确识别该 controller，曾出现：
`error -ENODEV: unknown chip XID 688`

随后安装 Ubuntu Noble `r8125-dkms 9.011.00-4ubuntu1.1`。虽然：
- interface 能 UP
- LOWER_UP
- physical link negotiated
- RX packet 有增长

但实际出现：
- 无 DHCP IPv4
- TX 基本停留在约 2 packets / 180 bytes
- runtime `chipset_name=Unknown`
- `HwIcVerUnknown=1`

诊断指向 driver 9.011.00 对此 RTL8125 revision / XID 688 支持不足，导致 transmit path 异常。

## 3. r8125 9.016.01 来源验证与本地构建
工作目录：
`/home/foo/r8125-9.016.01-1-source/`

使用 Debian 官方 source package：
- `r8125_9.016.01-1.dsc`
  SHA256 `4b97cb472e59cc68228413fe226a1b832166ce28bf411f9dd6411d5efcc09754`
- `r8125_9.016.01.orig.tar.bz2`
  SHA256 `5434b26500538a62541c55cd09eea099177f59bd9cc48d16969089a9bcdbbd41`
- `r8125_9.016.01-1.debian.tar.xz`
  SHA256 `90ca39ccfc81d17960dc3dbba28b2887c3595f59b1d42ed7516ba6456659473`

使用 Debian keyring 验证 `.dsc` 签名。
Signer fingerprint：
`EBF30A30A8D9C63BDA44C6945FB33F9359E9ED08`
Signer：Andreas Beckmann `<anbe@debian.org>`

Authenticated source 明确包含：
- version `9.016.01`
- `0x68800000` handling
- CFG_METHOD_10 / CFG_METHOD_11
- RTL8125D 对应初始化路径

### Noble packaging compatibility adjustment
Ubuntu Noble `dh-dkms 3.0.11` 对 Debian packaging 的 placeholder substitution 需要显式 `-V`。

仅修改 `debian/rules` packaging logic：
`override_dh_dkms: ; dh_dkms -V$(DEB_VERSION_UPSTREAM)`

没有修改 driver `src/`。

构建：
`dpkg-buildpackage -b -uc -us`

输出 package：
`/home/foo/r8125-9.016.01-1-source/r8125-dkms_9.016.01-1_all.deb`

SHA256：
`62aa9f97132268cacd8e8d30a1179a081006ebad3a4ec464460a66e9030cb157`

验证结果：
- 19 个 `src/` files build 前后 unchanged
- packaged source 与 authenticated upstream 一致
- `dkms.conf` → `PACKAGE_VERSION="9.016.01"`
- DKMS signing 使用 Eagle 已有 MOK：
  `/var/lib/shim-signed/mok/MOK.priv`
  `/var/lib/shim-signed/mok/MOK.der`
- Secure Boot certificate 已 enrolled。

Rollback package：
`/home/foo/r8125-9.016.01-1-source/rollback-cache/r8125-dkms_9.011.00-4ubuntu1.1_all.deb`

Rollback SHA256：
`300623be335248486a8eb71877df1ed4ad84785449a2fd1a4302af3a682f7e4b`

## 4. 新 Driver 安装与 Activation
安装：
`sudo dpkg -i /home/foo/r8125-9.016.01-1-source/r8125-dkms_9.016.01-1_all.deb`

DKMS build/install 成功，initramfs 成功更新。

Activation sequence：
1. `sudo ip link set dev enp129s0 down`
2. `sudo modprobe -r r8125`
3. `sudo modprobe r8125`
4. 验证 `/sys/module/r8125/version`
5. `sudo ip link set dev enp129s0 up`
6. `sudo networkctl reconfigure enp129s0`

加载后：
`9.016.01-NAPI`

## 5. DHCP / LAN 恢复
`ip -4 addr show enp129s0` 得到：
`192.168.1.69/24`

`networkctl status enp129s0`：
- State：routable (configured)
- Online：online
- Driver：r8125
- Speed：1Gbps
- Duplex：full
- Address：`192.168.1.69`
- DHCP4 via：`192.168.1.1`
- Gateway：`192.168.1.1`
- DNS：`192.168.1.1`

Gateway MAC：
`e8:22:b8:a7:af:ea`

Ping：
- target `192.168.1.1`
- 4 transmitted / 4 received
- 0% packet loss
- 首轮 avg ~0.763 ms
- Hotspot OFF 后再次测试 avg ~0.576 ms

Statistics 检查：
- Rx Packets：1054
- Tx Packets：361
- Rx Bytes：84425
- Tx Bytes：39287
- Rx Errors：0
- Tx Errors：0
- Tx Dropped：0
- Rx Dropped：364（先记录，暂不凭累计值判断故障）

这与旧 driver TX 卡在约 2 packets / 180 bytes 的状态形成明确对比，新 driver transmit path 已恢复。

## 6. Reboot Persistence 验证
执行 reboot 后：
- Desktop 可再次通过 LAN SSH 登录。
- Driver 自动加载：
  `9.016.01-NAPI`
- IPv4 自动取得：
  `192.168.1.69/24`
- Link：
  `UP` + `LOWER_UP`

因此：
**driver installation + DKMS + Secure Boot signing + initramfs + boot persistence 全部 PASS。**

## 7. LAN SSH
Desktop 实际验证：
`ssh foo@192.168.1.69`

登录成功。

目前 `192.168.1.69` 为 DHCP dynamic。原计划考虑 router DHCP Reservation：
- Eagle MAC：`30:56:0f:49:bc:14`
- Desired reservation：`192.168.1.69`

Router 管理页面 `192.168.1.1` 要求 username/password，当晚没有继续修改。Ubuntu 仍保持：
`DHCP=yes`

## 8. Tailscale
最初：
`tailscale: command not found`

安装：
`curl -fsSL https://tailscale.com/install.sh | sh`

安装结果：
- Tailscale `1.102.4`
- `tailscaled.service` enabled

执行：
`sudo tailscale up`

Authentication Success。

`tailscale status`：
- Eagle `100.85.201.48`
- Desktop `100.122.72.34`
- S24 Ultra `100.93.186.114`
- IEI `100.117.100.85`
- Victus/laptop-foo `100.115.41.44`（当时 offline, last seen 1d ago）
- QNAP NAS `100.72.212.7`

Desktop 实测：
`ssh foo@100.85.201.48`

成功登录。

## 9. S24 Ultra Hotspot 退出测试
关闭 S24 Ultra Mobile Hotspot 后：
- Eagle Ethernet 保持正常
- Eagle → `192.168.1.1` ping 0% loss
- Desktop 新开 PowerShell
- 再次 `ssh foo@100.85.201.48`
- 成功登录

结论：
**Eagle 已不依赖手机 Hotspot。**

Wi-Fi configuration 暂时保留作为 emergency fallback，不主动删除。

## 10. Cockpit
安装：
`sudo apt install -y cockpit`

检查：
`systemctl status cockpit.socket --no-pager`

结果：
- Loaded：enabled
- Active：active (listening)
- Listen：`[::]:9090`

Desktop：
`https://192.168.1.69:9090`

Chrome 首次显示：
`ERR_CERT_AUTHORITY_INVALID`

原因：Cockpit 默认本机/self-signed certificate 不受 Desktop OS trust store 信任。确认目标为本机 Eagle 后继续进入。

实际结果：
**Cockpit login 成功，Web UI 可见。**

## 11. 当前可用管理路径
### LAN
- Eagle：`192.168.1.69`
- SSH：port 22
- Cockpit：port 9090

### Tailscale
- Eagle：`100.85.201.48`
- Tailscale SSH path 实际测试成功

### Fallback
- Wi-Fi config 仍存在
- S24 Ultra Hotspot 当前不需要开启

## 12. Storage 下一阶段
致勇确认：
- 6TB IronWolf 是空盘。
- 明天再进行物理安装与 storage setup。
- 另外还有 SATA SSD，具体最终安装数量/容量明天确认。

暂定架构：
- 512GB NVMe → Ubuntu / System
- 6TB IronWolf → Main Data
- SATA SSD → Docker / VM / cache / fast storage，待盘数和容量确认

安全原则：
- 先识别 disk model、serial/capacity、partition/layout
- 再决定 filesystem 与 mount point
- 即使 IronWolf 已确认空盘，也先识别正确 device 后才 format
- 不误动 512GB Ubuntu system NVMe
- 不在未确认盘符前执行 destructive storage command

## 13. 明日恢复点
明天开工直接从：
**Eagle Storage Architecture / 6TB IronWolf + SATA SSD**

顺序：
1. Eagle graceful shutdown。
2. 安装 6TB IronWolf 与最终需要的 SATA SSD。
3. 开机。
4. Cockpit → Storage 查看硬盘。
5. 必要时用只读命令 `lsblk` / `blkid` / SMART 确认。
6. 制作完整 storage map。
7. 决定 filesystem、mount points、用途。
8. 再进入 Samba / Docker / VM / private cloud / media services。

## 14. 本日最终结论
Eagle 已完成最关键的基础设施阶段：
- RTL8125D driver repair：PASS
- DHCP Ethernet：PASS
- reboot persistence：PASS
- LAN SSH：PASS
- Hotspot-independent networking：PASS
- Tailscale remote SSH：PASS
- Cockpit Web administration：PASS

**下一阶段：Storage。**
