环境说明:
硬件
– 串口线连接开发板串口con3到PC的串口
– TF卡8G,文件系统为FAT32格式
软件
– 串口工具(超级终端),默认波特率为115200
镜像组合
– Uboot 镜像“u-boot-iTOP-4412.bin”
– 内核镜像“zImage”
– 文件系统“iTOP4412_ubuntu_12.04_for_LCD_20141230.tar.gz”
镜像均在“platform-tools - Ubuntu”文件夹下
烧写系统具体步骤:
//--------------------------------------------------------------------------------------------
/*************** 制作TF卡 ***************/
******开发板操作******
一、进入uboot模式
– 上电,启动开发板,超级终端中,按“回车”键(一上电就按),进入uboot模式
1.将TF卡插入开发板,使用开发板给TF卡分区命令,超级终端中,输入命令:
– 输入分区命令“fdisk -c 1 2700 50 50”
2.格式化TF卡命令,超级终端中输入命令:
– fatformat mmc 1:1
– ext3format mmc 1:2
– ext3format mmc 1:3
– ext3format mmc 1:4
如果需要ext4格式化,需要将以上ext3改为ext4。
注意:在这四个分区中,用户将要使用的是2.7G 大小的TF卡盘符,这个2.7G大小的盘符名很重要。
******Ubuntu虚拟机操作******
3.打开Ubuntu12.04虚拟机,将“iTop4412_uboot_xxx.tar.gz”解压,
得到文件夹“iTop4412_uboot”,进入“iTop4412_uboot”文件夹。
– tar xzvf iTop4412_uboot_xxx.tar.gz
– cd iTop4412_uboot
4.拷贝“u-boot-iTOP-4412.bin”到上一步解压出来的文件夹“iTop4412_uboot”中。
5.再Ubuntu虚拟机终端中输入命令“df -l”,查看一下系统有哪些盘符。
切换进入Ubuntu虚拟机后,插上TF卡,TF卡会呗Ubuntu虚拟机识别,再次查看盘符。
注意:在执行下面这条命令的时候,要特别特别注意!一定要分清楚,哪个盘符是 TF 卡的盘符,
如果不清楚,请务必先拔掉 TF 卡,看清楚哪些盘符是属于 Ubuntu 系统的硬盘盘符,
看清楚哪些盘符是 Ubuntu 系统的硬盘盘符后,再插入 TF 卡,分辨出哪个盘符是新增加的盘符,
新增加的盘符才是 TF 卡的盘符。
6.进入文件夹“iTop4412_uboot”中。在 Ubuntu 命令行中,执行 Linux 命令:
- ./mkuboot /dev/sdx
mkuboot 是 uboot 源码文件夹中的一个脚本,一般识别的是“sdb”。
(注意,sdx 用前面查看盘符,多出来的盘符名代替,不要带数字,
比如df -l看到的tf卡是/dev/sdb0,这个0不要带,直接写sdb)
7.将“iTOP4412_ubuntu_12.04_for_LCD_xxxxxx.tar.gz”拷贝到Ubuntu虚拟机目录“/home/topeet/ubuntu”中备份,
将“iTOP4412_ubuntu_12.04_for_LCD_xxxxxx.tar.gz”拷贝到TF卡2.7G文件夹中。(分不清分区,输入fd -l查看)
- sudo cp iTOP4412_ubuntu_12.04_for_LCD_20141230.tar.gz /media/xxxxx
大约一分钟
8.拷贝完成之后,进入 tf 卡 2.7G 的目录,解压压缩包文件。
- cd /media/xxxxx
- sudo tar xvzf iTOP4412_ubuntu_12.04_for_LCD_20141230.tar.gz
注意:tar命令中 -v命令参数为显示文件,在上位机无法适应开发板频率是建议不加此参数!
大约三十分钟左右,PC配置不高,耗费时间更长。
******Windows操作******
9.解压缩完成后,将tf卡连接到windows系统,在TF卡上建立文件夹“sdupdate”。
不建议Windows10,WIndows10系统需要格式化后才能使用。
10.在Windows环境下,将“u-boot-iTOP-4412.bin”、“zImage”、“zImage_sd”、
“iTOP4412_ubuntu_12.04_for_LCD_20141230.tar.gz”拷贝到“sdupdate”文件夹中。
至此TF卡制作完成!
//--------------------------------------------------------------------------------------------
/*************** 烧写Ubuntu系统 ***************/
1.先将TF卡插入开发板,再启动开发板(如果执行了制作TF卡第6步,需要从SD卡启动)
2.打开超级终端,进入 uboot 模式,给 eMMC 分区和烧写镜像,具体操作如下:
3.eMMC分区命令,超级终端中,输入命令:
— fdisk -c 0 2700 300 300
4.格式化eMMC命令,超级终端中输入命令:
— fatformat mmc 0:1
— ext3format mmc 0:2
— ext3format mmc 0:3
— ext3format mmc 0:4
如果需要ext4格式化,需要将以上ext3改为ext4。
5.eMMC分区完成之后,在超级终端中,执行下面烧写 uboot 的命令。
- sdfuse flash bootloader u-boot-iTOP-4412.bin
6.烧写sd卡启动的内核
- sdfuse flash kernel zImage_sd
7.输入重启开发板命令,重启开发板后,开发板会运行 Ubuntu 系统。
- reset
8.超级终端中使用命令“ df -l”,查找到有update文件夹的盘符(一般末尾带下划线,/dev/mmcblk1px)。
注意:/dev/mmcblk0px 为eMMC /dev/mmcblk1px 为TF卡
9.进入update文件夹,将“iTOP4412_ubuntu_12.04_for_LCD_20141230.tar.gz”拷贝到eMMC的2.7G盘符中。
注意:输入df -l可以看到“/dev/mmcblk0p2”,大小为 2.7G。
- cp iTOP4412_ubuntu_12.04_for_LCD_20141230.tar.gz /media/xxxxx
大约需要几分钟时间。
10.进入eMMMC的2.7G盘符中,解压拷贝的文件系统
- tar xvf iTOP4412_ubuntu_12.04_for_LCD_20141230.tar.gz
注意:tar命令中 -v命令参数为显示文件,在上位机无法适应开发板频率是建议不加此参数!
这个过程最少需要三十分钟
11.在解压缩完成后,重启开发板,进入 uboot 模式,将内核镜像“zImage”烧写到 eMMC中,
- sdfuse flash kernel zImage
最后重启开发板,Ubuntu 系统重启后就可以在开发板上运行起来了,烧写 Ubuntu系统到此结束!