飞帆blog https://bbs.21ic.com/?179849 [收藏] [复制] [RSS]

日志

Android X86版深度体验

已有 1826 次阅读2011-3-28 15:27 |系统分类:通信网络| Android, X86






Android是基于Linux内核的软件平台和操作系统,是Google在2007年11月5日公布的手机系统平台,早期由Google开发,后由开放
手机联盟(Open Handset Alliance)开发。它采用了软件堆层(software
stack,又名以软件叠层)的架构,主要分为三部分。低层以Linux内核工作为基础,只提供基本功能,其他的应用软件则由各公司自行开发,以java
作为编写程序的一部分。另外,为了推广此技术,Google和其它几十个手机公司建立了开放手机联盟(Open Handset
Alliance)。Android在未公开之前常被传闻为Google电话或gPhone。大多传闻认为Google开发的是自己的手机电话产品,而不
是一套软件平台。

而由于上网本市场的日益火爆,不甘局限于手机平台的Android操作系统也开始跃跃欲试,准备在X86平台上大展拳脚。据Google官方公布,支持
x86平台的Live-Android项目0.2版本已经初步完成,现在已经开始提供LiveCD下载。用户只需要从官方下载ISO,刻录成光盘后重启用
光盘引导,即可感受Google的这款手机操作系统。在我们等待Google
Chrome操作系统之前,Android系统的LiveCD也许可以让我们提前感受一下Google的操作系统。另外,这款系统也支持
VirtualBox或微软Virtual PC虚拟机,用户完全可以在虚拟机中进行尝试。




测试的是华硕为EEE-PC平台定制的eeepc-20090820版Android X86系统。感兴趣的用户可以在这里下载:http://android-x86.googlecode.com/files/eeepc-20090820.iso


平台的源代码可以从http://code.google.com/p/android-x86/wiki/GetSourceCode这里进行下载。


如果想要下载源代码进行编译,可以使用:

$ repo init -u git://git.android-x86.org/android-x86/platform/manifest.git

$ repo sync 

$ make iso_img usb_img TARGET_PRODUCT=eeepc






Android
系统中虽然包含了kernel tree但是在编译的时候完全用不到。事实上,kernel就是以prebuild
binary(预先编译好的二进制档)的方式被加进最后产生的镜像文件中的。对于这种做法,在手机操作系统上没有任何问题,反正要编译什么功能都已经预先
知道。然而对于X86平台来说,这样的做法显然不妥当。每个人的需求不相同,所需要的kernel也就不同。另外kernel的更新速度很快,尤其在
X86平台。因此比较聪明的做法就是在编译Android的时候加入kernel编译,并直接将编译结果加入镜像文件中。新版的源代码加入了kernel
编译规则(build/core/kernel.mk),给X86预设的config存档放在kernel/arch/x86/configs
/android-x86_defconfig。在编译过程中,会以这个config为主,产生kernel和对应子组块。也可以单独编译kernel:

$ make kernel TARGET_PRODUCT=eeepc


也可以使用自己的config存档。只要将它放入kernel/arch/x86/configs中,并且指定变量TARGET_KERNEL_CONFIG 就好(假设config 存档名叫my_defconfig):

$ make iso_img TARGET_PRODUCT=eeepc TARGET_KERNEL_CONFIG=my_defconfig


这个全新的Android X86平台是由Beyounn和Cwhuang主持设计的。项目的主要目的在于为X86平台提供一套完整的Android系统解决方案。这个项目提供了一套完整的可行源代码树,配套文档以及Live CD与Live USB。


系统的最新版本是发布于2009年7月的Android X86 V0.9。

这个系统实现了如下功能:

使用Kernel 2.6.29内核,并开启KMS功能。

支持提供了音效。

支持网络摄像头。

支持存储卡与移动存储设备的自动加载。

支持自动检测驱动模式。

支持Ethernet (DHCP)。

支持鼠标滚轮。

即时显示电池状况。

支持待机功能。

支持触摸屏幕。

支持压缩档案格式。

支持除错模式。

加入了BusyBox。

可以运行在虚拟机上如:Virtual Box, Qemu, VMware

发布了Live CD的ISO存档,以及Live USB Image存档。

支持无线网络并可从GUI开启并设定。

全新的安装模式,可以安装到ext3/ext2/ntfs/fat32磁盘格式。

可以载入firmware的hotplug。

改善键盘支持,可以使用usb键盘。

按下电源键可以开机。


而小组下一步的工作计划在于改善以下几个方面:

对于Wifi无线网络更好的支持(目前可以较好的支持at15k和at19k,而对于其它类型的设备则需要进一步完善)。

对于蓝牙设备的支持。

更完善的安装程序和多重启动系统。

多平台支持。

Fn键的支持。

电源管理系统。

3D加速与高清设备的支持(目前已经由olv完成,需要进一步在平台上进行测试)。

多点触摸设备的支持。

3G移动设备的支持。

开发更多的第三方应用程序。


由此可见,Android X86版还处于雏形阶段,系统还需要很多完善的地方。但是经过我们的试用,发现这个系统在X86平台的移动终端上还是有很大潜力的。


路过

鸡蛋

鲜花

握手

雷人

评论 (0 个评论)