设为首页 加入收藏

TOP

三星I8320 Android 移植(1)之Linux内核篇
2014-11-24 03:03:31 来源: 作者: 【 】 浏览:2
Tags:三星 I8320 Android 移植 Linux 内核

发布之前,先感谢一下我的老师 mephistoph! mephistoph 默默的做着代码移植工作。
为了调试方便,目前的版本是在TF卡内运行,内核用u-boot和uImage跑,暂时不刷机。


一. 准备工作


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 */


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在前一级目录*/


这时屏幕会发白或花屏几秒,然后出来企鹅以及一些字符信息。
系统工作了。


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇三星I8320 Linux Kernel 编译步骤 下一篇三星I8320 Android 移植(2)之开发..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·C++ 语言社区-CSDN社 (2025-12-24 17:48:24)
·CSDN问答专区社区-CS (2025-12-24 17:48:22)
·C++中`a = b = c`与` (2025-12-24 17:48:19)
·C语言结构体怎么直接 (2025-12-24 17:19:44)
·为什么指针作为c语言 (2025-12-24 17:19:41)