原创 emulator使用之一

1. 概述 原來計劃是從windows創建一個AVD,然後放到ubuntu下,用編譯出來的system.img來,沒有弄成功。 2. 編譯 source buile/env lunch make -j13 3. 運行 emula

原创 kernel-make-menuconfig

概述 想打開AC97_BUS.ko,

原创 C++多態-初始化變量之init-firststage

1. 結構關係 基類FirstStageMount.基類static std::unique_ptr Create(),就是返回類型爲FirstStageMount類型。 66 class FirstStageMount {

原创 Android文件系統加載之一

1. fstab變量 在文件core/init/first_stage_mount.cpp中: 229 std::unique_ptr<FirstStageMount> FirstStageMount::Create() {

原创 android-ubuntu-sdk

1.安裝jdk sudo apt update sudo apt install default-jdk 查看java版本 tom@tom-linuxer:~/work/android-sdk$ java -version o

原创 Android-emulator-kernel

概述 emulator啓動的內核和模塊在哪裏?是否可以編譯替換? 內核 通過emulator -verbose,可以看出emulator啓動的內核在/out/target/product/generic_x86_64$ file

原创 開源流程圖工具 draw.io 的搭建

參考 開源流程圖工具 draw.io 的搭建

原创 Android10 uml調試之一

1. init編譯 init第一階段的會被編譯到ramdisk.img中,init第二階段會被編譯進system.img中。 ramdisk會掛載成rootfs,system.img會被掛載成system分區。 kernel會首

原创 無法加載do_mount_all函數

函數 ExecuteOneCommand函數: ActionManager中std::queue<const Action*> current_executing_actions_;在64行向current_executing_

原创 Android LOG使用

1. 場景 想調試zygote的程序,C++寫的,需要AVLOG宏打印調試信息。 2. AVLOG 打開AVLOG 在文件system/core/liblog/include/log/log_main.h中: #ifndef LO

原创 UML之分區掛載之三

概述 上節說的“PARTNAME=super”和"PARTNAME=vbmeta"在哪裏賦值。 2. 調用流程 register_disk(struct device *parent, struct gendisk *disk)

原创 [轉] c++11中的std::tuple元組和std::tie

功能簡介 std::tuple是c++11提供的新模板類,在很多流行語言都有對應的實現,一般翻譯爲元組。使用它可以把多個不同類型的變量組合成一個對象。 簡單示例 以下是std::tuple的簡單示例(來源:https://en.c

原创 ps命令stat段含義

1.STAT字段 進狀態 意義 D 不可中斷 Uninterruptible sleep (usually IO) R 正在運行,或在隊列中的進程 S 處於休眠狀態 T 停止或被追蹤 Z 殭屍

原创 percpu變量

1. 作用 2.6內核上一個新的特性就是per-CPU變量。顧名思義,就是每個處理器上有此變量的一個副本。 當創建一個per-cpu變量時,系統中的每一個處理器都會擁有該變量的獨有副本。由於每個處理器都是在自己的副本上工作,所以對

原创 2.6.11-進程調度算法之一

1.運行隊列 進程調度的基本數據結構運行隊列,數據結構是struct runqueue定義在<kernel/sched.c>。 struct runqueue變量,是定義成PER_CPU類型的,一個CPU的核心對應一個運行隊列。每