博主这里的是Ubuntu20.04LTS+Vivado2017.4+ZedBoard

注意:本文使用的环境变量导入方法是临时的,只要退出当前终端或者使用其他终端就会失效,出现异常问题,请随时export环境变量!

Setup0 必要的库

sudo apt install lib32z1 ssl libssl-dev libncurses5 build-essential openjdk-11-jdk u-boot-tools

Setup1 安装Vivado

地址如下:

https://www.cnblogs.com/hanlulu1998/p/14312925.html

Setup2 下载对应版本的u-boot

https://github.com/Xilinx/u-boot-xlnx/releases/tag/xilinx-v2017.4

使用git时请指定标签,否则克隆的是最新的版本

git clone -b xilinx-v2017.4 https://github.com/Xilinx/u-boot-xlnx.git

Setup3 交叉编译器和环境变量配置

新版的SDK自动安装交叉编译器,不需要再自行下载安装,且交叉编译器也更新为arm-linux-gnueabihf-,而不再是arm-xilinx-linux-gnueabi-。

https://www.xilinx.com/html_docs/xilinx2018_3/sdaccel_doc/axl1504034384447.html#gdz1504034401132

进入u-boot文件夹内

cd ~/u-boot-xlnx

查看arm-linux-gnueabihf-gcc版本

arm-linux-gnueabihf-gcc -v



显示没有安装,是因为环境变量没有导入,vivado提供了自动脚本帮助导入。

导入环境变量

source ~/Xilinx/Vivado/2017.4/setting64.sh
arm-linux-gnueabihf-gcc -v



已经导入成功!

Setup4

引入编译的环境变量

export ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf-

进入u-boot的configs文件夹里查看自己的板子配置文件



这里选择zynq_zed_defconfig

编译配置

make zynq_zed_defconfig



显示成功!

Setup5 最终编译设备树

make

多半会出现以下问题:

The OpenSSL 1.1.x version series undergone some major API changes which made

the RSA structure opaque and deprecated a number of methods, so add some

conditional compat code to make the u-boot source build again.

问题在于OpenSSL新版本的API进行了大的修改导致了这个问题,我们打上补丁即可。

https://github.com/openwrt/openwrt/commit/70b104f98c0657323b28fce140b73a94bf3eb756

进入u-boot下lib/rsa目录,对rsa-sign.c打上补丁

cd ~/u-boot-xlnx/lib/rsa
touch rsa-sign.patch

复制链接中的程序到rsa-sign.patch中

打上补丁:

patch rsa-sign.c rsa-sign.patch

重新编译

make



成功!

Ubuntu编译Xilinx的u-boot的更多相关文章

  1. Ubuntu 编译安装 Linux 4.0.5 内核,并修复 vmware 网络内核模块编译错误

    . . . . . 今天把 Ubuntu 14.04 升级到了最新的 4.0.5 的内核版本,本来不打算记录下来的,但是升级的过程中确实遇到了一些问题,所以还是记录下来,分享给遇到同样问题的猿友. 先 ...

  2. Ubuntu编译Android源码过程中的空间不足解决方法

    Android源码一般几十G,就拿Android5.0来说,下载下来大概也有44G左右,和编译产生的文件以及Ubuntu系统占用的空间加起来,源码双倍的空间都不够有.编译源码前能分配足够的空间再好不过 ...

  3. Ubuntu编译安装php7.4

    Ubuntu编译安装php7.4  [root@ubuntu2004 php-7.4.30]#apt install gcc libssl-dev libxml2-dev libsqlite3-dev ...

  4. linux 解决Ubuntu编译内核uImage出现问题“mkimage” command not found - U-Boot images will not be built问题

    解决Ubuntu编译内核uImage出现问题“mkimage” command not found - U-Boot images will not be built问题 http://www.lin ...

  5. ubuntu 编译运行 opencv C++ 项目

    ubuntu 编译运行 opencv C++ 项目 环境 ubuntu 16.04 opencv3.4.0 一. 编译方法 1)命令行 g++ imageResize.cpp -o resize `p ...

  6. xilinx的quick boot(1) ——flash的一些内容

    xilinx的quick boot(1) --flash,quick boot配置文件,以及中间的一些联系xilinx 配置模式分为SPI,BPI.用过的spi外挂flash是N25Q./////// ...

  7. Ubuntu yindaoxiufu 引导修复(Boot Repair)

    Ubuntu yindaoxiufu 引导修复(Boot Repair)   from: http://blog.csdn.net/piaocoder/article/details/50589667 ...

  8. modelsim编译Xilinx器件库的另一种方法(节省时间)

    以前在用modelsim对Xilinx进行器件库编译时,我用的比较多的是直接在ISE中编译器件库,感觉很方便简单,就是编译时间有点长.自从前段时间,在自己电脑装MathType,360杀毒软件将它视为 ...

  9. Modelsim编译Xilinx器件库的另一种方法

    由 xooo 于 星期五, 09/18/2015 - 15:35 发表 以前在用modelsim对Xilinx进行器件库编译时,我用的比较多的是直接在ISE中编译器件库,感觉很方便简单,就是编译时间有 ...

  10. Ubuntu编译安装nginx,php,mysql

    摘要: 整理的Ubuntu编译安装nginx,php,mysql的步骤,主要来自对驻云的sh-1.4.1中脚本的整理,随时代进步,内容中的软件或者命令请自行更新 目录准备 创建用户 userdel w ...

随机推荐

  1. 企业诊断屋:在线小说企业如何用A/B测试赋能业务

    更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群   近两年来,在线小说领域业务发展"降速",相较于几年前的快速扩张,2022年后国内在线小说企 ...

  2. Windows 安装 MySQL 5.7 x64 位

    设置MySQL 创建数据库,默认为UTF-8 下载地址:https://downloads.mysql.com/archives/installer/ 安装 网站上只有 x86 没有 x64 位,之前 ...

  3. Nginx--upstream健康检查

    nginx 判断节点失效状态: Nginx 默认判断失败节点状态以connect refuse和time out状态为准,不以HTTP错误状态进行判断失败,因为HTTP只要能返回状态说明该节点还可以正 ...

  4. 2019CCPC-江西省赛(重现赛)队伍题解

    2019CCPC江西省赛(重现赛) 第一次组队(和队内dalao:hzf)参加比赛,这次比赛使用的是我的笔电,但因为我来的比较晚,没有提前磨合:比如我的64键位键盘导致hzf突然上手不习惯. Solv ...

  5. Tomcat 9.0.26 高并发场景下DeadLock问题排查与修复

    本文首发于 vivo互联网技术 微信公众号 链接:https://mp.weixin.qq.com/s/-OcCDI4L5GR8vVXSYhXJ7w作者:黄卫兵.陈锦霞 一.Tomcat容器 9.0. ...

  6. Java ConcurrentHashMap 高并发安全实现原理解析

    本文首发于 vivo互联网技术 微信公众号链接:https://mp.weixin.qq.com/s/4sz6sTPvBigR_1g8piFxug作者:vivo 游戏技术团队 一.概述 Concurr ...

  7. slot-具名插槽

    定义组件:NamedSlot组件 <div class=""> <header> <slot name="header">& ...

  8. P1077-DP【黄】

    昨天好几道题没做出来很郁闷,结果今天上来半小时不到就直接做出一道黄DP题了,不错,又有写题的冲动了. 这道题我一直被那个"因为方案数可能很多,请输出方案数对 1000007取模的结果.&qu ...

  9. python之排序的几种方法

    一.通过sort()可以快速实现数组的排序: 1 a=[2,3,1] 2 a.sort() 3 print(a) 打印返回结果: 二.如果不知道有sort()函数或者一些特殊场景需要排序时,如果解决呢 ...

  10. java进阶(9)--数组

    一.基本概念: 1.数字为引用数据类型 2.数组实际上是一个容器,可以同时容纳多个元素 3.数组可存储基本数据类型,也可以存储引用数据类型的数据 4.数组一旦创建.长度不可变.且数组中元素类型必须统一 ...