电路板有ttl串口, 接上后, 115200,8n1, 抓取到启动信息, 从cmdline中可以获取到16G的emmc的分区信息,rk29xxnand是16进制扇区:
earlyprintk=uart8250-32bit,0xff120000 console=ttyFIQ0 androidboot.baseband=N/A androidboot.selinux=permissive androidboot.hardware=rk30board androidboot.console=ttyFIQ0 init=/init mtdparts=rk29xxnand:0x00002000@0x00002000(uboot),0x00004000@0x00004000(trust),0x00002000@0x00008000(misc),0x00000800@0x0000A000(baseparamer),0x00007800@0x0000A800(resource),0x00010000@0x00012000(kernel),0x00010000@0x00022000(boot),0x00010000@0x00032000(recovery),0x00020000@0x00042000(backup),0x00040000@0x00062000(cache),0x00008000@0x000A2000(metadata),0x00002000@0x000AA000(kpanic),0x00300000@0x000AC000(system),0x00004000@0x003AC000(oem),-@0x003B0000(userdata) storagemedia=emmc uboot_logo=0x02000000@0x7dc00000 loader.timestamp=2020-08-14_11:09:16 hdmi.vic=65536 tve.format=1 SecureBootCheckOk=0 androidboot.serialno=O2Q7EOI0
电路板背面有2个触点 tp2301, tp2300 短接上电, 然后usb2的口, 就切换成外设模式, 直连到电脑的usb口, 就可以lsusb看到:
Vid=0x2207 Pid=0x320c Mode=Maskrom
直接用rkdeveloptool工具(debian带了这个软件)读取完整rom,然后在resource分区,根据特征字提取到dtb信息,
rkdeveloptool 需要一个loader , 在 git clone https://github.com/rockchip-linux/rkbin.git 获得,
find . -iname '*rk3328*' -o -iname '*3328*loader*'
找到后,要用这个命令,生成一下rk3328_loader_v1.22.250.bin :
./tools/boot_merger RKBOOT/RK3328MINIALL.ini
然后把rk3328_loader_v1.22.250.bin 加载到盒子里, 才可以dump rom:
rkdeveloptool db ./rk3328_loader_v1.22.250.bin
然后就可以看rom信息: rkdeveloptool rci
然后根据dtb的特征码和长度, 提取出dtb
反编译成dts
dtc -I dtb -O dts -o 3.10_i01.dts 3.10_i01.dtb
这个dts, 是linux-3.10的, 跟目前的linux-6不匹配, 但是可以参考,可以让chatgpt帮忙转成linux6的格式
附件999-arm64-dts-rockchip-add-iflyhome-i01.patch 就是最终结果,可以直接在openwrt的git进行引入am,
make download -j 4
make target/linux/prepare V=s -j1
生成build_dir/target-aarch64_generic_musl/linux-rockchip_armv8/linux-6.12.108/目录
然后到build_dir/target-aarch64_generic_musl/linux-rockchip_armv8/linux-6.12.108/ 去做dts配置文件,
修改target/linux/rockchip/image/armv8.mk, 增加型号, 编译还在进行, 未完待续
| 附件 | 大小 |
|---|---|
| 999-arm64-dts-rockchip-add-iflyhome-i01.patch openwrt补丁 直接在openwrt git am | 9.2 千字节 |
| rk3328-iflyhome-i01.dts dts配置文件, 可以放到 linux源码的arch/arm64/boot/dts/rock.... | 7.87 千字节 |
| 3.10_i01.dts 原机的dts文件 | 138.73 千字节 |
| i1.log 原机的启动过程串口输出 | 217.39 千字节 |
| 微信图片_20260915201709_8_164.jpg | 168.5 千字节 |
| iflyhome.jpg | 53.68 千字节 |
| tp2301_2300.jpg | 94.49 千字节 |
| pcb.jpg | 96.46 千字节 |