主题中讨论的其他器件:DRA742、 PMP
工具/软件:Linux
大家好、
我们尝试使用 Android M.1.3在 J6 EVM (Rev H)板上设置稳健的 RVC
在首次启动时刷写 Android 后、我们突然断电、而不允许系统完全启动、因为启动时间很长、仅显示 Android 徽标。
在随后的引导中、它开始提供内核参数、我们通过这些参数了解到 Android 的"系统"分区在 eMMC 中已损坏。
以下是 Android 刷写、第一个不完整的引导和随后使用内核 panics 日志进行的引导:
Android Flashing u-boot 侧:
----------------------------------------------------
正在读取 u-boot.img
U-Boot 2016.05 (2018年1月8日- 14:45:37 +0530)
CPU :DRA752-GP ES2.0
型号:TI DRA742
电路板:DRA74x EVM 修订版 H.0
DRAM: 4 GiB
MMC: OMAP SD/MMC:0、OMAP SD/MMC:1.
SCSI: SATA link 0 timeout。
AHCI 0001.0300 32插槽1端口3 Gbps 0x1不支持 SATA 模式
标志:64位 NCQ stag pm led clo only pmp pio 贫民窟 part ccc apst
正在扫描设备总线...
找到0个器件。
网络:
警告:以太网@48484000使用 ROM 中的 MAC 地址
eth0:以太网@48484000
按任意键停止自动引导: 0
=> fastboot 0
请求 fdf2b640未在批量队列中排队
请求 fdf2b640未在批量队列中排队
请求 fdf2b640未在批量队列中排队
写入 GPT:成功!
请求 fdf2b640未在批量队列中排队
SF:检测到页大小为256字节的 S25FL256S_64K、擦除大小为64 KiB、总共32 MIB、映射时间为5c000000
请求 fdf2b640未在批量队列中排队
SF:262144字节@ 0x0已擦除:确定
状态:-104 EP 'ep1in-bulk'传输:0
SF:1048576字节@ 0x40000已擦除:确定
状态:-104 EP 'ep1in-bulk'传输:0
警告:未知变量:分区类型:xloader
请求 fdf2b640未在批量队列中排队
请求 fdf2b640未在批量队列中排队
开始下载121772字节
请求 fdf2b640未在批量队列中排队
请求 fdf2b640未在批量队列中排队
121772字节下载完成
器件0偏移量0x0、大小0x40000
SF:262144字节@ 0x0写入:正常
请求 fdf2b640未在批量队列中排队
警告:未知变量:partition-type:bootloader
请求 fdf2b640未在批量队列中排队
请求 fdf2b640未在批量队列中排队
开始下载754720字节
请求 fdf2b640未在批量队列中排队
… 请求 fdf2b640未在批量队列中排队
754720字节下载完成
器件0偏移量0x40000、大小0x100000
SF:1048576字节@ 0x40000写入:确定
请求 fdf2b640未在批量队列中排队
正在将重新引导设置为 fastboot 标志...
正在写入冗余 MMC(1)... 完成
请求 fdf2b640未在批量队列中排队
正在重置...
U-Boot SPL 2016.05 (2018年1月8日- 14:45:37)
DRA752-GP ES2.0
尝试从 SPI 引导
U-Boot 2016.05 (2018年1月8日- 14:45:37 +0530)
CPU :DRA752-GP ES2.0
型号:TI DRA742
电路板:DRA74x EVM 修订版 H.0
DRAM: 4 GiB
MMC: OMAP SD/MMC:0、OMAP SD/MMC:1.
SCSI: SATA link 0 timeout。
AHCI 0001.0300 32插槽1端口3 Gbps 0x1不支持 SATA 模式
标志:64位 NCQ stag pm led clo only pmp pio 贫民窟 part ccc apst
正在扫描设备总线...
找到0个器件。
NET: eth0:以太网@48484000
按任意键停止自动引导: 0
已请求引导快速引导,正在重置 dofastboot...
正在将环境保存到 MMC...
正在写入 MMC (1)... 完成
正在引导至 fastboot...
写入 GPT:成功!
请求 fdf2bf00未在批量队列中排队
警告:未知变量:partition-type:boot
请求 fdf2bf00未在批量队列中排队
请求 fdf2bf00未在批量队列中排队
开始下载8914944字节
请求 fdf2bf00未在批量队列中排队
.................................................................. 请求 fdf2bf00未在批量队列中排队
8914944字节下载完成
刷写原始图像
………… 将8914944字节写入"boot"
请求 fdf2bf00未在批量队列中排队
警告:未知变量:分区类型:环境
请求 fdf2bf00未在批量队列中排队
请求 fdf2bf00未在批量队列中排队
开始下载110502字节
请求 fdf2bf00未在批量队列中排队
请求 fdf2bf00未在批量队列中排队
110502字节下载完成
刷写原始图像
………… 将110592字节写入"环境"
请求 fdf2bf00未在批量队列中排队
警告:未知变量:分区类型:恢复
请求 fdf2bf00未在批量队列中排队
请求 fdf2bf00未在批量队列中排队
开始下载9670656字节
请求 fdf2bf00未在批量队列中排队
................................................................ 请求 fdf2bf00未在批量队列中排队
9670656字节下载完成
刷写原始图像
………… 将9670656字节写入"覆盖"
请求 fdf2bf00未在批量队列中排队
警告:未知变量:分区类型:系统
请求 fdf2bf00未在批量队列中排队
请求 fdf2bf00未在批量队列中排队
开始下载372899540字节
请求 fdf2bf00未在批量队列中排队
..................................................................
三、会议的报告 请求 fdf2bf00未在批量队列中排队
372899540字节下载完成
在偏移77088处刷写稀疏图像
在分区系统上刷写偏移量0x25a4000的稀疏映像(ID:0)
sparse_parse_chunk:未知块类型:8010
未知块 typefb_MMC_flash_write:写入稀疏图像失败:-22
请求 fdf2bf00未在批量队列中排队
请求 fdf2bf00未在批量队列中排队
警告:未知变量:分区类型:userdata
请求 fdf2bf00未在批量队列中排队
请求 fdf2bf00未在批量队列中排队
开始下载108488352字节
请求 fdf2bf00未在批量队列中排队
..................................................................
………… 请求 fdf2bf00未在批量队列中排队
已完成108488352字节的下载
在偏移2223392处刷写稀疏图像
在偏移量0x43da4000的分区用户数据上刷写稀疏映像(ID:0)
………… 将12980920块写入'userdata'
请求 fdf2bf00未在批量队列中排队
警告:未知变量:分区类型:高速缓存
请求 fdf2bf00未在批量队列中排队
请求 fdf2bf00未在批量队列中排队
开始下载6398160字节
请求 fdf2bf00未在批量队列中排队
三、会议的报告 请求 fdf2bf00未在批量队列中排队
6398160字节下载完成
在偏移1649952处刷写稀疏图像
在偏移量0x325a4000的分区缓存上刷写稀疏映像(ID:0)
………… 将524288个块写入"高速缓存"
请求 fdf2bf00未在批量队列中排队
Android 在 Ubuntu 端闪存
----------------------------------------------------
sudo ./fastboot.sh
TONU 的[sudo ]密码:
FASTBOOT:./fastboot
图像位置:./
FASTBOOT -检测到设备:100170116a4000e2
DTB =./dra7-EVM-LCD-OSD.dTB
创建 GPT 分区表
(笑声)
好[0.021s]
已完成。 总时间:0.021s
将引导加载程序的目标设置为 SPI
(笑声)
好[5.698s]
已完成。 总时间:5.698s
正在刷写引导加载程序.....
xloader: ./GP_MLO
目标报告的最大下载大小为788529152字节
正在发送'xloader'(118 KB)...
好[0.021s]
正在写入'xloader'...
好[0.379s]
已完成。 总时间:0.399秒
引导加载程序: ./u-boot.img
目标报告的最大下载大小为788529152字节
正在发送'bootloader'(737KB)...
好[0.050s]
正在写入'bootloader'...
好[1.480s]
已完成。 总时间:30秒
正在重新引导至引导加载程序...
好[0.022s]
已完成。 总时间:0.323s
使用新的引导加载程序重新创建 GPT 分区表
(笑声)
好[0.018s]
已完成。 总时间:0.018s
闪存 Android 分区
目标报告的最大下载大小为788529152字节
正在发送'boot'(8706KB)...
好[0.426s]
正在写入'boot'……
好[0.992S]
已完成。 总时间:1.419s
闪烁的环境…
环境:./dra7-EVM-LCD-OSD.dTB
目标报告的最大下载大小为788529152字节
正在发送"环境"(107KB)...
好[0.021s]
正在写入"环境"...
好[0.024s]
已完成。 总时间:0.045s
目标报告的最大下载大小为788529152字节
正在发送"覆盖"(9444 KB)...
好[0.468s]
正在写入"覆盖"...
好[1.380s]
已完成。 总时间:1.848秒
目标报告的最大下载大小为788529152字节
正在发送"系统"(364159 KB)...
好[17.555]
正在写入"系统"...
失败(远程:写入稀疏图像失败)
已完成。 总时间:20.735s
调整 userdata.img 的大小
当前用户数据分区大小=6490463 KB
使用参数创建文件系统:
尺寸:6646231040
块大小:4096
每组块数:32768
每个组的 inode 数:8128
inode 大小:256
日记账块:25353
标签:
数据块:1622615
阻止组:50
保留块组大小:399
已创建具有18/406400 inode 和54570/1622615块的文件系统
目标报告的最大下载大小为788529152字节
正在发送'userdata'(105945 KB)...
还行[5.096s]
正在写入'userdata'...
好[8.342秒 ]
已完成。 总时间:13.438秒
目标报告的最大下载大小为788529152字节
正在发送'cache'(6248 KB)...
好[0.312s]
正在写入'cache'...
好[1.027s]
已完成。 总时间:1.339s
----------------------------------------------------
之后、我们可以看到内核、shell 即将推出并显示 Android 徽标
日志附件:android_booting_halted.txt
然后在下一次引导时、内核开始发出恐慌。
日志附件:kernel_panics.txt
我们尝试恢复它、下面是实验:
1.将电路板置于 fastboot 模式并尝试使用"sudo ./fastboot.sh"重新刷写 Android
sudo ./fastboot.sh
FASTBOOT:./fastboot
图像位置:./
FASTBOOT -检测到设备:100170116a4000e2
DTB =./dra7-EVM-LCD-OSD-LADD-L后期 附加.dTB
创建 GPT 分区表
(笑声)
好[0.412s]
已完成。 总时间:0.412s
将引导加载程序的目标设置为 SPI
(笑声)
好[5.567秒 ]
已完成。 总时间:5.567秒
正在刷写引导加载程序.....
xloader: ./GP_MLO
目标报告的最大下载大小为788529152字节
正在发送'xloader'(118 KB)...
好[0.021s]
正在写入'xloader'...
好[0.458s]
已完成。 总时间:0.479s
引导加载程序: ./u-boot.img
目标报告的最大下载大小为788529152字节
正在发送'bootloader'(737KB)...
好[0.050s]
正在写入'bootloader'...
好[1.808]
已完成。 总时间:1.858秒
正在重新引导至引导加载程序...
好[0.022s]
已完成。 总时间:0.222
使用新的引导加载程序重新创建 GPT 分区表
(笑声)
好[0.018s]
已完成。 总时间:0.018s
闪存 Android 分区
目标报告的最大下载大小为788529152字节
正在发送'boot'(8706KB)...
还行[0.430s]
正在写入'boot'……
还行[1.000s]
已完成。 总时间:1.430s
闪烁的环境…
环境:./dra7-EVM-LCD-OSD-LAD-LAD-ATE-DTB
目标报告的最大下载大小为788529152字节
正在发送"环境"(108KB)...
好[0.020S]
正在写入"环境"...
好[0.023s]
已完成。 总时间:0.043秒
目标报告的最大下载大小为788529152字节
正在发送"覆盖"(9444 KB)...
好[0.463s]
正在写入"覆盖"...
好[1.380s]
已完成。 总时间:1.843秒
目标报告的最大下载大小为788529152字节
正在发送"系统"(364159 KB)...
好[17.476s]
正在写入"系统"...
失败(远程:写入稀疏图像失败)
已完成。 总时间:20.364秒
调整 userdata.img 的大小
当前用户数据分区大小=6490463 KB
使用参数创建文件系统:
尺寸:6646231040
块大小:4096
每组块数:32768
每个组的 inode 数:8128
inode 大小:256
日记账块:25353
标签:
数据块:1622615
阻止组:50
保留块组大小:399
已创建具有18/406400 inode 和54570/1622615块的文件系统
目标报告的最大下载大小为788529152字节
正在发送'userdata'(105945 KB)...
好[4.941s]
正在写入'userdata'...
好[8.310s]
已完成。 总时间:13.250s
目标报告的最大下载大小为788529152字节
正在发送'cache'(6248 KB)...
好[0.303s]
正在写入'cache'...
好[1.017s]
已完成。 总时间:1.320s
这会导致写入“系统”失败。
2.仅刷新系统。img
sudo ./fastboot flash system system.img
目标报告的最大下载大小为788529152字节
正在发送"系统"(364159 KB)...
好[17.477]
正在写入"系统"...
好[33.002S]
已完成。 总时间:50.479s
似乎工作正常..但启动时仍会获取内核参数。
3.擦除系统分区
sudo ./fastboot 擦除系统
正在擦除"系统"...
失败(远程:从设备擦除失败)
已完成。 总时间:8.0s
和
sudo ./fastboot 擦除系统-w
擦除成功、但不会自动格式化。
无法确定分区类型。
失败(远程:未实现变量)
擦除成功、但不会自动格式化。
无法确定分区类型。
失败(远程:未实现变量)
正在擦除"系统"...
失败(远程:从设备擦除失败)
已完成。 总时间:7.278s
4)使用 fastboot OEM 格式
5)加载默认 eMMC 分区:
在 Ubuntu 上:
$ uuidgen ...第一个 uid... $ uuidgen ...second uuid...
U-Boot # printenv 分区 uid_disk=${uuuid_gppt_disk};name=rootfs, start=2mib, size=-, uuid=${uid_gpt_uuuufs} U-Boot # setenv rootid_gppt_disk……第一个 uuid…… U-Boot # setenv uid_gp_t_rootfs ...second uid... U-Boot # GPT 写入 MMC 1 ${partitions}
这都不能帮助恢复系统。
谢谢、此致、
Tonu Zalpuree2e.ti.com/.../7384.kernel_5F00_panic.txte2e.ti.com/.../android_5F00_booting_5F00_halted.txt
