Android 系统中如果要想使用blktrace,那么内核配置中应该开启 CONFIG_BLK_DEV_IO_TRACE=y
,我相信如果你想使用blktrace,那么你肯定已经配置好了Android 的编译环境。
那么我们应该如何获得blktrace 这个可执行程序,在 Android 源码的
这个位置,由于我们公司用的安卓系统,所以该配的编译环境,我在入职的前几天已经配置成功了,所以不赘述编译环境的问题。
当我们获得 blktrace 和 blkparse 时,如果 导入开发板直接可以用的话,那么就没有必要配置CONFIG_BLK_DEV_IO_TRACE=y
说明已经开了,若没有,且发生如下错误:
则应该配置这个参数。
那么如何配置的?去android/kernel/msm-5.4/arch/arm64/configs
里找板子版本的config文件,在里面添加CONFIG_BLK_DEV_IO_TRACE=y
然后单独编译这个模块,使用 mm 命令,然后再去 android 目录下编译 make bootimage
编译成功后,去 android/out/target/product/
找 boot.img,将其烧入板子中。
执行下方命令:
先进入 bootloader 模式:
adb reboot bootloader
再烧入板子:
fastboot flash boot boot.img
之后就静静等待,可能会有些慢,我等了30分钟左右才板子才起来。
之后用zcat /proc/config.gz | grep CONFIG_BLK_DEV_IO_TRACE
若显示 CONFIG_BLK_DEV_IO_TRACE=y
说明成功了,大概率就可以用 blktrace 了