完善根文件系统

news2025/6/8 22:46:47

一.  简介

本文完善之前创建的根文件系统。

上一篇文章通过 设置 bootargs参数,使开发板通过 nfs服务从 ubuntu系统加载根文件系统。文章地址如下:

根文件系统初步测试-CSDN博客

二.  完善根文件系统

上一篇文章通过 设置 bootargs参数,使开发板通过 nfs服务从 ubuntu系统加载根文件系统。但是,最后根文件系统启动后,有如下错误提示信息

所以,本文解决这个报错问题。那么,就需要完善根文件系统。接下来具体学习完善根文件系统的具体操作。

完善根文件系统

1.  创建 /etc/init.d/rcS 文件

根据上面根文件系统报错的信息,说是缺少 /etc/init.d/rcS文件。那么就需要创建 /etc/init.d/rcS 文件。没有 /etc/init.d 目录,开发板上电后,进入到根文件系统根目录下,创建 /etc/init.d 目录:

再创建 rcS文件,输入如下命令:

vi rcS

输入内容如下:

#!/bin/sh

PATH=/sbin:/bin:/usr/sbin:/usr/bin:$PATH
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/lib:/usr/lib
export PATH LD_LIBRARY_PATH

mount -a
mkdir /dev/pts
mount -t devpts devpts /dev/pts

echo /sbin/mdev > /proc/sys/kernel/hotplug
mdev -s
3 行, PATH 环境变量保存着可执行文件可能存在的目录,这样我们在执行一些命令或 者可执行文件的时候就不会提示找不到文件这样的错误。
4 行, LD_LIBRARY_PATH 环境变量保存着库文件所在的目录。
5 行,使用 export 来导出上面这些环境变量,相当于声明一些“全局变量”。
7 行,使用 mount 命令来挂载所有的文件系统,这些文件系统由文件 /etc/fstab 来指定,所以我们一会还要创建 /etc/fstab 文件。
8 9 行,创建目录 /dev/pts ,然后将 devpts 挂载到 /dev/pts 目录中。
11 12 行,使用 mdev 来管理热插拔设备,通过这两行, Linux 内核就可以在 /dev 目录 下自动创建设备节点。关于 mdev 的详细内容可以参考 busybox 中的 docs/mdev.txt 文档。

注意:创建好文件 /etc/init.d/rcS 以后一定要给其可执行权限!!!
赋予 /etc/init.d/rcS文件可执行权限:
/etc/init.d # chmod 777 rcS

设置好以后就重新启动 开发板,启动后如下:
可以看到,提示找不到 /etc/fstab 文件,还有一些其他的错误,我们先把 /etc/fstab 这个错误解决了。

2.  创建 /etc/fstab 文件

上面开发板的根文件系统提示 找不到 /etc/fstab文件,这里来解决这个报错。

前面我们说了“ mount - a ” 挂载所有根文件系统的时候需要读取 /etc/fstab ,因为 /etc/ fstab 里面定义了该挂载哪些文件。
rootfs 中创建 /etc/fstab 文件, fstab 文件 Linux 开机以后自动配置哪些需要自动挂载的分区,fstab 文件中的内容格式如下:
<file system> <mount point> <type> <options> <dump> <pass>
<file system> :要挂载的特殊的设备,也可以是块设备,比如 /dev/sda 等等。
<mount point> :挂载点。
<type> :文件系统类型,比如 ext2 ext3 proc romfs tmpfs 等等。
<options> :挂载选项,在 Ubuntu 中输入“ man mount ”命令可以查看具体的选项。一般使用 defaults ,也就是默认选项, defaults 包含了 rw suid dev exec auto nouser async
<dump> :为 1 的话表示允许备份,为 0 不备份,一般不备份,因此设置为 0
<pass> :磁盘检查设置,为 0 表示不检查。根目录‘ / ’设置为 1 ,其他的都不能设置为 1 ,其他的分区从 2 开始。一般不在 fstab 中挂载根目录,因此这里一般设置为 0

按照上述格式,在 fstab 文件中输入如下内容:
#<file system> <mount point> <type> <options> <dump> <pass>
proc           /proc         proc    defaults  0      0
tmpfs          /tmp          tmpfs   defaults  0      0
sysfs          /sys          sysfs   defaults  0      0

fstab 文件创建完成以后重新启动 开发板,串口 Log信息如下:

可以看出,启动成功,而且没有任何错误提示。但是我们要还需要创建一个文件 /etc/inittab

3. 创建 /etc/inittab 文件

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

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

相关文章

3D Gaussian Splatting的使用

3D Gaussian Splatting的使用 1 下载与安装2 准备场景样本2.1 准备场景照片2.1.1 采集图片2.1.2 生成相机位姿 3 训练4 展示 1 下载与安装 今年SIGGRAPH最佳论文&#xff0c;学习了一下&#xff0c;果然厉害&#xff0c;具体论文原理就不说了&#xff0c;一搜都有&#xff0c;…

Kubernetes(K8s)安全认证-10

安全认证 访问控制概述 Kubernetes作为一个分布式集群的管理工具&#xff0c;保证集群的安全性是其一个重要的任务。所谓的安全性其实就是保证对Kubernetes的各种客户端进行认证和鉴权操作。 客户端 在Kubernetes集群中&#xff0c;客户端通常有两类&#xff1a; User Acco…

【算法刷题】Day13

文章目录 1658. 将 x 减到 0 的最小操作数题干&#xff1a;算法原理&#xff1a;滑动窗口代码&#xff1a; 91. 解码方法题干&#xff1a;算法原理&#xff1a;1、状态表示2、状态转移方程3、初始化4、填表顺序5、返回值6、代码&#xff1a;7、优化 1658. 将 x 减到 0 的最小操…

华为云RDS通用型(x86) vs 鲲鹏(ARM)架构的性能对比

概述 之前&#xff0c;我们对比了阿里云RDS的经济版&#xff08;ARM&#xff09;与x86版的性价比&#xff0c;这次我们来看看华为云的RDS MySQL的“通用型”(x86)与“鲲鹏通用增强型”(ARM)版本的情况如何。 这里依旧选择了用户较为常用的4c16g的规格进行测试&#xff0c;测试…

mp3的播放

1.这段vue代码会播放声音&#xff0c;但是会有audio标签 <template><div><audio id"myAudio" controls><source src"./test.mp3" type"audio/mp3" />Your browser does not support the audio tag.</audio></…

webGL开发科学模拟

开发科学模拟应用涉及到使用 WebGL 进行高性能的图形渲染&#xff0c;同时结合科学计算和模拟算法。以下是一般的技术方案&#xff0c;希望对大家有所帮助。北京木奇移动技术有限公司&#xff0c;专业的软件外包开发公司&#xff0c;欢迎交流合作。 1.WebGL 框架&#xff1a; …

C/C++,数字序列——查找第n个鲍姆甜序列(Baum Sweet Sequence)的计算方法与源程序

1 文本格式 // CPP code to find the nth term of the Baum Sweet Sequence #include <bits/stdc.h> using namespace std; int nthBaumSweetSeq(int n) { // bitset stores bitwise representation bitset<32> bs(n); // len stores the number of bits…

【云原生 | Docker】Docker核心概念 应用上手最佳流程

&#x1f935;‍♂️ 个人主页: AI_magician &#x1f4e1;主页地址&#xff1a; 作者简介&#xff1a;CSDN内容合伙人&#xff0c;全栈领域优质创作者。 &#x1f468;‍&#x1f4bb;景愿&#xff1a;旨在于能和更多的热爱计算机的伙伴一起成长&#xff01;&#xff01;&…

基因组变异注释 — ANNOVAR(一)

基因组变异注释 — ANNOVAR&#xff08;一&#xff09; 1 简介 ANNOVAR 是一款高效的基因组注释工具&#xff0c;专门用于分析和注释来自多种生物基因组&#xff08;包括人类的 hg18、hg19、hg38&#xff0c;以及小鼠、蠕虫、果蝇、酵母等&#xff09;的遗传变异。这个工具实际…

数字营销竞争激烈,这是真的吗?

使用互联网、社交媒体、搜索引擎、移动设备和其他数字渠道等数字技术来营销和销售商品或服务称为数字营销。使用各种策略和策略来接触目标受众并与之互动、提高品牌知名度、产生潜在客户并推动转化。 如今&#xff0c;借助智能手机和其他数字设备&#xff0c;企业可以更轻松地…

在Windows操作系统上使用rtsp simple server和ffmpeg推送录屏视频流

大纲 1 搭建启动rtsp server2 推送录屏视频流下载FFmpeg 3 检验3.1 获取本机IP3.2 检测 1 搭建启动rtsp server 从https://github.com/aler9/rtsp-simple-server/releases下载Windows版本的编译结果。 解压&#xff0c;然后启动该程序 2 推送录屏视频流 下载FFmpeg 从htt…

C语言数组(下)

我希望各位可以在思考之后去看本期练习&#xff0c;并且在观看之后独立编写一遍&#xff0c;以加深理解&#xff0c;巩固知识点。 练习一&#xff1a;编写代码&#xff0c;演⽰多个字符从两端移动&#xff0c;向中间汇聚 我们依旧先上代码 //编写代码&#xff0c;演⽰多个字…

学习数分--简单案例1

业务背景&#xff1a;某服务类app&#xff0c;近期发现日新增用户数下滑明显。 具体描述&#xff1a;假设公司产品&#xff08;一款本地服务类app&#xff09;&#xff0c;近期发现日新增用户数下滑明显。老板要求你分析&#xff1a;数据异动的原因是什么&#xff1f; #最开始…

烤鱼纸包鱼外卖配送小程序商城作用是什么

烤鱼、纸包鱼等餐品是聚会、娱乐、餐食等场景中常见的餐品&#xff0c;到店和外送都有较高需求度&#xff0c;对消费者来说需要找到美味的餐厅和快速享受到美食的流程&#xff1b;对商家来说是如何找到更多消费&#xff0c;并且能快速转化和持续复购及相应的管理。 线下竞争激…

【面试经典150 | 二叉树】相同的树

文章目录 写在前面Tag题目来源题目解读解题思路方法一&#xff1a;递归方法二&#xff1a;迭代 写在最后 写在前面 本专栏专注于分析与讲解【面试经典150】算法&#xff0c;两到三天更新一篇文章&#xff0c;欢迎催更…… 专栏内容以分析题目为主&#xff0c;并附带一些对于本题…

前端时间的失败总结复盘

分享失败经验&#xff0c;前段时间的总结复盘&#xff1a; 与伙伴合作面对异常决策要及时提出质疑&#xff0c;怼&#xff0c;别太客气&#xff0c;客气起来&#xff0c;小心翼翼在意他人情绪那么这个项目就会让人难受&#xff0c;不要因为因为伙伴身上有标签/光环/权威就觉得…

【带头学C++】----- 九、类和对象 ---- 9.4 拷贝构造函数、赋值

目录 9.4 拷贝构造函数、赋值 9.4.1 定义拷贝构造函数 9.4.2 拷贝构造和无参构造、有参构造的关系 9.4.3 拷贝构造的几种调用形式 1、旧对象给新对象初始化&#xff0c;调用拷贝构造 2、给对象取别名不会调用拷贝构造 3、普通对象作为函数参数&#xff0c;调用函数时会发…

MicroPython标准库

MicroPython标准库 arraybinascii(二进制/ASCII转换)builtins – 内置函数和异常cmath – 复数的数学函数collections – 集合和容器类型errno – 系统错误代码gc – 控制垃圾收集器hashlib – 散列算法heapq – 堆队列算法io – 输入/输出流json – JSON 编码和解码math – 数…

「Verilog学习笔记」时钟分频(偶数)

专栏前言 本专栏的内容主要是记录本人学习Verilog过程中的一些知识点&#xff0c;刷题网站用的是牛客网 timescale 1ns/1nsmodule even_div(input wire rst ,input wire clk_in,output wire clk_out2,output wire clk_out4,output wire clk_out8); //********…

WebSocket入门介绍及编程实战

HTTP的限制 全双工和半双工&#xff1a; 全双工&#xff1a;全双工&#xff08;Full Duplex&#xff09;是允许数据在两个方向上同时传输。 半双工&#xff1a;半双工&#xff08;Half Duplex&#xff09;是允许数据在两个方向上传输&#xff0c;但是同一个时间段内只允许一个…