找回密码
 注册
搜索
查看: 2070|回复: 3

[资料] S3c6410移植Android过程

[复制链接]
发表于 2013-2-12 17:02:21 | 显示全部楼层 |阅读模式
目录:
1.安装linux过程
2.安装编译工具
3.下载linux kerl
4.安装android SDK
5.获得 root file  system
6.修改linux kerl源码
7.配置linux kerl
8.修改 root file  system
9.编译linux kerl
10.下载kerl image
本文来自:我爱研发网(52RD.com) - R&D大本营
详细出处:http://www.52rd.com/bbs/Post.asp?Action=new&BoardID=129
【文件名】:13212@52RD_11813@52RD_S3c6410移植Android过程.pdf
【格 式】:pdf
【大 小】:896K
【简 介】:
【目 录】:


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
发表于 2013-2-18 08:48:15 | 显示全部楼层
网上都很多
主要过程:
. 安装lunux 环境
. 安装编译工具
. 下载Linux kernel
. 安装Android SDK
. 获得root file system
. 修改Linux kernel 源码
. 配置Linux kernel
. 修改root file system
. 编译Linux kernel
. 下载kernel Image

1.安装linux 环境
安装Ubuntu Linux 系统,从网站上下载操作系统安装光盘映像,地址:
http://mirror.lupaworld.com/ubuntu/releases/8.04/
下载ubuntu-8.04.2-desktop-i386.iso,刻录成光盘安装,安装可以在windows 系统下进行,
选取有15G 空间的硬盘安装,输入用户密码开始安装

这一步结束退出光盘重启进入Ubuntu 系统,完成余下系统安装。
Linux 安装完成,进入Ubuntu 系统,确保电脑连接Internet,安装一些必要软件。
打开终端输入命令框,进行下面的操作:
$ sudo apt-get install ssh
$ sudo apt-get install flex bison gperf libsdl-dev libesd0-dev libwxgtk2.6-dev build-essential zip curl
$ sudo apt-get install valgrind
$ sudo apt-get install sun-java6-jdk
$ sudo apt-get install libncurses5-dev
所有软件系统会自动从网络下载安装,完成后可以开始Android 的移植。

2.安装编译工具
下载:
$ wget
http://www.codesourcery.com/public/gnu_toolchain/arm-none-linux-gnueabi/arm-2008q1-126-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2
安装:
$ tar -xjvf arm-2008q1-126-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2

3.下载Linux kernel
从下面地址获得:
http://code.google.com/p/android/downloads/list?can=1&q=&colspec=Filename+Summary+Uploaded+Size+DownloadCount
Kernel : linux-2.6.23-android-m5-rc14.tar.gz
解压文件
$ tar -xf linux-2.6.23-android-m5-rc14.tar.gz

4.安装Android SDK
从网上下载linux 版本的Android SDK,如下
http://dl.google.com/android/android-sdk_m5-rc15_linux-x86.zip
下载后解压,获得android-sdk_m5-rc15_linux-x86 文件

5.获得root file system
⑴下载busybox 工具从下面地址
http://benno.id.au/blog/2007/11/14/android-busybox(linux 环境中下载)
⑵运行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=arm
menuconfig
这时进入kernel 配置画面,注意配置Initramfs source file 选项指定到initial_ram_disk 文件。

8.修改root file system
配置Touchscreen 使之能正常工作, initial_ram_disk 文件下修改/etc/init.rc,加入下面内容
TSLIB_CONSOLEDEVICE none
TSLIB_FBDEVICE /dev/graphics/fb0
TSLIB_TSDEVICE /dev/input/ts0
TSLIB_CALIBFILE /etc/pointercal
TSLIB_CONFFILE /etc/ts.conf
TSLIB_PLUGINDIR /lib/ts

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

② 连接smdk6400 开发板和电脑通过串口线,打开开发板电源,可以在超级终端中看到输出信息,bootloader 启动,按空格键进入命令输入状态

③ 板子上连接USB 线到电脑,安装USB 驱动程序
④ 运行dnw.exe 程序,配置Configuration/Options,地址0x57e00000,确定

⑤ 在超级终端中输入相应命令,开始下载
$ 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 移植成功。
点评回复

使用道具 举报

发表于 2013-3-29 10:55:11 | 显示全部楼层
谢谢,下载先
点评回复

使用道具 举报

发表于 2014-7-30 08:42:45 | 显示全部楼层
没什么币,还是下载了
点评回复

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies

本版积分规则

Archiver|手机版|小黑屋|52RD我爱研发网 ( 沪ICP备2022007804号-2 )

GMT+8, 2024-11-23 18:52 , Processed in 0.056568 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表