4020|1

12

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

Android 6410 移植 (转) [复制链接]

本帖最后由 jameswangsynnex 于 2015-3-3 19:59 编辑

安装lunux环境
安装编译工具
下载Linux kernel
安装Android SDK
获得root file system
修改Linux kernel源码
配置Linux kernel
修改root file system
编译Linux kernel
下载kernel Image
1.安装配置 linux环境
系统安装完成后,更新源:
sudo vim /etc/apt/sources.list
在开头处加入以下行
执行:
sudo apt-get update
sudo apt-get upgrade
5.获得 root file system
【1】下载busybox工具从下面地址
使用http://benno.id.au/blog/2007/11/14/android-busybox(linux环境中下载)
【2】运行emulator 获取root file system
$ cd <目录>/ android-sdk_m5-rc15_linux-x86/tools
$ ./emulator&
等待 emulator 启动,看到出现 Android 系统画面,进入菜单 ALL/Dev  Tools/Development Settings下,
将 Wait for debugger,Show running processes,Show screen updates这三项打勾,回到命令输入终端。
$ ./adb push /busybox    /data
$ ./adb shell
# /data/busybox tar -czf system.tar.gz /system
# /data/busybox tar -czf data.tar.gz /data
# /data/busybox tar -czf etc.tar.gz /etc
# /data/busybox tar -czf sbin.tar.gz /sbin
# exit
$ ./adb pull /system.tar.gz ./
$ ./adb pull /data.tar.gz ./
$ ./adb pull /etc.tar.gz ./
$ ./adb pull /sbin.tar.gz ./
$ ./adb pull /init ./
通过busybox工具获得了emulator 的文件并打包,下面建立root文件目录
$ mkdir initial_ram_disk
$ cd initial_ram_disk
$ mkdir cache
$ mkdir d
$ mkdir dev
$ mkdir proc
$ mkdir root
$ mkdir sdcard
$ mkdir sys
$ mkdir tmp
$ mkdir var
$ tar -xf    /system.tar.gz ./
$ tar -xf    /data.tar.gz ./
$ tar -xf    /etc.tar.gz ./
$ tar -xf    /sbin.tar.gz ./
$ cp /init ./
包含Android root文件系统的initial_ram_disk做好。
6.修改 Linux kernel 源码
下载的 kernel 文件是不支持 smdk6400 开发板的,必须加入 smdk6400 的配置文件到kernel中,同时修改Kconfig和Makefile文件。
修改如下:
1>  选择  /arch/arm/mach-s3c2410/Makefile.boot 改为下面内容,
  zreladdr-$(CONFIG_PLAT_S3C24XX)    := 0x30008000
  params_phys-$(CONFIG_PLAT_S3C24XX)  := 0x30000100
      zreladdr-$(CONFIG_PLAT_S3C64XX)    := 0x50008000
  params_phys-$(CONFIG_PLAT_S3C64XX)  := 0x50000100
2>  从成熟的smdk6400平台文件中拷贝下面文件到kernel目录
/arch/arm/mach-s3c6400  
/drivers/serial/s3c6400.c  
/drivers/input/touchscreen/s3c-ts.c  
/drivers/usb/gadget
3>  拷贝/drivers/android/ashmem.c 文件到相应目录下从另外的 android  kernel  (The  Android
source code for 2.6.23 不包含此文件)
4>  修改相应的Kconfig和Makefile文件,使最终能编译到加载的smdk6400文件。
7.配置 Linux kernel
修改kernel后进行配置,用到第2步的编译工具
  $ cd
  $  make  CROSS_COMPILE=/bin/arm-none-linux-gnueabi-  ARCH=armmenuconfig
这时进入kernel配置画面,注意配置 Initramfs source file选项指定到 initial_ram_disk文件。
9.  编译 Linux kernel
$  make  CROSS_COMPILE=/bin/arm-none-linux-gnueabi-  ARCH=arm
zImage
编译成功,在arch/arm/boot下面是生成的zImage文件。
10.下载 kernel image
进入Windows系统,下载过程在Windows系统中完成。
①  打开:程序\附件\通讯\超级终端,配置COM口,115200,8N1 (如图1)
②  连接 smdk6400 开发板和电脑通过串口线,打开开发板电源,可以在超级终端中看到输出信息,bootloader 启动,按空格键进入命令输入状态 (如图2)
③  板子上连接USB线到电脑,安装USB驱动程序
④  运行dnw.exe程序,配置Configuration/Options,地址 0x57e00000,确定 (如图3)
⑤  在超级终端中输入相应命令,开始下载
$ run bootup    (下载bootloader)
$ run kernelup   (下载kernel Image)
$ run rootup    (下载root file system)
⑥  这里我们输入
$ run kernelup
等待 dnw 发送文件,dnw 显示[COM1,115200bps][USB:OK][ADDR:0x57e00000]说明连接成功,选择USB Port->Transmit,选取编译成功的zImage文件,开始下载。
下载完成,重启开发板,等待,LCD 上出现一些 Android 字符,一段时间白屏,出现一个左右滚动的红色滚动条,进入主界面,Android移植成功。
 
此帖出自消费电子论坛

最新回复

本帖最后由 jameswangsynnex 于 2015-3-3 19:59 编辑 实践过没?   详情 回复 发表于 2010-8-15 18:34
点赞 关注
 
 

回复
举报

5979

帖子

8

TA的资源

版主

沙发
 
本帖最后由 jameswangsynnex 于 2015-3-3 19:59 编辑

实践过没?
此帖出自消费电子论坛
个人签名生活就是油盐酱醋再加一点糖,快活就是一天到晚乐呵呵的忙
===================================
做一个简单的人,踏实而务实,不沉溺幻想,不庸人自扰
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/6 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表