ubuntu下petalinux系统移植——SD卡启动


       硬件平台: zc706

       软件平台: ubuntu17 + vivado2016.2 + SDK 2016.2 + petalinux 2016.2

       启动方式:   SD 卡

       基于智商问题,为了移植个系统也是把百度翻遍了,也把QQ群翻遍了好不容易才把一个蹩脚系统放进SD卡。高手莫笑,真是使出吃奶力气了。

        下面分享一下移植过程,其实不一定正确。只是用UART终端可以访问了

1,用传统方法开发一个helloworld工程,SDK可以不用做。导出hdf文件。这个不用说,简单。

   工程需要满足的条件看UG1156   p16  

注意看 1,2,3 是必须用到的硬件。其实只是要注意看1 ----- 打开TTC 。

因为用zynq 我们会把DDR  FIXIO 接上。对于我来说用的是zc706,把核定制成zc706就行了,其他不用管。

注意看,这里的TTC 是悬空的,bsp生成的工程也是悬空的。证明悬空至少是不影响移植的。

2,新建  petalinux 工程

creat project之间需要安装好petalinux。检测方式:

1,找到 setting.sh。 指令  locat setting.sh 。找到setting.sh的所在地,比如我的是 /home/peng/pengxiaoen/linux_tool/petalinux-v2016.2-final/settings.sh

2, source  /home/peng/pengxiaoen/linux_tool/petalinux-v2016.2-final/settings.sh

每次要source这个环境变量很麻烦,就在自己的主目录下建立一个自己的shell。比如我的就是在自己的目录下新建一个自己的shell。petalinux_set.sh  里面就把 2 的这个source语句放进去。

每次需要启动petalinux的时候,source一下自己目录下的这个shell就可以了。

第二个指令 petalinux-create  --create project  --template zynq  --name petalinux_test_l 

                使用petalinux 创建一个 project,在zynq平台上,工程名字为petalinux_test_l

                第二个命令又生成了一个子目录 —— 有什么办法关闭啊,弄得我的目录真难看。

3,导入硬件信息 

      注意我进入的是sdk的目录下,就是hdf文件的目录下。所以我的指令(注意路径)就是

        后面就吓到我了,出来一个令人懵逼的界面,直接save并且退出。然后又出来一堆下图所示的东西,好几面都是这个信息提示。后面的步骤还会遇到,先不理。我也不知道什么问题,反正先放着吧。有人知道记得留言哦。

        这个 no real function for mkmod 在xilinx官网上有人提问,但是没有给出具体的解决办法。好像是这个系统中的某个东西不匹配。

        一个日本人的博客中这样写到:libtool的可执行文件名是错误的,libc6版本冲突mknod,找不到mknodat,并停止。   所以这个他放弃了ubuntu 用了其他的linux系统。

        http://dora.bk.tsukuba.ac.jp/~takeuchi/?%E9%9B%BB%E6%B0%97%E5%9B%9E%E8%B7%AF%2Fzynq%2FPetalinux%20%E3%81%AE%E3%83%93%E3%83%AB%E3%83%89 

      (备注:这个网址需要FQ)

4,配置  u-boot,kernel,rootfs 。

  回到petalinux新建工程下,如图。然后依次敲入

petalinux-config –c u-boot 

又出来一个让我懵逼的界面。直接save ,并且推出。等待运行完毕,上面那个no real function 信息不用管。下面两个命令同等对待。

petalinux-config –c kernel

直接save,并且退出。等待运行完毕,上面那个no real function 信息不用管

petalinux-config –c rootfs 

直接save ,并且退出。等待运行完毕,上面那个no real function 信息不用管

5,编译,生成系统文件

petalinux-build

这个指令需要等待一会儿了。生成了一堆文件在 image/linux下

6,生成BOOT.BIN

这个是否熟悉呢,就是SDK生成BOOT 

看图中指令有些复杂。BOOT.BIN 生成了就好。petalinux-package 指令在UG1156  p24 

7,剩下的这一步就很爽了。copy文件到SD卡

copy的文件有: uimage.ub        BOOT.BIN      

网上有人说还需要bit,但是我猜想BOOT里面包含了bit,所以把bit删除了。也启动了。

记住,登录用户名和密码都是 root

***************************************************************************************** 

*************  OVER  ****************************************************************

欢迎加入: FPGA广东交流群:162664354

相关