• Compile android source and kernel for emulator in Debian


      1、download the android source code

      Reference from

    http://source.android.com/source/downloading.html

      follow the reference:

      Create the dir and export the PATH

    $ mkdir ~/bin
    $ PATH=~/bin:$PATH

      Download the repo

    $ curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo
    $ chmod 775 ~/bin/repo

      Repo init the code version you want 

    $ repo init -u https://android.googlesource.com/platform/manifest -b android-4.0.1_r1

      finally sync the codes

    $ repo sync
    // better way
    $ repo sync -j16

      if try to stop the repo, just try

    Ctrl + z   

      and continue the repo

    $ repo sync 
    // or 
    $ repo sync -j16

      after download, must enter "repo sync" to check the code again.

      2、download the kernel

      Reference from

    https://android.googlesource.com/

      click the kernel/common, there would be a instruction on the top:

    git clone https://android.googlesource.com/kernel/common

      the version for emulator

    git clone https://android.googlesource.com/kernel/goldfish

      3、Compile the source code

      1) check the build environment

    http://source.android.com/source/initializing.html

      2) compile

    $ cd ~/Android/source_code/
    $ make
    // or 
    $ make -j4

      3) there would be the files in the following dir

    $ ls out/host/linux-x86/bin/ | grep emulator
    emulator
    emulator64-arm
    emulator64-mips
    emulator64-x86
    emulator-arm
    emulator-mips
    emulator_renderer
    emulator-ui
    emulator-x86
    $ ls out/target/product/generic/ | grep img
    ramdisk.img
    system.img
    userdata.img

      4、 Compile the kernel

    $ cd goldfish/
    $ ls

      but there is no files now.

      checkout for the real codes.

    $ git checkout 
    android-goldfish-2.6.29          master                           origin/linux-goldfish-3.0-wip 
    android-goldfish-3.4             origin/android-goldfish-2.6.29   origin/master 
    HEAD                             origin/android-goldfish-3.4      
    linux-goldfish-3.0-wip           origin/HEAD           

      choose the version you want

    $ git checkout android-goldfish-2.6.29 
    Checking out files: 100% (26821/26821), done.
    Branch android-goldfish-2.6.29 set up to track remote branch android-goldfish-2.6.29 from origin.
    切换到一个新分支 'android-goldfish-2.6.29'

      then

    $ ls
    arch     CREDITS        drivers   include  Kbuild  MAINTAINERS  net             samples   sound
    block    crypto         firmware  init     kernel  Makefile     README          scripts   usr
    COPYING  Documentation  fs        ipc      lib     mm           REPORTING-BUGS  security  virt

      compile the kernel

      1) crrect the Mafile

    $ vim Makefile
    //correct the following messenge
    #ARCH           ?= $(SUBARCH)
    ARCH            ?= arm
    CROSS_COMPILE   ?= arm-none-linux-gnueabi-

      2) make menuconfig

    $ make menuconfig
    >> Save an Alternate Configuration File       

      3) make 

      TIPS : there would be error without libnucurses

    $ sudo apt-get install libncurses5 libncurses5-dev
    // in AMD64
    $ sudo apt-get install libncurses5 libncurses5-dev
    $ sudo apt-get install ia32-libs 
    $ sudo apt-get install lib32ncurses5 lib32ncurses5-dev

      

      

     

      

      

  • 相关阅读:
    一个FLAG #03# 蛇形填数
    一个FLAG #02# 逆序输出
    一个FLAG #01# 重学C/C++以及算法
    MAVLink笔记 #01# 维基百科翻(译)
    编译原理 #04# 中缀表达式转化为四元式(JavaScript实现)
    Java开发:手机电话号码校验
    解决java poi循环遍历行getLastRowNum出现不准确的问题
    Redis的安装和简单测试
    JS解析xml字符串,并把xml展示在HTML页面上
    解决cxf+springmvc发布的webservice,缺少types,portType和message标签的问题
  • 原文地址:https://www.cnblogs.com/plinx/p/3150993.html
Copyright © 2020-2023  润新知