自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(192)
  • 收藏
  • 关注

原创 ARM64汇编

MRS/MSRMRS功能:将状态寄存器的内容传送至通用寄存器。MRS{<条件码> Rd,CPSR}SPSR例子:MRS R0,CPSR //将CPSR的内容传送到R0MRS 目的寄存器 源寄存器MSR(state->reg)功能: 将通用寄存器的内容传送至状态寄存器。MSR CPSR_c,R0 //将R0中内容传送到CPSR_c。MSR 源寄存器 目的寄存器tbz/tbnztbztbz branch zeo. 测试位为0,则跳转。tbz w24, #0x6,

2020-12-21 13:56:57 4235

原创 内核函数-assembler.h分析

概述主要介绍4.14内核的assembler.h的汇编函数。ldr_this_cpu dst,sym,tmp249 /* 250 * @dst: Result of READ_ONCE(per_cpu(sym, smp_processor_id())) 251 * @sym: The name of

2020-12-21 10:34:17 346

原创 shell源码分析之一

概述现在需要分析,按下Ctrl+c,整个shell的处理流程。信号首先看下trap结构体:1272 typedef struct trap { 1273 const char *name; /* short name */ 1274 const char *mess;

2020-09-15 13:29:29 643

原创 imx8-auto代码下载

错误下载的过程中,遇到下面错误:Checking out projects: 1% (8/698) platform/compatibility/cdderror: Cannot checkout platform/cts: ManifestInvalidRevisionError: revision refs/tags/android-9.0.0_r47 in platform/cts not found

2020-09-06 08:17:18 308 1

原创 adb(1)

协议

2020-09-02 18:10:59 148

原创 开源流程图工具 draw.io 的搭建

参考开源流程图工具 draw.io 的搭建

2020-06-24 13:14:54 486

原创 新硬盘操作

1.分区fdisk /dev/sdbnp1w2.挂载与修改目录权限sudo chown -R tom:tom /mediasudo mount -o remount,rw /media/tom/jerry

2020-05-31 14:35:00 154

原创 Build android emulator

1.概述现在需要查看emulator如何加载文件系统的,需要编译android emulator source。2. 看如何编译123

2020-04-15 13:32:41 807

原创 UML之分区挂载之三

概述这节主要讲

2020-04-06 11:11:26 235

原创 UML之分区挂载之二

流程virtblk_probe(struct virtio_device *vdev) ----->set_disk_ro(vblk->disk, 1)--------->set_disk_ro(struct gendisk *disk, int flag)----->set_disk_ro_uevent(disk, flag);

2020-04-05 11:50:45 460

原创 uevent之kobject_uevent_env

定义kobject_uevent_env函数:

2020-04-04 11:03:55 2908

原创 UML之分区挂载

1.概述UML中的分区暂时无法挂载。2. 挂载流程在init/first_stage_mount.cpp中

2020-04-03 06:53:03 624

原创 C++多态-初始化变量之init-firststage

结构关系基类FirstStageMount.基类static std::unique_ptr Create(),就是返回类型为FirstStageMount类型。 66 class FirstStageMount { 67 public: ...

2020-03-25 09:12:10 1458

原创 kernel-make-menuconfig

概述想打开AC97_BUS.ko,

2020-03-24 09:40:37 254

原创 Android文件系统加载之一

1. fstab变量在文件core/init/first_stage_mount.cpp中:229 std::unique_ptr<FirstStageMount> FirstStageMount::Create() { 230 auto fstab = ReadFirstStageFstab(); ...

2020-03-23 20:36:20 1510 1

原创 Android-emulator-kernel

概述emulator启动的内核和模块在哪里?是否可以编译替换?内核通过emulator -verbose,可以看出emulator启动的内核tom@tom-linuxer:~/work/aosp-x86/aosp/out/target/product/generic_x86_64$ file kernel-ranchu kernel-ranchu: Linux kernel x86 bo...

2020-03-22 09:03:14 1231

原创 emulator使用之一

1. 概述原来计划是从windows创建一个AVD,然后放到ubuntu下,用编译出来的system.img来,没有弄成功。2. 编译123456

2020-03-19 15:17:11 317

原创 android-ubuntu-sdk

1.安装jdksudo apt updatesudo apt install default-jdk查看java版本tom@tom-linuxer:~/work/android-sdk$ java -versionopenjdk version "11.0.6" 2020-01-14OpenJDK Runtime Environment (build 11.0.6+10-post-...

2020-03-18 20:33:27 181

原创 Android10 uml调试之一

init函数init第一阶段的会被编译到ramdisk.img中,init第二阶段会被编译进system.img中。

2020-03-17 19:26:09 735

原创 Android-Makefile

1.LOCAL_MODULE_PATH: 文件的安装目录

2020-03-17 16:28:30 136

原创 Repo之更新远程代码

场景之前从清华镜像源下载了

2020-03-12 15:36:07 1617

原创 进程之VMA

参考Linux用户态进程的内存管理https://zhuanlan.zhihu.com/p/36140049

2020-03-12 13:06:36 532

原创 ELF文件的加载过程

参考ELF文件的加载过程Intel平台下Linux中ELF文件动态链接的加载、解析及实例分析

2020-03-12 09:13:07 254

原创 ubuntu环境

1.把capslock映射成ctrlsetxkbmap -option ctrl:nocaps

2020-03-12 08:50:53 83

原创 进程地址空间

概述这边文章主要讲:1)1)问题1

2020-03-11 10:56:00 326

原创 windows nfs搭建

修改配置文件D:\VM\share -public -name:nfs共享文件夹目录 显示的名字2. 启动在开始目录下,找到安装的软件。找到“重启所有服务”的位置,以管理员权限执行这个服务。注:如果不以管理员权限运行,会出错。3. 挂载mount -t nfs -o nolock 192.168.0.3:/nfs /mnt...

2020-03-10 13:12:54 323

原创 Android LOG使用

Android LOGframeworks/base/cmds/app_process/app_main.cpp:19:9: error: 'LOG_NDEBUG' macro redefined [-Werror,-Wmacro-redefined]#define LOG_NDEBUG 0 ^system/core/liblog/include/log/log_main.h...

2020-03-08 09:53:51 622

原创 uml问题解决

错误记录logd.auditd: startlogd.klogd: 6841906688type=1400 audit(1583456931.813:110): avc: denied { dac_read_search } for pid=496 comm="Binder:496_1" capability=2 scontext=u:r:vold:s0 tcontext=u:r:vold:...

2020-03-06 09:23:06 1734

原创 从ELF中fork新进程

参考分析do_execve

2020-02-28 20:47:39 116

转载 2.6.11-进程调度算法之一

1.运行队列

2020-02-26 10:10:37 197

原创 percpu变量

1. 作用2.6内核上一个新的特性就是per-CPU变量。顾名思义,就是每个处理器上有此变量的一个副本。当创建一个per-cpu变量时,系统中的每一个处理器都会拥有该变量的独有副本。由于每个处理器都是在自己的副本上工作,所以对per-cpu变量的访问几乎不需要加锁。cpu拥有是不是cache啊? 说白了percpu变量,就是一个变量,CPU可以很快的访问,安全的访问它。2. 接口2.1 ...

2020-02-25 16:21:42 405

原创 fork函数调用全过程

1. sys_fork函数

2020-02-25 13:45:52 1219

原创 ps命令stat段含义

1.STAT字段进状态意义D不可中断 Uninterruptible sleep (usually IO)R正在运行,或在队列中的进程S处于休眠状态T停止或被追踪Z僵尸进程W进入内存交换(从内核2.6开始无效)X死掉的进程<高优先级N低优先级L有些页被锁进内存s包含子进程+...

2020-02-24 17:04:32 558

原创 基于2.6.11内核init进程

1. fork函数2. fork函数

2020-02-23 09:30:46 175

原创 Android的soog_ui的调试(go语言)

源码soog_ui程序的源码的位置在:build/soong/cmd/soong_ui目录下,有main.go和Android.bp。

2020-02-22 14:35:28 2087

原创 无法加载do_mount_all函数

函数ExecuteOneCommand函数:std::queue<const Action*> current_executing_actions_; 58 void ActionManager::ExecuteOneCommand() { 59 // Loop through the e...

2020-02-12 17:09:01 267

原创 Init函数映射

KeywordMaptemplate <typename Function> class KeywordMap{ public: ...

2020-02-10 10:16:16 241

原创 mount_all执行顺序

顺序123

2020-02-05 15:33:17 644

转载 [转] c++11中的std::tuple元组和std::tie

功能简介std::tuple是c++11提供的新模板类,在很多流行语言都有对应的实现,一般翻译为元组。使用它可以把多个不同类型的变量组合成一个对象。简单示例以下是std::tuple的简单示例(来源:https://en.cppreference.com/w/cpp/utility/tuple)#include <tuple>#include <iostream>...

2020-02-02 14:21:59 644 1

原创 mount_all过程

BuiltinFunctionMap在core/init/builtins.h中using BuiltinFunction = std::function<int(const std::vector<std::string>&)>; class BuiltinFunctionMap : public KeywordMap<BuiltinFun...

2020-02-01 21:15:44 1053

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除