http://blog.chinaunix.net/uid-30025978-id-4788683.html
1、首先还是要将u-boot写入SD卡中从SD卡启动。
- 使用读卡器将SD插入电脑中,使用umount卸载u盘, fdisk -l显示其挂载点为 /dev/sdb1
- 切换到/home/bunfly/images/uboot_tiny4412/sd_fuse/tiny4412目录下,执行./sd_fusing.sh /dev/sdb
- 拨动最右边开关选择从SD卡启动。
附加编译过程:
1.进入开发板提供的源码文件包,解压uboot源码包。
cd /home/bunfly/source_code/
tar xf uboot_tiny4412-20130729.tgz
2.进入uboot文件夹,更改uboot中tiny4412的配置文件。将225 中的Tiny4412更改为bunfly。
cd uboot_tiny4412
vim include/configs/tiny4412.h
更改255行为#define CONFIG_SYS_PROMPT "bunfly # "
3. 回到u-boot文件夹,编译u-boot
make tiny4412_config
make
4.进入sd_fuse文件夹 编译
cd sd_fuse
make
5.此时目录/home/bunfly/images/uboot_tiny4412/sd_fuse/tiny4412
再执行./sd_fusing.sh /dev/sdb
OK!
2、将uboot写入emmc,并通过EMMC驱动,不再只用SD卡启动
0: 前奏
mmcinfo 0 : 查看mmc卡信息。0 表示SD卡; 1表示emmc卡,如下图
fdisk -p 0 : 查看mmc卡分区信息
1: 格式化emmc卡 (一般分四个区)
fdisk -c 1 320 809 524 :可以参考前面查看的信息格式化
fatformat mmc 1:1
ext3format mmc 1:2
ext3format mmc 1:3
ext3format mmc 1:4
2: 将bl1.bin, bl2.bin, u-boot.bin, tzsw.bin烧录到eMMC中
emmc open 1 :打开emmc文件
dnw 0x40000000 <--------------> dnw E4412_N.bl1.bin
mmc write 1 0x40000000 0 0x10
dnw 0x40000000 <--------------> dnw bl2.bin
mmc write 1 0x40000000 0x10 0x1C
dnw 0x40000000 <--------------> dnw u-boot.bin
mmc write 1 0x40000000 0x30 0x21D
dnw 0x40000000 <--------------> dnw E4412_tzsw.bin
mmc write 1 0x40000000 0x2c0 0xB8
emmc close 1
bin文件路径 /home/bunfly/images/uboot_tiny4412/sd_fuse/tiny4412
和 /home/bunfly/images/uboot_tiny4412
3: 启动方式拨到emmc启动Uboot就成功
4: 写入Linux镜像
4412开发板端先搭好NFS网络文件系统保证能正常启动:
#set bootargs console=ttySAC0 root=/dev/nfs nfsroot=192.168.1.10:/home/kernel ip=192.168.1.20
#save
开发板: PC端:
fastboot <--------------> fastboot -w (注意:fastboot这个命令是我主机上的命令,如果不能运行要先安装再用 ./fastboot)
fastboot flash kernel zImage (先进入zImage目录/home/bunfly/source_code/linux-3.5/arch/arm/boot)
fastboot reboot
movi read kernel 0 40008000
bootm 40008000
启动linux成功!(此时还是网络文件系统)
5: 写入文件系统
通过nfs挂载网络文件系统后
mount /dev/mmcblk0p3 /mnt
将文件系统拷贝进去,然后解压
cp /rootfs_qtopia_qt4-20131130.tar.gz /mnt
进入mnt目录并解压,将里面的文件mv出来。
设置权限:
chmod 777 /mnt -R
vi etc/init.d/rcS
最后加入:
/sbin/getty -L ttySAC0 115200 vt100
进入uboot设置环境变量
set bootargs console=ttySAC0 root=/dev/mmcblk0p3 rootfstype=ext4 init=linuxrc uhost0=y ctp=2
save
然后重启OK!---到此SD卡和网线都可以拔掉啦。