首先你需要一个安装好的linux系统,这里我用的是Ubuntu的虚拟机。VMWare的话,选择较高版本的成功率会高些(当然根据自己电脑的配置进行选择)。
打开Ubuntu的虚拟机,找到一个叫做Disks的软件,如下图所示:
选择一个4G以上的SD卡(建议是8G,这样系统跑起来之后会更流畅),进行格式化,这个格式化可以在Windows里先完成。
格式化之后,通过读卡器,将SD卡与PC连接,首先Windows会识别到这个USB设备,之后Ubuntu也会识别到这设备,我们需要把它连接到Ubuntu。连接到Ubuntu之后Windows这边就识别不到了。
我们开始用Disks对SD进行分区,先将500格式化为FAT格式。
再将余下的部分格式化为EXT4
格式化好之后就是如下图这个样子:
很多同学抱怨,找不到Create Partition这个对话框。不同的版本的VMWare操作方法不太一样。但是有共同点:先用鼠标点击上图中需要格式化的区域,然后取消它的格式,我这里点击“-”就行了,那边这片区别会显示free的字样,之后“-”会变成“+”,在点击“+”就会弹出Create Partition这个对话框。所以先取消区域的格式是弹出Create Partition这个对话框的关键!
格式化好之后,再断开SD卡和linux的连接,SD卡会重新与windows连接,此时只能识别到512M的FAT分区,这是正常的~~因为windows不认识EXT4这种格式。
然后把my_zynq_sd.rar(后面提供,注意下载)解压并且放入SD卡的512M的FAT分区~~
再次让SD卡再次连接到Ubuntu(连接方法是,在VMWare右下方,有个长方体的图标,单击之后,选择你要连接的USB设备。)这里可以观察到你的SD卡各部分被识别的位置——<sd card fat partition>
<sd card ext4 partition>。
我们可以通过挂载命令,把U盘挂载到某个文件夹:(<sd card ext4 partition>注意用上图中显示的目录替换,当然是根据你自己的Ubuntu的情况)
sudo mount /dev/<sd card ext4 partition> /tmp/sd_ext4
但是这里不就不用挂载命令了,因为我比较懒,发现此时SD卡的EXT4部分已经自动被挂载到/media/aston/EXT这个文件夹下了。如下图所示:
现在要做的是,把linaro-o-ubuntu-desktop-tar-20111219-0.tar.gz(后面提供,注意下载)放到ubuntu的共享文件夹里,这样linux就能访问到这个文件。
(ubuntu共享文件夹的实现方法十分的简单,大家自行百度~~)
然后把linaro-o-ubuntu-desktop-tar-20111219-0.tar.gz进行解压,直接解压到EXT分区,EXT分区目录
/media/aston/EXT。我们用命令进行解压~~
首先我们来到ubuntu共享文件夹所在目录:cd /mnt/hgfs/winshare 。由于linaro-o-ubuntu-desktop-tar-20111219-0.tar.gz就在这个文件夹,所以我们直接进行解压,但是解压过程报错。原因可能是共享文件夹比较特殊。于是我们把linaro-o-ubuntu-desktop-tar-20111219-0.tar.gz,拷贝到其他文件夹进行解压。我先在/tmp 下新建了一个new文件夹,然后将其拷贝到new文件夹,进入new文件夹再对其进行解压:tar zxf linaro-o-ubuntu-desktop-tar-20111219-0.tar.gz 。等个几分钟就解压完毕了。
解压完了之后发现多了一个binary文件夹,我们进入其中binary/boot/filesystem.dir,最终到了filesystem.dir文件
夹下,输入命令sudo rsync -a ./ /media/aston/EXT
这个命令就是把当前filesystem.dir的所有内容拷贝到/media/aston/EXT,/media/aston/EXT 这个地方就是我们SD 卡的EXT4部分卡挂载的地方。这个复制过程十分漫长,一般电脑估计得20到30分钟。完成之后报了几个错误:
recv_generator: mkdir "/media/aston/EXT/usr/share/xml-core" failed: Input/output error (5)
*** Skipping any contents from this failed directory ***
rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1183) [sender=3.1.0]
我选择直接选择忽略它~~
将SD断开与电脑的连接,然后插到我们的Miz702开发板中,确保拨码开关是SD卡启动。并连接串口查看打印信息。
如果最终打印出[email protected]:~# ,说明已经成功了。
如果此时连上HDMI到VGA,此时VGA会显示linaro-ubuntu的桌面~~,此时你还可以插上鼠标\键盘,插上网线。此时
Miz702俨然已经是一台PC机了。
linaro-o-ubuntu-desktop-tar-20111219-0.tar.gz
my_zynq_sd.rar
后续会上传到网盘,请稍等~~~
最后,感谢奔马大哥提供的启动文件,比某书提供的靠谱的了~~~谢谢!