能力值:
( LV1,RANK:0 )
51 楼
感谢分享,文档前面一些改注释部分的解释确实省了不少时间,但是如果想用好这个功能,还是得自己熟悉源码。 我是直接obj-m 编译成ko加载使用的。总的来说,这个hw_breakpoint是在内核模块进行register bp并完成回调并记录,在用户态通过ioctl与内核模块通信拿到记录信息的模式,这个其实不太灵活,如果有办法能把回调直接暴露给用户态使用就更好了。
能力值:
( LV1,RANK:0 )
52 楼
好奇怪。我用的android-msm-coral-4.14-android13 ,然后切换的自己分支是安卓12的:git checkout 82a738b32e3f
结果编译后 没有boot.img文件。。
我是4.14.257 安卓12的。
BUILD_CONFIG=private/msm-google/build.config.floral
BUILD_BOOT_IMG=1
MKBOOTIMG_PATH=mkbootimg.py
VENDOR_RAMDISK_BINARY=boot.img-ramdisk.cpio
KERNEL_BINARY=Image.lz4
BOOT_IMAGE_HEADER_VERSION=2
KERNEL_CMDLINE="console=ttyMSM0,115200n8
androidboot.console=ttyMSM0 printk.devkmsg=on msm_rtb.filter=0x237
ehci-hcd.park=3 service_locator.enable=1 androidboot.memcg=1
cgroup.memory=nokmem usbcore.autosuspend=7
androidboot.usbcontroller=a600000.dwc3 swiotlb=2048
androidboot.boot_devices=soc/1d84000.ufshc loop.max_part=7
buildvariant=user"
BASE_ADDRESS=0x00000000
PAGE_SIZE=4096
build/build.sh
最后于 2023-10-28 17:18
被凉皮不要蒜编辑
,原因:
能力值:
( LV1,RANK:0 )
53 楼
有邮箱吗,咨询下 kernel 6.1.25 android 14 ,编译的问题
能力值:
( LV1,RANK:0 )
54 楼
怎么判断模块是否被成功编译到内核了
能力值:
( LV9,RANK:140 )
55 楼
sanqiu
怎么判断模块是否被成功编译到内核了
在adb shell输入命令ls sys/module/ ,如果编译的模块名称出现在这里面就说明模块被成功编译到内核了
能力值:
( LV1,RANK:0 )
56 楼
oacia
在adb shell输入命令ls sys/module/ ,如果编译的模块名称出现在这里面就说明模块被成功编译到内核了
真奇怪 ,我是用-y编译进内核了,用dmesg也查看到了log打印了,sys/module/没有显示模块,这算是编译成功了吗?
能力值:
( LV2,RANK:10 )
57 楼
chaodchen
找到问题了testMemSearch 在连接驱动的时候没有传文件描述符
传递文件描述符是什么意思,可以给出一个详细的例子嘛
能力值:
( LV3,RANK:30 )
58 楼
涉及内核的功能,可以用 waydroid 和 redroid,省时省力,珍惜生命
能力值:
( LV9,RANK:230 )
59 楼
inlinehook用的啥,你用的啥和应用层通讯的。
能力值:
( LV12,RANK:219 )
60 楼
万里星河
当初要有这篇雄文 也不至于摸索一周才编译出来[em_5]
请问 大佬是用 pixel sailfish 的内核 android-msm-marlin-3.18-pie-qpr2 编译出来的吗?
能力值:
( LV9,RANK:240 )
61 楼
我看着好像hwBreakpointProc模块好像并没有依赖上层的rwProcMem33模块,貌似rwProcMem33这个模块是testKo这里用的。testKo这个感觉是个测试内核模块的代码,猜测是不是只需要hwBreakpointProc就行了。毕竟服务端里面访问的驱动设备是hwBreakpointProc的
能力值:
( LV9,RANK:240 )
62 楼
4.14编译报错 /home/king/android_src/pixelExper_thirteen/kernel/google/msm-4.14/drivers/rwProcMem33/phy_mem.h:176:93: error: member reference type 'pgd_t *' is a pointer ; did you mean to use '->'? printk_debug("init_mm pgd val:0x%lx,pgd addr:0x%lx\n", (unsigned long)pgd_val(*(mm->pgd)), pgd_val((mm->pgd))); ^~~~~~~~~~~~~~~~~~ /home/king/android_src/pixelExper_thirteen/kernel/google/msm-4.14/arch/arm64/include/asm/pgtable-types.h:50:24: note: expanded from macro 'pgd_val' #define pgd_val(x) ((x).pgd)
能力值:
( LV9,RANK:240 )
63 楼
而且就算编译成功了。但是也看不到/sys/module/rwProcMem37,奇怪了。我在aosp的内核分支上测试还是正常的。换了个rom的内核就不行了
能力值:
( LV9,RANK:240 )
64 楼
哦。原来我编译的是在/vendor/lib/modules这个目录下。
能力值:
( LV7,RANK:100 )
65 楼
比较好奇你的VS版本,你说需要把lld改成I64d这些,但是VS早就支持lld/llx这些格式了啊