Ubuntu编译Xilinx的u-boot
博主这里的是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的更多相关文章
- Ubuntu 编译安装 Linux 4.0.5 内核,并修复 vmware 网络内核模块编译错误
. . . . . 今天把 Ubuntu 14.04 升级到了最新的 4.0.5 的内核版本,本来不打算记录下来的,但是升级的过程中确实遇到了一些问题,所以还是记录下来,分享给遇到同样问题的猿友. 先 ...
- Ubuntu编译Android源码过程中的空间不足解决方法
Android源码一般几十G,就拿Android5.0来说,下载下来大概也有44G左右,和编译产生的文件以及Ubuntu系统占用的空间加起来,源码双倍的空间都不够有.编译源码前能分配足够的空间再好不过 ...
- Ubuntu编译安装php7.4
Ubuntu编译安装php7.4 [root@ubuntu2004 php-7.4.30]#apt install gcc libssl-dev libxml2-dev libsqlite3-dev ...
- 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 ...
- ubuntu 编译运行 opencv C++ 项目
ubuntu 编译运行 opencv C++ 项目 环境 ubuntu 16.04 opencv3.4.0 一. 编译方法 1)命令行 g++ imageResize.cpp -o resize `p ...
- xilinx的quick boot(1) ——flash的一些内容
xilinx的quick boot(1) --flash,quick boot配置文件,以及中间的一些联系xilinx 配置模式分为SPI,BPI.用过的spi外挂flash是N25Q./////// ...
- Ubuntu yindaoxiufu 引导修复(Boot Repair)
Ubuntu yindaoxiufu 引导修复(Boot Repair) from: http://blog.csdn.net/piaocoder/article/details/50589667 ...
- modelsim编译Xilinx器件库的另一种方法(节省时间)
以前在用modelsim对Xilinx进行器件库编译时,我用的比较多的是直接在ISE中编译器件库,感觉很方便简单,就是编译时间有点长.自从前段时间,在自己电脑装MathType,360杀毒软件将它视为 ...
- Modelsim编译Xilinx器件库的另一种方法
由 xooo 于 星期五, 09/18/2015 - 15:35 发表 以前在用modelsim对Xilinx进行器件库编译时,我用的比较多的是直接在ISE中编译器件库,感觉很方便简单,就是编译时间有 ...
- Ubuntu编译安装nginx,php,mysql
摘要: 整理的Ubuntu编译安装nginx,php,mysql的步骤,主要来自对驻云的sh-1.4.1中脚本的整理,随时代进步,内容中的软件或者命令请自行更新 目录准备 创建用户 userdel w ...
随机推荐
- JAVA PDF 截取N页,生成新文件,转图片,多个PDF 合并
JAVA PDF 截取N页,生成新文件,转图片,多个PDF 合并 <dependency> <groupId>com.itextpdf</groupId> < ...
- Nginx The system cannot find the path specified
Nginx -t 时报 (3: The system cannot find the path specified) 原因:路径中有文件夹是中文,Nginx 全路径,不能包含中文
- Nginx--安装&&配置文件
官网:http://nginx.org/en/download.html nginx版本:1.18 一 安装 1 下载预编译环境(预编译报错需要安装什么库 直接在库名后面接 -devel 使用yu ...
- 2021InfoComm|钉钉会议 Rooms 的 "全场景" 智能化解决方案
InfoComm China 是亚太地区规模盛大的专业视听和集成体验解决方案商贸展会,提供前沿革新的产品和一系列高价值的技术展示. 在疫情期间,钉钉音视频支持了全国人民在线办公.在家上课,单日在线会议 ...
- Linux 下运行.NET 6 7 8 程序遇到的两个问题
一. /lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found 的解决办法 1. 下载 libstdc++.so.6.0.21 文件 注意区分 ...
- [VS Code] 入门-自定键盘快捷键
Keyboard Shortcuts 自訂鍵盤快捷鍵 開啟設定面板 :點擊左下角管理圖示〉選擇「鍵盤快速鍵」. 編輯器開啟後,滑鼠移至變更項目上,點擊出現的變更圖示(橘框處),輸入要變更的快捷鍵組合. ...
- 自动化测试复习巩固第一天,requests的用法
如何快速发送post请求 因为我用的python语言,所以大家需要在本地安装python语言和pycharm,如何安装请自行查找教程,这里不做过多赘述 这里需要提前下载安装好需要的第三方库reques ...
- LightOJ 1094
题意:就是求一个树的直径,也就是求任意两点的最大距离. 做法:跑两遍DFS,详见代码. #include<iostream> #include<cstdio> #include ...
- Go 汇编学习笔记
0.前言 学习 Go 离不开看源码,源码又包含大量汇编代码,离开汇编是学不好 Go 的.同样,离开汇编去学习计算机是不完整的,汇编是基石,是离操作系统和硬件最近的一层. 虽然之前学过一点 Go 汇编, ...
- Go image registry
0. 前言 OpenShift image registry 概述 介绍了 OpenShift 平台上 registry 的基本结构.进一步地,本文将介绍在 Kubernetes 平台上,如何使用 G ...