当前位置: 首页 > news >正文

【Buildroot】构建根文件系统等

文章目录

  • 0. 前言
  • 10. 环境
    • 软件
    • 硬件
  • 20. Buildroot 环境搭建
    • 简述
    • 下载
    • 环境搭建
      • toolchain下载、安装
      • 构建镜像(仅供参考)
  • 80. 问题点
    • 1. 编译、清除时提示权限不足

0. 前言

对嵌入式linux开发和linux开发环境不熟悉的同志们就不要往下看了
对嵌入式linux开发和linux开发环境不熟悉的同志们就不要往下看了
对嵌入式linux开发和linux开发环境不熟悉的同志们就不要往下看了

10. 环境

软件

ubuntu1804
buildroot-2023.02.3
toolchain:gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf

硬件

alientek - alpha

arm , A7

20. Buildroot 环境搭建

简述

除了内核还需要文件系统,而这个工具就是帮你构建这个系统的,避免了手动添加一些文件夹、三方软件的烦恼。可以直接构建出包含boot、kernel、rootfs和三方软件的镜像。

下载

下载地址:https://buildroot.org/
下载后文件名为“buildroot-2023.02.3.tar.gz”,解压后即可得到工程

环境搭建

toolchain下载、安装

下载地址:(以个人实际编译器为准,这里仅仅是拿这个alpha的开发板来说明)
https://releases.linaro.org/components/toolchain/binaries/4.9-2017.01/arm-linux-gnueabihf/
安装:直接解压 /usr/local/arm (这些乱七八糟的地址都可以自己指定,下面就不赘述了)

  1. GCC完整路径参考:/usr/local/arm/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf/bin
  2. 环境配置:在系统profile中、个人bashrc中添加toolchain路径,
    2.1 文件:/etc/profile 或者 ~/.bashrc (或者其他shell)
    2.2 修改路径:export PATH=$PATH:/usr/local/arm/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf/bin

构建镜像(仅供参考)

  1. 配置环境
  1. make menuconfig // 配置各项信息

Target options // 目标信息,如平台、指令集等
Toolchain // 交叉编译器,一般使用本地构建好的交叉编译器
Build options // 指定Download路径等配置,默认也可以
System configuration // 配置启动流程等一些,如init0 mdev 密码等
Kernel // 构建kernel,不用它构建
Target packages // 按需添加,事后添加也可以
Filesystem images // 指定文件系统等,如ubifs ,extX ,jffs2等
Bootloaders // 构建uboot等bootloader,不用它构建
Host utilities // 工具包,如dos2linux之类
Legacy config options // 顾名思义

  1. 主要配置项

Target options
Toolchain
System configuration
Kernel
Target packages
Bootloaders

Target options // 配置开发板信息Target Architecture (ARM (little endian))  --->                                                                         Target Architecture Variant (cortex-A7)  --->                                                                           		Target ABI (EABIhf)  --->                                                                                                	Floating point strategy (NEON/VFPv4)  --->                                                                              ARM instruction set (ARM)  --->                                                                                          	Target Binary Format (ELF)  ---> 
Toolchain // 这里要选择外部编译器,即使用已存在的编译器:路径、前缀等Toolchain type (External toolchain)  --->Toolchain (Custom toolchain)  --->Toolchain origin (Pre-installed toolchain)  ---> (/usr/local/arm/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf) Toolchain path($(ARCH)-linux-gnueabihf) Toolchain prefix//  配置版本信息,仅供参考External toolchain gcc version (4.9.x)  --->External toolchain kernel headers series (4.1.x)  ---> External toolchain C library (glibc)  --->[*] Toolchain has SSP support?[*] Toolchain has SSP strong support?[*] Toolchain has RPC support?[*] Toolchain has C++ support?	
System configuration // 配置mdev、init-busybox、passwd等Init system (BusyBox)  --->/dev management (Dynamic using devtmpfs + mdev)  --->
Kernel	// 不要选中,一般不需要它这里生成,单独做uboot-kernel
Target packages	// 按需选择即可
Bootloaders // 不要选中,一般不需要它这里生成,单独做uboot-kernel
  1. 保存退出即可
  1. 编译镜像
  1. sudo make 即可 // 权限是需要的

remarks:

  1. 生成的文件默认存放在./output/
  2. 编译时会下载各类软件的压缩包并存放在./dl文件夹下,国外的服务器下载很慢,但是建议第一次编译时完整下载一遍(酌情使用镜像下载源),后续就可以将这些文件保存下来单独存储,使用时会校验文件,不必担心文件不一致。
// 编译完成后,文件存放在./output/文件夹下:
output/
├── build
├── host
├── images
├── staging -> /xxxxxx/buildroot-2023.02.3/output/host/arm-buildroot-linux-gnueabihf/sysroot
└── target// 我这里用的是nand flash,ubifs
output/images/
├── rootfs.tar
├── rootfs.ubi
└── rootfs.ubifs

80. 问题点

1. 编译、清除时提示权限不足

sudo make
sudo make clean

相关文章:

【Buildroot】构建根文件系统等

文章目录 0. 前言10. 环境软件硬件 20. Buildroot 环境搭建简述下载环境搭建toolchain下载、安装构建镜像(仅供参考) 80. 问题点1. 编译、清除时提示权限不足 0. 前言 对嵌入式linux开发和linux开发环境不熟悉的同志们就不要往下看了 对嵌入式linux开发和…...

利用css动画和定时器setTimeout,实现上传图片进度条

思路 利用css动画和js定时器&#xff08;setTimeout&#xff09;&#xff0c;实现简单的进度条。 优势 不使用 setInterval&#xff0c;减少js代码量&#xff0c;业务代码更加简洁。 示意图 上传中上传成功上传失败 代码 html <!-- img-wrap有两种状态&#xff1a;u…...

关于VScode插件,你不得不知道的几件事

一、前言 VSCode是微软家一个非常轻量化的编辑器&#xff0c;体量虽轻&#xff0c;但是却有异常强大的功能。原因在于VSCode许多强大功能都是基于插件实现的&#xff0c;IDE只提供一个最基本的框架和基本功能&#xff0c;我们需要使用插件来丰富和扩展它的功能。 由于插件的重…...

MySQL 奇遇记三则

公司新项目&#xff0c;要使用 MySQL 数据库。 第一次使用 MySQL&#xff0c;有点小激动。听说过 N 多次&#xff0c;这一次终于用上了。 为什么是奇遇记&#xff1f; 因为在网上几乎搜索不到别人遇到和我一样的问题。 系统 &#xff1a;WINDOWS10X64 中文版 数据库&#xf…...

UI设计师的主要职责说明(合集)

UI设计师的主要职责说明1 职责&#xff1a; 1、负责公司移动端、PC端产品相关的交互、UI等设计 2、负责公司宣传册、海报、运营物料、banner等设计 3、负责公司品牌相关的视觉设计 3、制定相关设计规范&#xff0c;提高产品的可用性、不断优化产品体验; 4、与PM、运营紧密…...

SOLIDWORKS 2023中装配体配合的正确使用方法 硕迪科技

-SOLIDWORKS 装配体打开时是由不同的阶段和性能检查组成的。如果在创建装配体时未应用基本的配合方法&#xff0c;问题会随着时间的推移而累积&#xff0c;并且在使用时会出现明显的速度减慢。 如果您的装配体运行速度很慢&#xff0c;则很可能是在创建配合时出现了不良操作的症…...

代码随想录——96.不同的二叉搜索树

class Solution {public int numTrees(int n) {int[] dp new int[n1];dp[0] 1;dp[1] 1;for(int i 2;i < n ; i){for(int j 1; j < i;j){dp[i] dp[j-1]*dp[i-j];}}return dp[n];} }...

智安网络|零信任安全框架:保障数字化时代网络安全的最佳实践

随着数字化时代的快速发展&#xff0c;网络安全问题变得越来越突出。传统的安全防御模式已经不再适用于现代复杂的网络环境中。为了应对日益增长的网络威胁&#xff0c;零信任安全模式应运而生。 一、什么是零信任&#xff1f; 零信任是一种安全框架和哲学&#xff0c;它基于…...

Rancher管理K8S

1 介绍 Rancher是一个开源的企业级多集群Kubernetes管理平台&#xff0c;实现了Kubernetes集群在混合云本地数据中心的集中部署与管理&#xff0c;以确保集群的安全性&#xff0c;加速企业数字化转型。Rancher 1.0版本在2016年就已发布&#xff0c;时至今日&#xff0c;Ranche…...

【Linux】一切皆文件

Linux 下一切皆为文件&#xff0c; 文件包括头文件&#xff0c;库文件&#xff08;静态库和共享库&#xff09;&#xff0c;可执行文件&#xff0c;目录文件&#xff0c;软链接文件&#xff0c;配置文件等。 每个文件都依据权限分为用户、用户组和其他人三个身份&#xff0c;…...

C++学习笔记4

什么是指针&#xff1f; 指针是存储内存地址的变量。就像int变量用于存储整数值一样&#xff0c;指针变量用于存储内存地址。指针是一种指向内存单元的特殊变量。 内存单元地址通常使用的是16进制表示&#xff08;0&#xff5e;9和A&#xff5e;F&#xff09;来表示数字。显示…...

x11 gtk qt gnome kde 之间的区别和联系

Linux 下的图形库介绍 一、Linux 图形领域的基础设施 1.1 X Window X Window从逻辑上分为三层&#xff1a;X Server、X Client和X协议。 最底层的X Server&#xff08;X服务器&#xff09;主要处理输入/输出信息并维护相关资源&#xff0c;它接受来自键盘、鼠标的操作并将…...

MAC访问MySQL下的data目录

1.查看创建表存储路径 show variables like datadir 2.快捷键comshiftG&#xff0c;输入查询到的地址 3.终端输入 sudo chmod -R arwx /usr/local/mysql/data 然后输入密码即可...

WebMagic - 创意前端项目集合(点击链接可在电脑上查看效果)

WebMagic - 创意前端项目集合 欢迎来到 WebMagic 仓库&#xff01;这里汇集了一系列令人惊叹的前端项目&#xff0c;涵盖了HTML5、CSS3和JS等多项技术。无论你是前端开发者、设计师&#xff0c;还是对创意互动内容感兴趣的人&#xff0c;这个仓库都将为你带来无尽的惊喜。 每…...

黑马项目一阶段面试58题 苍穹外卖业务逻辑15题

一、员工登录流程 1.前端在登录页面登录&#xff0c;发送请求 2.进入拦截器&#xff0c;拦截器放行所有登录页面的请求 3.进入三层架构&#xff0c;查询用户是否存在&#xff0c;若存在&#xff0c;则加盐加密&#xff0c;返回JWT的token&#xff0c;存放在请求头部。用户不…...

C++学习笔记总结练习: 字符串类MyString的实现

MyString是一个自定义的字符串类&#xff0c;它封装了一些常见的字符串操作和功能。下面是一个简单的MyString类的实现示例&#xff1a; #include <iostream> #include <cstring>class MyString { private:char* m_data; // 用于存储字符串的字符数组int m_length…...

测试人进阶技能:单元测试报告应用指南

为什么需要单元测试 从产品角度而言&#xff0c;常规的功能测试、系统测试都是站在产品局部或全局功能进行测试&#xff0c;能够很好地与用户的需要相结合&#xff0c;但是缺乏了对产品研发细节&#xff08;特别是代码细节的理解&#xff09;。 从测试人员角度而言&#xff0…...

非2的幂次的ASTC纹理格式尺寸对带宽的影响

1&#xff09;非2的幂次的ASTC纹理格式尺寸对带宽的影响 2&#xff09;​C#端如何处理xLua在执行DoString时候死循环 3&#xff09;如何制定美术规范或者各个模块的指标 4&#xff09;如何处理Lua的io.open出现中文路径 这是第348篇UWA技术知识分享的推送&#xff0c;精选了UWA…...

Java设计模式之策略模式

1. 策略模式介绍 1、根据它来避免 if-else 或 switch 分支判断&#xff0c;避免使用多重条件转移语句&#xff1b; 2、支持“开闭原则”&#xff0c;可以在原有基础上选择行为方法&#xff0c;同时允许增加行为方法。 2. 策略模式结构类 ① 接口或抽象类&#xff1a;自定义接口…...

IPv4分组

4.3.1 IPv4分组 IP协议定义数据传送的基本单元——IP分组及其确切的数据格式 1. IPv4分组的格式 IPv4分组由首部和数据部分&#xff08;TCP、UDP段&#xff09;组成&#xff0c;其中首部分为固定部分&#xff08;20字节&#xff09;和可选字段&#xff08;长度可变&#xff0…...

浅谈 React Hooks

React Hooks 是 React 16.8 引入的一组 API&#xff0c;用于在函数组件中使用 state 和其他 React 特性&#xff08;例如生命周期方法、context 等&#xff09;。Hooks 通过简洁的函数接口&#xff0c;解决了状态与 UI 的高度解耦&#xff0c;通过函数式编程范式实现更灵活 Rea…...

Python爬虫实战:研究MechanicalSoup库相关技术

一、MechanicalSoup 库概述 1.1 库简介 MechanicalSoup 是一个 Python 库,专为自动化交互网站而设计。它结合了 requests 的 HTTP 请求能力和 BeautifulSoup 的 HTML 解析能力,提供了直观的 API,让我们可以像人类用户一样浏览网页、填写表单和提交请求。 1.2 主要功能特点…...

多模态2025:技术路线“神仙打架”,视频生成冲上云霄

文&#xff5c;魏琳华 编&#xff5c;王一粟 一场大会&#xff0c;聚集了中国多模态大模型的“半壁江山”。 智源大会2025为期两天的论坛中&#xff0c;汇集了学界、创业公司和大厂等三方的热门选手&#xff0c;关于多模态的集中讨论达到了前所未有的热度。其中&#xff0c;…...

超短脉冲激光自聚焦效应

前言与目录 强激光引起自聚焦效应机理 超短脉冲激光在脆性材料内部加工时引起的自聚焦效应&#xff0c;这是一种非线性光学现象&#xff0c;主要涉及光学克尔效应和材料的非线性光学特性。 自聚焦效应可以产生局部的强光场&#xff0c;对材料产生非线性响应&#xff0c;可能…...

调用支付宝接口响应40004 SYSTEM_ERROR问题排查

在对接支付宝API的时候&#xff0c;遇到了一些问题&#xff0c;记录一下排查过程。 Body:{"datadigital_fincloud_generalsaas_face_certify_initialize_response":{"msg":"Business Failed","code":"40004","sub_msg…...

【力扣数据库知识手册笔记】索引

索引 索引的优缺点 优点1. 通过创建唯一性索引&#xff0c;可以保证数据库表中每一行数据的唯一性。2. 可以加快数据的检索速度&#xff08;创建索引的主要原因&#xff09;。3. 可以加速表和表之间的连接&#xff0c;实现数据的参考完整性。4. 可以在查询过程中&#xff0c;…...

Qt Widget类解析与代码注释

#include "widget.h" #include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget) {ui->setupUi(this); }Widget::~Widget() {delete ui; }//解释这串代码&#xff0c;写上注释 当然可以&#xff01;这段代码是 Qt …...

UR 协作机器人「三剑客」:精密轻量担当(UR7e)、全能协作主力(UR12e)、重型任务专家(UR15)

UR协作机器人正以其卓越性能在现代制造业自动化中扮演重要角色。UR7e、UR12e和UR15通过创新技术和精准设计满足了不同行业的多样化需求。其中&#xff0c;UR15以其速度、精度及人工智能准备能力成为自动化领域的重要突破。UR7e和UR12e则在负载规格和市场定位上不断优化&#xf…...

在QWebEngineView上实现鼠标、触摸等事件捕获的解决方案

这个问题我看其他博主也写了&#xff0c;要么要会员、要么写的乱七八糟。这里我整理一下&#xff0c;把问题说清楚并且给出代码&#xff0c;拿去用就行&#xff0c;照着葫芦画瓢。 问题 在继承QWebEngineView后&#xff0c;重写mousePressEvent或event函数无法捕获鼠标按下事…...

MacOS下Homebrew国内镜像加速指南(2025最新国内镜像加速)

macos brew国内镜像加速方法 brew install 加速formula.jws.json下载慢加速 &#x1f37a; 最新版brew安装慢到怀疑人生&#xff1f;别怕&#xff0c;教你轻松起飞&#xff01; 最近Homebrew更新至最新版&#xff0c;每次执行 brew 命令时都会自动从官方地址 https://formulae.…...