Ubuntu 虚拟机android平台搭建总结
Ubuntu 虚拟机android平台搭建
一、ubuntu虚拟机的安装和配置
第一步:下载ubuntu
下载ubuntu地址:
LINUX有3个版本,分别是server,desktop,alternate,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、备份一下lightgdm: cp-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了
2、Ubuntu 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
至此,编译环境搭建完成,接下来是安装集成开发工具
第二步、安装集成开发工具
这里需要两个工具:eclipse和android_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路径
初次编译,因为要解压很多东西,时间会比较长,中间不要间断,如果间断,会导致编译出错。
更多相关文章
- 为Android加入busybox工具
- Android(安卓)SDK安装方法
- Android(安卓)之ndk开发
- android环境搭建
- 如何调试跟踪Android源代码
- zbar android sdk源码编译
- 【转】Android背景选择器Selector详解
- Android(安卓)SDK安装教程
- Ubuntu11.10下编译android内核源码