<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Calvin's Tech Space

    成于堅忍,毀于浮躁

       :: 首頁 :: 聯系 :: 聚合  :: 管理

    一、什么是Android?

    Android作為Google公司推出的一款手機開發平臺,其本身是基于linux內核的。Google提供的內核源代碼中除了linux部分外,有很大一部分是與虛擬處理器Qemu和模擬硬件平臺Goldfish相關的。所以如果想將Android移植到實際的硬件平臺上需要將這部分代碼剝離出來。
    二、搭建開發環境
    2.1在Vmware中的安裝和設置Ubuntu Server 8.10

           本文選擇在Win XP下的Vmware中安裝Ubuntu Server 8.10作為編譯開發服務器。

    安裝: 略。

    設置:

    1. 為網卡配置靜態IP地址

           虛擬機和XP連接用的虛擬網卡設置IP,gateway和DNS都為192.168.0.1。

           在Vmware虛擬機中執行:

    sudo vi /etc/network/interfaces 加入:

    auto eth0

    iface eth0 inet static

    address 192.168.0.2

    gateway 192.168.0.1

    netmask 255.255.255.0

     

    2. 配置DNS

    sudo vi /etc/resolv.conf

    nameserver 192.168.0.1

     

    3. 安裝開發工具

    sudo apt-get install build-essential vim libncurses-dev lrzsz

     

    4. 清理系統

    sudo apt-get clean

     
    2.2 建立Android內核開發環境

    1、工作環境及所需軟件包

    1)系統環境:Ubuntu 8.10 server

    2)交叉編譯器:GNU Toolchain for ARM Processors

    (http://www.codesourcery.com/gnu_toolchains/arm/download.html)

    本文用:arm-2008q3-66-arm-none-eabi-i686-pc-linux-gnu.tar.bz2

    3)Android內核源代碼:linux-2.6.23-android-m5-rc14.tar.gz

    (http://code.google.com/p/android/downloads/list)本文用:linux-2.6.25-android-1.0_r1.tar.gz

    4)Android SDK

    (http://code.google.com/android/download_list.html)

    SDK中帶有Android Emulator仿真器等工具,本文用:android-sdk-linux_x86-1.0_r2.zip

    2、搭建交叉編譯環境

           安裝好系統后,把下載的Android kernel,交叉編譯器和Android SDK都放在/home/xxx目錄,xxx是安裝系統時的普通用戶的用戶名。

    1) 安裝交叉編譯器

    $cd ~

    $mkdir tools

    $cp arm-2008q3-66-arm-none-eabi-i686-pc-linux-gnu.tar.bz2  tools

    $cd tools

    $tar jxvf arm-2008q3-66-arm-none-eabi-i686-pc-linux-gnu.tar.bz2

     

    2) 解壓Android SDK

    $cp ~/android-sdk-linux_x86-1.0_r2.zip ~/tools

    $cd ~/tools/

    $unzip android-sdk-linux_x86-1.0_r2.zip

     

    3) 解壓縮內核源代碼

           $mkdir sources

           $cp linux-2.6.25-android-1.0_r1.tar.gz sources

           $cd sources

           $tar zxvf linux-2.6.25-android-1.0_r1.tar.gz

           $mv kernel.git  linux-2.6.25-android-1.0_r1

     

     
    三、編譯和運行Android Kernel

    1)  獲取Android官方的默認內核配置文件.config

    這個.config文件可以從SDK中得到。啟動android模擬器,然后用adb從模擬器中提出內核配置文件:

    $~/tools/android-sdk-linux_x86-1.0_r2/tools/emulator &

    $adb pull /proc/config.gz  ~/

    $mv ~/  ~/sources/linux-2.6.25-android-1.0_r1

    $cd ~/sources/linux-2.6.25-android-1.0_r1

    $ gunzip config.gz

    $ mv config .config

     

    2)編譯

    $~/mk-kernel.sh sources/linux-2.6.25-android-1.0_r1/

    其中mk-kernel.sh腳本如下:

    #!/bin/sh

    #Simple script for Android Kernel compiling.

    #By Neil Chiao, Mar.14,2009

    export PATH=$PATH:/home/neil/tools/arm-2008q3/bin

    export CROSS_COMPILE=arm-none-eabi-

    cd $1||exit 1

    make menuconfig

    make

     

    3)運行該鏡像

    $cd ~/tools/android-sdk-linux_x86-1.0_r2/tools/

    $./emulator -kernel ~/sources/linux-2.6.25-android-1.0_r1/arch/arm/boot/zImage

     

     

    /*

    *By Neil Chiao (neilchiao at gmail.com)

    *轉載請注明出處:neilengineer.cublog.cn

    */

    posted on 2010-02-01 09:09 calvin 閱讀(2605) 評論(0)  編輯  收藏 所屬分類: Android
    主站蜘蛛池模板: 亚洲的天堂av无码| 老司机午夜性生免费福利| 区三区激情福利综合中文字幕在线一区亚洲视频1 | 免费观看的a级毛片的网站| 免费无码又爽又刺激网站| 国产亚洲漂亮白嫩美女在线| 亚洲另类春色校园小说| 亚洲日本乱码在线观看| 亚洲av无码成人精品区| 好爽…又高潮了免费毛片| 99久久精品日本一区二区免费| 久久青草精品38国产免费| 一级午夜免费视频| 国产亚洲午夜精品| 亚洲国产精品精华液| 亚洲av乱码一区二区三区香蕉 | 一个人看www免费高清字幕| 亚洲日韩看片无码电影| 18gay台湾男同亚洲男同| 亚洲AV无码成人精品区蜜桃 | 最近更新免费中文字幕大全| 亚洲美女一区二区三区| 又硬又粗又长又爽免费看| 最近免费中文字幕大全视频| 亚洲av中文无码乱人伦在线播放| 色窝窝亚洲AV网在线观看| 国产曰批免费视频播放免费s| 亚洲一区二区三区无码中文字幕| 亚洲AV日韩AV永久无码色欲| 很黄很色很刺激的视频免费| 亚洲精品不卡视频| 日韩在线不卡免费视频一区| 国产成人A亚洲精V品无码| 热re99久久6国产精品免费| 性xxxxx大片免费视频| 久久国产精品成人免费| a级毛片在线免费| 一级毛片免费毛片一级毛片免费 | 色片在线免费观看| 免费a级毛片高清视频不卡| 岛国片在线免费观看|