嵌入式Linux学习开发——概念与术语补充1

news2024/12/21 15:06:23

目录

根文件系统

Linux内核

UBoot


嵌入式Linux开发有三个巨头需要我们关心:uBoot(通用启动系统),Linux Kernel(辅助我们管理硬件和软件的资源使用)和根文件系统(rootfs)。这三个事情是搞嵌入式Linux完全离不开的三个主题。

看官如果知道前面笔者的博客就知道。我们一种常见的搭配就是:使用uBoot告知我们的Linux内核镜像在哪一个位置,有没有设备树;uBoot自身作为硬件的最基本的初始化后,随即利用我们默认配置的命令行指令(比如说使用哪一个控制台作为输出,要不要进入调试模式启动KGDB来调试内核等等一系列操作)启动我们的Linux。其中,进入我们的Linux内核启动需要一个根文件系统来组织和提供一些启动服务的必要文件(从内核配置到启动时必须要的内核模块等等)。

根文件系统

根文件夹很可能你早就知道了:/,我们的默认主文件系统就挂载在这里。一般而言,文件系统遵循FHS守则(当然也可以完全不遵守,笔者知道的Linux发行版中nix就是不遵守的)。这里的根文件系统则是将我们的必须的启动文件项目按照我们熟悉的文件系统的方式组织起来(复用?我的猜测是,毕竟我们不可能将一些次要的外部模块也加载进内存,我们玩的是嵌入式,资源并不丰富,不可能提供所有的东西在内存中!)

  1. /bin:包含系统启动和基本操作所需的二进制可执行文件,例如 lscpmv 等。

  2. /sbin:包含系统管理员和系统启动过程需要的二进制文件,如 ifconfigshutdown 等。

  3. /etc:包含系统配置文件,配置文件通常是文本文件,用于配置系统行为,如 /etc/fstab(文件系统挂载表)。

  4. /dev:包含设备文件,用于表示系统中的硬件设备,如硬盘、终端设备等。

  5. /proc:一个虚拟文件系统,提供关于系统内核和进程的实时信息,如 /proc/cpuinfo

  6. /home:通常用于存放用户数据的目录,每个用户有一个子目录(如 /home/user)。

  7. /lib:包含共享库文件和内核模块,系统程序通常需要这些库来运行。

  8. /tmp:临时文件目录,存储临时文件。

  9. /var:包含可变数据文件,如日志文件、缓存文件等。

  10. /usr:包含系统程序和库,通常包含大部分的应用程序和共享资源。

一般的,我们使用BusyBox来制作我们的经典根文件系统

BusyBox,网址这边请,BusyBox就是一个超级无敌轻量的GNU使用工具集合,为我们的Linux内核的进一步启动提供必备的工具辅助等等。

Linux内核

大名鼎鼎的Linux内核!现在笔者写道这里的时候,我们的内核源代码网站已经将我们的内核版本预发布到6.12.5,而6.13已经呼之欲出。(虽然我所见到的大部分培训教程还搁那教4的内核甚至更老的内核)

The Linux Kernel Archives

Linux内核就跟Windows一样,提供了对硬件资源的抽象,对各种软件的施加以隔离,有秩序的交互,达到管理整个电子设备的目的。如果看官没有接触过操作系统,笔者建议优先理解操作系统,再来看看Linux会更有概念。笔者的建议是《操作系统导论》,或者,如果有对FreeRTOS原理有比较深刻理解的也可以看看Linux内核(尽管复杂程度完全无法类比)

UBoot

Universary Boot!也就是通用启动系统,实际上,我们一般都是拿UBoot启动我们的Linux,也就是起到了类似于我们PC机上的BIOS + Grub引导的效果,我们的BIOS使能好基本的硬件之后,就会把程序的执行流导入到启动Linux上了。

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

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

相关文章

EasyPlayer.js播放器Web播放H.265要兼顾哪些方面?

在数字化时代,流媒体技术已经成为信息传播和娱乐消费的重要方式。随着互联网技术的飞速发展和移动设备的普及,流媒体服务正在重塑我们的生活和工作方式。从视频点播、在线直播到音乐流媒体,流媒体技术的广泛应用不仅改变了内容的分发和消费模…

fabric.js

目录 一、在canvas上画简单的图形 二、在canvas上用路径(Path)画不规则图形 三、在canvas上插入图片并设置旋转属性(angle) 四、让元素动起来(animate) 五、图像过滤器(filters)让图片多姿多彩 六、颜色模式(Color)和相互转换(toRgb、toHex) 七、对图形的渐变填充(Gradi…

白话AI大模型(LLM)原理

大模型(例如 GPT-4或类似的深度学习模型)是基于神经网络的系统,用于理解、生成文本、图像或其他数据类型。其工作原理可以分为以下几个核心步骤,我将通过易于理解的例子逐一解释。 1. 神经网络的基本概念 大模型背后有一个非常庞…

基于海思soc的智能产品开发(巧用mcu芯片)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing 163.com】 对于开发车规级嵌入式软件的同学来说,socmcu这样的组合,他们并不陌生。但是传统的工业领域,比如发动机、医疗或…

力扣438-找到字符串中所有字母异位词

力扣438-找到字符串中所有字母异位词 力扣438-找到字符串中所有字母异位词原题地址:https://leetcode.cn/problems/find-all-anagrams-in-a-string/description/ 题目描述: 给定两个字符串 s 和 p,找到 s 中所有 p 的 异位词的子串&#x…

C#代码实现把中文录音文件(.mp3 .wav)转为文本文字内容

我们有一个中文录音文件.mp3格式或者是.wav格式,如果我们想要提取录音文件中的文字内容,我们可以采用以下方法,不需要使用Azure Speech API 密钥注册通过离线的方式实现。 1.首先我们先在NuGet中下载两个包 NAudio 2.2.1、Whisper.net 1.7.3…

数据可视化-2. 条形图

目录 1. 条形图适用场景分析 1.1 比较不同类别的数据 1.2 展示数据分布 1.3 强调特定数据点 1.4 展示时间序列数据的对比 1.5 数据可视化教育 1.6 特定领域的应用 2. 条形图局限性 3. 条形图图代码实现 3.1 Python 源代码 3.2 条形图效果(网页显示&#…

基于Redis的网关鉴权方案与性能优化

文章目录 前言一、微服务鉴权1.1 前端权限检查1.2 后端权限检查1.3 优缺点 二、网关鉴权2.1 接口权限存储至Redis2.2 网关鉴权做匹配 总结 前言 在微服务架构中,如何通过网关鉴权结合Redis缓存提升权限控制的效率与性能。首先,文章对比了两种常见的权限…

Ansible 批量管理华为 CE 交换机

注:本文为 “Ansible 管理华为 CE 交换机” 相关文章合辑。 使用 CloudEngine - Ansible 批量管理华为 CE 交换机 wsf535 IP 属地:贵州 2018.02.05 15:26:05 总体介绍 Ansible 是一个开源的自动化运维工具,AnsibleWorks 成立于 2012 年&a…

使用自定义分光比对分束器进行建模

分束器将一束光分成两个或多个单独的光束。它常用于各种光学系统,例如显微镜、干涉仪和成像设备。分束器可以由不同的材料制成,通常涂有金属或介电材料的薄层,以达到所需的分束效果。分束器的两种流行形式是立方体和板式。立方体分束器由两个…

C++对象数组对象指针对象指针数组

一、对象数组 对象数组中的每一个元素都是同类的对象&#xff1b; 例1 对象数组成员的初始化 #include<iostream> using namespace std;class Student { public:Student( ){ };Student(int n,string nam,char s):num(n),name(nam),sex(s){};void display(){cout<&l…

SQL进阶技巧:如何计算商品需求与到货队列表进出计划?

目录 0 需求描述 1 数据准备 2 问题分析 3 小结 累计到货数量计算 出货数量计算 剩余数量计算 0 需求描述 假设现有多种商品的订单需求表 DEMO_REQUIREMENT&#xff0c;以及商品的到货队列表 DEMO_ARR_QUEUE&#xff0c;要求按照业务需要&#xff0c;设计一个报表&#…

清远榉之乡托养机构为你深度分析:特殊碳水化合物饮食对自闭症的作用

在探索自闭症干预方法的道路上&#xff0c;各种尝试不断涌现。其中&#xff0c;特殊碳水化合物饮食引起了不少家长的关注。那么&#xff0c;特殊碳水化合物饮食对自闭症究竟有怎样的作用呢&#xff1f;今天&#xff0c;清远榉之乡托养机构为你深度分析。 榉之乡大龄自闭症托养机…

ElasticSearch 数据聚合与运算

1、数据聚合 聚合&#xff08;aggregations&#xff09;可以让我们极其方便的实现数据的统计、分析和运算。实现这些统计功能的比数据库的 SQL 要方便的多&#xff0c;而且查询速度非常快&#xff0c;可以实现近实时搜索效果。 注意&#xff1a; 参加聚合的字段必须是 keywor…

ONES 功能上新|ONES Copilot、ONES Wiki 新功能一览

ONES Copilot 可基于工作项的标题、描述、属性信息&#xff0c;对工作项产生的动态和评论生成总结。 针对不同类型的工作项&#xff0c;总结输出的内容有对应的侧重点。 应用场景&#xff1a; 在一些流程步骤复杂、上下游参与成员角色丰富的场景中&#xff0c;工作项动态往往会…

leecode494.目标和

这道题目第一眼感觉就不像是动态规划&#xff0c;可以看出来是回溯问题&#xff0c;但是暴力回溯超时&#xff0c;想要用动态规划得进行一点数学转换 class Solution { public:int findTargetSumWays(vector<int>& nums, int target) {int nnums.size(),bagWeight0,s…

python使用Flask框架创建一个简单的动态日历

0. 运行效果 运行代码&#xff0c;然后在浏览器中访问 http://127.0.0.1:5000/&#xff0c;将看到一个动态日历&#xff0c;能够通过点击按钮切换月份。 1. 安装 Flask 首先&#xff0c;确保你已经安装了Flask。如果没有&#xff0c;可以使用以下命令安装&#xff1a; pip i…

一键优化Linux服务器性能(One Click Optimization of Linux Server Performance)

服务器上线之一键优化Linux服务器性能 以下是一个简单的Shell脚本&#xff0c;用于执行服务器上线优化的一些基本步骤。请注意&#xff0c;这个脚本是基于一个通用的Linux服务器配置&#xff0c;您可能需要根据您的具体需求和环境进行调整。 功能如下&#xff1a; 1.关闭SEL…

【电脑技巧】将键盘的方向键映射为alt+i、k、j、l

最近感觉方向键太远了&#xff0c;想找个方法修改键盘映射&#xff0c;有几种方式可以实现 使用powertoys的键盘映射&#xff08;软件太大了&#xff0c;只为键盘映射不值得下这个&#xff09;使用autohotkey&#xff08;通过脚本的方式&#xff0c;可以打包成exe文件&#xf…

apache-tomcat-6.0.44.exe Win10

apache-tomcat-6.0.44.exe Win10