注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

东东的博客

江南烟雨,同大家一起分享

 
 
 

日志

 
 

I8320 android 移植之linux内核篇(开源)  

2010-09-30 15:34:20|  分类: android相关 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
此帖发布的目的是让更多爱好者加入进来,共同开发和移植android,奉行linux开源的宗旨,大家共同努力和进步吧!
此帖发布的是android的linux内核章节。
发布之前,先感谢一下我的老师 mephistoph!  mephistoph 默默的做着代码移植工作。
当然也要感谢CCTV,MTV和TVB啦!
为了调试方便,目前的版本是在TF卡内运行,内核用u-boot和uImage跑,暂时不刷机。
其它两个帖我也发布了:
http://www.limofans.com/forum.php?mod=viewthread&tid=6967&extra=
I8320 android 移植之开发环境篇
http://www.limofans.com/forum.php?mod=viewthread&tid=6974&extra=
I8320 android 移植之android SDK篇(开源)
一.  准备工作
1.toolchain建立
下载和解压toochain:
$ wget http://www.codesourcery.com/sgpp/lite/arm/portal/package5383/public/arm-none-linux-gnueabi/arm-2009q3-67-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2
$ tar xvjf arm-2009q3-67-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2 -C 你要解压的目录
复制代码
设置toolchain:
$ export PATH=/toolchain文件夹位置/bin:$PATH
$ export CROSS_COMPILE=arm-none-linux-gnueabi-
$ export ARCH=arm
复制代码
2.安装git
# apt-get install git-core
复制代码
二.  u-boot 编绎
1. 下载master分支的源码 $ git clone git://h1.pargon.nl/srv/git-h1/u-boot.git
$ cd u-boot
2. 获取nowplus分支的代码更新(nowplus就是I8320的别名)$ git checkout nowplus *如果不成功,请用这个命令: $ git checkout -b nowplus origin/nowplus */
h1.pargon.nl的git仓库坏了,请用mephisto新建的仓库:
$ git clone git://gitorious.org/h1droid/u-boot.git
$ cd u-boot
复制代码
3. 修改u-boot/include/configs/omap3_nowplus.h
CONFIG_BOOTDELAY,CONFIG_EXTRA_ENV_SETTINGS和CONFIG_BOOTCOMMAND
#define CONFIG_BOOTDELAY 0
#define CONFIG_EXTRA_ENV_SETTINGS \
        "loadaddr=0x82000000\0" \
        "console=ttyS2,115200n8\0" \
        "usbtty=cdc_acm\0"\
        "stdout=usbtty\0" \
        "stdin=usbtty\0" \
        "stderr=usbtty\0" \
        "bootargs=root=/dev/mmcblk0p1 rw init=/init rootdelay=1 rootfstype=ext3 rootwait debug\0" \
#define CONFIG_BOOTCOMMAND \
                "bootm 0x86C30000"
复制代码
4. 编绎u-boot
$ make omap3_nowplus_config
$ make
复制代码
三.  Linux内核,版本为2.6.32.9
1. 下载master分支的源码
$ cd u-boot前一级目录 /*注意: u-boot和I8320Kernel应该在同一级目录下方便生成boot.bin*/
(git仓库搬家了,旧的: git://github.com/mephistophilis/I8320Kernel.git)
$ git clone git://gitorious.org/h1droid/i8320kernel.git
$ cd I8320Kernel
复制代码
2. 获取i8320分支的代码更新
(现在没有i8320分支了$ git checkout i8320 /*如果不成功,请用这个命令: $ git checkout -b i8320 origin/i8320 */$ git pull origin i8320)
暂时只需要执行:
$ git pull origin master #更新代码
复制代码
3. 为生成uImage设置工具路径
$ export PATH=u-boot目录/tools:$PATH
复制代码
4. 编绎uImage
$ cp arch/arm/configs/omap_nowplus_defconfig .config
$ make uImage
复制代码
四.  生成boot.bin
boot.bin目的是合成u-boot.bin和uImage.
1. 获取makeboot工具
$ cd kernel和u-boot前一级目录
$ wget http://h1droid.googlecode.com/files/makeboot.sh
$ chmod +x makeboot.sh
复制代码
2. 生成boot.bin
$ ./makeboot.sh ./u-boot/u-boot.bin ./I8320Kernel/arch/arm/boot/uImage
复制代码
五.  运行内核
1. 下载工具
$ git clone git://h1.pargon.nl/srv/git-h1/odin.git
$ cd odin
复制代码
2. 编绎
$ make brick
复制代码
3. 将I8320进入download状态,然后插上USB线,下载boot.bin
$ ./odin ../boot.bin
复制代码
/*boot.bin在前一级目录*/
这时屏幕会发白或花屏几秒,然后出来企鹅以及一些字符信息。
系统工作了!!!!

转自:http://www.limofans.com/forum.php?mod=viewthread&tid=6961
  评论这张
 
阅读(1347)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017