首页 > Tiny4412 Uboot

Tiny4412 Uboot

1. Build uboot

a) 安装好toolchain (arm-linux-gcc-4.5.1-v6-vfp-20120301.tgz)并设置好

环境变量PATH,保证可以正常使用。

b) 解压 uboot_tiny4412-20130729.tgz 并进入相应的目录

tar xzf uboot_tiny4412-20130729.tgz

c) 配置 uboot 并编译

cd uboot_tiny4412

make tiny4412_config

make

d) 编译 用于生成bl2 的工具

make -C sd_fuse

或者

cd sd_fuse; make



-----------------------------------------------------

2. 制作启动 Tiny4412 的SD卡

a) 先准备一张4G或以上的SDHC卡

注意:该卡的已有数据将会被破坏,因此请先对SD卡上的数据进行备份。

b) fusing SD card

假设SD卡已被PC Linux识别为/dev/sdb, 以root用户运行以下命令即可:

cd sd_fuse/tiny4412

./sd_fusing.sh /dev/sdb



-----------------------------------------------------

3. 使用SD卡启动 Tiny4412 并烧写Android

a) 将已经制作好的SD卡插到 Tiny4412 板上,拨动S2切换到SDBOOT,同时连接

串口线到PC且假设已经准备好。

b) 开发板加电,然后在串口控制台(如minicom),按任意键进入uboot 命令行模式

c) 对SD卡进行分区

输入以下uboot命令即可对SD卡进行分区:

fdisk -c 0 320 806 518 fdisk -c 0 320 2057 520

重新分区后,可重新格式化FAT分区

fatformat mmc 0:1

d) 进入fastboot模式以烧写Android

使用USB线连接Tiny4412的MICRO_USB口到PC,然后输入以下uboot命令:

fastboot

e) 烧写 Android 到SD卡

首先请准备好Android image,包括: zImage, ramdisk-u.img, system.img

在PC端输入以下命令进行烧写:

fastboot flash kernel zImage (烧写kernel)



fastboot -w (格式化userdata和cache)



fastboot flash ramdisk ramdisk-u.img (烧写ramdisk)



fastboot flash system system.img (烧写system)

f) 也可以在PC端通过fastboot烧写uboot到SD卡

先手动生成bl2.bin

cd sd_fuse/tiny4412

../mkbl2 ../../u-boot.bin bl2.bin 14336

然后输入以下命令:

fastboot flash fwbl1 E4412_N.bl1.bin



fastboot flash bl2 bl2.bin



fastboot flash bootloader ../../u-boot.bin

fastboot flash tzsw E4412_tzsw.bin



-----------------------------------------------------

4. 使用SD卡启动 Android

a) 如果是使用HD700,则烧写完成后直接重启Tiny4412 即可自动启动 Android

b) 如果是使用S700,则需要在uboot上设置kernel命令行参数:

setenv bootargs console=ttySAC0,115200n8 androidboot.console=ttySAC0 lcd=S700

saveenv

然后重启Tiny4412即可。

5.查看MMC设备的信息

因为我的SD卡是8G的,Tiny4412板载的eMMC是4G的,所以可以看出 mmc 0就是我们的SD卡,mmc 1就是板载eMMC

 

6.查看设备的分区信息

在Uboot中可以通过fdisk命令来查看MMC设备的分区信息,以及对MMC设备进行分区,使用方法如下:

①其中fdisk -p 加上设备编号用来查看设备的分区信息

其中设备1的的分区信息是友善的SuperBoot对设备进行的分区

②fdisk -c [ ]

我们还可以通过上面的命令对MMC设备进行分区,例如

 fdisk -c 0 320 806 518

通过fdisk命令的帮助手册,可以看出,上面的命令的含义是对MMC 0设备(即我们的SD卡)进行分区

分别指定了system分区、userdata分区以及cache分区的大小

对比SuperBoot对MMC1的分区信息

system:608  userdata:2057  cache :520 

所以可以仿照它对MMC0进行分区

fdisk -c 0 608 2057 520

分区完成后,可以使用fatformat命令重新格式化FAT分区

命令的使用方法为

这句话意思是对mmc 第 dev 号设备的第part分区作fat格式化

例如:fatformat mmc 0:1

则是对mmc 的第 0 号设备(我们的SD卡)的第一个分区作fat格式化

 

转载于:https://www.cnblogs.com/CoderTian/p/5935363.html

更多相关:

  • 分区助手 - 很棒的磁盘分区调整软件 http://www.onlinedown.net/soft/111710.htm 转载于:https://www.cnblogs.com/olmlo/archive/2013/06/05/3119411.html...

  • uboot启动Linux内核过程分为4大步骤: 问题1:Flash的分区相关问题 在 上述步骤1/2/4 中都提到了从启动介质(iNand/SD)中读取uboot/kernel到SRAM/DDR中,那么具体从启动介质的什么位置分别读取呢?  上述步骤1中,iROM的code是SoC出厂内置的,因此这个位置要参考SoC的数据手...

  • 选择你想要的数据库。 执行  exec sp_change_users_login 'UPDATE_ONE','用户名','登录名'   假如你的登录名是:sd exec sp_change_users_login 'UPDATE_ONE','sd','sd'   转载于:https://www.cnblogs.com/r...

  • 转载:http://blog.csdn.net/xinzheng_wang/article/details/7827775   Android 判断SD卡是否存在及容量查询的简单方法如下:首先要在AndroidManifest.xml中增加SD卡访问权限 [html] view plaincopy