Android驱动开发——Android Linux内核编译Nexus 5 x

  

本文以Nexus 5 x为例,讲解Android Linux驱动开发的准备
驱动开发了解:
Android对硬件的支持分成了两层,
一层放在用户空间(用户?空间),
一层放在内核空间(内核?空间),
其中,硬件抽象层运行在用户空间,而Linux ?内核驱动程序运行在内核空间。

  

所以Android的开放代码分两层AOSP和Linux内核

  

1。Linux内核的下载

  

下载Linux内核需要确定自己的开发目标,具体的手机和型号或者开发版的系统支持信息。
5 x,以连结之前的文章,使用的分支是android-e-7.1.1-r31,对应的是大头鱼。
Nexus 5 x需要在msm里找,

  

<代码> mkdir内核代码
<代码> cd内核代码
<代码> git克隆https://aosp.tuna.tsinghua.edu.cn/kernel/msm.git
<代码> msm cd

  

查看所有支持的分支
<代码> git分支——

  
 <代码>遥控器/产地/android - msm -蓝鳃太阳鱼- 3.18 -派穿
  遥控器/产地/android - msm -大头鱼- 3.10 -棉花糖
  遥控器/产地/android - msm大头鱼- 3.10 -棉花糖-博士- 0
  遥控器/产地/android 3.10 - msm -大头鱼dr1.5——棉花糖
  遥控器/产地/android 3.10 - msm -大头鱼dr1.6——棉花糖
  遥控器/产地/android 3.10 - msm -大头鱼mr1——棉花糖
  遥控器/产地/android - msm -大头鱼- 3.10 -棉花糖- mr1东亚峰会
  遥控器/产地/android 3.10 - msm -大头鱼mr2——棉花糖
  遥控器/产地/android - msm -大头鱼- 3.10 - n - mr1预览- 1
  遥控器/产地/android - msm -大头鱼- 3.10 - n - mr1预览- 2
  遥控器/产地/android - msm -大头鱼- 3.10 - n - mr2预览- 1
  * *遥控器/产地/android - msm -大头鱼- 3.10 - n - mr2预览- 2 * *
  遥控器/产地/android - msm大头鱼- 3.10 - n -预览- 1
  遥控器/产地/android - msm -大头鱼- 3.10 - n -预览- 2
  遥控器/产地/android - msm -大头鱼- 3.10 - n -预览- 3所示
  遥控器/产地/android - msm -大头鱼- 3.10 - n -预览- 4
  遥控器/产地/android - msm -大头鱼- 3.10 - n -预览- 5所示
  遥控器/产地/android - msm -大头鱼- 3.10 -牛轧糖
  遥控器/产地/android - msm -大头鱼- 3.10 -牛轧糖错误修复
  遥控器/产地/android 3.10 - msm -大头鱼hwbinder——牛轧糖
  遥控器/产地/android 3.10 - msm -大头鱼mr0.5——牛轧糖
  遥控器/产地/android 3.10 - msm -大头鱼mr0.6——牛轧糖
  遥控器/产地/android 3.10 - msm -大头鱼mr1——牛轧糖
  遥控器/产地/android 3.10 - msm -大头鱼mr1.1——牛轧糖
  遥控器/产地/android 3.10 - msm -大头鱼mr2——牛轧糖
  遥控器/产地/android - msm -大头鱼- 3.10 - o - mr1 preview1
  遥控器/产地/android - msm -大头鱼- 3.10 - o -预览- 1
  遥控器/产地/android - msm -大头鱼- 3.10 - o -预览- 2
  遥控器/产地/android - msm -大头鱼- 3.10 - 3 - o -预览
  遥控器/产地/android - msm -大头鱼- 3.10 - o -预览- 4
  遥控器/产地/android - msm -大头鱼- 3.10 m2——奥利奥
  遥控器/产地/android - msm -大头鱼- 3.10 -奥利奥- m3
  遥控器/产地/android - msm -大头鱼- 3.10 -奥利奥- m4
  遥控器/产地/android - msm -大头鱼- 3.10 -奥利奥- m5
  遥控器/产地/android - msm -大头鱼- 3.10 -奥利奥- m6
  遥控器/产地/android 3.10 - msm -大头鱼m7——奥利奥
  遥控器/产地/android 3.10 - msm -大头鱼mr1——奥利奥
  遥控器/产地/android - msm -大头鱼- 3.10 -奥利奥mr1 preview2
  遥控器/产地/android - msm -大头鱼- 3.10 -奥利奥r4
  遥控器/产地/android - msm -大头鱼- 3.10 -奥利奥r6  
  

下载代码分支
<代码> git checkout遥控器/产地/android - msm大头鱼- 3.10 -牛轧糖- mr2

  

2。编译代码

  

大头鱼是arm64设备,所以编译参数要配置arm64
<代码>出口路径=$路径:/mnt/android/android-e-7.1.1-r31/预先构建的gcc/linux-x86/aarch74/aarch74 - linux - android - 4.9/bin:美元路径
<代码> export拱=arm64
<代码> export SUBARCH=arm64
<代码>出口CROSS_COMPILE=aarch74-linux-android -
<代码>让bullhead_defconfig
<代码>使美元- j (nproc——所有)
或者
<代码>让阁下

  

注意,bullhead_defconfig是哪里来的的呢?参烤下面的链接:

  https://source.android.com/setup/build/building-kernels

  

 Android驱动开发——Android Linux内核编译Nexus 5 x

  

编译成功的界面:
 Android驱动开发——Android Linux内核编译Nexus 5 x

Android驱动开发——Android Linux内核编译Nexus 5 x