救砖
这个机器前几年出来刚拿到就刷armbian 扩容各种PCDN挖矿,最近出来得arm fnos 飞牛 闹得 个个都行体验新包,直接把oec的包替换了 dtb输入 那么恭喜你 以后只能刷oec的改包! 前提还不能刷错挂 成maskrom! 那就要拆机写 emmc 后进loader刷机了!
黑豹X2刷机过程的跑马
▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒DDR Version V1.13 20220218
ln
ddrconfig:0
LPDDR4X, 324MHz
BW=32 Col=10 Bk=8 CS0 Row=17 CS=1 Die BW=16 Size=4096MB
tdqss: cs0 dqs0: -48ps, dqs1: -144ps, dqs2: -72ps, dqs3: -192ps,
change to: 324MHz
PHY drv:clk:36,ca:36,DQ:29,odt:0
vrefinner:24%, vrefout:41%
dram drv:40,odt:0
clk skew:0x64
change to: 528MHz
PHY drv:clk:36,ca:36,DQ:29,odt:0
vrefinner:24%, vrefout:41%
dram drv:40,odt:0
clk skew:0x58
change to: 780MHz
PHY drv:clk:36,ca:36,DQ:29,odt:0
vrefinner:24%, vrefout:41%
dram drv:40,odt:0
clk skew:0x58
change to: 1056MHz(final freq)
PHY drv:clk:36,ca:36,DQ:29,odt:60
vrefinner:16%, vrefout:22%
dram drv:40,odt:80
vref_ca:00000071
clk skew:0x38
cs 0:
the read training result:
DQS0:0x39, DQS1:0x3c, DQS2:0x3f, DQS3:0x39,
min : 0xa 0xb 0xc 0xa 0x2 0x2 0x6 0x2 , 0x8 0x7 0x4 0x1 0xa 0xa 0xd 0x9 ,
0xe 0xe 0xb 0x9 0x6 0x1 0x4 0x6 , 0xa 0x6 0x6 0x1 0xd 0xc 0xb 0xc ,
mid :0x27 0x28 0x29 0x27 0x1f 0x20 0x22 0x20 ,0x25 0x25 0x21 0x1f 0x28 0x28 0x2a 0x26 ,
0x2d 0x2d 0x29 0x28 0x24 0x20 0x21 0x24 ,0x28 0x24 0x24 0x1f 0x2a 0x2a 0x29 0x2a ,
max :0x45 0x45 0x47 0x44 0x3c 0x3f 0x3f 0x3e ,0x42 0x43 0x3e 0x3e 0x46 0x46 0x48 0x44 ,
0x4d 0x4c 0x48 0x47 0x42 0x3f 0x3f 0x42 ,0x47 0x43 0x42 0x3e 0x48 0x49 0x48 0x49 ,
range:0x3b 0x3a 0x3b 0x3a 0x3a 0x3d 0x39 0x3c ,0x3a 0x3c 0x3a 0x3d 0x3c 0x3c 0x3b 0x3b ,
0x3f 0x3e 0x3d 0x3e 0x3c 0x3e 0x3b 0x3c ,0x3d 0x3d 0x3c 0x3d 0x3b 0x3d 0x3d 0x3d ,
the write training result:
DQS0:0x32, DQS1:0x25, DQS2:0x2f, DQS3:0x1f,
min :0x5c 0x5e 0x61 0x5e 0x55 0x57 0x58 0x5a 0x5a ,0x4b 0x4a 0x48 0x46 0x4f 0x50 0x50 0x50 0x4c ,
0x5a 0x59 0x55 0x56 0x51 0x4e 0x50 0x55 0x55 ,0x4c 0x4a 0x49 0x46 0x4f 0x4f 0x4b 0x50 0x4a ,
mid :0x78 0x7b 0x7c 0x7a 0x71 0x72 0x74 0x74 0x74 ,0x68 0x67 0x62 0x61 0x6c 0x6b 0x6c 0x6b 0x67 ,
0x77 0x75 0x71 0x72 0x6d 0x69 0x6b 0x6f 0x70 ,0x69 0x66 0x65 0x61 0x6c 0x6c 0x68 0x6d 0x66 ,
max :0x95 0x98 0x98 0x96 0x8d 0x8e 0x91 0x8f 0x8f ,0x86 0x84 0x7c 0x7c 0x89 0x87 0x88 0x87 0x83 ,
0x94 0x92 0x8d 0x8e 0x8a 0x85 0x86 0x8a 0x8c ,0x86 0x82 0x82 0x7d 0x8a 0x8a 0x85 0x8a 0x83 ,
range:0x39 0x3a 0x37 0x38 0x38 0x37 0x39 0x35 0x35 ,0x3b 0x3a 0x34 0x36 0x3a 0x37 0x38 0x37 0x37 ,
0x3a 0x39 0x38 0x38 0x39 0x37 0x36 0x35 0x37 ,0x3a 0x38 0x39 0x37 0x3b 0x3b 0x3a 0x3a 0x39 ,
CA Training result:
cs:0 min :0x42 0x40 0x3a 0x36 0x3a 0x35 0x3b ,0x3e 0x3a 0x36 0x34 0x36 0x31 0x3a ,
cs:0 mid :0x80 0x80 0x77 0x77 0x77 0x75 0x6a ,0x7c 0x7a 0x73 0x74 0x74 0x72 0x69 ,
cs:0 max :0xbe 0xc0 0xb5 0xb8 0xb5 0xb6 0x99 ,0xbb 0xbb 0xb1 0xb5 0xb2 0xb4 0x99 ,
cs:0 range:0x7c 0x80 0x7b 0x82 0x7b 0x81 0x5e ,0x7d 0x81 0x7b 0x81 0x7c 0x83 0x5f ,
out
U-Boot SPL board init
U-Boot SPL 2017.09 (Dec 09 2022 - 15:38:46)
unknown raw ID phN
unrecognized JEDEC id bytes: 00, 00, 00
Trying to boot from MMC2
Card did not respond to voltage select!
mmc_init: -95, time 10
spl: mmc init failed with error: -95
Trying to boot from MMC1
No misc partition
spl: partition error
Trying fit image at 0x4000 sector
## Verified-boot: 1
sha256,rsa2048:dev## Verified-boot: 1
+
## Checking atf-1 0x00040000 ... sha256(6204b6f381...) + OK
## Checking uboot 0x00a00000 ... sha256(9b5584889e...) + OK
## Checking fdt 0x00b38bd8 ... sha256(53436a3c19...) + OK
## Checking atf-2 0xfdcc1000 ... sha256(5563d929da...) + OK
## Checking atf-3 0x0006a000 ... sha256(b04372ab0f...) + OK
## Checking atf-4 0xfdcd0000 ... sha256(b46eaa95b8...) + OK
## Checking atf-5 0xfdcce000 ... sha256(2f8839c803...) + OK
## Checking atf-6 0x00068000 ... sha256(6e9d32ba23...) + OK
## Checking optee 0x08400000 ... sha256(66bbd17352...) + OK
Jumping to U-Boot(0x00a00000) via ARM Trusted Firmware(0x00040000)
Total: 175.189 ms
INFO: Preloader serial: 2
NOTICE: BL31: v2.3():v2.3-365-gae7c295ca:derrick.huang
NOTICE: BL31: Built : 15:37:13, May 17 2022
INFO: GICv3 without legacy support detected.
INFO: ARM GICv3 driver initialized in EL3
INFO: pmu v1 is valid 220114
INFO: dfs DDR fsp_param[0].freq_mhz= 1056MHz
INFO: dfs DDR fsp_param[1].freq_mhz= 324MHz
INFO: dfs DDR fsp_param[2].freq_mhz= 528MHz
INFO: dfs DDR fsp_param[3].freq_mhz= 780MHz
INFO: Using opteed sec cpu_context!
INFO: boot cpu mask: 0
INFO: BL31: Initializing runtime services
INFO: BL31: Initializing BL32
I/TC:
I/TC: OP-TEE version: 3.13.0-641-g4167319d3 #hisping.lin (gcc version 10.2.1 20201103 (GNU Toolchain for the A-profile Architecture 10.2-2020.11 (arm-10.16))) #8 Wed Mar 16 15:14:56 CST 2022 aarch64
I/TC: Primary CPU initializing
I/TC: Primary CPU switching to normal world boot
INFO: BL31: Preparing for EL3 exit to normal world
INFO: Entry point address = 0xa00000
INFO: SPSR = 0x3c9
U-Boot 2017.09 (Dec 09 2022 - 15:38:46 +0800), Build: jenkins-OneCloudFirmware1_AP_192.168.126.224-717
Model: Rockchip RK3568 Evaluation Board
PreSerial: 2, raw, 0xfe660000
DRAM: 4 GiB
Sysmem: init
Relocation Offset: ed340000
Relocation fdt: eb9f88a0 - eb9fecc8
CR: M/C/I
MMC: dwmmc@fe2b0000: 1, dwmmc@fe2c0000: 2, sdhci@fe310000: 0
Bootdev(atags): mmc 0
MMC0: HS200, 200Mhz
PartType: EFI
DM: v1
[lzj-d][fit_get_blob-153]: second_image_load = off
[lzj-d][fit_get_blob-158]: part_name = boot
FIT: No boot partition
No resource partition
No resource partition
Failed to load DTB, ret=-19
No find valid DTB, ret=-22
Failed to get kernel dtb, ret=-22
io-domain: OK
Failed to get scmi clk dev
MMC: Model: Rockchip RK3568 Evaluation Board
rockchip_set_serialno: could not find efuse/otp device
[lzj-d][check_reset_key-432]: Entry usb_download mode............
RKUSB: LUN 0, dev 0, hwpart 0, sector 0x0, count 0xe900000
这个也是群里一网友刷了null 包后怎么也刷不回我收他回来刷 研究了一下 ,确实刷过oec的包后就不能刷回原来的包 不然直接启动不了 maskrom,如果刷了,机器现在还正常 那么要升级 可以长按reset 进loader 继续刷 oec改的包也不用太担心。 启动后还是一样的。 只是不能随便刷包了
还有最近的包好像网卡都有点问题 直接内置的会不出ip 外接网卡就好了

我这是改了 128G的emmc ! 官方版的 emmc会分64G给 / 根分区,Ophub的会直接划分剩余的分区给 /系统跟分区,这飞牛web有必须要给它设置一个硬盘空间 不设置 不给你下一步很烦。
所有大容 emmc的 就要重新划分一下 系统分区给它 不管用不用。下面是叫AI写的 顺便测试可用我是设置30G给系统根使用。其他用来自己改 30G已经够大了, 如果不要就再改小一点 但不要低于10G这样 省的后面又要划分
✅ 目标
将占满 eMMC 的 Btrfs 根分区(/dev/mmcblk2p2)安全缩小到 30GB,并更新分区表,保留剩余空间为“未分配”状态。
🔧 操作步骤(仅缩容 + 刷新分区表)
1. 缩小 Btrfs 文件系统到 30G(在线安全)
btrfs filesystem resize 30G /✅ 前提:
btrfs filesystem usage /显示 Device allocated < 30G
2. 获取 p2 起始扇区
parted /dev/mmcblk2 unit s print记下 Number 2 的 Start 值(例如:1081344s)
3. 计算新结束扇区
# 公式:End = Start + (30 * 1024^3 / 512) - 1
# 示例(Start=1081344):
# End = 1081344 + 62914560 - 1 = 639959034. 交互式缩小分区 p2(关键!必须手动确认)
parted /dev/mmcblk2在 (parted) 提示符下依次输入:
unit s
resizepart 2 63995903s # ← 替换为你计算的 End 值
# 系统会问两次,均回答:yes
print
quit⚠️ 必须用交互模式,
--script会因分区被使用而跳过操作。
5. 通知内核重读分区表
partprobe /dev/mmcblk2
# 或
blockdev --rereadpt /dev/mmcblk2✅ 验证结果
# 1. Btrfs 是否缩小
btrfs filesystem show
# 2. 分区是否更新 & 有未分配空间
parted /dev/mmcblk2 unit GiB print free✅ 成功标志:
btrfs filesystem show→ size 30.00GiBparted ... print free→ p2 后出现 Free Space
📌 最终状态
表格
后续你可在 Web 界面(如飞牛 FNOS 存储管理)中直接识别并使用这块未分配空间来创建存储池或数据卷。 就可以不挂硬盘 玩耍了。。。 当然嫌麻烦的 插个U盘再web上设置好 再拔应该也许。。 反正都是安装再系统分区
-