精华内容
下载资源
问答
  • 编译Androidkernel

    2021-06-04 03:49:32
    一 下载cd kernel 进入我们刚才创建的kernel文件夹git branch -avv 查看远程的git 库我们选择remotes/origin/android-goldfish-2.6.29分支来下载git checkout -b android-goldfish-2.6.29 remotes/origin/android-...

    一 下载

    cd kernel 进入我们刚才创建的kernel文件夹

    git branch -avv 查看远程的git 库

    我们选择remotes/origin/android-goldfish-2.6.29分支来下载

    git checkout -b android-goldfish-2.6.29 remotes/origin/android-goldfish-2.6.29

    二 编译kernel代码

    设置环境变量

    export PATH=$PATH:~/andr-perf/gcc-arm-none-eabi-4_8-2014q3/bin

    修改kernel下面的makefile文件,修改

    ARCH ?= $(SUBARCH)

    CROSS_COMPILE ?=

    这两个字段成如下内容:

    ARCH ?= arm

    CROSS_COMPILE ?= arm-none-eabi-

    // 但是对于make goldfish_armv7_defconfig这样编译的内核模拟器好像启动不了,应该是默认编译成v5的,需要改成v7。或者可以改成ndk的编译器

    // CROSS_COMPILE ?= /home/kk/andr-perf/android-ndk-r10c/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86_64/bin/arm-linux-androideabi-

    开始编译,敲入如下命令

    make goldfish_defconfig

    或者看arch/arm/configs/目录下有什么,就挑一个make XXX

    正式编译,敲入如下命令

    make

    正式编译成功之后,我们会看到如下文字:

    OBJCOPY arch/arm/boot/zImage

    Kernel: arch/arm/boot/zImage is ready

    三 利用新编译的kernel来启动模拟器

    在启动模拟器之前,先设置模拟器的目录到环境变量$PATH中去:

    USER-NAME@MACHINE-NAME:~/Android$ export PATH=$PATH:~/android_prj/out/host/linux-x86/bin

    设置ANDROID_PRODUCT_OUT环境变量:

    USER-NAME@MACHINE-NAME:~/Android$ export ANDROID_PRODUCT_OUT=~/android_prj/out/target/product/generic

    同样,如果你的源代码目录不是android_prj,请注意修改下。另外,如果你已经配置了环境变量。则不必如此。建议最好写到配置文件 ~/.bash_rc配置文件里面去。 免得每次都要配置

    启动模拟器

    一、

    cd ~/android_prj 回到源代码目录

    sandy@ubuntu:~/android_prj$ emulator -kernel ./kernel/arch/arm/boot/zImage 利用刚才我们编译的kernel内核启动模拟器

    二、

    emulator -avd myavd -kernel ~/goldfish/arch/arm/boot/zImage

    -avd后面的参数 myavd即为模拟器的名字,-kernel后面的参数就找到刚才编译出的内核的路径。

    若启动模拟器失败,可尝试关闭后再启动。第一次启动模拟器时可能需要等待比较长的时间,3分钟到15分钟不等。

    验证结果

    待模拟器启动完毕之后,我们敲入adb shell

    第一次会说device offline,不管它,再敲入一遍,就会进入adb 调试

    然后cd proc 进入proc目录,cat version

    展开全文
  • 安卓kernel编译步骤

    千次阅读 2017-05-12 17:20:32
    2.进入 项目名/kernel,进行git status ./操作,之后进行git diff操作 3.进行lunch命令 4.进行make kernel -j4命令发送 5.找到fastboot所在文件夹, 项目名/out/target/product/msm8909 6.进入fastboot模式:su

    1.进入项目所在文件夹,进行如下指令:source build/envsetup.sh
    2.进入 项目名/kernel,进行git status ./操作,之后进行git diff操作
    3.进行lunch命令
    4.进行make kernel -j4命令发送
    5.找到fastboot所在文件夹, 项目名/out/target/product/msm8909
    6.进入fastboot模式:sudo adb reboot bootloader
    7.启动fastboot:执行sudo fastboot flash boot boot.img
    8.fastboot模式重启:sudo fastboot reboot
    9.最后进行内核log查看,adb wait-for-device && adb shell cat /proc/kmsg

    展开全文
  • 1 Android-SDK include: sdk/avd manager,emulator,adb,fastboot...etc. 在下 platform-tools/ ├── adb ├── api ├── dmtracedump ├── etc1tool ├── fastboot ├── hprof-conv ├── NOTICE....

    微笑哭奋斗大哭抓狂疑问奋斗奋斗奋斗生气大笑微笑

    1 Android-SDKinclude:

    sdk/avd manager,emulator,adb,fastboot...etc.

    在<android-sdk-path>下

    platform-tools/
    ├── <span style="color:#33FF33;">adb</span>
    ├── api
    ├── dmtracedump
    ├── etc1tool
    ├──<span style="color:#33FF33;"> fastboot</span>
    ├── hprof-conv
    ├── NOTICE.txt
    ├── source.properties
    ├── sqlite3
    └── systrace
    
    2 directories, 8 files
    
     
    tools/
    ├── <span style="color:#33FF33;">android</span>
    ├── ant
    ├── apps
    ├── ddms
    ├── draw9patch
    ├── <span style="color:#33FF33;">emulator</span>
    ├── emulator64-arm
    ...(others)
    因此这两个目录加到系统的¥PATH中去
    

    命令主要有

    #Display manager window
    android avd
    android sdk
    
    #run emulator using our own img, and show kernel msg
    emulator -avd <myavdname> -system ./img/system.img  -data ./img/userdata.img -ramdisk ./img/ramdisk.img -kernel /home/nmt/buildingandroid/android-kernel/goldfish-3.x/goldfish/arch/arm/boot/zImage -partition-size 128 -show-kernel
    
    #adb tool & fastboot
    ....
    adb shell
    adb push
    adb pull
    

    2 Toolchain:交叉编译工具

    我涉及到了2种交叉编译工具 arm-eabi-4.4.3 (编译kernel) 和arm-none-linux-gnueabi-gcc-4.3.3(编译用户态程序)

    原则上可以就使用一个,要看实际程序是否需要指定某版本的交叉编译工具。

    安装过程总结起来就是-下载-解压-放到任意的地方-加入这个地方的路径到PATH,(根据需要添加几个软连接),然后测试一下是否成功

    参考:

    点击打开链接

    点击打开链接

    3 Kbuild System 基础知识

    单独编译模块 or 编译进内核img

    参考官方文档:

    (待续)

    有事没事可以多浏览:

    http://lwn.net/Kernel/Index/#Development_model-Loadable_modules



    4 git & repo

    git clone https://android.googlesource.com/kernel/common.git
    git clone https://android.googlesource.com/kernel/goldfish.git
    git clone https://android.googlesource.com/kernel/msm.git
    git clone https://android.googlesource.com/kernel/omap.git
    git clone https://android.googlesource.com/kernel/samsung.git
    git clone https://android.googlesource.com/kernel/tegra.git
    
    /*git 使用...tag什么的*/
    


    5 编译android kernel

    (1)应当知道自己正要编译的内核是哪个版本的:

    /*除了git branch查看分支,还可以通过下面的命令*/
    make kernelversion 
    3.4.67
    

    我要编译的是3.4.67的kernel


    (2)应当知道kernel版本号的意义:

    x.y.z-b-xxx

    例如:

    uname -a
    3.13.0-44-generic #73-Ubuntu SMP Tue Dec 16 00:22:43 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
    
    表示大版本 - 3

    小版本13

    基于3.13.0没有加补丁(上面的是有打67号补丁)

    后面的-b表示第几次build(build number)不同的build number可能会相差了一些驱动/模块等

    最后的generic表示一个名字吧,generic表示工具生成的。假如自己编译一个linux kernel会发现这个名字就变了。

    etc.

    PS:我也不是很懂,把自己理解的写上来,有错误欢迎指正:)

    参考:Chapter 14 The Linux Kernel Sources

    "

    Where to Get The Linux Kernel Sources

    All of the major Linux distributions ( Craftworks, Debian, Slackware, Red Hat etcetera) include the kernel sources in them.Usually the Linux kernel that got installed on your Linux systemwas built from those sources.By their very nature these sources tend to be a little out of date soyou may want to get the latest sources from one of the web sitesmentioned in chapter  www-appendix.They are kept on ftp://ftp.cs.helsinki.fiand all of the other web sites shadow them.This makes the Helsinki web site the most up to date, but sites likeMIT and Sunsite are never very far behind.

    If you do not have access to the web, there are many CD ROM vendors whooffer snapshots of the world's major web sites at a very reasonablecost. Some even offer a subscription service with quarterly or evenmonthly updates. Your local Linux User Group is also a good source of sources.

    The Linux kernel sources have a very simple numbering system. Any even number kernel (for example2.0.30) is a stable, released,kernel and any odd numbered kernel (for example2.1.42 is a development kernel.This book is based on the stable2.0.30 source tree.Development kernels have all of the latest features and supportall of the latest devices. Although they can be unstable, which may not be exactly what you want it,is important that the Linux community tries the latest kernels.That way they are tested for the whole community.Remember that it isalways worth backing up your system thoroughly if you do try out non-production kernels.

    Changes to the kernel sources are distributed as patch files. The patchutility is used to apply a series of edits to a set of source files. So, for example, if you have the 2.0.29 kernel source tree and you wanted to moveto the 2.0.30 source tree, you would obtain the 2.0.30 patch file and apply thepatches (edits) to that source tree:

    $ cd /usr/src/linux
    $ patch -p1 < patch-2.0.30
    

    This saves copying whole source trees, perhaps over slow serial connections.A good source of kernel patches (official and unofficial) is thehttp://www.linuxhq.com web site.

    "

    (3)  编译需要一个.config文件

    可以通过

    #自己配置选项
    make menuconfig
    
    #使用某些默认配置
    make goldfish_armv7_defconfig
    make goldfish_defconfig
    #(我第一次编译时,上面2个配置都无法在android5.0的模拟器上成功)
    "make oldconfig :类似于make config,只是要求用户参与的配置项更少,大多配置会给出默认值。"
    
     
    #甚至可以从模拟器里拖一个.config出来
    adb  pull  /proc/config.gz
    gunzip  config.gz
    
    #有了 .config 就可以编译了
    make -j4
    

    可以参考

    "知耻而后勇的蜗牛"

    "vipclx"


    (4) so 应当知道哪个android版本使用哪个版本的内核。

    ...

    (5) 内核中加入自己的模块


    (6) 编译Android src(完整源码)


    (7) 编译一些external 工具如 blktrace (用手指想一下,应该至少有2种方法:

        1. 直接编译进Android5.0系统img --> 第一次没成功编译

        2.在外部单独编译出来 --> 使用NDK工具可编译

     

    展开全文
  • Android源码kernel编译

    千次阅读 2020-05-16 22:57:10
    Android 源码由 Google 管理,下载源码之前请先明确自己下载源码的目的,总结下,总共有如下几种: 阅读,查阅; 编译调测制作对应手机 root 包; 编译定制对应手机 ROM; 其中第2,3可以归纳为同一个目的,下载...

    Android 源码由 Google 管理,下载源码之前请先明确自己下载源码的目的,总结下,总共有如下几种:

    1. 阅读,查阅;
    2. 编译调测制作对应手机 root 包;
    3. 编译定制对应手机 ROM;

    其中第2,3可以归纳为同一个目的,下载源码并编译在手机运行。  

    一、确保分区大小写敏感

    对于 Mac 10.13 以上、使用 APFS 分区的场景:

    运行“磁盘工具”,选择“添加宗卷”,选择“APFS区分大小写”。

    二、下载对应 Tag 及版本镜像

    查阅 Google 官网上

    https://source.android.google.cn/setup/start/build-numbers?hl=zh-cn#source-code-tags-and-builds

    android-7.1.2_r28   N2G48C

    下载命令:

    repo init -u https://android.googlesource.com/platform/manifest -b android-7.1.2_r28
    

    镜像文件下载地址:

    https://developers.google.com/android/images

    三、下载对应的 kernel 代码

    kernel 内核为单独一个仓,由于 nexus 6p 为高通平台,下载msm即可。

    git clone https://android.googlesource.com/kernel/msm 
    

    msm 内核项目是 Google 公司针对高通 msm 移动芯片组(骁龙处理器)而开发的内核项目

    我们可以在设置 > 关于手机 > 内核版本 中直接查看内核版本信息,也可以通过 cat /proc/version 命令查看。内核版本信息的格式为 kernel version-gXXXXXXX ,其中 XXXXXXX 部分的值是 git 提交中的 short commit id的值

    在本地 git clone 后,本地只有一个 master 分支,git checkout d59db4e -b 分支名 为下载对应版本的源码并新建对应tag分支。

    四、修改 kernel 源码中 Makefile

    将 msm 目录下的 Makefile 文件中 ARCH 和 CROSS_COPMPILE 修改为如下

    Mac路径

    ARCH           ?= arm64 
    CROSS_COMPILE  ?= /Volumes/winsky/aosp/prebuilts/gcc/darwin-x86/aarch64/aarch64-linux-android-4.9/bin/aarch64-linux-android- 
    

    其中 CROSS_COPMPILE 为交叉编译工具,路径在 Android 源码 Prebuilts 对应目录下。

    Mac路径需要选择 darwin-x86 路径下

    Liunx 路径设置

    ARCH           ?= arm64 
    CROSS_COMPILE	?= /home/ivan/android_nexus6p/prebuilts/gcc/linux-x86/aarch64/aarch64-linux-android-4.9/bin/aarch64-linux-android-
    

    五、开始编译内核

    make  angler_defconfig
    make
    

    编译完成后,生成的 Image.gz-dtb 在 arch/arm64/boot/Image.gz-dtb路径下

    编译过程中,以下错误都是由于环境未配置好导致的编译错误,以及网上找的解决办法

    error: 'vdso_offset_sigtramp' undeclared (first use in this function) 
      (void *)(vdso_offset_##name - VDSO_LBASE + (unsigned long)(base)); \ 
    更改文件 
    更改arch/arm64/kernel/vdso/gen_vdso_offsets.sh脚本 
    中 
    's/^\([0-9a-fA-F]*\) . VDSO_\([a-zA-Z0-9_]*\)$/\#define vdso_offset_\2\t0x\1/p'
    改为
    's/^\([0-9a-fA-F]*\) . VDSO_\([a-zA-Z0-9_]*\)$/\#define vdso_offset_\2  0x\1/p'
    

    其他错误

    编译过程中会出现 elf.h 找不到的问题

    安装 libelf

    http://stackoverflow.com/questions/10018764/building-linux-kernel-on-mac-os-x
    https://forum.xda-developers.com/android/help/failed-to-build-arm64-goldfish-kernel-t3342461
    http://lukeat.me/2017/03/20/Build-Android-Kernel-of-ARM64-on-OS-X/
    

    六、生成 boot.img 镜像

    在路径 kernel\msm\arch\arm64\boot 中将编译生成的 Image.gz-dtb 复制到Android 源码路径device\huawei\angler-kernel 路径中 nexus6p 的代号为 angler 华为代工,故在以上路径。 回到android源码根目录,进行环境设置

    source build/envsetup.sh 
    Lunch 选择angler相关选项(如果需要编译其他内核,选择对应即可)
    make bootimage -j4
    

    最终生成的 bootimage 在 Android 源码 out/target/product/angler/boot.img 下

    运行烧写命令:

    adb reboot bootloader  ----进入Bootloaer
    fastboot flash boot bootimage
    fastboot reboot
    

    以上编译出来的 boot 镜像为未 root 权限镜像。

    如需要编译 root 权限镜像,以此运行如下命令:

    source build/envsetup.sh 
    Lunch 选择 angler 相关选项(如果需要编译其他内核,选择对应即可)
    choosecombo 选择 angler,最后一项选择 eng 即可,root 的关键是编译时选择 eng。
    (或者直接运行命令 choosecombo 1 aosp_angler 3 默认选择好eng)
    make bootimage -j4
    

    编译过程中可能存在的问题:

    (一)lunch 过程中会出现找不到 xcode 不支持

    解决办法就是将 mac_sdk_versions_supported 改为系统中所装版本

     #mac_sdk_versions_supported := 10.6 10.7 10.8 10.9
    mac_sdk_versions_supported := 10.11
    

    所以我们需要下载其他的 sdk 放到这个文件夹下面

    我是在这个网站下载的, 没有任何问题  https://github.com/phracker/MacOSX-SDKs/releases 参考链接 http://www.jianshu.com/p/1513fc9e1a74

    (二)编译过程中会提示头文件定义冲突

    external/libcxx/include/cmath:683:46: error: declaration conflicts with target of using declaration already in scope

    回退到 8.3.3

    (三)出现 error: ‘syscall’的错误

    将 xcode 回退到 8.3.3 即可

    (四)bison 编译错误

    [ 85% 2068/2406] Yacc: checkpolicy <= external/selinux/checkpolicy/policy_parse.y
    FAILED: /bin/bash -c "prebuilts/misc/darwin-x86/bison/bison -d -v --defines=out/host/darwin-x86/obj/EXECUTABLES/checkpolicy_intermediates/policy_parse.h -o out/host/darwin-x86/obj/EXECUTABLES/checkpolicy_intermediates/policy_parse.c external/selinux/checkpolicy/policy_parse.y"
    [ 85% 2068/2406] target  C: libcrypto_static <= external/boringssl/src/crypto/ec/p256-64.c
    ninja: build stopped: subcommand failed.
    make: *** [ninja_wrapper] Error 1
    

    按照如下步骤解决

    https://android-review.googlesource.com/c/platform/external/bison/+/517740/1/lib/vasnprintf.c   ---源码Bug
    Patch bison fix for High Sierra and build bison:
    	◦	cd /Volumes/AOSP/external/bison
    	◦	git cherry-pick c0c852bd6fe462b148475476d9124fd740eba160
    	◦	mma
    	•	Replace prebuilt bison binary with patched binary
    	◦	cp /Volumes/AOSP/out/host/darwin-x86/bin/bison /Volumes/AOSP/prebuilts/misc/darwin-x86/bison/
    

    参考链接:

    https://groups.google.com/forum/#!searchin/android-building/prebuilts2Fmisc2Fmisc2Fdarwin-x862Fbison2Fbison2Fbison|sort:date/android-building/D1-c5lZ9Oco/h2kAzh7SAwAJ

    七. 编译单模块

    修改了FingerprintManager源码,如下路径 frameworks\base\core\java\android\hardware 配置好环境后执行:make framework

    修改了FingerprintServices,如下路径 frameworks\base\services\core\java\com\android\server\fingerprint 配置好环境后编译命令:make services

    附录

    思考: Android 内核和linux 内核的区别 参考文章: http://blog.csdn.net/codemydream/article/details/53819312

    华为开源内核编译指导

    https://www.modaco.com/forums/topic/377314-how-to-build-the-kernel-for-your-huawei-p9-plus/

    展开全文
  • 编译内核的时候,需要具备两个条件 1.下载好kernel源码 2.交叉编译器(如果你有已经下载了AOSP),那就好,AOSP里面就有这个交叉编译器,位置呢在 aospCode/prebuilts/gcc/linux-86/aarch64/aarch64-linux-...
  • Android Kernel下载编译

    2017-02-03 14:24:53
    Android Kernel下载编译
  • 本文以一个“hello”驱动为例,简单介绍内核驱动编写、编译的基本过程,包括内核模块的内建编译和动态加载方式的编译。 0X02 编写 在./goldsifh/drivers文件夹下新建hello目录,在hello目录中新建hello.c文件: ...
  • android有个专门的make bootimage命令可以编译出刷机包boot.img,进入fastboot模式,执行fastboot flash boot boot.img就可以将修改后的kernel刷入,这是最快的kernel修改验证方式,不需要刷整个安卓系统。...
  • Android 系统编译之内核编译

    万次阅读 多人点赞 2018-09-12 16:02:27
    作为Android开发者的我 没有任何内核编译经验,只是想试一下, 于是折腾了两天终于把内核成功编译出来了 现在分享下学习经验 我的是小米手机,其实我看了一下github, 其他手机的内核开源的目录结构几乎是一样的,所以...
  • 题目有点大,其实kernel的启动性能调整和android基本没什么关系,我想应该适用所有使用linux的嵌入式设备时间测量说到性能调整,第一件该干的的事就是看下时间到底消耗在哪里。俗话说的好:知己知彼,百战百胜;过度...
  • 编译Android代码时,有时想使用一个宏控制各个模块的功能开关(preloader、lk、kernelandroid)。但是Android device下的project config mk配置默认只对android的代码有效。如果想全局有效,需要修改Google的默认...
  • 确认kernel编译指令 最快的方式不是去看Makefile,而是故意写个断言触发编译报错,并通过搜索字段”Failed:“获取完整编译指令,类似这种: FAILED: out/target/product/*****/obj/KERNEL_OBJ/arch/arm/boot/...
  • linux kernel已经编译过很多次了,在macOS上有一些坑要踩,再整理一下,就有了这篇水文。 环境准备  由于macOS的磁盘文件系统默认不区分大小写,因此编译源码最好在ubuntu上进行,或者在macOS上创建一块case-...
  • git下载Android kernel 源码并进行编译

    千次阅读 2018-08-27 17:36:20
    如何获取Android 内核源码 1 如果能够访问Google网站,则直接访问如下网站: https://source.android.com/setup/build/building-kernels 进行相应的Android 内核源码下载 2 如果不能访问Google网站,则 使用清华...
  • 最近裁剪android6.0系统,在裁剪Kernel代码的时候,用make menuconfig命令去选择删减配置项目,结果删减完成之后,出现了build err,而且总是提示内核需要clean,执行了make mrproper之后,效果并没有改善(make ...
  • 安卓源码+设备驱动 测试环境 Distributor ID: Ubuntu Description: Ubuntu 18.04.4 LTS Release: 18.04 Codename: bionic 目标设备: nexus7 目标系统: 4.4.4_r1 使用的网址 ...
  • 1、导出交叉编译工具目录到$PATH环境变量中去: [email protected]:~/my_android/kernel/goldfish$ export ARCH=arm export SUBARCH=arm export PATH=$PATH:/home/v0idp0int/tools/android-ndk-r9c/toolchains/arm...
  • Android kernel 编译

    2013-04-09 22:27:29
    研究了Android内核编译,以下资料来自其他作者的总结,在此整理 原文出处:http://blog.csdn.net/davidbeckham2901/article/details/7448717 1.准备工作:(ubuntu1110 32位) 推荐使用ubuntu等linuxOS,下载好...
  • MTK6577+Android编译kernel
  • Linux kernel 编译环境

    2021-05-10 18:41:18
    编译linux内核映像a)准备交叉编译工具链android代码树中有一个prebuilt项目,包含了我们编译内核所需的交叉编译工具。注意:虽然Prebuilt下包含了交叉编译工具,但是编译时有可能会出现“/bin/sh: arm-eabi-gcc: not...
  • androidkernel编译版本显示更改

    千次阅读 2013-11-08 16:16:54
    1,android版本: 在android/build/core/version_defaults.mk中红色部分 ifeq "" "$(BUILD_NUMBER)"  # BUILD_NUMBER should be set to the source control value that  # represents the current state of the ...
  • KERNELDIR := /home/android/android4.4/kernel_imx (内核目录) PWD :=$(shell pwd) (源文件目录) ARCH=arm CROSS_COMPILE= /home/android/android4.4/prebuilts/gcc/linux-x86/arm/arm-eabi-4.6/bin/arm-eabi-...
  • 首先,我们需要确定当前Android使用的kernel版本,然后要确定下载kernel的版本 查看当前kernel版本 $ dd if=kernel-qemu bs=1 skip=$(LC_ALL=C grep -a -b -o $'\x1f\x8b\x08\x00\x00\x00\x00\x00' kernel-qemu ...
  • 以下说明会逐步指导您如何选择正确的源代码,编译内核,以及将结果嵌入到根据 Android 开源项目 (AOSP) 编译的系统映像中。 您可以使用Repo获取最新的内核源代码,并通过在源代码检出的根目录下运行build/build.sh...
  • Mtk Android编译命令

    2021-05-28 02:44:58
    ./makeMtk e1k mm packages/apps/Settings : Change Directory to packages/apps/Settings and execute "mm" 三、 当修改一些代码时,使用什么编译命令可以最有效率 1: ./mk n(r) kernel; ./mk bootimage;当修改...
  • Android内核编译图文教程

    千次阅读 2017-01-05 17:05:34
    第0步 编译准备 首先,介绍以下编译内核的环境。 主机:Ubuntu 11.04(32bit) 目标机:HTC Desire HD(G10) 安装系统HTC官方系统2.3(内核版本2.6.35) 需要下载文件:1&gt; Android源码(仅适合HTC) ...
  • emulator -show-kernel -kernel ~/Android/AndroidKernel/goldfish/arch/arm/boot/zImage @Android2.3 -no-skin -logcat *:v -qemu -gdb tcp::12345,ipv4 新打开一个Terminal用于调试,执行以下命令 export ...
  • Android 编译内核的ko文件

    千次阅读 2020-04-29 09:46:34
    在开发过程中,我们需要编译android工程的内核KO文件, 一种方法是修改对应...KSRC := /home/xxx/imx6_android4/filesystem/kernel_imx make -C $(KSRC) EXTRA_CFLAGS=-fno-pic M=$(PWD) modules 另一种方法是直...
  • 从源代码树下载下来的最新Android源代码,是不包括内核代码的,也就是Android源代码工程默认不包含Linux Kernel代码,而是使用预先编译好的内核,也就是prebuilt/android-arm/kernel/kernel-qemu文件。那么,如何...
  • 编译android kernel时,遇到error, forbidden warningsound/soc/codecs/es8323.c:1249:12: warning: 'entry_read' defined but not used [- Wunused-function]error, forbidden warning: es8323.c:1249scripts/...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 30,134
精华内容 12,053
关键字:

安卓kernel编译