uboot源码下载以及编译

news2024/11/20 14:32:42

环境:ubuntu 20.04

uboot源码下载以及编译

  • 1 uboot源码下载:
    • 1.1 进入uboot官网
    • 1.2 下载源码
  • 2 编译uboot
    • 2.1 配置
    • 2.2 编译
      • 2.2.1 确认编译工具链是否ok
      • 2.2.2 配置环境变量
      • 2.2.3 编译
  • 3 注意事项
    • 3.1 uboot 2022.04版本问题
    • 3.2 unable to execute 'swig': No such file or directory

1 uboot源码下载:

1.1 进入uboot官网

uboot官网在进入之后如下所示:
在这里插入图片描述
我们可以直接选择Obtaining the source进入到获取源码的网址

1.2 下载源码

在点击Obtaining the source进入到新的网址之后就会看到下面提示去获取uboot的源码:
The source of the U-Boot project is maintained in a Git repository.

You can download the source via

git clone https://source.denx.de/u-boot/u-boot.git

A mirror of the source is maintained on Github

git clone https://github.com/u-boot/u-boot

The released versions are available as tags which use the naming scheme:

v<year>.<month>

Release candidates are named:

v<year>.<month>-rc<number>

To checkout the October 2020 release you would use:

git checkout v2020.10

2 编译uboot

2.1 配置

目录“configs/”包含维护的单板模板配置文件,命名如下:

<board name>_defconfig

比如,我想查看arm的公版的板卡配置,在我最新下载的uboot代码下有以下相关的配置文件:

rlk@rlk:configs$ pwd
/home/rlk/work/u-boot/u-boot/configs
rlk@rlk:configs$ ls vexpress_* -alh
-rw-rw-r-- 1 rlk rlk 1.2K Dec 21 09:48 vexpress_aemv8a_juno_defconfig
-rw-rw-r-- 1 rlk rlk  965 Dec 21 09:48 vexpress_aemv8a_semi_defconfig
-rw-rw-r-- 1 rlk rlk  554 Dec 21 09:48 vexpress_aemv8r_defconfig
-rw-rw-r-- 1 rlk rlk 1.6K Dec 21 09:48 vexpress_ca9x4_defconfig
rlk@rlk:configs$

这些文件已经去掉了默认设置。所以你不能直接使用它们。相反,它们的名称用作生成实际配置文件.config的make目标。例如,Odroid C2板的配置模板名为Odroid -c2_defconfig。对应的.config文件由下面的方式生成:

make odroid-c2_defconfig

如果当前的配置不能满足您的需求,您也可以通过下面的命令去调节相关的配置:

make menuconfig

2.2 编译

2.2.1 确认编译工具链是否ok

rlk@rlk:u-boot$ aarch64-linux-gnu-gcc --version
aarch64-linux-gnu-gcc (Ubuntu 9.4.0-1ubuntu1~20.04.1) 9.4.0
Copyright (C) 2019 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

rlk@rlk:u-boot$

如果没有安装,则执行下面的命令去安装一下对应的软件即可:

sudo apt-get install gcc gcc-aarch64-linux-gnu

2.2.2 配置环境变量

export ARCH=arm64
export CROSS_COMPILE=aarch64-linux-gnu-

2.2.3 编译

make -j8

3 注意事项

3.1 uboot 2022.04版本问题

在使用最新的2022.04的uboot源码编译的时候存在一些问题,可以先切换到稍微老的版本的上去做测试。
https://www.mail-archive.com/ports@freebsd.org/msg01825.html

3.2 unable to execute ‘swig’: No such file or directory

安装swig

sudo apt-get install swig

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/106429.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

分代收集算法

将这个堆内存划分成两块&#xff1a;新生代和老年代&#xff0c;刚刚创建的对象都在新生代&#xff0c;长久存活的对象都在老年代&#xff08;老年代的垃圾回收很久发生一次&#xff0c;新生代的垃圾回收发生的比较频繁&#xff09; 新生代又进一步划分成伊甸园Eden&#xff0…

docker安装gitlab(超级详细)

前提&#xff1a; 在操作之前需要安装docker和docker-compose 拉取镜像 docker pull gitlab/gitlab-ce:15.2.4-ce.0 创建本地文件夹 mkdir /data/docker/gitlab/etc mkdir /data/docker/gitlab/logs mkdir /data/docker/gitlab/data 编写 docker-compose.yml cd /data/docker/…

面试高频题目,每周更新。

1.如何实现一个div快速的居中对齐&#xff1f; 2.margin和padding有什么不同&#xff1f; 作用对象不同&#xff0c;margin是针对对外部对象&#xff0c;padding是针对于自身。 3.vw和百分比有什么区别&#xff1f; 百分比是有继承的&#xff0c;父级元素改变后&#xff0c;会…

删除的照片如何恢复? 5个照片恢复方法总结

有人说&#xff0c;照片承载着很多回忆&#xff0c;一些难忘的时刻&#xff0c;还有一些经历。这就是我们不能丢失它们的原因&#xff0c;如果偶然丢失它们&#xff0c;到目前为止还没有可靠的设备。但是&#xff0c;如果您丢失了一些照片并想找回它们&#xff0c;请不要担心&a…

MySQL集群解决方案(4):负载均衡

在前面架构中&#xff0c;虽然对mycat做了集群&#xff0c;保障了mycat的可靠性&#xff0c;但是&#xff0c;应用程序需要连接到多个mycat&#xff0c;显然不是很友好的&#xff0c;也就是说缺少负载均衡的组件&#xff0c;接下来我们来了解下HAProxy。 1 简介 官网&#xff…

Nacos安装-单机安装

目录 一、环境介绍 二、安装方式 三、部署模式 四、单机模式包部署 4.1 下载到对应地址 4.2 解压缩包 4.3 单机模式支持mysql 导入初始化SQL 修改配置文件 4.4. 单机模式启动nacos 启动成功 登录 一、环境介绍 操作系统&#xff1a;Ubuntu 20.04.1JDK&#xff1a;保证…

HaaS EDU物联网项目实战:老板来了

HaaS EDU K1是一款高颜值、高性能、高集成度的物联网开发板&#xff0c;板载功能强大的4核&#xff08;双核300Mhz M33双核1GHz A7&#xff09;主芯片&#xff0c;2.4G/5G双频Wi-Fi&#xff0c;双模蓝牙&#xff08;经典蓝牙/BLE&#xff09;&#xff0c;并自带丰富的传感器与小…

2023 年的 7 个技术趋势——人工智能与企业内容管理相结合,云成为企业 IT 标准, 数据民主化······

2023 年的 7 个技术趋势 技术的发展速度比以往任何时候都快。高通胀、供应链问题和技术工人短缺等经济因素给当今的企业带来了巨大的压力。艰难的经济环境促使公司重新评估其财务战略&#xff0c;并寻找保持利润率的方法&#xff0c;同时培养对不断变化的经济状况做出快速反应…

又一款AR HUD前装量产上车!这家供应商深耕HUD行业8年

12月15日晚&#xff0c;岚图汽车首款轿车——岚图追光正式首发亮相并开启预售。预售价分别为32.29万元、35.29万元、43.29万元。 作为岚图汽车首个搭载ESSASOA智能电动仿生体的量产车型&#xff0c;领先的技术架构保证岚图追光在性能、智能、豪华、安全等各维度的表现都达到同级…

【数据结构-排序】内部排序

文章目录1 直接插入排序1.1 算法简要思想1.2 算法特性2 希尔排序2.1 算法简要思想2.2 手动模拟2.3 算法特性3 冒泡排序3.1 算法简要思想3.2 算法特性4 快速排序4.1 算法思路4.2 算法代码4.3 手动模拟4.4 算法特性4.5 相关例题5 简单选择排序5.1 算法简要思想5.2 算法特性6 堆排…

了解网络保险以及为什么它对您的业务很重要

本文&#xff0c;我们将探讨网络保险&#xff0c;它如何在发生网络攻击时帮助企业&#xff0c;以及为什么您的企业组织需要它。 大流行后的工作场所在很大程度上转向远程优先或混合安排&#xff0c;员工使用各种个人设备连接到公司网络。不良的网络卫生实践、缺乏足够的网络安全…

IDEA懒人必备插件:自动生成单元测试,太爽了!

今天&#xff0c;我们将介绍一个工具Squaretest&#xff0c;它是一个用于自动生成单元测试的插件。它也将被使用&#xff0c;因为该公司最近实施了代码质量控制指标&#xff0c;以评估各种项目的单元测试覆盖率和声纳扫描的各种问题。 许多旧项目和旧代码&#xff0c;或者需要匆…

ArcGIS基础:在线数据上生成规则采样点

需求&#xff1a;在线要素上等间距生成一定数量的采样点或者在线数据上随机生成一系列的采样点 原始数据如下所示&#xff0c;为一个普通的线数据&#xff0c;以下操作是在此线数据上生成一定数量的采样点。 注意&#xff1a;切记&#xff0c;点要素和线要素数据都要为shp格式…

飞桨生态之FastDeploy预编译库的使用方法

飞桨生态之FastDeploy预编译库的使用方法1 FastDeploy2 下载FastDeploy编译demo方法1 FastDeploy 为什么采用FastDeploy,由于之前使用PaddleOCR(paddlle_inference)框架的代码做推理&#xff0c;造成实际显存一直开辟&#xff0c;不释放我的问题&#xff0c;刚开始两个模型占用…

vxlan转发原理

openstack neutron组件也用到了vxlan&#xff0c;还有dvr&#xff0c;在云计算环境到底分布式网关好还是集中式网关好&#xff0c;vxlan对称还是非对称转发好&#xff0c;什么样的控制平面好&#xff0c;要对这些问题得出结论不管怎样先得深刻理解vxlan转发流程。 三层转发就是…

Java——继承——Extends

继承为什么要继承呢&#xff1f;继承的语法继承的概念子类中访问父类性质Java的单继承super和this子类构造方法protected中super的使用final关键字今天我们来说说面向对象的又一特征&#xff1a;继承&#xff01;为什么要继承呢&#xff1f; class Dog{public String name;pub…

QT Qmake 笔记

文章目录概述QT修改样式qmake概述库引用和库路径指定QT创建动态库和使用小例子写动态库用动态库参考资料附录概述 需要先安装osg&#xff0c;然后再编译安装osgQOpenGL的插件。 其中&#xff0c;osgQOpenGL是OSG嵌入到qt中的一种实现方式&#xff0c;换言之&#xff0c;能够支…

【小学信息技术教资面试】《认识鼠标》教案

1.题目&#xff1a;认识鼠标 2.内容&#xff1a; 3.基本要求&#xff1a; &#xff08;1&#xff09;掌握鼠标的基本操作 &#xff08;2&#xff09;体现学生的主体地位 &#xff08;3&#xff09;多种教学方法结合使用 &#xff08;4&#xff09;配合板书讲解 《认识鼠标》…

C语言学习之路(高级篇)—— 变量和内存分布(下)

说明&#xff1a;该篇博客是博主一字一码编写的&#xff0c;实属不易&#xff0c;请尊重原创&#xff0c;谢谢大家&#xff01; 程序的内存分区模型 1) 内存分区 1.1 运行之前 我们要想执行我们编写的c程序&#xff0c;那么第一步需要对这个程序进行编译。 预处理&#xf…

linux进程替换(简介)

一&#xff1a;什么是进程替换&#xff1f; 定义&#xff1a; 进程替换&#xff0c;是指用一个新进程来替换此时正执行的进程。新进程从头开始执行自己的代码。 例子&#xff1a; 我们有一个父进程A&#xff0c;在父进程A中有一个子进程B 一般来说&#xff0c;子进程是执行…