真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Nexus5內(nèi)核編譯燒錄過程記錄-創(chuàng)新互聯(lián)

1、下載nexus5 對應(yīng)的內(nèi)核源碼

創(chuàng)新互聯(lián)在網(wǎng)站設(shè)計(jì)、網(wǎng)站制作、重慶APP開發(fā)、網(wǎng)站運(yùn)營等方面均有出色的表現(xiàn),憑借多年豐富的經(jīng)驗(yàn),我們會(huì)仔細(xì)了解各客戶的需求而做出多方面的分析、設(shè)計(jì)、整合,為客戶設(shè)計(jì)出具風(fēng)格及創(chuàng)意性的商業(yè)解決方案,我們更提供一系列成都全網(wǎng)營銷,網(wǎng)站制作和網(wǎng)站推廣的服務(wù),以推動(dòng)各中小企業(yè)全面信息化,并利用創(chuàng)新技術(shù)幫助各行業(yè)提升企業(yè)形象和運(yùn)營效率。

    Android系統(tǒng)使用的是Linux內(nèi)核,但與主線分枝的Linux內(nèi)核又有一些差異,各個(gè)不同的廠商又有自己的修改。內(nèi)核源碼位于谷歌境外服務(wù)器,不FQ無法訪問,這給同步源碼造成很大的不便。幸好清華大學(xué)的開源服務(wù)器上也同步了AOSP內(nèi)核的源碼,使得我們無須FQ就可以同步源碼。

  映射關(guān)系如下:

Nexus5 內(nèi)核編譯燒錄過程記錄

名稱     Google GIT地址     清華服務(wù)器地址
common     https://android.googlesource.com/kernel/common.git     https://aosp.tuna.tsinghua.edu.cn/kernel/common.gitexynos     https://android.googlesource.com/kernel/exynos.git     https://aosp.tuna.tsinghua.edu.cn/kernel/exynos.gitgoldfish     https://android.googlesource.com/kernel/goldfish.git     https://aosp.tuna.tsinghua.edu.cn/kernel/goldfish.githikey-linaro     https://android.googlesource.com/kernel/hikey-linaro     https://aosp.tuna.tsinghua.edu.cn/kernel/hikey-linaro.gitlk         https://aosp.tuna.tsinghua.edu.cn/kernel/lk.gitmsm     https://android.googlesource.com/kernel/msm.git     https://aosp.tuna.tsinghua.edu.cn/kernel/msm.gitomap     https://android.googlesource.com/kernel/omap.git     https://aosp.tuna.tsinghua.edu.cn/kernel/omap.gitsamsung     https://android.googlesource.com/kernel/samsung.git     https://aosp.tuna.tsinghua.edu.cn/kernel/samsung.gittegra     https://android.googlesource.com/kernel/tegra.git     https://aosp.tuna.tsinghua.edu.cn/kernel/tegra.gitx86_64     https://android.googlesource.com/kernel/x86_64.git     https://aosp.tuna.tsinghua.edu.cn/kernel/x86_64.git

Nexus5 內(nèi)核編譯燒錄過程記錄

由于nexus5使用的是高通處理器,所以直接同步msm的鏈接

ninjame@ubuntu1604:~/aosp$ mkdir kernel
ninjame@ubuntu1604:~/aosp$ cd kernel
ninjame@ubuntu1604:~/aosp/kernel$ git clone https://aosp.tuna.tsinghua.edu.cn/kernel/msm.git

git branch 查看Android內(nèi)核源碼的代碼版本分支

Nexus5 內(nèi)核編譯燒錄過程記錄

ninjame@ubuntu1604:~/aosp/kernel/msm$ git branch -a* (頭指針分離于 7717f76)
  master
  remotes/origin/HEAD -> origin/master
  remotes/origin/android-4.4
  remotes/origin/android-4.4.y
……
  remotes/origin/android-msm-hammerhead-3.4-kitkat-mr1
  remotes/origin/android-msm-hammerhead-3.4-kitkat-mr2
  remotes/origin/android-msm-hammerhead-3.4-kk-fr1
  remotes/origin/android-msm-hammerhead-3.4-kk-fr2
  remotes/origin/android-msm-hammerhead-3.4-kk-r1
  remotes/origin/android-msm-hammerhead-3.4-l-preview
  remotes/origin/android-msm-hammerhead-3.4-lollipop-mr1
  remotes/origin/android-msm-hammerhead-3.4-lollipop-mr1.1
  remotes/origin/android-msm-hammerhead-3.4-lollipop-release
  remotes/origin/android-msm-hammerhead-3.4-m-preview
  remotes/origin/android-msm-hammerhead-3.4-marshmallow
  remotes/origin/android-msm-hammerhead-3.4-marshmallow-mr1
  remotes/origin/android-msm-hammerhead-3.4-marshmallow-mr2
  remotes/origin/android-msm-hammerhead-3.4-marshmallow-mr3
……

Nexus5 內(nèi)核編譯燒錄過程記錄

和nexus5 相關(guān)的且是adnoid6.0 版本的內(nèi)核分支共有4個(gè),到底checkout哪個(gè)分支呢?對于Android的源碼與Android內(nèi)核源碼版本的對應(yīng)關(guān)系,很難說得清楚。經(jīng)過摸索,找到一種比較討巧的方法,直接進(jìn)入手機(jī)設(shè)置,查看關(guān)于手機(jī)

 Nexus5 內(nèi)核編譯燒錄過程記錄

內(nèi)核版本是3.4.0-g7717f76

ninjame@ubuntu1604:~/aosp/kernel/msm$ git checkout 3.4.0-g7717f76

當(dāng)發(fā)現(xiàn)真的把相應(yīng)分支源碼的源碼給同步過來,竟然有種意外的驚喜,這是怎么回事呢?

ninjame@ubuntu1604:~/aosp/kernel/msm$ git branch -r --contains 7717f769b2d0bf26db19598d8826a01b82ab6540
  origin/android-msm-hammerhead-3.4-marshmallow-mr1
  origin/android-msm-hammerhead-3.4-marshmallow-mr2
  origin/android-msm-hammerhead-3.4-marshmallow-mr3

7717f76對應(yīng)著源碼中的一個(gè)commit節(jié)點(diǎn),可以看做是git庫上最小的分支(分支都是從commit節(jié)點(diǎn)拉出來的,那么每一個(gè)節(jié)點(diǎn)都可以看做一個(gè)分支,當(dāng)然某些分支中只包含它自己)

3.4.0-g7717f76 就可以解讀為該內(nèi)核版本大的分支為linux3.4.0,具體的源碼對應(yīng)于commit節(jié)點(diǎn)為7717f76 那一次提交代碼對應(yīng)的快照。

下載部分參考博客:

http://blog.csdn.net/sunao2002002/article/details/53057374

http://blog.csdn.net/qq1084283172/article/details/54880488

2、配置編譯環(huán)境

由于是在 Linux / Mac OS X 上進(jìn)行編譯,所以交叉編譯的環(huán)境變量是必須要設(shè)置的,一共涉及到三個(gè)。

首先設(shè)定 ARCH,–注意,由于 Nexus 5 是32位架構(gòu),所以取值為 arm,如果是64位,則要取值為 arm64

export ARCH=arm

然后設(shè)定 CROSS_COMPILE,同上,64位要取值 aach74-linux-android-

export CROSS_COMPILE=arm-eabi-

對應(yīng)地,告訴編譯系統(tǒng)到哪里尋找編譯器

export PATH=$PATH:/home/ninjame/aosp/prebuilts/gcc/linux-x86/arm/arm-eabi-4.8/bin

 3、編譯

開始編譯之前,不要著急開始,先使用 help 看有哪些預(yù)定義好的配置

make help

從上面可以找到 hammerhead_defconfig,這正是 Nexus 5 的默認(rèn)配置

make hammerhead_defconfig

上述就是生成配置,如果需要調(diào)整,則可以繼續(xù)執(zhí)行

make menuconfig

最后執(zhí)行編譯吧

make

成功編譯后,可以看到類似如下的輸出:
OBJCOPY arch/arm/boot/zImage
 Kernel: arch/arm/boot/zImage is ready
 DTC    arch/arm/boot/msm8974-hammerhead-rev-11.dtb
 DTC    arch/arm/boot/msm8974-hammerhead-rev-11j.dtb
 DTC    arch/arm/boot/msm8974-hammerhead-rev-10.dtb
 DTC    arch/arm/boot/msm8974-hammerhead-rev-c.dtb
 DTC    arch/arm/boot/msm8974-hammerhead-rev-b.dtb
 DTC    arch/arm/boot/msm8974-hammerhead-rev-bn.dtb
 DTC    arch/arm/boot/msm8974-hammerhead-rev-a.dtb
 DTC    arch/arm/boot/msm8974-hammerhead-rev-f.dtb
 CAT    arch/arm/boot/zImage-dtb
 Kernel: arch/arm/boot/zImage-dtb is ready
make[1]: Nothing to be done for 'arch/arm/boot/dtbs'.
編譯碰到的問題;

Nexus5 內(nèi)核編譯燒錄過程記錄

, line , m.group(  /usr/bin/  -s /usr/bin/python2. /usr/bin/python,默認(rèn)設(shè)置成python2.
其實(shí),提示的錯(cuò)誤信息已經(jīng)明確告訴你了,你應(yīng)該省略defined() 。打開 kernel/timeconst.pl

Nexus5 內(nèi)核編譯燒錄過程記錄

4、刷新內(nèi)核

進(jìn)入到了 Android 源代碼目錄,設(shè)置環(huán)境變量,告知已編譯好的新內(nèi)核地址

ninjame@ubuntu1604:~/aosp/kernel/msm$ cd arch/arm/boot/ninjame@ubuntu1604:~/aosp/kernel/msm/arch/arm/boot$ ls -l zImage-dtb-rw-rw-r-- 1 ninjame ninjame 8441144 5月  23 00:27 zImage-dtb
ninjame@ubuntu1604:~/aosp/kernel/msm/arch/arm/boot$ pwd/home/ninjame/aosp/kernel/msm/arch/arm/boot

export TARGET_PREBUILT_KERNEL=/home/ninjame/aosp/kernel/msm/arch/arm/boot/zImage-dtb

重新編譯bootp_w_picpath

make bootp_w_picpath

成功后,若有類似如下的輸出:

Copy: out/target/product/hammerhead/kernel
Target boot p_w_picpath: out/target/product/hammerhead/boot.img
out/target/product/hammerhead/boot.img maxsize=23519232 blocksize=135168 total=9369600 reserve=270336#### make completed successfully (03:29 (mm:ss)) ####

重啟手機(jī)進(jìn)入bootloader模式

adb reboot bootloader

刷入內(nèi)核

fastboot flash boot boot.img

重啟手機(jī)

fastboot reboot

~曬圖,換上自己的簽名了,哈哈~  ,不過g4ad03fa 打臉了。。。

Nexus5 內(nèi)核編譯燒錄過程記錄

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。


網(wǎng)站標(biāo)題:Nexus5內(nèi)核編譯燒錄過程記錄-創(chuàng)新互聯(lián)
分享鏈接:http://weahome.cn/article/epijj.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部