Ubuntu 虚拟机android平台搭建

一、ubuntu虚拟机的安装和配置

第一步:下载ubuntu

下载ubuntu地址:

LINUX3个版本,分别是serverdesktopalternate,server版本是没有图形界面服务器安装版本。alternate适合专业个性化定制安装版本,不推荐初学者用这个版本desktop是定制好的,傻瓜型安装,简单方便。

http://releases.ubuntu.com/12.04/

或者

http://mirrors.ustc.edu.cn/ubuntu-releases/

选择的是64位的镜像:

ubuntu-12.04-desktop-amd64.iso

http://releases.ubuntu.com/12.04/ubuntu-12.04-desktop-amd64.iso

或者

http://mirrors.ustc.edu.cn/ubuntu-releases//precise/ubuntu-12.04-desktop-amd64.iso

我选的是64位的

第二步:在虚拟机上安装ubuntu

1、安装vmware8.0.2

2、安装ubuntu

下载ubuntu-ubuntu-12.04-desktop-amd64,file-->new virtualmachine菜单VM--》setting-->hardware--》CD/DVD-->use ISO image file选择ubuntu-12.04-desktop-amd64,一步一步安装(切记,先创建虚拟机,然后启动之后在安装ubuntu),安装过程要输入主机名字XXXX和登录用户名XXXX和登录密码,创建虚拟机可以使用20G硬盘,之后再挂载50G硬盘的大分区(后面详细介绍),大概两个小时安装完成。

第三步:ubuntu的配置

1、配置root登陆

Ubuntu 系统默认 root 用户是不能登录的,密码也是空的。如果要使用 root 用户登录,必须先为 root 用户设置密码。

1、打开终端,输入:sudo passwd root 然后按回车。此时会提示你输入密码,在 password: 后输入你现在登录的用户的密码,然后系统提示你输入新的 UNIX 密码,Enter new UNIX password: 这里输入你想为 root 设置的密码,要输入两次,此时系统会出现密码设置成功的提示

2、root 登陆,su root

3、备份一下lightgdmcp-p /etc/lightdm/lightdm.conf /etc/lightdm/lightdm.conf.bak

4、vi/etc/lightdm/lightdm.conf

5、增加:greeter-show-manual-login=true修改后为:

[SeatDefaults]

greeter-session=unity-greeter

user-session=ubuntu

greeter-show-manual-login=true

重启登陆即可。已经可以输入root

2Ubuntu root登录没有声音

这个问题的根本原因是使用root登录后pulseaudio没有启动。

将root加到pulse-access组:

sudo usermod -a -G pulse-access root然后修改配置文件/etc/default/pulseaudio,将PULSEAUDIO_SYSTEM_START设为1

3、vi无法正常使用改成vim

sudo apt-get install vim

4、安装nfs服务器

#sudo apt-get install nfs-kernel-server

#sudo mkdir /nfsroot

#sudo chmod 777 /nfsroot -R

#sudo chown nobody /nfsroot -R

#sudo /etc/exports添加如下一行:

/nfsroot*(rw,sync,no_root_squash)

#sudo /etc/init.d/nfs-kernel-server restart

至此,NFS服务器安装成功

5、安装samba

sudoapt-get install samba samba-common

点击菜单ubuntusoftware center, 地址栏输入samba,选择samba软件,点击install进入安装samba,安装好samba后,在菜单有个samba图标,点击弹出samba设置菜单,samba--》add a samba share (+号)--》 create sambashare basic--》directory browser --》file system --》home --》zhenwx /home/zhenwx文件夹共享给zhenwx用户,设置为可以读写(writable visable 打勾)access--》only allow access specific user 前面打勾--》在zhenwx前面打勾sudo smbpasswd -a zhenwx 为samba用户设置密码,否则win7不能够访问

ifconfig看看ip地址192.168.241.136

在windos的地址栏\\192.168.241.136 可以看到zhenwx目录,弹出widows安全对话框,输入samba用户名和密码

6、安装ssh(如果不安装可能会导致win7上的串口登陆连接不上虚拟机)

sudoapt-get install openssh-server openssh-client

7、安装SVN

sudoapt-get install subversion

8、更新

点击下拉菜单dashhome打开dash home,地址栏输入update,弹出菜单 update manager---->install updates下载安装更新。下载150M的更新包和安装,慢慢等待。要打开terminal,按快捷键: Ctrl + Alt + t 即可。

9、创建新的硬盘

1)、启动 VMwareWorkstation,在菜单中选择【VM】‐>【Setting】,弹出 VirtualMachineSetting 对话框,选中”HardDisk (SCSI0:0) ”, 点击下方的【Add】 按钮。 在AddHardwareWizard对话框中选择【下一步】

2)、在HardwareType 对话框中选择”HardDisk”选项,并选择【下一步】 ;选择”Createanewvirtualdisk”,选择【下一步】

3)、在SelectaDiskType对话框中选择”SCSI”,选择【下一步】;在 SpecifyDiskCapacity对话框中选择 DiskSize 为 8GB,并选择”Al l o c a tealldiskspacenow”,选择【下一步】

4)、在SpecifyDiskFile 对话框中,默认选项,选择【完成】;出现创建硬盘进度条

5)、创建完成后,选择 OK。在 VMwareWorkstation 中可以看到已经增加了 HardDisk2。

6)、启动虚拟机,并检测新硬盘。

#fdisk –l

查看是否找到新的硬盘,查看新硬盘代号为/dev/sdb

7)、用fdisk 为新硬盘创建分区,设置分区号为 sdb1

fdisk /dev/sdb

disk 是用来磁盘分区的程序,它采用传统的问答式界面。除下面命令外其它均为回车。

Command(mforhelp):p<=显示分区信息;

Command(mforhelp):n<=新建分区

Commandaction

eextended

pprimarypartition(1‐4)

p<=新建主分区

Partitionnumber(1‐4):1<=分区号为 1,即/dev/sdb1

Command(mforhelp):p<=显示分区信息;

Command(mforhelp):w<=保存退出

8)、将新硬盘格式化为 ext3 文件系统

mkfs –t ext3 /dev/sdb1

查看系统的存储设备信息 fdisk –l出现sdb1即为创建成功

10挂载新的硬盘

1)、创建挂载点,设置为/home/disk1

cd / home

mkdir disk1

2)、手动挂载分区,将新硬盘挂载到/ home /disk1目录

mount /dev/sdb1 / home /disk1

3)、设置开机自动挂载分区

vi /etc/fstab

再最下面增加/dev/sdb1 / home /disk1 ext3defaults 0 0

保存退出

4)、用NFS共享挂载的新硬盘/mnt/disk1。

vi/etc/exports

在最下面添加/mnt/disk1 *(rw,no_root_squash),保存退出,切记,编译博通的android需要no_root_squash选项

重启nfs服务sudo /etc/init.d/nfs-kernel-server restart

11、增加交换分区

1)、首先用命令free查看系统内 Swap 分区大小。
free –m

2)、创建一个 Swap 文件。
mkdir /swap

cd /swap

sudo ddif=/dev/zero of=swapfile bs=1024 count=10000000

上面命令中的 count 即代表swap文件大小。

把生成的文件转换成 Swap 文件
sudo mkswap -f swapfile

3)、激活 Swap 文件

sudo swapon swapfile

4)、如果需要一直保持这个 swap ,可以把它写入 /etc/fstab 文件。

/swapfile/swapfilenone swapfile defaults 0 0

12、手工释放linux内存

/proc是一个虚拟文件系统,我们可以通过对它的读写操作做为与kernel实体间进行通信的一种手段。也就是说可以通过修改/proc中的文件,来对当前kernel的行为做出调整。那么我们可以通过调整/proc/sys/vm/drop_caches来释放内存。操作如下:

# cat/proc/sys/vm/drop_caches
0
首先,/proc/sys/vm/drop_caches的值,默认为0。

# sync
手动执行sync命令(描述:sync 命令运行 sync 子例程。如果必须停止系统,则运行sync 命令以确保文件系统的完整性。sync 命令将所有未写的系统缓冲区写到磁盘中,包含已修改的 i-node、已延迟的块 I/O 和读写映射文件)

# echo 3 >/proc/sys/vm/drop_caches
# cat /proc/sys/vm/drop_caches
3
将/proc/sys/vm/drop_caches值设为3

再来运行free -m命令,会发现现在有效的释放了buffer和cache

二、Andorid环境的配置

第一步、安装软件编译环境

以下步骤都是在ubuntu系统下进行了。

因为是做android开发,一般需要的编译环境除了常规的gcc等外,还需要装能编译java的jdk,安装原理和windows类似,只是在ubuntu下装软件的方法不一样。简单说明一下,ubuntu系统里有一个软件中心,里面列举了服务器上的所有软件,你需要什么软件在里面找到就可以下载安装了,不需要像windows一样到处找软件,而且ubuntu下还可以用命令行安装软件:sudoapt-get install + 软件名称,系统就可以自动去查找软件安装了。

下面步骤是详细的编译环境安装,都在终端(输命令行的地方)里进行:

1、打开终端:CTRL+ALT+T

2、安装常规软件包:

输入:sudoapt-getinstallgitgitkgit-guivalgrindssh

3、安装JDK:

可以到官网去下载,地址是

http://www.oracle.com/technetwork/java/javase/downloads/index.html

sudoadd-apt-repository"debhttp://archive.canonical.comlucidpartner"

sudoapt-getupdate

sudoapt-getinstallsun-java6-jdk

可能需要确认一些协议,按TAB键切换焦点,回车键确定.如果安装的是64位虚拟机,请下载对应的64位软件。

如果自动安装不行的话就手动安装,下面是详细步骤:

sun官网上下载jdk-6u27-linux-x64.bin

移到/opt目录下(opt在文件系统根目录下)

执行chmod +x/opt/jdk-6u27-linux-x64.bin 使该文件变为可执行文件

开始安装sudo./jdk-6u27-linux-x64.bin

4、添加环境变量:

sudo gedit /etc/profile

在文件最后添加

#set java environment

exportJAVA_HOME=/opt/jdk1.6.0_27

exportJRE_HOME=/opt/jdk1.6.0_27/jre

export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH exportPATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH

保存退出。

在终端执行. /etc/profile 使环境变量生效(注意.后有个空格)

在终端输入java -version检测是否已经安装好,如果一切顺利将看到下面信息:

$ java –version

java version "1.6.0_27"

Java(TM) SE Runtime Environment(build 1.6.0_27-b07)

Java HotSpot(TM) Server VM (build20.2-b06, mixed mode)

5、安装常用编译器

这个步骤是关键,必须安装,否则编译会报莫名其妙的错误!!!!!!!!!!!!!!!!

64位系统要安装gcc-multilibg++-multilib,32位系统不需要装

sudoapt-getinstallgit-coregnupgflexbisongperfbuild-essentialzipcurlzlib1g-devlibc6-devlib32ncurses5-devia32-libsx11proto-core-devlibx11-devlib32z-devlibgl1-mesa-devlibc6-dev-i386g++-multilibmingw32tofrodospython-markdownlibxml2-utilslib32readline-gplv2-devgcc-4.5g++-4.5gcc-4.5-multilibg++-4.5-multilib

至此,编译环境搭建完成,接下来是安装集成开发工具

第二步、安装集成开发工具

这里需要两个工具:eclipseandroid_sdk,这两个工具不用从ubuntu的软件中心里找,去官网下,注意选对版本就行了,ubuntu64位的版本

/home/disk1下面创建android文件夹

1、 eclipse

下载地址:

http://www.eclipse.org/downloads/download.php?file=/technology/epp/downloads/release/indigo/SR2/eclipse-jee-indigo-SR2-linux-gtk-x86_64.tar.gz

解压eclipse: tar -zvxf eclipse-jee-indigo-SR2-linux-gtk-x86_64.tar.gz

2、 android_sdk

下载地址:

http://www.eoeandroid.com/sdk/4.0/android-sdk_r17-linux.tgz

解压android sdk : tar -xvf android_sdk.tgz

设置环境变量:

1)打开profile文件

vi/etc/profile

2)在最后加入

export ANDROID_HOME=/home/disk1/android/android-sdk-linux

export PATN=$PATH:$ANDROID_HOME/tools

保存退出。

3)在终端执行. /etc/profile 使环境变量生效(注意.后有个空格)

在终端输入export如果能看到:

declare-x ANDROID_HOME="/home/disk1/android/android-sdk-linux"

PATH里有/home/disk1/android/android-sdk-linux/tools即为配置成功。

第三步、博通android开发环境的搭建(适用于broadcom芯片)

在上面几步已经搭建好普通android编译环境的同时,博通环境需要做一下操作:

1、安装需要使用的软件

sudoapt-get install git-core gnupg flex bison gperf libsdl-dev libesd0-devlibwxgtk2.6-dev build-essential zip curl libncurses5-dev zlib1g-dev

如果是64位系统还需要

sudoapt-get install libc6-dev-i386(libc6-dev-amd64 if AMD CPU)

sudoapt-get install g++-multilib lib32ncurses5-dev lib32z1-dev

2、更改ubuntu的shell

Ubuntu系统的默认shell是dash,需要修改成bash。

sudodpkg-reconfigure dash,然后在弹出的窗口中选择“no”

3、安装博通的交叉编译环境

cd/opt/

mkdir toolchains

chmod777 -R toolchains/

cp/home/disk1/android-bcm/MIPSAndroid_Phase2.0/stbgcc-4.5.3-1.3.tar.bz2/opt/toolchains/

cdtoolchains/

tarjxvf stbgcc-4.5.3-1.3.tar.bz2

4、InstallKernel Source(如果不需要编译,此步可以跳过)

1)、

cd/opt/

mkdirkernel

cd/opt/kernel

mkdirandroid

cd/opt

chmod777 -R *

cp/home/disk1/android-bcm/MIPSAndroid_Phase2.0/stblinux-2.6.37-2.8.tar.bz2/opt/kernel/andorid/

cd kernel/android

tar jxvf stblinux-2.6.37-2.8.tar.bz2

cp/home/disk1/android-bcm/MIPSAndroid_Phase2.0/uclinux-rootfs-2.6.37-2.8.tar.bz2/opt/kernel/andorid/

cd /opt/kernel/android

tar jxvfuclinux-rootfs-2.6.37-2.8.tar.bz2

exportPATH=/opt/toolchains/stbgcc-4.5.3-1.3/bin:$PATH

cd uclinux-rootfs/

make vmlinuz-7231b0-android

编译完之后生成的文件(vmlinuz-7231b0-android)在uclinux-rootfs/images/下面

5、编译android

首先在/home/disk1下面创建public文件夹,

cd/home/disk1

mkdir public

chmod 777 -R public/

cd public/

cp/home/disk1/android-bcm/MIPSAndroid_Phase2.0/bcm_mipsgingerbread20120321.tar.bz2/home/disk1/public/

tar jxvfbcm_mipsgingerbread20120321.tar.bz2

把7231的底层代码copy到/home/disk1/public/bcm_mipsics20120321下面,解压

cp refsw_release_97231_20120312.src.tgz/home/disk1/public/bcm_mipsics20120321/

tar xvfrefsw_release_97231_20120312.src.tgz

开始编译

cdAppLibs/opensource/android/build/

修改build-prescript文件,使各项路径都符合要求

如果使用之前编译好的nexus,USE_PREBUILT_NEXUS=y前的#号去掉

保存退出

然后,输入

source build-prescript

make install

此过程会生成android-rfs,文件系统,在

Applibs/opensource/android/android-rfs路径

初次编译,因为要解压很多东西,时间会比较长,中间不要间断,如果间断,会导致编译出错。

更多相关文章

  1. 为Android加入busybox工具
  2. Android(安卓)SDK安装方法
  3. Android(安卓)之ndk开发
  4. android环境搭建
  5. 如何调试跟踪Android源代码
  6. zbar android sdk源码编译
  7. 【转】Android背景选择器Selector详解
  8. Android(安卓)SDK安装教程
  9. Ubuntu11.10下编译android内核源码

随机推荐

  1. 解决通知关闭Toast失效问题
  2. Rexsee API介绍:Android照片、视频拍摄,Cam
  3. 【转】Android内核开发:如何统计系统的启
  4. android TextView 中的字体
  5. Android的Handler Looper Message机制应
  6. android studio运行编译速度慢的解决方法
  7. Android数据存储方案ContentProvider存储
  8. BroadcastReceiver入门
  9. Android(安卓)安卓Unable to find method
  10. Android自定义控件——仿ios开关按钮