中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Android 驅動開發---Android Linux 內核編譯 Nexus 5x

發布時間:2020-08-03 00:35:21 來源:網絡 閱讀:3051 作者:EricY15 欄目:移動開發

本文以Nexus 5X為例,講解Android Linux 驅動開發的準備
驅動開發了解:
Android對硬件的支持分成了兩層,
一層放在用戶空間(User?Space),
一層放在內核空間(Kernel?Space),
其中,硬件抽象層運行在用戶空間,而Linux?內核驅動程序運行在內核空間。

所以Android的開放代碼分兩層AOSP和Linux內核

1. Linux內核的下載

下載Linux內核需要確定自己的開發目標,具體的手機和型號或者開發版的系統支持信息。
以Nexus 5X, 之前的文章,使用的分支是android-e-7.1.1-r31,對應的是bullhead。
Nexus 5x需要在msm里找,

mkdir kernel
cd kernel
git clone https://aosp.tuna.tsinghua.edu.cn/kernel/msm.git
cd msm

查看所有支持的分支
git branch -a

                remotes/origin/android-msm-bluegill-3.18-pie-wear-dr
                remotes/origin/android-msm-bullhead-3.10-marshmallow-dr
                remotes/origin/android-msm-bullhead-3.10-marshmallow-dr-0
                remotes/origin/android-msm-bullhead-3.10-marshmallow-dr1.5
                remotes/origin/android-msm-bullhead-3.10-marshmallow-dr1.6
                remotes/origin/android-msm-bullhead-3.10-marshmallow-mr1
                remotes/origin/android-msm-bullhead-3.10-marshmallow-mr1-eas
                remotes/origin/android-msm-bullhead-3.10-marshmallow-mr2
                remotes/origin/android-msm-bullhead-3.10-n-mr1-preview-1
                remotes/origin/android-msm-bullhead-3.10-n-mr1-preview-2
                remotes/origin/android-msm-bullhead-3.10-n-mr2-preview-1
                **remotes/origin/android-msm-bullhead-3.10-n-mr2-preview-2**
                remotes/origin/android-msm-bullhead-3.10-n-preview-1
                remotes/origin/android-msm-bullhead-3.10-n-preview-2
                remotes/origin/android-msm-bullhead-3.10-n-preview-3
                remotes/origin/android-msm-bullhead-3.10-n-preview-4
                remotes/origin/android-msm-bullhead-3.10-n-preview-5
                remotes/origin/android-msm-bullhead-3.10-nougat
                remotes/origin/android-msm-bullhead-3.10-nougat-bugfix
                remotes/origin/android-msm-bullhead-3.10-nougat-hwbinder
                remotes/origin/android-msm-bullhead-3.10-nougat-mr0.5
                remotes/origin/android-msm-bullhead-3.10-nougat-mr0.6
                remotes/origin/android-msm-bullhead-3.10-nougat-mr1
                remotes/origin/android-msm-bullhead-3.10-nougat-mr1.1
                remotes/origin/android-msm-bullhead-3.10-nougat-mr2
                remotes/origin/android-msm-bullhead-3.10-o-mr1-preview1
                remotes/origin/android-msm-bullhead-3.10-o-preview-1
                remotes/origin/android-msm-bullhead-3.10-o-preview-2
                remotes/origin/android-msm-bullhead-3.10-o-preview-3
                remotes/origin/android-msm-bullhead-3.10-o-preview-4
                remotes/origin/android-msm-bullhead-3.10-oreo-m2
                remotes/origin/android-msm-bullhead-3.10-oreo-m3
                remotes/origin/android-msm-bullhead-3.10-oreo-m4
                remotes/origin/android-msm-bullhead-3.10-oreo-m5
                remotes/origin/android-msm-bullhead-3.10-oreo-m6
                remotes/origin/android-msm-bullhead-3.10-oreo-m7
                remotes/origin/android-msm-bullhead-3.10-oreo-mr1
                remotes/origin/android-msm-bullhead-3.10-oreo-mr1-preview2
                remotes/origin/android-msm-bullhead-3.10-oreo-r4
                remotes/origin/android-msm-bullhead-3.10-oreo-r6

下載代碼分支
git checkout remotes/origin/android-msm-bullhead-3.10-nougat-mr2

2. 編譯代碼

bullhead是arm64設備,所以編譯參數要配置arm64
export PATH=$PATH:/mnt/android/android-e-7.1.1-r31/prebuilts/gcc/linux-x86/aarch74/aarch74-linux-android-4.9/bin:$PATH
export ARCH=arm64
export SUBARCH=arm64
export CROSS_COMPILE=aarch74-linux-android-
make bullhead_defconfig
make -j$(nproc --all)
或者
make -j4

注意, bullhead_defconfig是哪里來的的呢? 參烤下面的link:

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

Android 驅動開發---Android Linux 內核編譯 Nexus 5x

編譯成功的界面:
Android 驅動開發---Android Linux 內核編譯 Nexus 5x
檢查是否在/arch/arm64/boot 目錄生成一個Image.gz-dtb文件

3. 更新到Nexus 5x

查看AOSP的目錄:device/lge/bullhead-kernel

Android 驅動開發---Android Linux 內核編譯 Nexus 5x
把這里的Image.gz-dtb文件替換成我們上面生成的image文件

然后重新編譯AOSP,重新刷機

更新前的kernel version信息:
Android 驅動開發---Android Linux 內核編譯 Nexus 5x

更新后開機有個提示:
Android 驅動開發---Android Linux 內核編譯 Nexus 5x
然后reset phone

更新后的kernel version信息:
Android 驅動開發---Android Linux 內核編譯 Nexus 5x

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

贡觉县| 嘉义县| 台湾省| 通城县| 清水县| 治多县| 蒲城县| 筠连县| 嘉祥县| 海城市| 托克逊县| 合阳县| 蕲春县| 霞浦县| 大城县| 迭部县| 石门县| 西青区| 饶平县| 深州市| 德清县| 彭州市| 哈密市| 伊春市| 光泽县| 郸城县| 安康市| 阿合奇县| 穆棱市| 池州市| 利辛县| 建阳市| 上犹县| 马鞍山市| 苍山县| 桐庐县| 启东市| 惠安县| 高清| 大足县| 博兴县|