完善根文件系统

一.  简介

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

上一篇文章通过 设置 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 文件中输入如下内容:

3. 创建 /etc/inittab 文件

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

C++笔试题之回文数的判断

“回文”是指正读反读都能读通的句子&#xff0c;它是古今中外都有的一种修辞方式和文字游戏&#xff0c;如“我为人人&#xff0c;人人为我”等。在数学中也有这样一类数字有这样的特征&#xff0c;成为回文数&#xff08;palindrome number&#xff09;。 设n是一任意自然数…

创意设计利器:分享六款最佳的平面设计软件

1. 即时设计 即时设计是一种基于云的在线协作设计工具&#xff0c;具有原型、设计、交付、管理等全栈能力&#xff0c;对于个人及中小团队永久免费&#xff0c;至今已成为越来越多设计师的首选。 矢量编辑&#xff1a;即时设计允许用户创建、编辑和操纵矢量图形。它提供了各种…

外包干了4年,技术退步明显...

先说情况&#xff0c;大专毕业&#xff0c;18年通过校招进入湖南某软件公司&#xff0c;干了接近4年的功能测试&#xff0c;今年年初&#xff0c;感觉自己不能够在这样下去了&#xff0c;长时间呆在一个舒适的环境会让一个人堕落!而我已经在一个企业干了四年的功能测试&#xf…

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

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

【工作生活】汽车电子嵌入式开发简介

目录 1. 目标 2. 要分享什么 3.1 行业知识 3.1.1车载行业知识&#xff1a; 3.1.2项目&#xff1a; 3.1.3开发测试工具&#xff1a; 3.2 硬件平台 3.3 基础知识 3.4 工作生活 3. 我们是谁 1. 目标 随着新能源汽车的快速崛起&#xff0c;汽车电子行业开始快速发展&…

iEnglish:家长陪伴助力养成阅读兴趣与坚持习惯

日前,一则10岁男孩子铮连续进行英语原版阅读超过940天的打卡视频在短视频平台刷屏,评论区成为家长热议互动的平台,高赞评论包括“孩子是如何做到愿意阅读的?”“口语太棒了!”“别人家的孩子就是优秀!”“求子铮妈妈分享经验”等等。 子铮妈妈对于自己孩子的优秀也是十分开心…

通达信指标公式19:龙虎榜股票池——主力控盘度的计算方法

0.小红牛本指标&#xff0c;选股的思路说明&#xff1a;控盘度&#xff0c;又称主力控盘&#xff0c;是指主力控制了某只股票的大部分流通股&#xff0c;从而控制了股票的价格。主力控盘的目的通常是为了获取更多的收益&#xff0c;通过控制股票价格来实现其策略。所以首要分析…

数据结构——链表题目

文章目录 JZ25 合并两个排序的链表&#xff08;简单&#xff09;NC22 合并两个有序的数组&#xff08;简单&#xff09;NC3 链表中环的入口节点&#xff08;中等&#xff09;NC50 链表中的节点每k个一组翻转&#xff08;中等&#xff09;NC53 删除链表的倒数第n个节点(中等) JZ…

软件崩溃时VS中看不到有效的调用堆栈,使用Windbg动态调试去分析定位

目录 1、问题说明 2、使用Windbg查看崩溃时详细的函数调用堆栈 3、将Windbg中显示的函数调用堆栈对照着C源码进一步分析 4、最后 VC常用功能开发汇总&#xff08;专栏文章列表&#xff0c;欢迎订阅&#xff0c;持续更新...&#xff09;https://blog.csdn.net/chenlycly/art…

[Java学习日记]多线程练习、线程池

目录 一.案例&#xff1a;五个人抢红包 二.案例&#xff1a;两个抽奖池抽奖 三.案例&#xff1a;两个抽奖池抽奖&#xff1a;获取线程运行的结果 四.线程池&#xff1a;用来存放线程&#xff0c;避免多次重复创建线程 五.自定义线程池 六.最大并行数与线程池大小 一.案例&…

【Android】Glide的简单使用(上)

文章目录 引入Glide的优点:缺点: 使用常用方法:从网络加载图片从文件加载图片加载resource资源加载URI地址设置占位图出错时的图片占位图图片过渡的Transitions自定义过渡动画图片大小调整缩放图片播放gifasGif()把Gif当作Bitmap播放显示本地视频缩略图 引入 Glide是Google员工…

IntelliJ IDEA 2023.2新特性详解第三弹!Docker、Kubernetes等支持!

9 Docker 在 Docker 镜像层内预览文件 现在可以在 Services&#xff08;服务&#xff09;工具窗口中轻松访问和预览 Docker 镜像层的内容。 从列表选择镜像&#xff0c;选择 Show layers&#xff08;显示层&#xff09;&#xff0c;然后点击 Analyze image for more informati…

平价开放式耳机怎么选?盘点几款好用的平价开放式耳机!

在这个充满音频奇迹的年代&#xff0c;选一副好耳机就像是挑选人生伴侣一样重要&#xff0c;而开放式耳机&#xff0c;由于佩戴无需入耳带来了不错的舒适度&#xff0c;就此受到了许多人的喜爱。 可问题是&#xff0c;市面上平价开放式耳机太多&#xff0c;让人眼花缭乱&#…

医院运维 告警闪现后的故障排查

长期以来&#xff0c;医院信息化运维中存在着科室复杂、应用场景多、终端运维工作量大、软件系统兼容需求强等诸多痛点&#xff0c;且对技术设备的稳定性、连续性要求极高&#xff0c;在日常运维中&#xff0c;需要应对和解决这些问题来保障业务稳定、健康运行。 1、数据孤岛 …

【离散数学】——期末刷题题库(二元关系作业一(运算性质闭包))

&#x1f383;个人专栏&#xff1a; &#x1f42c; 算法设计与分析&#xff1a;算法设计与分析_IT闫的博客-CSDN博客 &#x1f433;Java基础&#xff1a;Java基础_IT闫的博客-CSDN博客 &#x1f40b;c语言&#xff1a;c语言_IT闫的博客-CSDN博客 &#x1f41f;MySQL&#xff1a…

揭秘MQTT:为何它是物联网的首选协议?

文章目录 MQTT 协议简介概览MQTT 与其他协议对比MQTT vs HTTPMQTT vs XMPP 为什么 MQTT 是适用于物联网的最佳协议&#xff1f;轻量高效&#xff0c;节省带宽可靠的消息传递海量连接支持安全的双向通信在线状态感知 MQTT 5.0 与 3.1.1MQTT 服务器MQTT 客户端 MQTT 协议简介 概…

acwing1209.带分数暴力与优化(java版)

//n a b / c n是确定的,只需找到其中两个。判断剩下一个数是否满足条件即可 //由题目条件可知,每个数不能重复使用,需要一个st全局数组判断每个数是否使用过 //递归实现排列型枚举,cn ac b //对于枚举出来的每一个a,再去枚举每一个c,再在c的枚举里判断b是否满足条件 //…

第四期丨酷雷曼无人机技能培训

第4期无人机技能培训 2023年10月25日&#xff0c;酷雷曼无人机技能培训及执照考试第四期成功举办&#xff0c;自7月份首期开办以来&#xff0c;已按照每月一期的惯例连续举办四期&#xff0c;取得了极为热烈的反响。 随着无人机培训的重要性及影响力逐渐扩大&#xff0c;参加培…

算法-贪心思想

贪心的思想非常不好解释&#xff0c;而且越使用权威的语言解释越难懂。而且做题的时候根据自己的理解可能直接做出来&#xff0c;但是非要解释一下怎么使用的贪心的话&#xff0c;就懵圈了。一般来说&#xff0c;贪心的题目没有固定的套路&#xff0c;一题一样&#xff0c;不过…

分享67个节日PPT,总有一款适合您

分享67个节日PPT&#xff0c;总有一款适合您 67个节日PPT下载链接&#xff1a;https://pan.baidu.com/s/1oU-UUCV_69e8Gp5Y6zrzVA?pwd6666 提取码&#xff1a;6666 Python采集代码下载链接&#xff1a;采集代码.zip - 蓝奏云 学习知识费力气&#xff0c;收集整理更不易…