(1) VMware的安装包
VMware至少要用10.0版本,这里用的是最新的VMware12版本,这个版本对USB3.0的支持更加完善稳定了,不升级也是可以使用的。关于VMware的安装和升级这里不再介绍,读者可以查阅相关资料。
(2) Ubuntu的镜像文件
官方推荐使用Ubuntu 14.04 64bit或者更新的版本作为开发环境。有需要文件的可以联系我。
(3) Windows系统
推荐用win7 64位旗舰版,自己电脑的物理内存最少要有8GB,因为我们分配给虚拟机的内存至少要有4GB。而且至少需要80GB的磁盘空间,Ubuntu系统需要20GB,所以某个磁盘的剩余空间至少要有100GB,才可以作为整个虚拟机的虚拟硬盘。
(1) 打开安装好的VMware,点击“文件”,选择“新建虚拟机”,如图1-1所示。
(2) 之后勾选“自定义(高级)”选项,点击“下一步”,如图 1-2 所示。
(3) 到了选择虚拟机兼容性的时候选择你系统里最高版本的虚拟机即可,默认就是最高版本的,然后“下一步”,如图 1-3 所示。
图 1-3
(4)在安装客户机操作系统界面选择“稍后安装操作系统”,然后点击“下一步”,如图 1-4 所示。
图 1-4
(5)在选择客户机操作系统界面,客户及操作系统选择“Linux”,版本选择“Ubuntu 64 位”,点击“下一步”,如图 1-5 所示。
图 1-5
(6)到了命名虚拟机界面,在“虚拟机名称”输入框里给自己的虚拟机起一个酷炫的名字,笔者起的名字是“JackAndroid”,在位置里指定你要把你的虚拟机放到 windows 下的什么位置,当然是放到一个空间很大的磁盘下,前面说过了,虚拟机至少要有 100GB 的空间,所以要放在那个剩余空间至少 100GB 的磁盘的某个文件夹下,可以点击旁边的“浏览”按钮选择具体的磁盘和文件夹,这里放到了 E:\NewUbuntu 目录下,点击“下一步”,如图 1-6
图 1-6
(7)在处理器配置界面,处理器数量一般都是 1,表示你只有一个 CPU,每个处理器的核心数量则要根据自己的处理器情况来配置,比如笔者的是 i5-4570 是四核的台式机 CPU,所以选择 4,然后点击“下一步”,如图 1-7 所示。
图 1-7
8) 到了虚拟机内存配置界面,我们至少要为虚拟机分配 4GB 的内存,显然分配得越多越好,由于笔者的电脑有 16GB 的物理内存,所以笔者给虚拟机分配了 8GB 的内存,然后然后点击
“下一步”,如图 1-8 所示。
图 1-8
9) 在网络类型设置界面,我们选择“使用桥接网络”,然后点击“下一步”,如图 1-9 所示。
图 1-9
10) 在 IO 控制器选择界面,我们选择“LSI Logic”类型,然后点击“下一步”,如图 1-10 所示。
图 1-10
(11)在选择虚拟磁盘类型的时候,选择“SCSI”类型即可,然后然后点击“下一步”,如图 1-
11 所示。
图 1-11
(12)在选择磁盘界面,选择“创建新虚拟磁盘”,然后然后点击“下一步”,如图 1-12 所示。
图 1-12
(13)在指定磁盘容量界面,指定我们要为Ubuntu分配的虚拟磁盘大小,至少要分配100GB。
之前我把虚拟机新建在 E 盘的 NewUbuntu 目录下,所以默认情况下,新建的虚拟磁盘也在该目录,而我的 E 盘有 300GB 的剩余空间,所以分配了 200GB 给 Ubuntu 用。这里有必要说一下,所谓的虚拟磁盘,实际上在 windows 下是一个文件,这个文件就虚拟成一块硬盘给虚拟机里的操作系统使用。而且虽然我们指定了 200GB 的空间用作虚拟磁盘,但是我的 windwos 系统并不会立即丢失掉 200GB 的硬盘,他只是新建了一个相当小的.vmdk 文件,这个文件会随着你在虚拟机里面存放数据的增多而增大,当他增大的时候你的 windows 下的可用硬盘空间就会随着减小。而这个文件最多只能增大到 200GB,这就是前面指定的 200GB 的意义,他是一个最大值。而且当你的虚拟机使用了一定的空间来存放数据以后,你的 windows 下的硬盘就减少一定的空间,当你在虚拟机把文件删除以后,你的虚拟机的可用硬盘空间是会增大相应的文件容量,但是你的 windows 的可用硬盘空间却不会增大回来了,因为 vmdk 文件只会增大不会减小。这里再次强调至少要分配 100GB 的空间给虚拟机,而且勾选“将虚拟磁盘存储为单个文件”,会提升虚拟磁盘的性能,然后然后点击“下一步”,如图 1-13 所示。
图 1-13
(14) 指定磁盘文件,就是给前面所说的vmdk文件命名,默认情况是和虚拟机名字一样的,我们使用默认的就好,之后点击“下一步”,如图1-14所示。
(15) 最后在已准备好创建虚拟机界面,我们点击“完成”即可在 VMware 里发现多了刚刚创建的虚拟机,如图 1-15 所示的主界面。但是现在的虚拟机还不算真正创建好,这里只是虚拟好了相关硬件,还需要我们去安装 Ubuntu
图 1-14
图 1-15
(16)点击图 1-15 里面的“CD/DVD”选项,在新弹出的“虚拟机设置”子窗口中,在右侧“连接”栏目下,勾选“使用 ISO 映像文件”,点击“浏览”按钮找到之前准备好的 Ubuntu 镜像文件打开,之后回到虚拟机设置界面,点击“确定”按钮则可以返回到 VMware 主界面,如图 1-
16 所示。这一步好比设定 BIOS 指定虚拟系统的启动设备。
图 1-16
(17)点击主界面的“开启此虚拟机”,则可以进入操作系统的安装环节,这一步好比按下了虚拟系统的开机键准备装操作系统,如图 1-17 所示。
图 1-17
(18)在开启虚拟机以后,他会提示你当前系统的可移动设备情况以及询问你是否安装好系统的提示,这时候我们依次点击“确定”和关掉相关提示窗口即可,如图 1-18 所示。
图 1-18
(19)系统会自动如图 1-19 所示的画面,我们默认使用 English,鼠标点击“Install Ubuntu” 按钮。
图 1-19
(20)在准备安装 Ubuntu 界面,不要勾选“在安装时更新”,但是可以选择勾选上“安装第三方软件”选项,然后点击“continue”按钮,如图 1-20 所示。
图 1-20
(21)在安装类型界面选择“something else”选项,表示自定义安装,也就是我们手动分区,不让它自动分区,之后点击“continue”,如图 1-21 所示。
图 1-21
(22)点击图 1-22 所示的“New Partion Table”按钮,会弹出新对话框问你是否确定要格式化磁盘创建新分区表,这时候我们点击“continue”按钮,表示要继续创建分区表,之后将会多出 free space 的栏目。
图 1-22
(23)点击新创建出来的“free space”,然后再点击下方的“+”号按钮,会弹出创建新分区的对话框,我们首先创建的是boot分区,所以我们给boot分区200MB的空间,就好比BIOS、
Bootloader 要的空间,是一个引导程序所需的空间,不需要太大,200MB 足矣。需要注意的是,Ubuntu 默认没有开启小键盘,所以输入数字的时候要手动开启小键盘。挂载点选择挂载到/boot,选择分区类型位主分区(primary),新分区的开始位置是磁盘开始的位置,文件系统选择 ext4 类型,具体如图 1-23 所示。点击“OK”按钮就可以创建好 boot 分区了。
图 1-23
(24)接下来创建 swap 分区,swap 分区的作用就是用来进行内存交换,就是说,有时候某些程序会把大量数据放到物理内存里面去,但是后来这些程序又不经常使用这些数据,导致物理内存有用的容量就变小了,影响整个系统的性能,所以就用磁盘模拟内存,这时候磁盘就会那一部分空间模拟内存,这部分磁盘空间就是我们说的 swap 分区,将那些在内存里暂时不用的数据转移到 swap 分区,这样可用的内存就变大了,系统性能提高了,要用那些数据的时候再从 swap 倒进内存给相关程序使用,这就是内存交换的大致过程。我们还是先点击“free space”,然后点击“+号”按钮,之后选择文件系统类型(use as条目)是swap area,挂载点选项会自动消失,同样我们选择分区类型是主分区,分区大小最好设置为你给虚拟机分配内存的 1.5 至 2 倍,比如说你给虚拟机分配的是 4GB 的内存,那么 swap 最好是 6GB 大小,但事实上,当你的物理内存(这里的物理内存指 Ubuntu 能使用的内存,就是前面给虚拟机分配的内存,不是真正的你整个系统的物理内存)大于 4GB 的时候,swap 分区其实意义不大了,内存如此大就不需要进行内存交换了,swap 分区实际上是针对 4GB 以下的内存才能体现它的价值,由于笔者之前给虚拟机分配的是 8GB 内存,实际上可以不分配 swap 分区了,但是为了符合 Linux 系统的分区原则,笔者在这里给了他将近 12GB 的 swap 分区,具体可参考如图 1-24 所示,点击点击“OK”按钮就可以创建好 swap 分区了。
图 1-24
(25)依次点击“freespace”、“+”号,创建根分区,选择挂载点位/,然后选择为主分区,文件系统类型也是ext4类型,size就是用剩余的所有free space空间,点击“OK”按钮即可创建根分区,如图1-25所示。至此,整个Ubuntu系统分区完毕,挂载点栏目下的其他挂载点(分区)暂时不用理会,有了这三个分区就可以正常使用 Ubuntu系统了。如果这期间有容量大小错误或者挂载点错误,可以点击相应的分区,点击“-”号按钮将其删除,创新创建分区。
图1-25
(26)回到分区主界面,点击“install now”按钮即可进入系统时区选择界面,如图1-26所示,选择上海或者香港、重庆都是可以的,有的Linux发行版没有北京时区,但实际上上述城市就是用的北京时区,只不过有的Linux没有指出来北京时区,如果你联网的话默认是上海,点击“continue”往下安装。
图1-26
(27) 选择键盘类型位英语美式键盘类型,使用系统默认的设置即可,点击“continue”进入用户设置界面。
(28) 在图1-27所示界面一次填入你的用户名(用于登录系统),PC的名字(也就是虚拟机里面Ubuntu的名字,用于别的电脑访问虚拟机时使用),密码,点击continue即可进入安装界面。等待大约十分钟即可安装完成,具体时间视机器性能而定笔者的不到十分钟。
图1-27
(29)出现图1-28所示界面表示安装完成,点击restart now出现如图1-29所示界面,直接输入回车即可重启ubuntu系统。
图1-28
图1-29
(30)第一次启动需要点时间,会有点慢,大家耐心等待。之后会出现登录窗口,选择相应的用户名,手动开启小键盘,输入密码即可登陆ubuntu,图1-30即为登陆Ubuntu成功界面。
至此,整个Ubuntu系统安装完毕。
图1-30
虽然在前面我们已经指定了网络连接方式是桥接,但是忧郁的电脑有多个网卡,既有无线网卡,也有有线网卡,这个时候就要注意了。因为VMware并不知道你到底要桥接到哪一个网卡,它默认是自动选择的,所以一旦VMware选择错了桥接的对象,你就无法上网了。比如说你使用无线连接WiFi上外网,但是VMware自动选择的结果是桥接到了有线网卡,这时候你的windows可以上外网,但是你的Ubuntu则不能上外网了。同理,用网线连接的时候也可能选择桥接到无线网卡,Ubuntu也可能上不了外网。所以我们不能让
VMware自动选择桥接对象,必须手动指定。在设置网络甚至是其他虚拟机配置的时候,比如硬盘、内存等,都先要关闭虚拟机才可以设置,设置好之后重启即可生效。因此在关闭Ubuntu的情况下,我们依次选择VMware的“编辑”、“虚拟网络编辑器”,如图1-31所示。
图1-31 进入网络设置
然后在桥接模式栏目,桥接到后面点击下拉框,选择windwos使用的实际网卡即可。如果
是用网线上网,选择有线网卡,如果使用WiFi上网选择无线网卡,无线网卡一般带有 wireless字样,千万不能让他自动选择。之后点击确定退回到VMware的主界面,如图1-
32所示。
图1-32 强制指定桥接对象
尽管我们为虚拟机分配了4GB以上的内存,但是有时候还是显得力不从心,尤其是在
VMware里面,当你的Ubuntu开启一个大程序,消耗掉3GB内存以后,你关闭这个程序,按理说这3GB的内存会自动回收,但事实上很多时候他并没有自动回收,当你第二次开启这个程序的时候,内存就会严重不足,显示只有1GB内存可用,这一点很不合理,也许是 VMware的一个BUG,从而Ubuntu经常出现内存不够的情况。经过笔者摸索,发现一个可以缓解这个尴尬局面的方法,设置如下。
(1) 在虚拟机关机状态下,依次点击VMware的“编辑”、“首选项”,如图1-33所示。
图1-33 进入整个VMware内存设置
(2) 在首选项界面,点击左侧“内存”,勾选“调整所有虚拟机内存使其适应预留的主机
RAM”选项,上面那个滚动条默认即可,不要动他,如图1-34所示。这个设置是针对所有的虚拟机的。
图1-34 首选项内存设置
(3) 点击“优先级”选项,将“抓取的输入内容”条目选择为“高”,它默认是“正常”,我们强制指定为高优先级,其他默认不动,如图1-35所示,点击“确定”即可回到
VMware主界面。
图1-35 设置全局优先级
(4) 在主界面点击自己创建的Ubuntu虚拟机的“内存”选项即可进入虚拟机设置界面,如图1-36所示。
图1-36进入特定虚拟机的内存设置
(5) 在虚拟机设置界面一次点击“选项”、“高级”,将右侧的“抓取的输入内容”条目设置为“高”,这个设置是只针对我们目前使用的这个Ubuntu的,然后勾选“禁用内存页面修整”选项,如图1-37所示,之后点击确定即可返回VMware主界面。
图1-37 设置特定虚拟机的内存使用规则
(6) 在虚拟机所在的文件夹,找到 “ 虚拟机名称 .vmx” 文件,比如我的是 E:\NewUbuntu\JackAndroid.vmx文件,用文本编辑器打开,在最后新建一行,添加如下内容:mainMem.useNamedFile=“FALSE”,保存退出。重启虚拟机即可提高内存的使用性能。
修改软件更新源
进入Ubuntu系统以后,点击左侧菜单栏的“Settings”图标,在弹出的对话框中选择
“Software& Updates”图标,如图1-45所示。
图1-45 进入软件更新源设置在新弹出的对话框中选择“Download from”下拉列表中的Other…,如图1-46所示
图1-46 选择其他类型的软件源
选择“Select Best Server”,出现一个进度条,表示正在检查所有软件源中最快的那一个软件源!如图1-47所示。
图1-47 检测最快的软件源在笔者的网络环境下,检测到的最快的软件源是http://mirror.neu.edu.cn/,点击Choose
Server,如图1-48所示,接着输入root密码,会发现软件源已经更新为
http://mirror.neu.edu.cn/ubuntu/,如图1-49所示,最后点击“close”即可出现新的对话框,在对话框里选择“Reload”即可更新本地缓存,完成软件更新源的设置。
图1-48 检测到最佳软件源
图1-49 选择了最佳软件更新源如果在 Reload 以后出现失败的情况,提示说“网络连接不正常”或者是“failed”的提示,就在终端使用如下命令进行缓存更新即可。sudo apt-get update
使用Linux最大的烦恼就是中文输入法了,但是在Ubuntu下面,这都不是事!搜狗拼音已经有Ubuntu版本了,所以我们虽然安装的是英文版的Ubuntu,不过照样可以使用中文输入法。
(1)在Ubuntu下打开搜狗输入法Linux版的官网
http://pinyin.sogou.com/linux/?r=pinyin
并下载你需要的版本,这里选择64位版,如图1-50所示,选择立即下载64bit以后,然后选择“SaveFiles”浏览器会将deb安装包下载到当前用户目录的Download子目录下。
图1-50 搜狗拼音Linux版官网
(2)从图形用户界面进入Download目录,双击下载得到的deb软件包,Ubuntu会自动弹出软件管理器,然后点击右上角的Install,输入root密码即可安装搜狗输入法,如图1-51 所示。
图1-51 开始安装输入法
(3)在终端中输入im-config,这时会出现一个对话框,点击OK,有一个对话框,点击
Yes,你会看到图1-52所示的对话框。如果上面选中的是fcitx,就不用管,直接关闭;如果不是,在select栏目下,勾选fcitx,点击OK即可。又会出现一个对话框,接着就是
OK,最后重启Ubuntu虚拟机。
图1-52 选择fcitx作为输入框架
(4)重启以后在终端中输入:fcitx-config-gtk3出现图1-53所示对话框。点击对话框左下角的(+)按钮,弹出另一个对话框。然后,取消Only Show Current Language(很重要,否则不能找到刚安装过的搜狗输入法!)最后,在输入框中输入sogou,选中点击OK即可,这时候输入法列表就会多出搜狗拼音了。
图1-53 添加搜狗输入法成功(5)关闭这些对话框,使用ctr+空格键就可以进行3输入法的切换了。可以在浏览器,文本编辑器以及命令行输入中文,其效果如图1-54所示。
图 1-54 搜狗输入法使用示例
虽然Ubuntu的软件更新源里面有Eclipse,但是版本较旧,所以我们去Eclipse的官网下
载。下载链接为:http://www.eclipse.org/downloads/。又由于我们主要是学习Android 系统的驱动开发,在驱动框架里面C/C++相对Java来说会更多一点,所以我们下载C/C++ 开发版本的Eclipse。笔者的Ubuntu是64bit的,所以选择64bit版本的Eclipse下载,如图 2-1所示(注意:一定要事先安装JDK才可以安装Eclipse,因为Eclipse基于JRE运行)。
图2-1 Eclipse官网
进入第二个页面以后,会让你选择镜像网点,这里我们选择China开头的条目,点击图2-2 所示的标签以后会自动进入下载(网络环境不好的话会多等几分钟),选择将文件保存,浏览器会自动将Eclipse的压缩包下载到Ubuntu当前用户用户目录的Download子目录,比如笔者就是下载到了/home/Jack/Download目录下.
图2-2 选择最近的镜像站开始下载Eclipse
安装C/C++版本的Eclipse
(1) 解压并部署安装目录:打开终端,以命令行的模式进入用户目录下的Download目录,然后将Eclipse压缩包解压,并复制到/opt目录,如果没有这个目录,请读者自行创建。
tar -xzf eclipse-cpp-mars-2-linux-gtk-x86_64.tar.gz
mv eclipse /opt/
(2) 添加环境变量:添加eclipse的环境变量,在
/etc/profile最后添加如下内容:
export PATH=/opt/eclipse: $PATH
并使之立即生效
#source /etc/profile