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

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條評論
主站蜘蛛池模板: 国产一区二区三区四区 | 欧美另类性视频在线看 | 性大交| 高清国产一级毛片国语 | 精品四虎免费观看国产高清午夜 | 亚洲欧美另类专区 | 久久久久国产精品免费免费不卡 | 色香蕉网站 | 最新国产一区二区精品久久 | 免费一级毛片清高播放 | 影视先锋av资源噜噜 | 99999久久久久久亚洲 | 亚洲精品欧美一区二区三区 | 日韩在线免费视频观看 | 亚洲视频久久 | 成人精品一区二区三区中文字幕 | 亚洲欧美成人在线 | 国产亚洲亚洲精品777 | 韩国精品videosex性韩国 | 成人区在线观看免费视频 | 免费看欧美一级特黄a大片一 | 国产精品久久久久久久久岛 | 久99re视频9在线观看 | 青草久草| 一级毛片免费视频观看 | 拍拍拍无挡视频免费观看1000 | 日本欧美三级 | 狠狠色丁香婷婷久久综合考虑 | 爱爱爱久久久久久久 | 国产成人在线视频免费观看 | 久久精品中文字幕首页 | 国产一区视频在线 | 亚洲国产成人资源在线软件 | 久热网| 天天躁日日躁狠狠躁综合 | 久久精品免费观看久久 | 日本视频h | 成人综合婷婷国产精品久久免费 | 国产精品久久久久9999 | 特黄级| 99精品欧美一区 |