<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd">
<!-- saved from url=(0061)http://blog.csdn.net/colorant/archive/2008/02/27/2124992.aspx -->
<HTML xmlns="http://www.w3.org/1999/xhtml"><HEAD><TITLE>Android Kernel Porting 的简单总结文档 - colorant的专栏 - CSDN博客</TITLE>
<META content=彩色蚂蚁 name=author>
<META content=Csdn name=Copyright>
<META
content=移植Android的kernel到实际的硬件平台上,很多人很早就做过这件事了,不过相关的文档和经验总结不多,我就写一个吧,也为了自己记录一下大致的流程,以后好继续。
name=description>
<META http-equiv=Content-Type content="text/html; charset=utf-8"><LINK
href="http://profile.csdn.net/colorant/picture/1.ico" rel="Shortcut Icon"><LINK
media=all
href="Android Kernel Porting 的简单总结文档 - colorant的专栏 - CSDN博客.files/Cogitation_1.css"
type=text/css rel=stylesheet><LINK media=all
href="Android Kernel Porting 的简单总结文档 - colorant的专栏 - CSDN博客.files/csdn_favbykimi.css"
type=text/css rel=stylesheet>
<SCRIPT
src="Android Kernel Porting 的简单总结文档 - colorant的专栏 - CSDN博客.files/jquery-1.2.3.pack.js"
type=text/javascript></SCRIPT>
<SCRIPT
src="Android Kernel Porting 的简单总结文档 - colorant的专栏 - CSDN博客.files/jquery.highlighter.js"
type=text/javascript></SCRIPT>
<SCRIPT
src="Android Kernel Porting 的简单总结文档 - colorant的专栏 - CSDN博客.files/highlighter.js"
type=text/javascript></SCRIPT>
<LINK title=RSS href="http://feeds.feedsky.com/csdn.net/colorant"
type=application/rss+xml rel=alternate>
<META content="MSHTML 6.00.2900.3527" name=GENERATOR></HEAD>
<BODY id=defaultuser>
<DIV id=csdnblog_allwrap>
<FORM id=Form1 name=Form1 action=2124992.aspx method=post><INPUT
id=" __VIEWSTATE" type=hidden name=__VIEWSTATE>
<DIV id=csdnblog_midwrap>
<DIV id=csdnblog_header>
<H1><A id=Header1_HeaderTitle
href="http://blog.csdn.net/colorant/">colorant的专栏</A></H1>
<H2>彩色蚂蚁的Linux博客</H2>
<UL id=personalnav>
<LI><A href="http://hi.csdn.net/my.html" target=_blank>欢迎
zhenwenxian!</A></LI>
<LI><A href="http://writeblog.csdn.net/Signout.aspx">退出</A></LI>
<LI><A href="http://blog.csdn.net/zhenwenxian">我的博客</A></LI>
<LI><A href="http://writeblog.csdn.net/configure.aspx"
target=_blank>配置</A></LI>
<LI><A href="http://writeblog.csdn.net/PostEditPlain.aspx"
target=_blank>写文章</A></LI>
<LI><A href="http://writeblog.csdn.net/PostList.aspx"
target=_blank>文章管理</A></LI>
<LI><A href="http://blog.csdn.net/" target=_blank>博客首页</A></LI></UL>
<UL id=blogsearchsty>
<LI><INPUT class=bolgsearch id=inputSearch
onkeydown="return keyb(event)"></LI>
<LI class=selectsty><SELECT id=Search_ddlSearchScope
name=Search:ddlSearchScope><OPTION value=all selected>全站</OPTION><OPTION
value=colorant>当前博客</OPTION></SELECT></LI>
<LI><INPUT class=bolggobtn onclick=checkNull() type=button value=搜索></LI></UL>
<UL id=menu>
<LI><A href="http://hi.csdn.net/colorant">空间</A></LI>
<LI><A class=on href="http://blog.csdn.net/colorant">博客</A></LI>
<LI><A
href="http://hi.csdn.net/colorant/profile/contactlist/1.html">好友</A></LI>
<LI><A href="http://album.hi.csdn.net/" target=_blank>相册</A></LI>
<LI><A class=last
href="http://hi.csdn.net/colorant/profile/notebook/1.html">留言</A></LI></UL></DIV>
<DIV id=csdnblog_content>
<DIV class=gutter>
<DIV class=default_contents>
<DIV class=user_article>
<SCRIPT
src="Android Kernel Porting 的简单总结文档 - colorant的专栏 - CSDN博客.files/LoadFeedbackCount.js"
type=text/javascript></SCRIPT>
<H1 class=title_txt><IMG height=16 alt=原创
src="Android Kernel Porting 的简单总结文档 - colorant的专栏 - CSDN博客.files/authorship.gif"
width=15 border=0> Android Kernel Porting 的简单总结文档<CITE
class=fav_csdnstylebykimi><A class=fav_csdnstylebykimi title=收藏到我的网摘中,并分享给我的朋友
href="javascript:d=document;t=d.selection?(d.selection.type!='None'?d.selection.createRange().text:''):(d.getSelection?d.getSelection():'');void(saveit=window.open('http://wz.csdn.net/storeit.aspx?t='+escape(d.title)+'&u='+escape(d.location.href)+'&c='+escape(t),'saveit','scrollbars=no,width=590,height=300,left=75,top=20,status=no,resizable=yes'));saveit.focus();">收藏</A></CITE></H1>
<DIV class=blogstory>
<SCRIPT>function StorePage(){d=document;t=d.selection?(d.selection.type!='None'?d.selection.createRange().text:''):(d.getSelection?d.getSelection():'');void(keyit=window.open('http://www.365key.com/storeit.aspx?t='+escape(d.title)+'&u='+escape(d.location.href)+'&c='+escape(t),'keyit','scrollbars=no,width=475,height=575,left=75,top=20,status=no,resizable=yes'));keyit.focus();}</SCRIPT>
<P> </P>
<H1><SPAN style="FONT-WEIGHT: bold">Simple Guide for Porting Android
Kernel</SPAN></H1>
<DIV style="BACKGROUND: white" align=right>作者:刘旭晖 <SPAN><A
href="mailto:colorant@163.com">colorant@163.com</A> </SPAN>转载请注明出处</DIV>
<DIV style="BACKGROUND: white" align=right><SPAN style="COLOR: navy"><A
href="http://blog.csdn.net/colorant/">http://blog.csdn.net/colorant/</A></SPAN></DIV>
<DIV style="BACKGROUND: white"> </DIV>
<DIV
style="BACKGROUND: white; TEXT-INDENT: 21pt">移植Android的kernel到实际的硬件平台上,很多人很早就做过这件事了,不过相关的文档和经验总结不多,我就写一个吧,也为了自己记录一下大致的流程,以后好继续。</DIV>
<DIV style="MARGIN-TOP: 31.2pt"><STRONG><FONT size=6><SPAN>1<SPAN
style="FONT: 7pt 'Times New Roman'">
</SPAN></SPAN>Android内核Porting相关背景知识</FONT></STRONG></DIV>
<DIV><STRONG><FONT size=5><SPAN>1.1<SPAN
style="FONT: 7pt 'Times New Roman'">
</SPAN></SPAN>运行平台</FONT></STRONG></DIV>
<DIV>Google的Android平台到今天为止(2008-2-27),应用层部分还是以二进制的Binary的形式发布的,其编译的目标平台是ARM926EJ-S的CPU属于ARMV5T的版本,所以ARMV4架构的CPU平台无法使用其二进制代码。关于这点,可以参考下面这篇文章,Benno在此做了详尽的理论分析和代码测试:<A
href="http://benno.id.au/blog/2007/11/21/android-neo1973">http://benno.id.au/blog/2007/11/21/android-neo1973</A></DIV>
<DIV>所以目前只有基于ArmV5或以上的架构的平台可以实际运行Android。</DIV>
<DIV><STRONG><FONT size=5><SPAN>1.2<SPAN
style="FONT: 7pt 'Times New Roman'">
</SPAN></SPAN>软件环境</FONT></STRONG></DIV>
<DIV>SDK下载:<A
href="http://code.google.com/android/download_list.html">http://code.google.com/android/download_list.html</A></DIV>
<DIV>KERNEL,模拟环境等SRC包下载:<A
href="http://code.google.com/p/android/downloads/list">http://code.google.com/p/android/downloads/list</A></DIV>
<DIV><STRONG><FONT size=4><SPAN>1.2.1<SPAN
style="FONT: 7pt 'Times New Roman'">
</SPAN></SPAN>Kernel</FONT></STRONG></DIV>
<DIV>到M5-r14 release
为止,Android的Kernel是基于Linux2.6.23的内核开发的,主要添加了一个名为Goldfish的虚拟CPU以及Android所需相关特定驱动代码。</DIV>
<DIV>你需要一个支持EABI的内核作为你内核Porting的起点(最低版本?不知道,只要EABI
OK,应该没有本质区别,但是,Android的很多驱动依赖于2.6.23的内核API,版本越低的内核,移植修改内核相关代码的工作量越大)</DIV>
<DIV><STRONG><FONT size=4><SPAN>1.2.2<SPAN
style="FONT: 7pt 'Times New Roman'">
Android Kernel Porting 的简单总结文档
3星 · 超过75%的资源 需积分: 10 37 浏览量
2009-05-14
23:44:53
上传
评论
收藏 54KB RAR 举报
zhenwenxian
- 粉丝: 797
- 资源: 773