一、概述
此文档介绍了基于ZingSK运行Ubuntu的必要的步骤。此文档所有命令均是在Ubuntu12.04 x86_32操作系统下完成。
硬件平台:ZingSK开发套件
开发环境:Windows7-32位、VMware 9.0 + Ubuntu 12.04、arm- xilinx- linux-gnueabi交叉编译环境
嵌入式Linux: zynq_base_trd_14.1(基于ZingSK修改)
ZingSK支持Linux和Ubuntu,Ubuntu GUI支持HDM输出。
Ubuntu操作系统运行需要一系列二进制文件如下表所示:
文件名
描述
BOOT.BIN
由EDK bootgen工具创建,包含 FSBL (First Stage Boot Loader), FPGA bit-stream, U-Boot(基于zynq_base_trd_14.1构建)
zImage
Linux kernel
devicetree.dtb
Device Tree Blob
Ubuntu-rootfs.img
Ubuntu 根文件系统
表1-1
二、软件设计
Device Tree修改部分
内核启动参数修改:
chosen {
bootargs = "console=tty0 console=ttyPS0,115200 root=/dev/mmcblk0p2 rw
earlyprintk mem=384M memmap=64M$0x18000000 vmalloc=128M
rootfstype=ext4 rootwait devtmpfs.mount=0 --no-log";
linux,stdout-path = "/amba@0/uart@E0000000";
};
显示模式修改(1080P):
xylon-videomode-params {
pixel-data-invert = <0>;
pixel-clock-active-edge = <1>;
default-active-layer-idx = <0>;
default-videomode-idx = <7>;
….
其他修改可参照ZingSK移植Android系统及电容屏应用
三、快速开始
1、准备
启动用的TF卡应包含所有以上所述Ubuntu运行镜像。 TF卡必须包含第一个使用FAT文件系统格式的分区,以及第二个Ext4格式的分区(Ubuntu的根文件系统所在分区)。
在TF卡上的分区结构应如下:
1) FAT格式的分区,足以包含所有启动文件。
2) Ext4格式的分区,Ubuntu根文件系统。
注:如有第一分区非FAT格式,ZingSK将无法启动。
TF格式化完毕后将表1-1中的BOOT.bin、devicetree.dtb、zImage拷贝到第一分区。
执行以下命令烧写第二分区:
$file ubuntu-rootfs.img
ubuntu-rootfs.img: x86 boot sector; partition 1: ID=0xb, starthead 1, startsector 63, 32067 sectors; partition 2: ID=0x83, starthead 0, startsector 32130, 3405780 sectors, code offset 0x0
$ mkdir rootfs
# mount ubuntu-rootfs.img rootfs -o offset=$((32130*512))
#cp rootfs/* /media/EXTERNAL/ -a
#umount rootfs
注:EXTERNAL为TF第二分区在Ubuntu12.04下的挂载目录。
2、运行
在ZingSK上启动Ubuntu需要一下几步:
· 格式化TF并将表1-1中所有文件拷贝到其中。
· 将TF卡插入ZingSK的TF卡插槽中。
· 确保ZingSK板卡跳线正确设置为TF卡启动模式。
6V电源、USB-UART连接线、HDMI线
以下分步介绍:
1. 开发板连接6 V电源(JP1)并用HDMI连接线连接板卡与显示器,不要打开电源。
2. 将包含了Ubuntu二进制文件的TF闪存卡,插入到ZingSK开发板的TF卡插槽内。
TF闪存卡预装了Ubuntu例程运行所需的二进制文件,包含以下文件:
- BOOT.bin
- devicetree.dtb
- zImage
3. 用USB Type-A -USB Mini-B 电缆连接开发板UART与电脑.
4. 使用“设备管理器”,以确定COM端口。 打开一个串口调试程序,配置为115200/8/n/1/n。
5. 打开电源开关(SP1) ,开发板上电运行。
6. 在串口调试工具的窗口将会显示Ubuntu的引导过程。
7. 约一分钟左右,显示器上将会出现Ubuntu界面,可以通过连接鼠标操作程序。
|