[project X]tiny210 操作说明(合入到主基线的版本)

本篇文章是tiny210合入project X项目主基线之后的操作说明,是[project X] tiny210 操作说明 的更新。
另外,该操作针对于initramfs格式的rootfs以及fit-uImage的uImage格式(对initramdisk和legacy uImage不支持)。

零、项目说明

project X项目是由wowo发起的,希望能够在一个项目中可以支持多个板子的项目。
在wowo的project X项目上对友善之臂tiny210的板子进行支持。
目前已经可以正常启动到kernel commandline部分。
暂时只使用SDcard作为存储设备,后续会对nand flash进行支持。
欢迎有tiny210或者其他板子的同学也一起参与到这个项目来,让project x项目支持更多的板子。

一、准备操作

1、代码

github下载地址:
build https://github.com/wowotechX/build.git
uboot https://github.com/wowotechX/u-boot.git
kernel https://github.com/wowotechX/linux.git
tools https://github.com/wowotechX/tools.git
(1)git clone下载以上代码到同一目录下。
(2)tiny210已经合入到主基线中,使用对应分支如下:
<为了防止以后主基线更新导致tiny210的使用有问题,这里先记录下当前可以正常使用的commit id>
* build——》master
commit 947434779c33c6e625e0edbcf8f812a9e49079ea
* uboot——》x_integration
commit 90e231b0fc58b6539a96a9526323f0338d8849ee
* kernel——》x_integration
commit 0fc82242f713eb099c643d45ae6840d46f5c00de
* tools——》master
commit d41430817a4a0246be19971c2cd2989e1bcb4627

2、编译器

(1)进入build目录。
(2)修改配置文件config.mk中的板级配置文件为config_tiny210.mk,如下:

include ./configs/config_tiny210.mk
#include ./configs/config_bubblegum.mk
#include ./configs/config_hikey.mk

(3)执行“make env_prepare
会下载arm-none-linux-gnueabi-4.8编译器。

3、软件

在制作ramdisk的过程中,需要安装genext2fs、gzip命令,可以通过apt-get install进行安装。

二、编译操作

以下都是在build目录下进行操作.
修改配置文件config.mk中的板级配置文件为config_tiny210.mk,如下:

include ./configs/config_tiny210.mk
#include ./configs/config_bubblegum.mk
#include ./configs/config_hikey.mk

1、uboot

执行“make uboot
生成
out/u-boot/u-boot.bin
out/u-boot/spl/u-boot-spl.bin
out/u-boot/spl/tiny210-spl.bin

2、kernel、dtb

执行“make kernel
生成
out/linux/arch/arm/boot/Image
out/linux/arch/arm/boot/zImage
out/linux/arch/arm/boot/dts/s5pv210-tiny210.dtb

3、根文件系统

(1)编译busybox
需要编译busybox来生成根文件系统中需要的一些东西。
执行“make busybox
生成
out/busybox
out/rootfs
(2)生成rootfs镜像
当前基线暂时只支持initramdisk格式rootfs。
执行“make initramfs
生成
out/initramfs.gz

4、fit_uimage

legacy_uimage的方式比较老,后续都是使用fit_uimage的方式来制作kernel镜像。所以当前基线暂时只支持fit_uimage。
执行“make uImage
生成
out/xprj_uImage_tiny210.itb
kernel镜像,dtb,rootfs镜像都被打包到xprj_uImage_tiny210.itb中了,烧写的过程中只需要烧写xprj_uImage_tiny210.itb即可

三、烧录操作(使用SD card作为存储设备)

以下都是在tools/samsung/tiny210目录下操作
需要先执行“sudo fdisk -l”看看sdb是否已经存在,保证sdcard已经被挂载上了,可以通过命令进行烧写

0、使用SDcard来存放镜像

SDcard部署如下(扇区):

spl:                SEC_UBOOT_SPL=1-4829KB)
uboot:            SEC_UBOOT=49-1072512KB)
legacy_uimage:    SEC_UIMAGE=1073-51682MB)    // fit_uImage的情况下不需要使用
dtb:                SEC_DTB=5169-529664KB)     // fit_uImage的情况下不需要使用
ramdisk:            SEC_ROOTFS=5297-134884MB)         // fit_uImage的情况下不需要使用
fit:                SEC_FIT_IMAGE_START=13489

1、uboot

需要保证上述<二、1><二、4>步骤完成
./flash_sdcard.sh uboot
会烧写spl.bin和uboot.bin到SDcard对应位置上。

2、fit-image

需要保证上述<二、5>步骤完成
./flash_sdcard.sh fit_image
会烧写fit uimage到SDcard对应位置上。

四、启动操作

0、说明

目前为了开发方便,在uboot中已经实现自动将镜像从SDCARD复制到ddr的对应位置上。
也就是说无需输入其他命令来复制镜像到ddr上。
ddr的部署如下:

legacy_uimage:0x20008000
dtb:0x22000000  // fit_uImage的情况下不需要使用
ramdisk:0x21000000  // fit_uImage的情况下不需要使用
fit_image:0x30000000

2、通过fit_uimage的方式来启动kernel(也就是通过FIT格式的uImage来启动kernel)

需要保证<三、2>步骤完成
在uboot的command line中,执行
bootm 0x30000000
0x30000000表示FIT文件在ddr中的为知,uboot会自动从FIT中解析出kernel、rootfs镜像和dtb在ddr上的位置。
到这里,kernel就跑起来了并且跑到了kernel的command line中。

猜你喜欢

转载自blog.csdn.net/ooonebook/article/details/54880280
今日推荐