亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

Google Android操作系統內核編譯圖文教程

系統 2293 0

和標準的Linux開發流程一樣,Android平臺開發的一個很重要的基礎工作就是對其內核的編譯和移植。本文結合Android的開發文檔以及本人的實踐經驗,簡單介紹了Android內核的編譯過程,希望有助于對內核移植感興趣的開發人員。

  Android作為Google公司推出的一款手機開發平臺,其本身是基于linux內核的。Google提供的內核源代碼中除了linux部 分外,有很大一部分是與虛擬處理器Qemu和模擬硬件平臺Goldfish相關的。所以如果想將Android移植到實際的硬件平臺上需要將這部分代碼剝 離出來。當然這不是這篇文章的重點,我們現在的目的是要編譯出一個可以在模擬器上運行的系統內核,那么,現在就開始我們的工作吧!?

工作環境及所需軟件包

  系統環境:Redhat?Linux?9.0

  交叉編譯器:GNU?Toolchain?for?ARM?Processors?下載地址: http://www.codesourcery.com/gnu_toolchains/arm/download.html
  其中第一項選擇ARM?EABI或ARM?GNU/Linux,第二項選擇IA32?GNU/Linux即可。


此主題相關圖片如下:
按此在新窗口瀏覽圖片

  Android內核源代碼:linux-2.6.23-android-m5-rc14.tar.gz?下載地址: http://code.google.com/p/android/downloads/list
  注意該內核版本要與你選用的模擬器版本盡量一致。


此主題相關圖片如下:
按此在新窗口瀏覽圖片

  Android?SDK?下載地址: http://code.google.com/android/download_list.html


此主題相關圖片如下:
按此在新窗口瀏覽圖片

1.搭建交叉編譯環境

  1)?安裝Android?SDK:?將android-sdk_m5-rc14_linux-x86.zip解壓縮到適當路徑下即可使用。本文將其釋放至/usr/local/android_sdk_linux路徑下,并將其tools路徑添加到PATH中:

  $?export?PATH=$PATH:/usr/local/android_sdk_linux/tools

  2)?安裝交叉編譯器:將arm-2007q3-51-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2?解壓縮至/usr/local/arm-2007q3目錄下,并將其bin路徑添加到PATH中:

  $?export?PATH=$PATH:/usr/local/arm-2007q3/bin


此主題相關圖片如下:

  3)?解壓縮內核源代碼:將linux-2.6.23-android-m5-rc14.tar.gz解壓縮,得到kernel文件夾,本文中將其放置在/Android目錄下。

2.獲取內核編譯配置文件

  交叉編譯環境搭建好后需要得到android的內核編譯參數的配置文件,該文件需要從android?sdk?中的模擬器中得到。啟動android模擬器,然后通過adb得到模擬器中提供的內核配置文件:?

  $emulator?&?
  $adb?pull?/proc/config.gz?

  這時候adb工具會連接模擬器,并從它里面下載一個叫做config.gz的文件到你的當前目錄下。將其移動至kernel目錄,解壓該文件得 到config,將其重命名為.config,這樣就可以跳過make?config而直接得到Makefile所需要的內核配置文件。

  $?gunzip?config.gz
  $?mv?config?.config


此主題相關圖片如下:

3.修改Makefile

  首先修改第187行,將CROSS_COMPILE值改為arm-none-linux-gnueabi-,這是我們安裝的交叉編譯工具鏈的前綴,修改此處意在告訴make在編譯的時候要使用該工具鏈。


此主題相關圖片如下:

  然后修改第519、520行,將build?id?值注釋掉,因為目前版本的android內核不支持該選項。


此主題相關圖片如下:

4.開始編譯

  在kernel目錄下執行make:?

  $?make

  除個別警告外編譯過程一切順利,最終在/kernel/arch/arm/boot目錄下面生成一個zImage,即為編譯好的內核鏡像了。


此主題相關圖片如下:
按此在新窗口瀏覽圖片


此主題相關圖片如下:

5.運行該鏡像

  $emulator?-kernel?~/android/kernel/arch/arm/boot/zImage

  最終效果如圖所示。


此主題相關圖片如下:
按此在新窗口瀏覽圖片

?

?

?

Google Android操作系統內核編譯圖文教程


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 国产精品欧美一区二区三区不卡 | 天天操天天干天天干 | 天天干成人网 | 欧美视频一二三区 | 欧美一级毛片欧美一级无片 | 亚洲精品久久激情影院 | 久草视频官网 | 久久综合九色综合97伊人麻豆 | 亚洲小色网 | 久久免费国产视频 | 伊人手机在线视频 | 交换国产精品视频一区 | 手机看片高清日韩精品 | 你懂的国产精品 | 一区二区三区欧美日韩 | 欧美韩一级片 | 高清在线亚洲精品国产二区 | 久久精品视频免费 | 国产精品乱码免费一区二区 | 91尤物在线 | 五月婷婷综合在线视频 | 久热精品香蕉在线视频 | 欧美性另类69xxxx极品 | 国产精品社区在线观看 | 97影院3 | 亚洲福利一区福利三区 | 免费国产一区 | 久久在线免费观看 | 鲁啊鲁啊鲁在线视频播放 | 久久精品只有这里有 | 免费看a网站 | 国产综合色在线视频播放线视 | 久久亚洲综合伊人 | 欧美成人精品免费播放 | 视频二区欧美 | 一区二区三区无码高清视频 | 亚洲婷婷在线 | 国产美女免费观看 | 久久免费视频精品 | 亚洲成a人片在线观看精品 亚洲成a人一区二区三区 | 美女视频黄的免费视频网页 |