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

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

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

    Calvin's Tech Space

    成于堅(jiān)忍,毀于浮躁

       :: 首頁 :: 聯(lián)系 :: 聚合  :: 管理

    一、什么是Android?

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

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

    安裝: 略。

    設(shè)置:

    1. 為網(wǎng)卡配置靜態(tài)IP地址

           虛擬機(jī)和XP連接用的虛擬網(wǎng)卡設(shè)置IP,gateway和DNS都為192.168.0.1。

           在Vmware虛擬機(jī)中執(zhí)行:

    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. 安裝開發(fā)工具

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

     

    4. 清理系統(tǒng)

    sudo apt-get clean

     
    2.2 建立Android內(nèi)核開發(fā)環(huán)境

    1、工作環(huán)境及所需軟件包

    1)系統(tǒng)環(huán)境: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內(nèi)核源代碼: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、搭建交叉編譯環(huán)境

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

    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) 解壓縮內(nèi)核源代碼

           $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

     

     
    三、編譯和運(yùn)行Android Kernel

    1)  獲取Android官方的默認(rèn)內(nèi)核配置文件.config

    這個(gè).config文件可以從SDK中得到。啟動(dòng)android模擬器,然后用adb從模擬器中提出內(nèi)核配置文件:

    $~/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)運(yùn)行該鏡像

    $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)

    *轉(zhuǎn)載請注明出處:neilengineer.cublog.cn

    */

    posted on 2010-02-01 09:09 calvin 閱讀(2605) 評論(0)  編輯  收藏 所屬分類: Android
    主站蜘蛛池模板: 99久久久精品免费观看国产| 一区国严二区亚洲三区| 亚洲精品天堂成人片AV在线播放 | 久久国产精品免费观看| 亚洲一区二区三区深夜天堂| 亚洲av无码乱码在线观看野外| 久久福利青草精品资源站免费| 亚洲一区二区三区高清不卡 | **aaaaa毛片免费| 女bbbbxxxx另类亚洲| 亚洲国产成人一区二区精品区 | 亚洲AV蜜桃永久无码精品| 免费A级毛片无码A∨| 精品久久亚洲一级α| 亚洲bt加勒比一区二区| 日本免费无遮挡吸乳视频电影| 毛片在线播放免费观看| 亚洲妇女无套内射精| 91亚洲国产成人久久精品网站| 免费va人成视频网站全| 69堂人成无码免费视频果冻传媒| 一级毛片免费在线| 亚洲午夜精品一区二区麻豆| 亚洲AV无码乱码国产麻豆穿越| 国产在线不卡免费播放| 国产精品爱啪在线线免费观看| 久久99精品免费一区二区| 亚洲AV电影天堂男人的天堂| 激情内射亚洲一区二区三区| 亚洲欧洲精品成人久久奇米网| 成年在线网站免费观看无广告| 久艹视频在线免费观看| 一边摸一边爽一边叫床免费视频| 亚洲熟妇无码一区二区三区 | 美女视频黄a视频全免费网站一区 美女视频黄a视频全免费网站色 | 一区二区三区观看免费中文视频在线播放| 国产偷国产偷亚洲高清在线| 亚洲人成综合在线播放| 久久国产亚洲观看| 亚洲中文久久精品无码| 免费人成网站在线高清|