ubuntu下petalinux系统移植——SD卡启动
2017-11-24 17:19
351 查看
硬件平台: zc706
软件平台: ubuntu17 + vivado2016.2 + SDK 2016.2 + petalinux 2016.2
启动方式: SD 卡
基于智商问题,为了移植个系统也是把百度翻遍了,也把QQ群翻遍了好不容易才把一个蹩脚系统放进SD卡。高手莫笑,真是使出吃奶力气了。
下面分享一下移植过程,其实不一定正确。只是用UART终端可以访问了
1,用传统方法开发一个helloworld工程,SDK可以不用做。导出hdf文件。这个不用说,简单。
工程需要满足的条件看UG1156 p16
![](https://oscdn.geek-share.com/Uploads/Images/Content/201711/93d4f91493e647b49b99acb9a6ecd292.png)
注意看 1,2,3 是必须用到的硬件。其实只是要注意看1 ----- 打开TTC 。
因为用zynq 我们会把DDR FIXIO 接上。对于我来说用的是zc706,把核定制成zc706就行了,其他不用管。
注意看,这里的TTC 是悬空的,bsp生成的工程也是悬空的。证明悬空至少是不影响移植的。
![](https://oscdn.geek-share.com/Uploads/Images/Content/201711/ed6d34817ca4c825016076d711390c56.png)
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
第二个命令又生成了一个子目录 —— 有什么办法关闭啊,弄得我的目录真难看。
![](https://oscdn.geek-share.com/Uploads/Images/Content/201711/1baad723f72aaba42f791dff80d40d30.png)
3,导入硬件信息
注意我进入的是sdk的目录下,就是hdf文件的目录下。所以我的指令(注意路径)就是
![](https://oscdn.geek-share.com/Uploads/Images/Content/201711/0aeab3ff91cb57427e2bcb1b2b44fbc6.png)
后面就吓到我了,出来一个令人懵逼的界面,直接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)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201711/26b106c30b78a8c29a1a26517a8089e1.png)
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 信息不用管
![](https://oscdn.geek-share.com/Uploads/Images/Content/201711/6efac1d578f797f31673f46c14e8ce8b.png)
5,编译,生成系统文件
petalinux-build
这个指令需要等待一会儿了。生成了一堆文件在 image/linux下
![](https://oscdn.geek-share.com/Uploads/Images/Content/201711/06ee2a26d79b18a19140ee061afec6b3.png)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201711/9c4c10e328e0c9c4f83c8e5cc11d5770.png)
6,生成BOOT.BIN
这个是否熟悉呢,就是SDK生成BOOT
看图中指令有些复杂。BOOT.BIN 生成了就好。petalinux-package 指令在UG1156 p24
![](https://oscdn.geek-share.com/Uploads/Images/Content/201711/cbdae165e6c1340d03e3c5e19808c1c5.png)
7,剩下的这一步就很爽了。copy文件到SD卡
copy的文件有: uimage.ub BOOT.BIN
网上有人说还需要bit,但是我猜想BOOT里面包含了bit,所以把bit删除了。也启动了。
![](https://oscdn.geek-share.com/Uploads/Images/Content/201711/c7b90e95060055197feae0a06ad81d2f.png)
记住,登录用户名和密码都是 root
*****************************************************************************************
************* OVER ****************************************************************
欢迎加入: FPGA广东交流群:162664354
软件平台: ubuntu17 + vivado2016.2 + SDK 2016.2 + petalinux 2016.2
启动方式: SD 卡
基于智商问题,为了移植个系统也是把百度翻遍了,也把QQ群翻遍了好不容易才把一个蹩脚系统放进SD卡。高手莫笑,真是使出吃奶力气了。
下面分享一下移植过程,其实不一定正确。只是用UART终端可以访问了
1,用传统方法开发一个helloworld工程,SDK可以不用做。导出hdf文件。这个不用说,简单。
工程需要满足的条件看UG1156 p16
![](https://oscdn.geek-share.com/Uploads/Images/Content/201711/93d4f91493e647b49b99acb9a6ecd292.png)
注意看 1,2,3 是必须用到的硬件。其实只是要注意看1 ----- 打开TTC 。
因为用zynq 我们会把DDR FIXIO 接上。对于我来说用的是zc706,把核定制成zc706就行了,其他不用管。
注意看,这里的TTC 是悬空的,bsp生成的工程也是悬空的。证明悬空至少是不影响移植的。
![](https://oscdn.geek-share.com/Uploads/Images/Content/201711/ed6d34817ca4c825016076d711390c56.png)
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
第二个命令又生成了一个子目录 —— 有什么办法关闭啊,弄得我的目录真难看。
![](https://oscdn.geek-share.com/Uploads/Images/Content/201711/1baad723f72aaba42f791dff80d40d30.png)
3,导入硬件信息
注意我进入的是sdk的目录下,就是hdf文件的目录下。所以我的指令(注意路径)就是
![](https://oscdn.geek-share.com/Uploads/Images/Content/201711/0aeab3ff91cb57427e2bcb1b2b44fbc6.png)
后面就吓到我了,出来一个令人懵逼的界面,直接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)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201711/26b106c30b78a8c29a1a26517a8089e1.png)
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 信息不用管
![](https://oscdn.geek-share.com/Uploads/Images/Content/201711/6efac1d578f797f31673f46c14e8ce8b.png)
5,编译,生成系统文件
petalinux-build
这个指令需要等待一会儿了。生成了一堆文件在 image/linux下
![](https://oscdn.geek-share.com/Uploads/Images/Content/201711/06ee2a26d79b18a19140ee061afec6b3.png)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201711/9c4c10e328e0c9c4f83c8e5cc11d5770.png)
6,生成BOOT.BIN
这个是否熟悉呢,就是SDK生成BOOT
看图中指令有些复杂。BOOT.BIN 生成了就好。petalinux-package 指令在UG1156 p24
![](https://oscdn.geek-share.com/Uploads/Images/Content/201711/cbdae165e6c1340d03e3c5e19808c1c5.png)
7,剩下的这一步就很爽了。copy文件到SD卡
copy的文件有: uimage.ub BOOT.BIN
网上有人说还需要bit,但是我猜想BOOT里面包含了bit,所以把bit删除了。也启动了。
![](https://oscdn.geek-share.com/Uploads/Images/Content/201711/c7b90e95060055197feae0a06ad81d2f.png)
记住,登录用户名和密码都是 root
*****************************************************************************************
************* OVER ****************************************************************
欢迎加入: FPGA广东交流群:162664354
![](https://oscdn.geek-share.com/Uploads/Images/Content/201711/9f3c05f93bc5c2509cdce9ec45a1a215.jpg)
相关文章推荐
- 移植7- uboot之sd卡做文文件系统启动linux
- Ubuntu通过NFS启动OK6410 arm linux系统
- 基于S3C2440的Linux内核移植和yaffs2文件系统制作--启动系统
- 基于FS4412嵌入式系统移植(2) NFS文件系统启动linux体验
- ubuntu11.04启动 及虚拟文件系统 分类: arm-linux-Ubuntu 2013-07-22 16:28 369人阅读 评论(0) 收藏
- Linux系统移植实验---SD卡驱动移植
- Linux:安装双系统(Win7+Ubuntu)后,Ubuntu正常,Win7无法启动,有需要的朋友可以参考下
- SD卡启动tiny4412标准版(1306)的linux系统并挂载网络根文件系统
- 【嵌入式Linux学习七步曲之第三篇 Linux系统bootlaoder移植】U-BOOT全线移植分析系列之四--U-boot如何引导Linux内核启动?
- Linux下制作ubuntu系统的u盘启动版LiveCD和直接硬盘启动LiveCD
- Ubuntu Linux系统的启动过程
- 嵌入式Linux系统内核Kernel(裁减移植)启动调试技术(回顾)
- beagelboard-xm上dvsdk移植4:sd卡启动脚本以及NFS文件系统的制作和配置
- OpenCV在Ubuntu和Linux系统下的移植
- Linux内核移植 part1:Exynos4412 sd卡启动uboot
- Linux-2.6.32.67内核裁剪与移植之内核启动与根文件系统制作(1)
- ZYNQ的Linux Linaro系统镜像制作SD卡启动
- BeagleBone Black 从sd卡启动系统(debian、Ubuntu和angstrom)
- 双系统重装win系统后,如何引导启动linux,比如ubuntu
- linux ubuntu 系统启动服务设置