摘要: android源码:android-11.0.0_r21(网址:Search (aospxref.com)) 一、问题 2243行mVold.mount执行的是哪个mount函数? 2239 private void mount(VolumeInfo vol) { 2240 try { 2241 / 阅读全文
posted @ 2023-04-07 22:01 geshifei 阅读(101) 评论(0) 推荐(0) 编辑
摘要: 为fuse模块新增trace event,执行stat命令时,记录trace,输出inode的信息。 一、trace event定义 include\trace\events目录下新增fuse.h文件 /* SPDX-License-Identifier: GPL-2.0 */ #undef TRA 阅读全文
posted @ 2023-03-15 07:45 geshifei 阅读(178) 评论(0) 推荐(0) 编辑
摘要: 背景 系统中一些文件丢失了,需要查明丢失的原因,对这个问题有很多方法可以debug,比如ftrace、fsnotify、在unlink、rename函数中加printk等方法,因为ftrace、fsnotify不能获取进程名,并且我们系统中printk默认是关闭的,所以采取了“内核记录文件,存储在磁 阅读全文
posted @ 2023-03-09 10:23 geshifei 阅读(35) 评论(0) 推荐(0) 编辑
摘要: libfuse源码:GitHub - libfuse/libfuse: The reference implementation of the Linux FUSE (Filesystem in Userspace) interface 2fd46b19-8ea3-48b8-abb0-7a62b3c 阅读全文
posted @ 2023-03-06 20:45 geshifei 阅读(265) 评论(0) 推荐(0) 编辑
摘要: 本文记录一下monkeyrunner环境搭建遇到的各种坑,以免以后再次踩坑。首先要提一下巨坑,务必要安装java 8(本文记录于2023.3),安装其他版本java,运行monneyrunner会有很多问题,见第七节。 一、安装java 8 oracle官网Java Archive Download 阅读全文
posted @ 2023-03-02 15:41 geshifei 阅读(87) 评论(0) 推荐(0) 编辑
摘要: 背景: 在看内核代码初始化arm页表的时候,发现linux内核做了一些特殊处理,引入了硬件页表、linux页表的概念,这篇文章描述为何需要这样处理以及具体的实现方式。 原因: linux中ARM32采用2级页表映射方式,MMU映射过程如下: 图1 ARM MMU映射过程 从图1可以得知,ARM MM 阅读全文
posted @ 2023-02-25 20:37 geshifei 阅读(103) 评论(0) 推荐(0) 编辑
摘要: 前一篇文章介绍了eclipse图形化调试kernel,操作比较繁琐。这篇文章介绍gdb命令行方式,更为简单。 一、编译rootfs及kernel iamge 参考ubuntu20.04 搭建kernel调试环境第二篇--制作rootfs,制作rootfs。 参考ubuntu20.04 搭建kerne 阅读全文
posted @ 2022-12-12 14:29 geshifei 阅读(42) 评论(0) 推荐(0) 编辑
摘要: 一、安装eclipse 1)官网下载对应的版本(eclipse-inst-jre-linux64.tar.gz) Eclipse Packages | The Eclipse Foundation - home to a global community, the Eclipse IDE, Jaka 阅读全文
posted @ 2022-12-12 14:18 geshifei 阅读(81) 评论(0) 推荐(0) 编辑
摘要: ubuntu中qemu启动多个guest虚拟机,guest如何访问外网?guest之间如何实现网络通信?我常用qemu调试自己编译的kernel,需要在guest和host之间共享一些调试文件,如何达到这个目的? 开发人员经常遇到环境差异(ubuntu宿主机、自己编译的kernel config、r 阅读全文
posted @ 2022-12-06 17:44 geshifei 阅读(100) 评论(0) 推荐(0) 编辑
摘要: nat entry(简称ne)在代码中涉及多个数据结构,先上图。 图1 ne涉及的数据结构关系图 大的原则 1)红色部分是disk layout中的(持久化存储);蓝色部分是内存数据结构。 2)系统中所有的ne,缓存在nat cache中(radix tree管理),用于快速检索ne。 3)所有cl 阅读全文
posted @ 2022-10-25 20:00 geshifei 阅读(108) 评论(0) 推荐(0) 编辑