Android编译环境的配置

来源:互联网 发布:7号信令网络组成 编辑:程序博客网 时间:2024/06/06 01:27

r9/myandroidr9/bootable/bootloader/uboot-imx# 

source /opt/android-env 

 

root@ubuntu:/mnt/vdisk/software/imx-android-

r9/myandroidr9/bootable/bootloader/uboot-imx#

make distclean 

root@ubuntu:/mnt/vdisk/software/imx-android-

r9/myandroidr9/bootable/bootloader/uboot-imx#

make mx51_bbg_android_config 

root@ubuntu:/mnt/vdisk/software/imx-android-

r9/myandroidr9/bootable/bootloader/uboot-imx#

make 

当编译完成后,会生成

u-boot.bin

文件。

 

The above u-boot.bin has 1024KB padding at the head of file,for example first 

executable instruction is at the offset 1KB. If you want to generate a no-padding 

image, you need do below dd command in host. 

root@ubuntu:/mnt/vdisk/software/imx-android-

r9/myandroidr9/bootable/bootloader/uboot-imx# 

sudo dd if=./u-boot.bin of=./u-

boot-no-padding.bin bs=1024 skip=1 

root@ubuntu:/mnt/vdisk/software/imx-android-

r9/myandroidr9/bootable/bootloader/uboot-imx#

sudo sync 

 

 

 

(9).

编译

Kernel Image: 

 

 

 

 

 

[1].

转到相应目录:

 

 

 

 

 

root@ubuntu:/mnt/vdisk/software/imx-android-

r9/myandroidr9/bootable/bootloader/uboot-imx# 

cd /mnt/vdisk/software/imx-

android-r9/myandroidr9/kernel_imx/ 

 

 

 

[2].

设置

mkimage

的路径

root@ubuntu:/mnt/vdisk/software/imx51-android-r9/myandroidr9/kernel_imx# 

export PATH=/mnt/vdisk/software/imx51-android-

r9/myandroidr9/bootable/bootloader/uboot-imx/tools:$PATH 

 

 

[3].

开启编译

root@ubuntu:/mnt/vdisk/software/imx51-android-

r9/myandroidr9/kernel_imx#

make imx5_android_defconfig 

root@ubuntu:/mnt/vdisk/software/imx51-android-

r9/myandroidr9/kernel_imx#

make uImage 

 

 

[4].

当编译完成时:

 

With a successful build in either of the above case, the generated kernel image is 

/mnt/vdisk/software/imx51-android-

r9/myandroidr9/kernel_imx/arch/arm/boot/uImage.

 

 

 

Generate uImage to be loaded by u-boot 

 

T

o generate uImage from the built zImage, generate a uImage based on the above 

zImage as follows: 

 

root@ubuntu:/mnt/vdisk/software/imx-android-r9/myandroidr9/kernel_imx# cd 

arch/arm/boot/ 

root@ubuntu:/mnt/vdisk/software/imx-android-

r9/myandroidr9/kernel_imx/arch/arm/boot#

/mnt/vdisk/software/imx51-android-

r9/myandroidr9/bootable/bootloader/uboot-imx/tools/mkimage -A arm -O linux -T 

kernel -C none -a 0x90008000 -e 0x90008000 -n "Android Linux Kernel" -

d ./zImage ./uImage 

 

 

(10).

编译

Android image

 

 

 

 

 

[1].

跳转到相应目录

root@ubuntu:/mnt/vdisk/software/imx-android-

r9/myandroidr9/kernel_imx/arch/arm/boot# 

cd /mnt/vdisk/software/imx-android-

r9/myandroidr9/ 

 

 

[2].

开始编译

root@ubuntu:/mnt/vdisk/software/imx-android-r9/myandroidr9#

make PRODUCT-

imx51_bbg-eng 2>&1 | tee build_imx51_bbg_android.log 

 

 

 

[3].

等待编译完成。

 

For i.MX51 BBG build, the following outputs are generated as default under 

myandroid/out/target/product/imx51_BBG: 

 

 

root/

 : root file system (including init, init.rc, etc). Mounted at 

/

 

 

 

system/

: Android system binary/libraries. Mounted at 

/system

 

 

 

data/

: Android data area. Mounted at 

/data

 

Above three folders can be used to create your Android file system for NFS 

mounting, i.e. 

root/

/

system/

/system

data/

/data 

 

recovery/

: root file system when booting in "recovery" mode. Not directly 

used. 

 

 

ramdisk.img

: Ramdisk image generated from "root/". Not directly used. 

 

 

system.img:

 EXT3 image generated from "system/". Can be programmed to 

"SYSTEM" partition on SD card with "dd" 

 

 

userdata.img:

 EXT3 image generated from "data/". 

 

 

recovery.img:

 EXT3 image generated from "recovery/". Can be programmed 

to "RECOVERY" partition on SD card with "dd" 

 

 

 

[4].

Generate uRamdisk to be loaded by uboot

 

 

 

 

 

The following steps generate a RAMDISK image recognized by uboot: 

 

root@ubuntu:/mnt/vdisk/software/imx-android-r9/myandroidr9# 

cd 

/mnt/vdisk/software/imx-android-r9/myandroidr9/out/target/product/imx51_bbg/ 

root@ubuntu:/mnt/vdisk/software/imx-android-

r9/myandroidr9/out/target/product/imx51_bbg#

mnt/vdisk/software/imx-android-

r9/myandroidr9/bootable/bootloader/uboot-imx/tools/mkimage 

-

A arm -O linux -T 

ramdisk -C none -a 0x90308000 -n "Android Root Filesystem" -

d ./ramdisk.img ./uramdisk.img 

 

 

至此,编译完成。

 

 

 

 

 

 

 

 

.

远程操作需要安装的软件

 

 

1.Ubuntu

默认是没有安装

SSH2

软件的,所以我们要想远程登陆,必须首先安装

SSH2: 

root@ubuntu:/# 

sudo apt-get install ssh2 

安装完成后,系统将打开

22

端口,这样就可以在远程登陆操作系统了。

 

 

2.

为了在远程操作服务器上的共享文件,我们安装了

samba

软件:

 

root@ubuntu:/# 

sudo apt-get install samba smbfs samba-common smbclient 

ubuntu10.04

上要想启动

samba,

我们必须再安装

samba4: 

root@ubuntu:/# 

sudo apt-get install samba4 

 

3.

安装完成后,我们必须更改

samba

的配置文件:

 

root@ubuntu:/# 

vim /etc/samba/smb.conf 

 

 

(1).

修改

security

属性:

security = user 

 

 

(2).

添加共享文件的显示属性:

 

 

[vdisk] 

 

 

comment = Android SoftWare 

 

 

path = /mnt/vdisk 

 

 

browseable = yes 

 

 

read only = no 

 

 

guest ok = no 

 

 

create mask = 0x700 

[opt] 

 

 

comment = Android Environment 

 

 

path = /opt 

 

 

browseable = yes 

 

 

read only = no 

 

 

guest ok = no 

 

 

create mask = 0x700 

(3).

创建

smaba

用户:

 

root@ubuntu:/#

smbpasswd -a root 

系统要求输入密码,这里设置的密码跟

linux

超级用户是一致的,当然也可以不一致。

 

(4).

重新启动

samba

 

root@ubuntu:/#sudo /etc/init.d/samba4 restart 

至此,

samba

服务器已经设置完成,可以在远程

window

下登陆服务器并查看和修改共享

文件夹里面的文件了。远程登陆的时候需要用户名和密码,匿名用户不能登陆。

 

Window

下登陆方式为

;\\+(ip

地址

). 

 

4.

为了使服务器的

IP

不会自动变更,必须给服务器配置静态的

IP

地址。

 

 

 

 

 

 

(1).

首先备份系统默认的配置文件

 

 

root@ubuntu:/# cp -i /etc/network/interfaces 

 

/etc/network/interfaces_backup 

 

 

 

 

(2).

更改此配置文件

 

 

 

 

 

root@ubuntu:/# 

vim /etc/network/interfaces 

 

 

 

 

 

 

 

把此文件的内容更改为如下所示:

 

#auto lo 

#iface lo inet loopback 

auto eth0 

iface eth0 inet static 

address 192.168.1.105 

netmask 255.255.255.0 

network 192.168.0.0 

broadcast 192.168.1.255 

gateway 192.168.1.1 

 

 

(3).

重新启动

network: 

 

 

 

 

 

 

 

root@ubuntu:/# sudo /etc/init.d/networking restart 

 

 

 

 

注意:如果你采用远程登陆操作,将会自动断开连接。


 

 

 

 

 

 

 

 

 

 

Android 

ubuntu10.04 

编译环境的配置

 

 

.

软件的安装

 

1.Linux

系统是安装在

Vmware

中,所以必须下载

Vmware

,这里采用的版本为

 

 

 

 

Vmware.Workstation.v7.1.0.Lite.rar 

下载地址:

(

暂时没有找到

安装完

vmware

后,可以让它自动检测新版本并升级。

 

 

2.

下载

Ubuntu

,这里采用的版本是

10.04

,文件名为

 

 

 

 

 

 

 

 

ubuntu-10.04-desktop-i386.iso 

下载地址为:

http://releases.ubuntu.com/lucid/

 

3.

下载完成后,安装

ubuntu10.04,

由于采用

vmware

安装,故只需简单设置即可,其他采

用默认设置安装,需要注意的是

vmware

的空间应该分配大一些(最好是大于

60GB

),不

然,以后要扩展空间时比较麻烦。

 

 

4.Ubuntu

的默认安装的用户不是超级用户

root,

因此要使用超级用户

root

,必须通过下面

的命令来开启:

 

 

 

(1).

使用默认用户进入

ubuntu

的界面,打开

shell, 

 

 

(2).

shell

中输入命令:

sudo passwd root ,

然后按确认键;

 

 

 

(3).

按下确认键后,系统要求你设置

root

用户的密码,连续输入

2

次后,

root

用户的密

码设置成功;

 

 

 

 

(4).

重新启动系统即可使用超级用户登陆

 

 

5.

使用超级用户登陆后,开始配置

Android

的编译环境:

 

 

 

 

(1).

由于

ubuntu

的软件中心提供的

 

java6

,而编译

Android

需要的是

java5,

为了保

证采用命令安装时系统能够自动找到需要的

java5

,我们必须修改

apt

里面的

sources.list: 

 

root@ubuntu:/# 

 

vim /etc/apt/sources.list 

 

 

在该文件末添加如下网址:

 

 

 

# update the sun-java5-jdk from as follow: 

deb http://ubuntu.srt.cn/ubuntu/ 

 

jaunty multiverse 

deb http://ubuntu.srt.cn/ubuntu/ 

 

jaunty-updates multiverse 

 

 

 

(2).

采用命令安装所需软件:

 

 

root@ubuntu:/# sudo apt-get install git-core gnupg sun-java5-jdk flex bison gperf 

libsdl-dev libesd0-dev libwxgtk2.6-dev build-essential zip curl libncurses5-dev 

zlib1g-dev 

 

 

 

(

由于

apt-get

能够自动区分命令,故采用一条命令即可

.

此命令安装的软件有

 

git-core gnupg sun-java5-jdk flex bison;gperf libsdl1.2-dev 

libesd0-dev 

libwxgtk2.6-dev 

build-essential 

zip 

curl libncurses5-dev zlib1g-dev;

当安装到

 

sun-java5-jdk

时,需要手动点击协议。

 

(3).

等待

(2)

完成后,可以再安装一个

Valgrind

meld

软件

(

也可以不安装):

 

root@ubuntu:/# sudo apt-get install valgrind 

 

root@ubuntu:/# sudo apt-get install meld 

至此,编译环境所需软件全部安装完成。

 

 

 

.Android

的编译

 

 

 

1.

由于软件是直接从

Freescale

直接拷贝,故不需要下载和更新

patch

,我们可以进入相

应目录直接编译。

 

 

 

 

 

 

(1).

/mnt

中建立相应文件夹

 

 

 

root@ubuntu:/# 

mkdir -p /mnt/vdisk/software/imx-android-r9 

 

 

 

 

 

(2).

拷贝文件:

 

 

 

 

root@ubuntu:/#

 cp -i /mnt/hgfs/LinuxFile/Android/myandroid_r9.tgz 

/mnt/vdisk/software/imx51-android-r9/ 

 

 

 

(3).

解压文件:

 

 

 

root@ubuntu:/# 

cd /mnt/vdisk/software/imx51-android-r9/ 

 

 

root@ubuntu:/mnt/vdisk/software/imx51-android-r9# 

tar -zvxf myandroid_r9.tgz 

 

 

 

(4).

解压完成后,为了方便区分版本,我们需要重新命名下

 

 

 

 

root@ubuntu:/mnt/vdisk/software/imx51-android-r9# 

mv myandroid 

myandroidr9 

 

 

 

(5).

解压文件

imx-android-r9.tar.gz 

 

 

 

 

 

root@ubuntu:/mnt/vdisk/software/imx51-android-r9# 

tar -zvxf 

 

imx-android-

r9.tar.gz 

 

 

 

(6).

安装

tools: 

 

 

 

 

root@ubuntu:/mnt/vdisk/software/imx-android-r9# 

cd imx-android-r9/tool/ 

 

 

 

root@ubuntu:/mnt/vdisk/software/imx-android-r9/imx-android-r9/tool# 

tar xzvf 

gcc-4.1.2-glibc-2.5-nptl-3.tar.gz -C /opt 

 

 

 

 

(7).

编写环境变量:

 

 

 

 

我们在

opt

上建立一个

android-env

的文件,并把如下内容拷贝到该文件中:

 

 

 

 

root@ubuntu:/mnt/vdisk/software/imx-android-r9/imx-android-r9/tool# 

cd 

/opt/ 

 

 

 

root@ubuntu:/opt# 

vim android-env 

 

 

 

 

#!/bin/bash 

 

 

 

 

export ARCH=arm 

 

 

 

 

export CROSS_COMPILE=/opt/gcc-4.1.2-glibc-2.5-nptl-3/arm-none-linux-

gnueabi/bin/arm-none-linux-gnueabi- 

 

 

 

 

export PATH=/opt/gcc-4.1.2-glibc-2.5-nptl-3/arm-none-linux-

gnueabi/bin:$PATH 

 

 

 

 

 

 

root@ubuntu:/opt#

chmod 

 

755 android-env 

 

 

 

(8).

编译

uboot

 

 

root@ubuntu:/opt# 

cd /mnt/vdisk/software/imx-android- 

 

r9/myandroidr9/bootable/bootloader/uboot-imx/ 

root@ubuntu:/mnt/vdisk/software/imx-android-

r9/myandroidr9/bootable/bootloader/uboot-imx# 

source /opt/android-env 

 

root@ubuntu:/mnt/vdisk/software/imx-android-

r9/myandroidr9/bootable/bootloader/uboot-imx#

make distclean 

root@ubuntu:/mnt/vdisk/software/imx-android-

r9/myandroidr9/bootable/bootloader/uboot-imx#

make mx51_bbg_android_config 

root@ubuntu:/mnt/vdisk/software/imx-android-

r9/myandroidr9/bootable/bootloader/uboot-imx#

make 

当编译完成后,会生成

u-boot.bin

文件。

 

The above u-boot.bin has 1024KB padding at the head of file,for example first 

executable instruction is at the offset 1KB. If you want to generate a no-padding 

image, you need do below dd command in host. 

root@ubuntu:/mnt/vdisk/software/imx-android-

r9/myandroidr9/bootable/bootloader/uboot-imx# 

sudo dd if=./u-boot.bin of=./u-

boot-no-padding.bin bs=1024 skip=1 

root@ubuntu:/mnt/vdisk/software/imx-android-

r9/myandroidr9/bootable/bootloader/uboot-imx#

sudo sync 

 

 

 

(9).

编译

Kernel Image: 

 

 

 

 

 

[1].

转到相应目录:

 

 

 

 

 

root@ubuntu:/mnt/vdisk/software/imx-android-

r9/myandroidr9/bootable/bootloader/uboot-imx# 

cd /mnt/vdisk/software/imx-

android-r9/myandroidr9/kernel_imx/ 

 

 

 

[2].

设置

mkimage

的路径

root@ubuntu:/mnt/vdisk/software/imx51-android-r9/myandroidr9/kernel_imx# 

export PATH=/mnt/vdisk/software/imx51-android-

r9/myandroidr9/bootable/bootloader/uboot-imx/tools:$PATH 

 

 

[3].

开启编译

root@ubuntu:/mnt/vdisk/software/imx51-android-

r9/myandroidr9/kernel_imx#

make imx5_android_defconfig 

root@ubuntu:/mnt/vdisk/software/imx51-android-

r9/myandroidr9/kernel_imx#

make uImage 

 

 

[4].

当编译完成时:

 

With a successful build in either of the above case, the generated kernel image is 

/mnt/vdisk/software/imx51-android-

r9/myandroidr9/kernel_imx/arch/arm/boot/uImage.

 

 

 

Generate uImage to be loaded by u-boot 

 

T

o generate uImage from the built zImage, generate a uImage based on the above 

zImage as follows: 

 

root@ubuntu:/mnt/vdisk/software/imx-android-r9/myandroidr9/kernel_imx# cd 

arch/arm/boot/ 

root@ubuntu:/mnt/vdisk/software/imx-android-

r9/myandroidr9/kernel_imx/arch/arm/boot#

/mnt/vdisk/software/imx51-android-

r9/myandroidr9/bootable/bootloader/uboot-imx/tools/mkimage -A arm -O linux -T 

kernel -C none -a 0x90008000 -e 0x90008000 -n "Android Linux Kernel" -

d ./zImage ./uImage 

 

 

(10).

编译

Android image

 

 

 

 

 

[1].

跳转到相应目录

root@ubuntu:/mnt/vdisk/software/imx-android-

r9/myandroidr9/kernel_imx/arch/arm/boot# 

cd /mnt/vdisk/software/imx-android-

r9/myandroidr9/ 

 

 

[2].

开始编译

root@ubuntu:/mnt/vdisk/software/imx-android-r9/myandroidr9#

make PRODUCT-

imx51_bbg-eng 2>&1 | tee build_imx51_bbg_android.log 

 

 

 

[3].

等待编译完成。

 

For i.MX51 BBG build, the following outputs are generated as default under 

myandroid/out/target/product/imx51_BBG: 

 

 

root/

 : root file system (including init, init.rc, etc). Mounted at 

/

 

 

 

system/

: Android system binary/libraries. Mounted at 

/system

 

 

 

data/

: Android data area. Mounted at 

/data

 

Above three folders can be used to create your Android file system for NFS 

mounting, i.e. 

root/

/

system/

/system

data/

/data 

0 0
原创粉丝点击