全志 A133 Android 10 系统启动后,如何把 /dev/block/mmcblk0p2 自动挂载到某个目录里

2022-06-20 18:07:19 +08:00
 zinwalin

/dev/block/mmcblk0p2 是 boot logo 的存储位置,当安卓系统启动后,想动态的替换开机图片,目前 /dev/block/mmcblk0p2 存在,但是 mount 时失败。这方面的解决办法在哪里可以查到?

4720 次点击
所在节点    Android
13 条回复
FranzKafka95
2022-06-20 18:28:44 +08:00
试试在 rc 文件里操作一下?
ysc3839
2022-06-20 18:55:25 +08:00
mount 时失败是怎么个失败?你是怎么 mount 的? mmcblk0p2 内容是个文件系统吗?确定是能 mount 的吗?
Gwzlchn
2022-06-20 20:40:44 +08:00
1. 启动时挂载:编辑 /etc/fstab 文件,详细参考: https://wiki.archlinux.org/title/Fstab_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)
2. 失败看一下 dmesg 看一下和那个设备相关的信息,挂载 /解除挂载时候操作内核会有输出的
acess
2022-06-21 19:54:50 +08:00
改 init.rc 之类我记得需要改 boot.img ,有 abootimg 之类工具
SupperMary
2022-06-21 22:06:56 +08:00
看看这个分区是不是 ext4 或者 f2fs 之类的有文件系统的分区,裸 emmc 是挂不上的,你这个分区有可能是这种情况。
可以看下 recovery.fstab 或者 /vendor/etc/init/ 或者 /vendor/etc/init/hw 里面,有没有和 fstab 相关的文件,拖出来看看有没有这个分区的信息。通常 recovery fstab 会清楚的写明这个分区的类型的。
zinwalin
2022-06-21 23:23:00 +08:00
@SupperMary 多谢回复。
zinwalin
2022-06-21 23:24:02 +08:00
@acess 这样操作无法满足客户的需求,需要支持动态修改。 想到一个方案是安卓启动后,通过 mount 分区后再覆盖相应的 bmp 文件。
zinwalin
2022-06-23 10:08:20 +08:00
@SupperMary 通过 adb shell , 手动可以挂载。 现在的问题是,不清楚全志的挂载配置在哪,打算在编译时就配置好挂载的目录,这样系统一启动就已经可以访问挂载目录下的文件。
rev1si0n
2022-06-27 17:31:28 +08:00
你都用开发板了,正常开发板应该都会提供系统源码的,直接操作源码改比较靠谱。如果不想,那就去改 fstab ,安卓 10 的 fstab 可能在 vendor 但也有可能在 system ,直接搜索文件 '*fstab*',加一行就是了。不过实际情况你还得考虑分区校验这些东西,可能不会有说的那么容易,所以能改源码最合适。推一下,这是我写的专门处理类似工作的工具: https://github.com/rev1si0n/bxxt
rev1si0n
2022-06-27 17:34:08 +08:00
动态挂载的话,建议写个 native 服务(用 golang 或者 c/c++),暴露出接口,加入自启动的底层服务里。
zinwalin
2022-06-27 22:47:55 +08:00
@rev1si0n 感谢分享,厉害啊。
zinwalin
2022-06-27 22:51:47 +08:00
@rev1si0n bxxt 运行在安卓设备上,是需要先 root 后再拷贝 bxxt 到机器上吗? 用 adb 可以吧?
rev1si0n
2022-06-28 11:06:15 +08:00
@zinwalin 使用不需要 root ,但是需要在安卓设备上运行,也就是在 adb shell 里面

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/860937

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX