Android手机操作系统移植到凌动处理器开发板的方法转让专利

申请号 : CN201010516641.4

文献号 : CN101986266B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 陈天洲全佰行瞿有甜

申请人 : 浙江大学

摘要 :

Android手机操作系统移植到凌动处理器开发板的方法,属于智能手机操作系统的技术领域。包括以下步骤:在Linux环境下,下载并装开发工具;下载Linux内核,修改内核代码,使其同时支持Android系统和凌动处理器CDK开发板,编译Linux内核生成内核镜像;下载Android源代码,编译Android系统,生成系统文件;将生成的内核镜像和系统文件复制到sd卡上;在电脑上安装PUTTY客户端,将sd卡插到凌动处理器CDK开发板上并连接到电脑,启动PUTTY客户端,进入凌动处理器CDK开发板载的Kboot程序,Kboot自动加载内核镜像并启动Android系统。本发明通过修改Linux内核代码,使Android系统支持英特尔凌动处理器CDK开发板。随着Android系统在市场上越来越受欢迎,基于X86架构的Android系统势必会出现,具有很强的前瞻性和现实意义。

权利要求 :

1.Android手机操作系统移植到凌动处理器开发板的方法,其特征在于包括以下步骤:

1)在Linux环境下,下载并安装开发工具;

2)下载Linux内核,修改Linux内核代码,使Linux内核同时支持Android手机操作系统和英特尔凌动处理器CDK,Custom Developer Kit开发板,编译Linux内核,编译完成后生成内核镜像;

所述的修改Linux内核代码,使Linux内核同时支持Android手机操作系统和英特尔凌动处理器CDK开发板具体为,硬件厂商提供的Linux内核支持目标硬件平台,不包含和Android相关的代码,将硬件厂商提供的Linux内核和标准的Linux内核比较,提取出差异的部分,这差异的部分就是支持目标硬件平台的代码,将这差异的部分以补丁形式加入到Android发布的Linux内核中,就能使Linux内核支持CDK开发板;

3)下载Android源代码,编译Android系统,生成系统文件;

4)将步骤2)中生成的内核镜像和步骤3)中生成的系统文件复制到sd卡上;

5)在电脑上安装PUTTY客户端,将sd卡插到凌动处理器CDK开发板上并通过串行线连接到电脑,启动PUTTY客户端,进入凌动处理器CDK开发板载的Kboot程序,Kboot自动加载内核镜像并启动Android系统。

2.如权利要求1所述的Android手机操作系统移植到凌动处理器开发板的方法,其特征在于步骤1)中所述下载并安装开发工具,包括以下开发工具:Git1.5.4,GNU Privacy Guard,JDK5.0,flex,bison,gperf,libsdl-dev,libesd0-dev,libwxgtk2.6-dev,build-essential,zip,curl,valgrind,lib32readline5-dev。

3.如权利要求1所述的Android手机操作系统移植到凌动处理器开发板的方法,其特征在于所述的编译Android系统,生成系统文件,编译生成的文件在out/target/product/generic目录下,共有3个目录:root、system和data,root为Android文件系统根目录的基本架构,system为/system目录的内容,data为/data目录的内容,root、system、data文件夹采用cpio打包和gzip压缩后分别得到镜像文件ramdisk.img、system.img、userdata.img。

说明书 :

Android手机操作系统移植到凌动处理器开发板的方法

技术领域

[0001] 本发明属于智能手机操作系统的技术领域,尤其涉及Android手机操作系统移植的技术领域,具体涉及一种Android手机操作系统移植到凌动处理器开发板的方法。

背景技术

[0002] Android是一个针对移动设备而设计的软件栈,包括操作系统,中间件和关键的应用。2007年11月5日由美国Google公司基于Linux整合开发,后开源并由后由开放手机联盟(Open Handset Alliance)继续维护和开发工作。Android是一个开源手机操作系统,它不存在任何以往阻碍移动产业创新的专有权障碍,是首个为移动终端打造的真正开放和完整的移动操作系统。目前HTC、NTT DoCoMo、KDDI、Motorola、三星、中国移动等在世界移动领域具有巨大影响力的三十余家公司已形成推广Android操作系统的联盟,希望借助建立标准化、开放式的移动电话软件平台,在移动产业内形成一个开放式的生态系统,可以预见,android系统的普及应用是必然的趋势。目前中国移动的OPhone及其OMS(Open MobileSystem)就是基于Android深度定制的实际产品。但它目前主要针对于手机市场上流行的ARM嵌入式CPU架构,并没有针对上网本上常见和未来即将步入手机市场的英特尔x86架构,而Linux内核本是一个支持众多CPU架构的操作系统核心,因此将Android移植到x86架构上有很强的前瞻性和现实意义。
[0003] 从2005年以来,美国英特尔公司一直致力于智能手机平台的研发。2007年底,英特尔推出了它的低功耗平台凌动处理器(ATOM)系列中的Menlow平台。2008年底,各厂商陆续推出了基于英特尔Menlow平台的移动互联网设备(MID)设备和上网本。英特尔在此基础之上,继续努力研发它的下一代智能手机平台Moorsetown,预计2010年一季度将会正式发布。因此,在这个阶段研发面向Android的基于Moorsetown的智能手机平台,可以大大提高Android平台的硬件平台性能,丰富该平台的产品多样化。
[0004] 英特尔最新凌动处理器平台ATOM第二代——Moorestown,该处理器性能强劲,兼容笔记本电脑的高运算性能与手机的通信功能,同时它基于新的微处理架构,超低功耗,专门为小型移动设备设计,作为智能手机的硬件平台优势巨大。
[0005] Moorestown将于2010年正式发布,以MID和智能手机为目标市场。凌动处理器CDK(Custom Developer Kit)开发板是Moorestown智能手机的硬件开发平台。将Android操作系统移植到CDK开发板是使Moorestown智能手机能够运行Android的必要条件。

发明内容

[0006] 针对现有技术中存在的问题,本发明的目的在于提供一种将谷歌Android手机操作系统移植到英特尔凌动处理器CDK开发板的方法,将这两种系统有效的进行结合。
[0007] 所述的Android手机操作系统移植到凌动处理器开发板的方法,其特征在于包括以下步骤:
[0008] 1)在Linux环境下,下载并安装开发工具;
[0009] 2)下载Linux内核,修改Linux内核代码,使Linux内核同时支持Android手机操作系统和英特尔凌动处理器CDK开发板,编译Linux内核,编译完成后生成内核镜像;
[0010] 3)下载Android源代码,编译Android系统,生成系统文件;
[0011] 4)将步骤2)中生成的内核镜像和步骤3)中生成的系统文件复制到sd卡上;
[0012] 5)在电脑上安装PUTTY客户端,将sd卡插到凌动处理器CDK开发板上并通过串行线连接到电脑,启动PUTTY客户端,进入凌动处理器CDK开发板载的Kboot程序,Kboot自动加载内核镜像并启动Android系统。
[0013] 所述的Android手机操作系统移植到凌动处理器开发板的方法,其特征在于步骤1)中所述下载并安装开发工具,包括以下开发工具:Git 1.5.4,GNU Privacy Guard,JDK
5.0,flex,bison,gperf,libsdl-dev,libesd0-dev,libwxgtk2.6-dev,build-essential,zip,curl,valgrind,lib32readline5-dev。
[0014] 所述的Android手机操作系统移植到凌动处理器开发板的方法,其特征在于所述的修改Linux内核代码,使Linux内核同时支持Android手机操作系统和英特尔凌动处理器CDK开发板,硬件厂商提供的Linux内核支持目标硬件平台,不包含和Android相关的代码,将硬件厂商提供的Linux内核和标准的Linux内核比较,提取出差异的部分,这差异的部分就是支持目标硬件平台的代码,将这差异的部分以补丁形式加入到Android发布的Linux内核中,就能使Linux内核支持CDK开发板。
[0015] 所述的Android手机操作系统移植到凌动处理器开发板的方法,其特征在于所述的编译Android系统,生成系统文件,编译生成的文件在out/target/product/generic目录下,共有3个目录:root、system和data,root为Android文件系统根目录的基本架构,system为/system目录的内容,data为/data目录的内容,root、system、data文件夹采用cpio打包和gzip压缩后分别得到镜像文件ramdisk.img、system.img、userdata.img。
[0016] 本发明通过修改Linux内核代码,使Android系统支持英特尔凌动处理器CDK开发板。目前市场上流行的都是ARM嵌入式CPU架构,并没有针对即将步入手机领域的英特尔X86架构,本发明利用Linux对于多种CPU架构的支持,将Android系统移植到具有X86架构的英特尔凌动处理器CDK开发板上。随着Android系统在市场上越来越受欢迎,基于X86架构的Android系统势必会出现,因此,本发明无疑具有很强的前瞻性和现实意义。

附图说明

[0017] 图1为本发明Android手机操作系统移植的流程图。

具体实施方式

[0018] 以下结合附图对本发明做进一步的说明。
[0019] 1、在Linux环境下,下载并安装开发工具。Android系统的移植需要在Linux环境下,并要安装必要的开发工具。开发工具包括:Git1.5.4,GNU Privacy Guard,JDK 5.0,flex,bison,gperf,libsdl-dev,libesd0-dev,libwxgtk2.6-dev,build-essential,zip,curl,valgrind,lib32readline5-dev。
[0020] 2、下载Linux内核,修改Linux内核代码,使Linux内核同时支持Android手机操作系统和英特尔凌动处理器CDK开发板,编译Linux内核,编译完成后生成内核镜像。
[0021] 修改Linux内核代码,使Linux内核同时支持Android手机操作系统和英特尔凌动处理器CDK开发板,硬件厂商提供的Linux内核支持目标硬件平台,不包含和Android相关的代码,将硬件厂商提供的Linux内核和标准的Linux内核比较,提取出差异的部分,这差异的部分就是支持目标硬件平台的代码,将这差异的部分以补丁形式加入到Android发布的Linux内核中,就能使Linux内核支持CDK开发板。硬件厂商提供的Linux内核版本为linux-2.6.31.14,它包含支持英特尔凌动处理器CDK开发板的各种驱动程序,但是不包含和Android相关的文件,通过比较硬件开发商提供的linux-2.6.31.14和http://kernel.org提供的linux-2.6.31.14,将差异的部分提取出来,这差异部分的代码就是支持英特尔凌动处理器CDK开发板的代码。将这部分代码以补丁的形式加入到Android发布的linux内核源代码,使该linux内核支持英特尔CDK开发板。比较两种内核的差异可以使用meld工具,meld是一种图形化比较工具。
[0022] 编译修改过的Android提供的linux内核:
[0023] 输入make menuconfig命令配置Linux内核,需要配置的选项如下:
[0024] a.选取Input Event Interface,Android是通过event interface来取得输入的键值或位置,所以在内核中必须支持此功能。详细路径为:Device Drivers->Input device support-><*>Event interface。
[0025] b.选取Real Time Clock(RTC);Android Power Management需用到RTC的功能,因此内核中必须支持此功能。详细路径为:Device Drivers->Android-><*>Real Time Clock。
[0026] c. 选 取 Android’s Shared Memory Subsystem,Android 所 需 的 Memory Subsystem。 详 细 路 径 为:General setup->[*]Enable Android’s Shared Memory Subsystem。
[0027] d.选取Use the ARM EABI to compile the kernel;因为Android的library需要通过EABI与Linux内核沟通。详细路径为:General setup->[*]Enable Android’s Shared Memory Subsystem。
[0028] e.选取Low Memory Killer,当系统memory过少时,执行此程序。详细路径为:Device Drivers->[*]Misc devices-><*>Low Memory Killer。
[0029] f.选取Android power driver。详细路径为:Device Drivers->Android->[*]Android power driver。
[0030] g. 选 取 The DCCP Protocol。 详 细 路 径 为:Networking->Networking options->[*]IP:DHCP support。
[0031] 输入命令make编译修改过的Android提供的linux内核,编译完成后生成内核镜像bzImage。
[0032] 3、下载Android源代码,编译Android系统,生成系统文件。
[0033] 谷歌Android手机操作系统是基于Linux内核的开源操作系统,可以通过repo工具下载Android系统源代码,针对目标凌动处理器CDK开发板的硬件特性修改Android源代码。下载Linux内核,Android源代码已经把Linux内核去掉了,通过repo下载的代码中不包含Linux内核,需要通过git工具另行下载。安装repo,将repo安装到~/bin中,修改repo执行权限为可执行,在PATH中添加~/bin。
[0034] $cd~
[0035] $mkdir bin
[0036] $curl http://android.git.kernel.org/repo>~/bin/repo
[0037] $chmod a+x~/bin/repo
[0038] $export PATH=$PATH:/~/bin
[0039] 通过repo下载Android源代码:
[0040] $mkdir mydroid
[0041] $cd mydroid
[0042] $repo init-u git://android.git.kernel.org/platform/manifest.git[0043] $repo sync
[0044] 下载Android内核源代码:
[0045] $git clone git://android.git.kernel.org/kernel/linux-2.6.git。
[0046] 编译Android系统:
[0047] 进入mydroid目录,输入make命令编译Android系统,编译后生成的文件在out/target/product/generic目录下,在生成的目录下有root、system、data文件夹。root是Android文件系统的根目录,system包括了Android系统的包、库文件,系统启动后挂载到根目录的system下,data存放用户数据,系统启动后挂载到根目录的data下。目录out/target/product/generic下的ramdisk.img、system.img、userdata.img分别是root、system、data文件夹采用cpio打包和gzip压缩得到的镜像文件。
[0048] 4、在sd卡上创建文件系统
[0049] 将sd卡挂载到linux文件系统下,格式化为exet3类型文件系统。在sd卡目录下创建5个目录:boot、cache、media、system、data,复制编译内核产生的镜像bzImage到boot目录,复制编译Android系统产生的ramdisk.img到boot目录并改名为intrid,在boot目录下创建kboot.cmd文件,分别复制system,data目录下的内容到sd卡上的system和data目录下。
[0050] 5、启动Android系统
[0051] 在电脑上安装PUTTY客户端,将sd卡插到凌动处理器CDK开发板上并通过串行线连接到电脑,启动PUTTY客户端,设置connection type为serial,speed为115200,Data bits为8,Stop bits为1,Parity为NONE,Flow control为NONE。启动PUTTY后,进入凌动处理器CDK开发板载的Kboot程序,Kboot自动加载内核镜像并启动Android系统。