RK3568平台(文件系统篇)Buildroot文件系统

news2024/9/24 5:29:55

一.Buildroot文件系统概述

Buildroot 是Linux平台上一个开源的嵌入式Linux系统自动构建框架。整个Buildroot是由Makefile脚本和Kconfig配置文件构成的。可通过Buildroot配置,编译出一个完整的可以直接烧写到机器上运行的Linux系统软件。

获取buildroot官方源码:

使用浏览器打开以下网址下载 buildroot 最新的源码。

https://buildroot.org/download.html

下载后使用以下命令解压buildroot压缩包:

二.Buildroot框架结构目录 

arch: 存放CPU架构相关的配置脚本,如arm/mips/x86,这些CPU相关的配置,在制作工具链时,编译uboot和kernel时很关键;

board:这个目录包含了针对特定开发板的配置文件和补丁。每块开发板都有自己的子目录,里面可能包含特定的配置文件、设备树文件、补丁以及其他相关文件;这些文件帮助Buildroot在不同的硬件平台上进行适配和配置,以生成针对特定开发板的嵌入式 linux系统;

boot:这个目录包含与引导加载程序相关的文件和脚本。它通常包括引导加载程序(如 u-boot)、引导配置文件、引导脚本等;Buildroot可以在这里生成和配置引导加载程序以及相关的启动文件;

configs: 存放各个单板的 buildroot 配置文件

dl:目录存放从官网上下载的开源软件包,第一次下载后,下次就不会再去从官网下 载了,而是从 dl/目录下拿开源包,以节约时间。本身下载通常都是很慢的,你可以手动找到相 关包下载后放到这里就 OK 了。

docs: 存放 pdf,html 格式的 buildroot 详细说明。

fs:放各种文件系统的源代码。

linux:存放 Linux 的构建脚本*.mk 和配置选项 Config.in

package/: 此目录下放着应用软件的配置文件,每个应用软件的配置文件有 Config.in 和软件包 名字.mk。软件包名字.mk 文件可以下载应用软件包,是 Makefile 脚本的自动构建脚本。

output/: 是编译的输出文件夹,里面的 build/目录存放着解压后的各种软件包编译 完后的现场。

output/build:所有源码包解压出来的文件存放地和编译的发生地

output/staging:包含了根文件系统的层次结构,编译生成的所有头文件和库,以及其他开发文件, 体积较大;

output/Images:目录下就是最终生成的可烧写到板子上的各种 image。

support:存放一些为 bulidroot 提供功能支持的脚本、配置文件

toolchain:存放制作各种交叉编译工具链的构建脚本*.mk 和配置选项 Config.in

utils:存放一些 buildroot 的实用脚本和工具。

 三.编译Buildroot

再编译Buildroot之前先确认好以下编译环境是否有安装

sudo apt install -y sed make binutils build-essential gcc g++ patch gzip bzip2 perl tar cpio unzip rsync file bc wget

可以使用make menuconfig配置Buildroot。

配置了 build root 的基础功能,然后我们输入 make 命令进行编译, 注意编译过程中需要保证虚拟机 ubuntu 是联网状态。

buildroot-2022.05# make

编译的时候会从官网上下载的开源软件包。

ls output/images/即可看到编译出来的文件系统。

 

然后在 123 文件夹的同级目录,输入以下命令。制作自己的根文件系统,大小依据自己的 根文件系统而定,注意依据 文件夹的大小来修改 count 值,:

这样 rootfs.img 就是最终的根文件系统映像文件了。

mkdir rootfs 
dd if=/dev/zero of=rootfs.img bs=1M count=1024 //这个命令将创建一个大小为1M * 1024虚拟磁盘镜像文件rootfs.img
mkfs.ext4 rootfs.img //使用命令mkfs.ext4格式化rootfs.img磁盘
mount rootfs.img rootfs/ 将rootfs挂载到磁盘rootfs.img
cp -rfp 123/* rootfs/ //拷贝目录123/到目录rootfs/下
umount rootfs/ //解除挂载
e2fsck -p -f rootfs.img //ex2fsck检查ext2、ext3、ext4文件系统是否正常
resize2fs -M rootfs.img  //resize2fs命令 – 调整文件系统大小

 

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

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

相关文章

人工智能 (AI) 应用:一个异常肺呼吸声辅助诊断系统

关键词:深度学习、肺癌、多标签、轻量级模型设计、异常肺音、音频分类 近年来,流感对人类的危害不断增加,COVID-19疾病的迅速传播加剧了这一问题,导致大多数患者因呼吸系统异常而死亡。在这次流行病爆发之前,呼吸系统…

【Vue3】4个比较重要的设计模式!!

大家好,我是CodeQi! 一位热衷于技术分享的码仔。 在我投身于前端开发的职业生涯期间,曾有一次承接了一个大型项目的维护工作。此项目运用的是 Vue 框架,然而其代码结构紊乱不堪,可维护性极度糟糕😫。 这使我深刻领会到,理解并运用 Vue 中的重要设计模式是何等关键! …

Codeforces Round 958 (Div. 2)(A~C)题

A. Split the Multiset 思路: 最优的策略是每次操作分出 k−1&#x1d458;−1 个 1&#xff0c;然后考虑最后是否会剩下一个单独的 1。 代码: #include<bits/stdc.h> using namespace std; #define N 1000005 typedef long long ll; typedef unsigned long long ull;…

VGMShield:揭秘视频生成模型滥用的检测与追踪技术

人工智能咨询培训老师叶梓 转载标明出处 视频生成模型&#xff0c;如 Stable Video Diffusion 和 Videocrafter&#xff0c;已经能够生成合理且高分辨率的视频。但这些技术进步也带来了被恶意利用的风险&#xff0c;比如用于制造假新闻或进行政治宣传。因此&#xff0c;来自弗…

BUUCTF逆向wp [HDCTF2019]Maze

第一步 查壳&#xff0c;本题是32位&#xff0c;有壳&#xff0c;进行脱壳。 第二步 这里的 jnz 指令会实现一个跳转&#xff0c;并且下面的0EC85D78Bh被标红了&#xff0c;应该是一个不存在的地址&#xff0c;这些东西就会导致IDA无法正常反汇编出原始代码&#xff0c;也称…

Kafka 高并发设计之数据压缩与批量消息处理

《Kafka 高性能架构设计 7 大秘诀》专栏第 6 章。 压缩&#xff0c;是一种用时间换空间的 trade-off 思想&#xff0c;用 CPU 的时间去换磁盘或者网络 I/O 传输量&#xff0c;用较小的 CPU 开销来换取更具性价比的磁盘占用和更少的网络 I/O 传输。 Kafka 是一个高吞吐量、可扩展…

python课设——宾馆管理系统

python课设——宾馆管理系统 数据库课设-宾馆管理系统-python3.7pyqt5 简介 大二数据库课程设计&#xff08;3-4天工作量&#xff09;的项目&#xff0c;登录界面的ui设计参考了他人成果&#xff0c;其余ui以及所有后端部分全部独立完成&#xff0c;详细功能见功能模块图使用…

国内新能源汽车芯片自给,承认差距,任重道远

【科技明说 &#xff5c; 科技热点关注】 据近日工信部电子五所元器件与材料研究院高级副院长罗道军表示&#xff0c;中国拥有最大的新能源车产能&#xff0c;芯片用量也是越来越多。但是芯片的自给率目前不到10%&#xff0c;是结构性的短缺。 中国拥有最大新能源车产能&#…

入门【消息队列】这一篇就够了

消息队列 消息队列的模型为什么要用消息队列分布式消息队列应用场景分布式消息队列选型RabbitMQ入门实战singleWorkFanoutDirectTopic核心特性消息过期机制消息确认机制死信队列消息队列的模型 生产者:Producer,发送消息的人(客户端) 消费者:Consumer,接受消息的人(客…

NLCISBNPlugin,从“中国国家图书馆”获取图书信息Calibre插件

NLCISBNPlugin可以从中国国家图书馆获取图书信息&#xff0c;包括 ISBN、书名、作者、出版日期等信息&#xff0c;然后将这些信息添加Calibre中。 插件安装:NLCISBNPlugin.zip 安装说明&#xff1a; 在 Calibre官方网站 上下载并安装Calibre。下载最新版本的 NLCISBNPlugin …

JUC 包中的 Atomic 原子类总结

人不走空 &#x1f308;个人主页&#xff1a;人不走空 &#x1f496;系列专栏&#xff1a;算法专题 ⏰诗词歌赋&#xff1a;斯是陋室&#xff0c;惟吾德馨 目录 &#x1f308;个人主页&#xff1a;人不走空 &#x1f496;系列专栏&#xff1a;算法专题 ⏰诗词歌…

RFID涉密载体管控系统|DW-S402功能介绍

文件载体管控系统DW-S402是用于对各种载体进行有效管理的智能柜&#xff08;智能管理系统&#xff09;&#xff0c;实现对载体的智能化、规范化、标准化管理&#xff0c;广泛应用于保密、机要单位以及企事业单位等有载体保管需求的行业。 区域监控管理 主要是通过在需要监控的…

el-table表格操作列错行处理

解决方法&#xff1a; <style>::v-deep .el-table th.el-table__cell > .cell {white-space: nowrap !important;} </style>

ArkUI状态管理

State装饰器 在声明式UI中&#xff0c;是以状态驱动试图更新 状态 (State) 指驱动视图更新的数据(被装饰器标记的变量) 试图(View) 基于UI描述渲染得到用户界面 说明 1.State装饰器标记的变量必须初始化&#xff0c;不能为空 2.State支持Object、classstring、number、b…

Self-Attention 自注意力机制(二)——实例过程说明

一、自注意力机制核心过程 自注意力机制&#xff08;Self-Attention Mechanism&#xff09;&#xff0c;也称为内部注意力机制&#xff0c;是一种在序列模型中用于捕捉序列内部不同位置之间依赖关系的技术。这种机制允许模型在处理序列时&#xff0c;对序列中的每个元素分配不…

基于 Web 的家校联系系统的设计与实现

目录 基于 Web 的家校联系系统的设计与实现 一、绪论 &#xff08;一&#xff09;研究背景 &#xff08;二&#xff09; 研究目的 &#xff08;三&#xff09; 研究意义 二、需求分析 &#xff08;一&#xff09; 功能需求 &#xff08;二&#xff09; 性能需求 &#…

【C++】类和对象的基本概念与使用

本文通过面向对象的概念以及通俗易懂的例子介绍面向对象引出类和对象。最后通过与之有相似之处的C语言中的struct一步步引出C中的类的定义方式&#xff0c;并提出了一些注意事项&#xff0c;最后描述了类的大小的计算方法。 一、什么是面向对象&#xff1f; 1.面向对象的概念 …

解决一下git clone失败的问题

1&#xff09;.不开梯子&#xff0c;我们用https克隆 git clone https://github.com 报错&#xff1a; Failed to connect to github.com port 443 after 2091 ms: Couldnt connect to server 解决办法&#xff1a; 开梯子&#xff0c;然后# 注意修改成自己的IP和端口号 gi…

自适应巡航控制中的Stop Go功能详解

自适应巡航控制中的跟车行驶功能详解 文章目录 1. 背景介绍2. 功能定义3. 功能原理4. 传感器架构5. 实际应用案例6. 总结与展望 1. 背景介绍 自适应巡航控制&#xff08;Adaptive Cruise Control, ACC&#xff09;系统中的Stop & Go功能是提升驾驶舒适性和安全性的重要子…

Qt Splash样式的登录窗

Qt Splash样式的登录窗实现 目录 0 结果 1. 设计界面 2.鼠标拖动界面 3. 密码MD5加密 4. 保用户名和密码到注册表 0 结果 1. 设计界面 继承自QDialog&#xff0c;图片使用QLabel加载&#xff0c;windowFlag样式为 Qt::SplashScreen TLoginForm::TLoginForm(QWidget *pa…