linux笔记(5):按照东山派的官方教程编译buildroot(东山哪吒,D1-H)踩坑记录

news2024/11/16 6:28:14

文章目录

  • 1.编译流程
    • 1.1获取sdk源码
    • 1.2 补充:下载riscv64-glibc-gcc-thead_20200702.tar.xz
    • 1.3 补充:安装mtool工具
    • 1.4 安装必要依赖包
    • 1.5 编译sdcard 最小系统镜像
    • 1.6 烧录最小镜像系统到tf(SD)卡
      • 1.6.1 安装烧录工具
      • 1.6.2 格式化SD卡
      • 1.6.3 烧录镜像到sd卡
    • 1.7 运行系统
  • 2.问题踩坑记录
    • 问题1:make指令不执行
    • 问题2:riscv64-glibc-gcc-thead_20200702.tar.xz File format not recognized
    • 问题3: /bin/sh: 1: mcopy: not found

整个编译的耗时主要是github的下载速度,很多依赖包都需要从github下载。
这里我以东山派的官方教程为主,根据我的实际情况稍作调整,梳理一下编译buildroot流程。
官方教程链接:使用buildroot-SDK编译构建系统

1.编译流程

1.1获取sdk源码

有2个服务器github和gitee,我使用gitee的源。
在这里插入图片描述
依次执行命令:

book@virtual-machine:~$ git clone  https://gitee.com/weidognshan/buildroot_dongshannezhastu
book@virtual-machine:~$ cd buildroot_dshannezhastu
book@virtual-machine:~/buildroot_dongshannezhastu$ git submodule update --init --recursive
book@virtual-machine:~/buildroot_dongshannezhastu$ git submodule update --recursive --remote

这个步骤还是比较快的,10分钟以内,取决于网速。

1.2 补充:下载riscv64-glibc-gcc-thead_20200702.tar.xz

这个步骤参考后面的问题2.

1.3 补充:安装mtool工具

这个步骤参考后面的问题3.

1.4 安装必要依赖包

 sudo apt-get install -y  libncurses5-dev   u-boot-tools

1.5 编译sdcard 最小系统镜像

book@virtual-machine:~/buildroot_dongshannezhastu$ cd buildroot-awol/
book@virtual-machine:~/buildroot_dongshannezhastu/buildroot-awol$ make  BR2_EXTERNAL="../br2lvgl  ../br2qt5 ../br2nezhastu"  dongshannezhastu_sdcard_core_defconfig

book@virtual-machine:~/buildroot_dongshannezhastu/buildroot-awol$ make

在这里插入图片描述

1.6 烧录最小镜像系统到tf(SD)卡

原文档:东山哪吒快速启动

1.6.1 安装烧录工具

在这里插入图片描述

1.6.2 格式化SD卡

在这里插入图片描述

1.6.3 烧录镜像到sd卡

在这里插入图片描述

1.7 运行系统

把SD卡插到开发板,上电,检查一下是不是最新编译的:
在这里插入图片描述
我对比一下原来的一张烧录官方提供的image的文件日期:
在这里插入图片描述

2.问题踩坑记录

问题1:make指令不执行

root@SK-JNTINRTMRDZW:/home/hwd/buildroot_dongshannezhastu/buildroot-awol> make

Your PATH contains spaces, TABs, and/or newline (\n) characters.
This doesn't work. Fix you PATH.
support/dependencies/dependencies.mk:27: recipe for target 'dependencies' failed
make: *** [dependencies] Error 1

百度解决方法:《This doesn‘t work. Fix you PATH》
在这里插入图片描述
采用这个方法顺利解决(切换环境变量)。

问题2:riscv64-glibc-gcc-thead_20200702.tar.xz File format not recognized

WARNING: no hash file for riscv64-glibc-gcc-thead_20200702.tar.xz
....../riscv64-glibc-gcc-thead_20200702.tar.xz: File format not recognized
tar: This does not look like a tar archive
tar: Exiting with failure status due to previous errors

去到该文件所在目录 /home/hwd/buildroot_dongshannezhastu/buildroot-awol/dl/toolchain-external-custom 看到,文件的大小只有1k,不知道是什么原因导致的。
继续百度搜到《为全志D1/RISCV64设备移植openwrt-22.03系统》,提到要手动下载 riscv64-glibc-gcc-thead_20200702.tar.xz,提供了东山派的官方链接:《快速使用Tina-SDK 指南》:
在这里插入图片描述
下载完成后,发现文件名是 riscv64-glibc-gcc-thead_20200702tar.xz
在这里插入图片描述
增加小数点后,不用解压,重新执行make,自动解压成功,往下进行。

问题3: /bin/sh: 1: mcopy: not found

在这里插入图片描述

没有安装mtool工具:

apt-get install mtools

重新make,终于完成:
在这里插入图片描述

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

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

相关文章

杂篇(一)

开篇词 我本是红尘一俗客,没有那文人酸腐气。 曾几何时,梳理收藏夹,发现了很久前收藏的一位前端大佬的个人博客:怡红院落 ,因为领域不同,之前一直没有拜读过他的文章。 我尚且无法判断怡红公子购买的域名…

【Log日志】springboot项目中集成Log日志详解

springboot项目中集成Log日志详解一、Log日志介绍1.Log 日志组件主要作用及用途2.日志的级别Level级别控制3.日志的输出Import3.1 快速使用3.2 日志文件输出3.3 自定义配置4. Spring Boot 日志组件 Log Plugin二、Spring Boot Logback1.依赖配置 Pom.xml2.使用 YML 配置 logbac…

Linux操作系统~系统文件IO,什么是文件描述符fd?什么是vfs虚拟文件系统

目录 1.open() (1).第二个参数flags—通过比特位传多组标记 2.文件描述符fd(open函数的返回值) (1).fd的本质 (2).vfs-虚拟文件系统(一切皆文件) &…

MySQL Binlog 简介

MySQL Binlog Binlog 记录了所有的 DDL 和 DML(除了数据查询语句)语句,以事件形式记录,还包含语句所执行的消耗的时间,MySQL 的二进制日志是事务安全型的。 一般来说开启二进制日志大概会有 1%的性能损耗。 二进制日志包括两类文件&#xf…

seccon 2022 quals -simplemod

文章目录题外话调试思路如何找到对应的link_map分析do_lookup_x我的构造payloadall_exp总结题外话 这个题应该是seccon解题数量最少的了 这个题目其实和babyfile差不多,都是考虑0 lick,整体而言通过这两个题可以感受到出题者对于IO以及dl_resolv的理解深入 这个题目…

阻止移动端 touchmove 与 scroll 事件冲突

在移动端开发过程中,如果要实现一个元素或按钮的拖动定位,会出现很多坑。例如:元素上下移动过程中,会触发 body 的 scroll 事件,导致整体的位置偏移,这时就需要 阻止移动端 touchmove 与 scroll 事件冲突 。…

confluent-kafka-go依赖库编译体验优化

文章目录问题描述:解决方案1:编写Dockerfile文件2:运行Docker镜像3:进入镜像进行编译4:将编译成功的二进制文件复制到本机参考地址问题描述: ​ 在项目中使用了go的kafka库confluent-kafka-go,…

力扣(LeetCode)2. 两数相加(C++\C)

模拟 模拟加法运算,设置进位数 ttt , t(l1t(l1t(l1->vall2vall2vall2->valt)%10valt)\%10valt)%10 即为当前位上的数, t/10t/10t/10 即是进位数。 设置哑结点,便于操作头结点。 模拟上述操作,最后返回哑结点的…

Windows11更新最新系统版本后无法播放媒体声音

故障机器Dell为例 step1:检测系统提示音是否正常,正常可观察第二步; step2:打开计算机管理-设备管理器-观察声音设备是否正常,可右键编辑重启驱动 step3:打开无法播放媒体声音的设备查看设置,Firefox为例 …

腾讯魏巍:Eunomia云原生资源编排优化

2022年11月10日,在中国信通院、腾讯云、FinOps产业标准工作组联合发起的《原动力x云原生正发声 降本增效大讲堂》系列直播活动第10讲上,腾讯Light云计算平台负责人魏巍分享了Eunomia云原生资源编排优化实践。本文整理自魏巍的分享。 云上资源优化背景 相…

为你的服务器集成 LDAP 认证

本文内容 为什么需要 LDAP 认证如何集成 LDAP 认证Nginx 篇Apache 篇Backend 篇本文小结回顾我这些年的工作经历,面向企业(2B)和面向用户(2C)的项目都曾接触过。我个人觉得,面向企业的项目更注重业务,参与决策的人数多、周期长,目的是为企业提供生产经营价值,如缩减成本、…

kotlin coroutine源码解析之suspend挂起函数原理

目录suspend挂起函数join原理Await原理Suspend函数总结suspend挂起函数 在idea中写某些协程函数的时候,会有一个绿色箭头图标的出现,如下图: 而且这些方法不放在协程里面写的话,idea编辑器还会报错,如下图&#xff1…

基于python的人力资源管理系统

摘 要 随着当今社会的发展,时代的进步,各行各业也在发生着变化,比如人力资源管理这一方面,利用网络已经逐步进入人们的生活。传统的人力资源管理,都是员工去公司查看部门信息、招聘信息,这种传统方式局限性…

第一个 Go 程序,从 Hello World 开始

1、开发编辑器 Go 采用的是UTF-8编码的文本文件存放源代码,理论上使用任何一款文本编辑器都可以做 Go 语言开发,这里推荐使用 VS Code 和 Goland。 VS Code 是微软开源的编辑器,而 Goland 是 jetbrains 出品的付费IDE。GoLand 开发工具时收…

linux 安装微擎

前言 OS: CentOS Linux release 7.6.1810 (Core)nginx1.12.2微擎 v2.7.4 环境准备 PHP 7.0MYSQL 5.7 安装mysql 5.7 参考 【Docker】 安装 mysql 安装PHP 7.0 参考 Linux 利用yum源安装php7.0nginx PHP 支持 GD2 yum install php70w-gd*安装完成后重启php PHP 支持 D…

从感知机到神经网络

一、神经网络的一个重要性质 1.1 重要性质 自动从数据中学习到合适的权重参数 1.2 称呼 共n层神经元,称之为n-1层网络 输入层中间层(隐藏层)输出层 1.3计算神经网络 节点值*权重值偏置值输出值 根据输出值的大小计算出节点值 输出值…

ICV:全球首份量子重力测量仪器市场分析报告。传统测量行业地位正被量子传感器商业化严重威胁,中国有望成为量子重力测量仪器市场最大赢家!

本报告的主要内容是对量子重力测量仪器进行市场分析,并对量子重力测量仪器科研方向、主要企业、关键应用、产业现状(科研需求、军用场景)、未来趋势等方面进行分析及预测未来的市场发展。 量子重力传感器原理为在真空环境中利用激光和磁场捕获…

11、Service访问Pod、Service IP原理、DNS访问Service、外部访问service

Pod可能因为各种原因发生故障而死掉,Deployment等Controller会通过动态创建和销毁Pod来保障应用整体的健壮性。Pod是脆弱的,但应用是健壮的。每个Pod都有自己的IP地址,当controller用新的Pod替代发生故障的Pod时,新Pod会分配到新的…

【Linux】Ubuntu、Debian下对deb包进行修改后重新打包——以MySQL安装包为例

需求 关于MySQL的lower_case_table_names参数,在Windows系统下和在Linux系统下,默认值是不同的。 Unix,Linux下默认为0,大小写敏感。创建的库表名将原样保存在磁盘上。如create database TeSt;将会创建一个TeSt的目录&#xff0…

Java项目:SSH在线水果商城平台含管理系统

作者主页:源码空间站2022 简介:Java领域优质创作者、Java项目、学习资料、技术互助 文末获取源码 项目介绍 本项目分为前后台,分为普通用户与管理员两个角色,前台为普通用户登录,后台为管理员登录; 管理员…