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

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

Info

Publication number
CN101986266B
CN101986266B CN201010516641.4A CN201010516641A CN101986266B CN 101986266 B CN101986266 B CN 101986266B CN 201010516641 A CN201010516641 A CN 201010516641A CN 101986266 B CN101986266 B CN 101986266B
Authority
CN
China
Prior art keywords
android
development board
kernel
linux kernel
mobile phone
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN201010516641.4A
Other languages
English (en)
Other versions
CN101986266A (zh
Inventor
陈天洲
全佰行
瞿有甜
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhejiang University ZJU
Original Assignee
Zhejiang University ZJU
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Zhejiang University ZJU filed Critical Zhejiang University ZJU
Priority to CN201010516641.4A priority Critical patent/CN101986266B/zh
Publication of CN101986266A publication Critical patent/CN101986266A/zh
Application granted granted Critical
Publication of CN101986266B publication Critical patent/CN101986266B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

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

Description

Android手机操作系统移植到凌动处理器开发板的方法
技术领域
本发明属于智能手机操作系统的技术领域,尤其涉及Android手机操作系统移植的技术领域,具体涉及一种Android手机操作系统移植到凌动处理器开发板的方法。
背景技术
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架构上有很强的前瞻性和现实意义。
从2005年以来,美国英特尔公司一直致力于智能手机平台的研发。2007年底,英特尔推出了它的低功耗平台凌动处理器(ATOM)系列中的Menlow平台。2008年底,各厂商陆续推出了基于英特尔Menlow平台的移动互联网设备(MID)设备和上网本。英特尔在此基础之上,继续努力研发它的下一代智能手机平台Moorsetown,预计2010年一季度将会正式发布。因此,在这个阶段研发面向Android的基于Moorsetown的智能手机平台,可以大大提高Android平台的硬件平台性能,丰富该平台的产品多样化。
英特尔最新凌动处理器平台ATOM第二代——Moorestown,该处理器性能强劲,兼容笔记本电脑的高运算性能与手机的通信功能,同时它基于新的微处理架构,超低功耗,专门为小型移动设备设计,作为智能手机的硬件平台优势巨大。
Moorestown将于2010年正式发布,以MID和智能手机为目标市场。凌动处理器CDK(Custom Developer Kit)开发板是Moorestown智能手机的硬件开发平台。将Android操作系统移植到CDK开发板是使Moorestown智能手机能够运行Android的必要条件。
发明内容
针对现有技术中存在的问题,本发明的目的在于提供一种将谷歌Android手机操作系统移植到英特尔凌动处理器CDK开发板的方法,将这两种系统有效的进行结合。
所述的Android手机操作系统移植到凌动处理器开发板的方法,其特征在于包括以下步骤:
1)在Linux环境下,下载并安装开发工具;
2)下载Linux内核,修改Linux内核代码,使Linux内核同时支持Android手机操作系统和英特尔凌动处理器CDK开发板,编译Linux内核,编译完成后生成内核镜像;
3)下载Android源代码,编译Android系统,生成系统文件;
4)将步骤2)中生成的内核镜像和步骤3)中生成的系统文件复制到sd卡上;
5)在电脑上安装PUTTY客户端,将sd卡插到凌动处理器CDK开发板上并通过串行线连接到电脑,启动PUTTY客户端,进入凌动处理器CDK开发板载的Kboot程序,Kboot自动加载内核镜像并启动Android系统。
所述的Android手机操作系统移植到凌动处理器开发板的方法,其特征在于步骤1)中所述下载并安装开发工具,包括以下开发工具:Git 1.5.4,GNU PrivacyGuard,JDK 5.0,flex,bison,gperf,libsdl-dev,libesd0-dev,libwxgtk2.6-dev,build-essential,zip,curl,valgrind,lib32readline5-dev。
所述的Android手机操作系统移植到凌动处理器开发板的方法,其特征在于所述的修改Linux内核代码,使Linux内核同时支持Android手机操作系统和英特尔凌动处理器CDK开发板,硬件厂商提供的Linux内核支持目标硬件平台,不包含和Android相关的代码,将硬件厂商提供的Linux内核和标准的Linux内核比较,提取出差异的部分,这差异的部分就是支持目标硬件平台的代码,将这差异的部分以补丁形式加入到Android发布的Linux内核中,就能使Linux内核支持CDK开发板。
所述的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。
本发明通过修改Linux内核代码,使Android系统支持英特尔凌动处理器CDK开发板。目前市场上流行的都是ARM嵌入式CPU架构,并没有针对即将步入手机领域的英特尔X86架构,本发明利用Linux对于多种CPU架构的支持,将Android系统移植到具有X86架构的英特尔凌动处理器CDK开发板上。随着Android系统在市场上越来越受欢迎,基于X86架构的Android系统势必会出现,因此,本发明无疑具有很强的前瞻性和现实意义。
附图说明
图1为本发明Android手机操作系统移植的流程图。
具体实施方式
以下结合附图对本发明做进一步的说明。
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。
2、下载Linux内核,修改Linux内核代码,使Linux内核同时支持Android手机操作系统和英特尔凌动处理器CDK开发板,编译Linux内核,编译完成后生成内核镜像。
修改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是一种图形化比较工具。
编译修改过的Android提供的linux内核:
输入make menuconfig命令配置Linux内核,需要配置的选项如下:
a.选取Input Event Interface,Android是通过event interface来取得输入的键值或位置,所以在内核中必须支持此功能。详细路径为:DeviceDrivers->Input device support-><*>Event interface。
b.选取Real Time Clock(RTC);Android Power Management需用到RTC的功能,因此内核中必须支持此功能。详细路径为:Device Drivers->Android-><*>Real Time Clock。
c.选取Android’s Shared Memory Subsystem,Android所需的MemorySubsystem。详细路径为:General setup->[*]Enable Android’s Shared MemorySubsystem。
d.选取Use the ARM EABI to compile the kernel;因为Android的library需要通过EABI与Linux内核沟通。详细路径为:General setup->[*]EnableAndroid’s Shared Memory Subsystem。
e.选取Low Memory Killer,当系统memory过少时,执行此程序。详细路径为:Device Drivers->[*]Misc devices-><*>Low Memory Killer。
f.选取Android power driver。详细路径为:Device Drivers->Android->[*]Android power driver。
g.选取The DCCP Protocol。详细路径为:Networking->Networkingoptions->[*]IP:DHCP support。
输入命令make编译修改过的Android提供的linux内核,编译完成后生成内核镜像bzImage。
3、下载Android源代码,编译Android系统,生成系统文件。
谷歌Android手机操作系统是基于Linux内核的开源操作系统,可以通过repo工具下载Android系统源代码,针对目标凌动处理器CDK开发板的硬件特性修改Android源代码。下载Linux内核,Android源代码已经把Linux内核去掉了,通过repo下载的代码中不包含Linux内核,需要通过git工具另行下载。安装repo,将repo安装到~/bin中,修改repo执行权限为可执行,在PATH中添加~/bin。
$cd~
$mkdir bin
$curl http://android.git.kernel.org/repo>~/bin/repo
$chmod a+x~/bin/repo
$export PATH=$PATH:/~/bin
通过repo下载Android源代码:
$mkdir mydroid
$cd mydroid
$repo init-u git://android.git.kernel.org/platform/manifest.git
$repo sync
下载Android内核源代码:
$git clone git://android.git.kernel.org/kernel/linux-2.6.git。
编译Android系统:
进入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压缩得到的镜像文件。
4、在sd卡上创建文件系统
将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目录下。
5、启动Android系统
在电脑上安装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系统。

Claims (3)

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。
CN201010516641.4A 2010-10-22 2010-10-22 Android手机操作系统移植到凌动处理器开发板的方法 Expired - Fee Related CN101986266B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201010516641.4A CN101986266B (zh) 2010-10-22 2010-10-22 Android手机操作系统移植到凌动处理器开发板的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201010516641.4A CN101986266B (zh) 2010-10-22 2010-10-22 Android手机操作系统移植到凌动处理器开发板的方法

Publications (2)

Publication Number Publication Date
CN101986266A CN101986266A (zh) 2011-03-16
CN101986266B true CN101986266B (zh) 2013-05-29

Family

ID=43710615

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201010516641.4A Expired - Fee Related CN101986266B (zh) 2010-10-22 2010-10-22 Android手机操作系统移植到凌动处理器开发板的方法

Country Status (1)

Country Link
CN (1) CN101986266B (zh)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102495737B (zh) * 2011-10-18 2014-05-07 青岛海信移动通信技术股份有限公司 制作用户终端分区的方法、装置和用户终端
CN102436398A (zh) * 2011-11-15 2012-05-02 上海智翔信息科技股份有限公司 一种Android移植系统
CN103136060B (zh) * 2011-11-23 2016-10-05 联想(北京)有限公司 运行控制方法和运行控制装置
CN102591727B (zh) 2012-01-04 2014-09-17 华为终端有限公司 对应用数据进行处理的方法和计算节点
CN102930190B (zh) * 2012-10-25 2015-12-09 中科方德软件有限公司 一种在安卓系统中阻止用户获取超级用户权限的方法
CN103279334A (zh) * 2012-12-28 2013-09-04 武汉安天信息技术有限责任公司 一种android软件快速动态检测装置和方法
CN103914316A (zh) * 2012-12-31 2014-07-09 希姆通信息技术(上海)有限公司 安卓系统中自动开机和自动关机的设置方法
CN104679532B (zh) * 2013-11-27 2018-12-11 腾讯科技(深圳)有限公司 内核模块加载方法和装置
CN103631632B (zh) * 2013-11-29 2017-08-04 华为技术有限公司 移植方法及源到源编译器
CN104978355B (zh) * 2014-04-10 2018-09-25 炬芯(珠海)科技有限公司 一种cpio文件的操作方法及装置
CN104407890A (zh) * 2014-11-15 2015-03-11 北京理工大学 一种从OTG设备启动Android系统的方法
CN105160211B (zh) * 2015-09-25 2018-06-29 广东欧珀移动通信有限公司 一种内核模块中设备文件权限的设置方法及装置
CN107977572B (zh) * 2016-10-25 2022-11-18 中兴通讯股份有限公司 一种应用程序运行方法和装置、智能终端
CN106557572A (zh) * 2016-11-11 2017-04-05 武汉斗鱼网络科技有限公司 一种安卓应用程序文件的提取方法及系统

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101833467A (zh) * 2010-05-14 2010-09-15 华为终端有限公司 一种在Android的菜单中添加菜单项的方法及设备

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101833467A (zh) * 2010-05-14 2010-09-15 华为终端有限公司 一种在Android的菜单中添加菜单项的方法及设备

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
Atom平台上安装Android及实现触摸屏的校准;王鹏等;《http://embed.cs.tsinghua.edu.cn/download/labs/platform_atom_2009_lrp.pdf》;20100115;第1-7页 *
zhtlancer.基于2.6.29内核的x86平台Android编译过程.《http://zhtlancer.com/2009/07/2009-07-2629-android-build-x86/》.2009,
基于2.6.29内核的x86平台Android编译过程;zhtlancer;《http://zhtlancer.com/2009/07/2009-07-2629-android-build-x86/》;20090709;第1页 *
王鹏等.Atom平台上安装Android及实现触摸屏的校准.《http://embed.cs.tsinghua.edu.cn/download/labs/platform_atom_2009_lrp.pdf》.2010,

Also Published As

Publication number Publication date
CN101986266A (zh) 2011-03-16

Similar Documents

Publication Publication Date Title
CN101986266B (zh) Android手机操作系统移植到凌动处理器开发板的方法
Vidas et al. Toward a general collection methodology for Android devices
CN102232304B (zh) 一种移动通信终端间进行系统升级的方法、系统及终端
JP5409767B2 (ja) 展開可能オブジェクト階層内におけるアプリケーション管理
CN102880498A (zh) 在安卓系统的装置上虚拟sd卡的方法
CN104991793A (zh) 一种用于应用程序分包的方法、装置以及系统
US20110145803A1 (en) Extension mechanism
CN105100191A (zh) 一种云编译实现Java应用安装的方法、装置及系统
CN101216773A (zh) 一种嵌入式Linux系统固件下载方法和装置
CN102930190B (zh) 一种在安卓系统中阻止用户获取超级用户权限的方法
CN102135893A (zh) 将操作系统集成到bios芯片及启动服务器上操作系统的方法
CN111708566A (zh) 软件增量更新方法、装置、系统及计算机可读存储介质
CN103995696A (zh) 移动终端的程序包定制系统及定制方法
US20110321030A1 (en) Method and apparatus for updating a software image
CN111949303A (zh) 升级包处理方法、装置、电子设备及存储介质
CN105700900A (zh) 一种优化无线局域网功能的方法及装置
US7487227B2 (en) Scripting engine having a sequencer table and a plurality of secondary tables for network communication software
CN111459468A (zh) 高可靠性串口通讯的dsp程序在线升级系统和方法
CN101840337A (zh) 一种适用于捕包应用的裁减系统定制方法
CN104239112A (zh) 一种设备驱动程序安装方法及装置
CN112506519A (zh) 应用程序的编译方法、移动终端及服务器
CN110990022A (zh) 软件项目的开发方法、装置、处理器及电子装置
Al-Bokhaiti et al. Customization and Optimization of Android Operating System for Custom Board with the Implementation of an Administrative Tool
CN109960522A (zh) 一种软件升级方法及装置
CN115774561A (zh) 应用程序升级方法、电子设备、芯片及可读存储介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20130529

Termination date: 20151022

EXPY Termination of patent right or utility model