From 51d2f8cebfe7479c8d74646b6cb28d341cc68833 Mon Sep 17 00:00:00 2001 From: dqzg12300 Date: Thu, 5 Jan 2023 22:46:56 +0800 Subject: [PATCH] =?UTF-8?q?=E7=AC=AC=E4=BA=8C=E7=AB=A0=E8=A1=A5=E5=85=85?= =?UTF-8?q?=E6=A8=A1=E5=9D=97=E7=BC=96=E8=AF=91=E5=92=8C=E5=86=85=E6=A0=B8?= =?UTF-8?q?=E7=BC=96=E8=AF=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- chapter-02/README.md | 140 ++++++++++++++++-- chapter-02/images/image-20230105221730348.png | Bin 0 -> 52995 bytes 2 files changed, 126 insertions(+), 14 deletions(-) create mode 100644 chapter-02/images/image-20230105221730348.png diff --git a/chapter-02/README.md b/chapter-02/README.md index c28991c..f18a734 100644 --- a/chapter-02/README.md +++ b/chapter-02/README.md @@ -128,9 +128,7 @@ pip install pytest ~~~ -### 2.2.3 macOS -​ macOS现在分为两个种架构,新起的m1系列采用的均为arm架构的芯片,而老款的mac都是使用inter系列芯片,如果你是老款的mac,那么直接采用Parallels Desktop虚拟机安装ubuntu进行编译即可,而m1系列可以直接在mac编译,但是由于缺少依赖,无法正常编译安卓内核。 ### 2.3 如何选择源码版本 @@ -212,11 +210,6 @@ sudo apt-get install -y git-core gnupg flex bison build-essential \ zip curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 lib32ncurses5-dev \ x11proto-core-dev libx11-dev lib32z1-dev libgl1-mesa-dev libxml2-utils xsltproc unzip \ fontconfig libncurses5 procps rsync libsqlite3-0 - -// 内核编译的相关依赖安装 -sudo apt install p7zip-full wget curl git tree -y -sudo apt-get install dialog file python3 python3-pip python2 libelf-dev gpg gpg-agent tree flex bison libssl-dev zip unzip curl wget tree build-essential bc software-properties-common libstdc++6 libpulse0 libglu1-mesa locales lcov --no-install-recommends -y -sudo apt-get install pahole libreadline-dev -y ~~~ ​ 依赖安装完成后,我们再进行一个细节调整,由于我们经常需要备份代码,将整个源码进行打包备份,但是编译出来的输出目录`out`的体积非常庞大,所以我备份时会选择移走`out`目录,或者干脆删除掉,这样非常的麻烦,所以我会选择直接修改编译输出的目录。通过设置环境变量`OUT_DIR`就可以调整编译结果的输出目录了。 @@ -251,10 +244,11 @@ tar -xvf google_devices-blueline-sp1a.210812.016.a1-d10754e0.tgz ​ 导入设备驱动完成后,准备工作基本完成,可以开始编译源码了。 ~~~ -// 初始化环境, +// 初始化环境,执行后会导入多个命令,辅助我们进行编译。 +// 这里也可以使用. build/envsetup.sh 是同样的效果 source ./build/envsetup.sh -// 选择编译的环境 +// 选择编译的版本 lunch //下面是我这边显示的结果 @@ -271,15 +265,16 @@ Lunch menu... pick a combo: Which would you like? [aosp_arm-eng] // 选择版本可以填写直接填写aosp_blueline-userdebug或者是填写编号4 +// 同样我们可以省略成一句,直接lunch 4或者是lunch aosp_blueline-userdebug 4 // 和上面一样。直接使用当前cpu的核心数作为编译的并发线程 make -j$(nproc --all) ~~~ -​ 在上面选择版本中可以看到`aosp_arm-eng`和`aosp_arm64-eng`的选项,这两个是模拟器使用的版本。而模拟器使用的版本是可以不需要导入设备驱动文件的。 +​ 在上面选择版本中可以看到`aosp_arm-eng`和`aosp_arm64-eng`的选项,这两个是模拟器使用的版本。而模拟器使用的版本是可以不需要导入设备驱动文件的。如果在`lunch`的菜单中没有看到你要编译的版本,并且直接`lunch aosp_blueline-userdebug `也提示错误,可能是没有成功导入驱动文件,或者下载的驱动文件不对。 -​ 同一个代号的编译有三种编译环境选择。分别如下: +​ 同一个代号的编译有三种编译版本选择。分别如下: 1、`aosp_blueline-user` 一般是默认的编译环境,主要是作为发布版本,这种版本编译的环境会默认开启大多数的安全机制,比如`ro.secure`值为1,`ro.debuggable`值为0,,需要我们自行用第三方工具获取root权限。我们日常使用的机子就是属于user环境的。 @@ -315,17 +310,134 @@ vbmeta.img vendor.img ~~~ -确定有编译出`vendor.img、system.img、boot.img`等等镜像文件,就说明编译成功了。 - - +​ 确定有编译出`vendor.img、system.img、boot.img`等等镜像文件,就说明编译成功了。 ### 2.4 模块编译 +​ 前文在编译的过程中介绍到,我们使用`source ./build/envsetup.sh`初始化环境的时候,导入了多个命令来帮助我们进行编译。我们可以通过命令`hmm`查看提供的命令帮助。 +~~~ +hmm + +Run "m help" for help with the build system itself. + +Invoke ". build/envsetup.sh" from your shell to add the following functions to your environment: +- lunch: lunch - + Selects as the product to build, and as the variant to + build, and stores those selections in the environment to be read by subsequent + invocations of 'm' etc. +- tapas: tapas [ ...] [arm|x86|arm64|x86_64] [eng|userdebug|user] + Sets up the build environment for building unbundled apps (APKs). +- banchan: banchan [ ...] [arm|x86|arm64|x86_64] [eng|userdebug|user] + Sets up the build environment for building unbundled modules (APEXes). +- croot: Changes directory to the top of the tree, or a subdirectory thereof. +- m: Makes from the top of the tree. +- mm: Builds and installs all of the modules in the current directory, and their + dependencies. +- mmm: Builds and installs all of the modules in the supplied directories, and their + dependencies. + To limit the modules being built use the syntax: mmm +// 省略 +...... +~~~ + +​ `croot` 命令可以跳转根目录,或者是根目录下的任意子目录 + +​ `m` 命令会直接在根目录运行编译,即使我们当前目录是在子目录也是相当于在根目录编译。也可以指定名称来编译单独的目标,例如`m droid`。 + +​ `mm ` 编译当前目录中的所有模块及依赖项 + +​ `mmm` 编译指定目录中的所有模块及依赖项 + +​ `clean` 清除编译的结果,相当于删掉out目录中的内容 + +​ 我们可以通过`m help`查看可以单独编译哪些选项 + +~~~ +m help + +Common goals are: + + clean (aka clobber) equivalent to rm -rf out/ + checkbuild Build every module defined in the source tree + droid Default target + nothing Do not build anything, just parse and validate the build structure + + java Build all the java code in the source tree + native Build all the native code in the source tree + + host Build all the host code (not to be run on a device) in the source tree + target Build all the target code (to be run on the device) in the source tree + + (java|native)-(host|target) + (host|target)-(java|native) + Build the intersection of the two given arguments + + snod Quickly rebuild the system image from built packages + Stands for "System, NO Dependencies" + vnod Quickly rebuild the vendor image from built packages + Stands for "Vendor, NO Dependencies" + pnod Quickly rebuild the product image from built packages + Stands for "Product, NO Dependencies" + senod Quickly rebuild the system_ext image from built packages + Stands for "SystemExt, NO Dependencies" + onod Quickly rebuild the odm image from built packages + Stands for "Odm, NO Dependencies" + vdnod Quickly rebuild the vendor_dlkm image from built packages + Stands for "VendorDlkm, NO Dependencies" + odnod Quickly rebuild the odm_dlkm image from built packages + Stands for "OdmDlkm, NO Dependencies" +~~~ + +​ 通过帮助命令的提示,我们可以看到`m snod`就是单独编译`System`,命令`m vnod`就是单独编译`Vendor`。大多数时候我们修改的内容都是在`System`中。我们可以根据自己的变动情况,模块编译即可。 ### 2.5 内核编译 +​ 在前面我们编译完成后,可以在编译的镜像结果中看到文件`boot.img`,这个文件就是内核镜像文件。但是这个内核是Android源码树中已经编译好的内核文件,并不是我们编译出来的,如果我们想要修改内核,就需要拉取内核的对应分支,编译内核,将编译结果放入Android源码中的指定路径,然后再重新编译Android。刷入手机后,使用的内核就是我们自己编译的了。 +​ 首先第一步是找到对应我们当前手机的内核分支,官网提供了详细的说明https://source.android.com/docs/setup/build/building-kernels。根据下图可以看到,对应`Pixel 3`测试机分支是`android-msm-crosshatch-4.9-android12`。 + +![image-20230105221730348](.\images\image-20230105221730348.png) + +​ 接下来我们按照官网的说明拉取代码并编译。 + +~~~ +// 内核编译的相关依赖安装 +sudo apt install p7zip-full wget curl git tree -y +sudo apt-get install dialog file python3 python3-pip python2 libelf-dev gpg gpg-agent tree flex bison libssl-dev zip unzip curl wget tree build-essential bc software-properties-common libstdc++6 libpulse0 libglu1-mesa locales lcov --no-install-recommends -y +sudo apt-get install pahole libreadline-dev -y + +// 创建内核的源码目录,不用放再Android源码目录下 +mkdir android-kernel && cd android-kernel + +// 初始化指定分支 +repo init -u https://android.googlesource.com/kernel/manifest -b android-msm-crosshatch-4.9-android12 + +// 同步分支代码 +repo sync -j$(nproc --all) + +// 编译内核 +build/build.sh + +// 编译完成后,查看编译结果,最后输出显示Image.lz4文件就表示内核编译是成功的。 +ls /root/android_src/android-kernel/out/android-msm-pixel-4.9/dist |grep Image +~~~ + +​ 编译成功后,我们还需要指定Android源码编译时使用这个内核文件。只需要设置环境变量指定路径即可。方式如下。 + +~~~ +// 为了以后方便,环境路径相关的,我们都写在这个初始化导入环境命令的地方 +vim ./build/envsetup.sh + +// 在最底部添加 +export TARGET_PREBUILT_KERNEL=/root/android_src/android-kernel/out/android-msm-pixel-4.9/dist/Image.lz4 + +// 保存配置后,重新加载一下 +source ./build/envsetup.sh + +// 单独编译内核镜像 +make bootimage +~~~ ### 2.6 刷机 diff --git a/chapter-02/images/image-20230105221730348.png b/chapter-02/images/image-20230105221730348.png new file mode 100644 index 0000000000000000000000000000000000000000..68155ed83f266c2ed3a187a1dfd3b0b420bc9647 GIT binary patch literal 52995 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⁢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