您尚未登录。

楼主 #1 2020-09-19 15:28:30

SdtElectronics
会员
注册时间: 2020-07-27
已发帖子: 101
积分: 379.5
个人网站

一种通过debugfs获取sys_config(FEX)内容的方法

论坛的大神大多数热衷于用SoC自己打板子,做正向开发,我个人倒是更喜欢“捡垃圾”,在某宝或者闲鱼上蹲一些拆机或者工厂流出的成品板。好处是这些板子大多很白菜,价格比自己打板制作的成本还低,也省了不少事;坏处是成品板IO引出少,使用不灵活,而且必须逆向出一些配置才好进一步利用。前几天我就买到几张A20的板子,便宜是真的便宜,坑也是真的坑,它的存储只有一个8M的SPI flash,因此rootfs被精简得不成样子,提取script.bin的过程也遇到了很大困难:因为进入FEL后还处在boot0状态下,无法从FEL提取;u-boot的bootdelay是0,无法进入U-boot;bootloader分区不在分区表上没法挂载;很多工具也缺失。最后Linux-sunxi的Wiki上所有的方法都试遍了也没能提取出FEX来。
本着尽量不要放弃的精神,我自己摸索出了一个dump出FEX的部分section的办法:
首先进入/sys/kernel/debug目录:

cd /sys/kernel/debug

ls一下,走运的话debugfs已经被挂载了。如果和我一样不走运,ls出来会是空的。

root@android:/sys/kernel/debug # ls
root@android:/sys/kernel/debug # 

这时候要先挂载debugfs:

mount -t debugfs none /sys/kernel/debug

再cd、ls一次,就能看到debugfs的内容了。

root@android:/sys/kernel/debug # ls
asoc
bdi
binder
gpio
hid
ion
memblock
mmc0
regmap
regulator
shrinker
suspend_stats
sys_config
usb
wakeup_sources

再进入cd sys_config目录:

cd sys_config

下面有一个dump_mainkey文件。echo想要知道的section名称进去,对应的FEX配置就会打印到内核缓冲上。以product section为例:

root@android:/sys/kernel/debug/sys_config # echo product > dump_mainkey        
[ 1560.039481] script_dump_mainkey: dump product
[ 1560.044360] =========================================================
[ 1560.051672]     name:      product
[ 1560.055522]     sub_key:   name           type      value
[ 1560.061579]                version        string    "100"
[ 1560.067666]                machine        string    "evb-v10"
[ 1560.074133] =========================================================

常用的section名称在linux-sunxi的FEX guide Wiki/ 页面上有。这个页面上的名称很可能是不全的,同时一些section在一些平台上也可能没有。利用dump出来的信息编辑你自己的FEX,就可以开始制作适用于你的设备的img了。

最近编辑记录 SdtElectronics (2020-09-19 16:36:41)

离线

楼主 #5 2021-06-10 18:37:57

SdtElectronics
会员
注册时间: 2020-07-27
已发帖子: 101
积分: 379.5
个人网站

Re: 一种通过debugfs获取sys_config(FEX)内容的方法

Yogo 说:

我手上有十几块全志A20的板子 ZK-A201AD200全志A20.pdf
可以提供给你两块 把折腾的过程记录下来就可以了 冒昧了

谢谢你的好意,但我近期较忙没空弄这些了,过段时间再说吧

离线

页脚

工信部备案:粤ICP备20025096号 Powered by FluxBB

感谢为中文互联网持续输出优质内容的各位老铁们。 QQ: 516333132, 微信(wechat): whycan_cn (哇酷网/挖坑网/填坑网) service@whycan.cn