根文件系统(一):基础

         本文主要探讨210根文件系统相关知识。

根文件系统
        
存储设备(flash等)是分块(扇区),访问存储设备是按块号 (扇区号)来访问,文件系统(软件)对存储设备扇区进行管理,将对扇区的访问变成对目录和文件名的访问
        根文件系统init进程的应用程序和其他应用程序,提供根目录、etc、bin等目录以及shell命令
        根文件系统=inuxrc+VFS+...

linuxrc(进程1)
       
 linuxrc是可执行应用程序,属于应用层通常为静态连接
        linuxrc提供交互界面且被其他应用程序是直接或间接调用
        linuxrc(busybox)负责系统启动后的配置
        busybox构建rootfs用于产生init进程应用程序,提供shell命令程

VFS
     
   VFS是虚拟文件系统(FAT、NTFS、ext2、ext3、jffs2、yaffs2、ubi)用于管理块设备,通过文件系统将对扇区的访问变成对目录和文件名的访问且提供访问和操作文件的API,且同一API可适用于对不同格式的文件的操作
        sys,proc实时产生系统运行过程的信息文件以及dev下的设备文件,当系统检测到外部设备接入时,dev下产生对应设备文件,设备取消时设备文件消失都与VFS机制有关

buildroot
        依赖(g++ bison flex texinfo git hgsubversion whois)
        buildroot包含交叉编译工具链制作及rootfs配置编译
        编译后生成rootfs.tar(buildroot/output/images/)
        解压到release目录下使用

demo:

        ext3根文件系统制作                

mkdir make_rootfs cd make_rootfsdd if=/dev/zero of=rootfs.ext2 bs=1024 count=2048losetup  /dev/loop1 rootfs.ext2mke2fs -m 0 /dev/loop1 2048mount -t ext2 /dev/loop1 ../rootfs/cd ../rootfstouch linuxrccd ..umount /dev/loop1losetup -d /dev/loop1

        搭建nfs

apt-get install nfs-kernel-server -yapt-get install nfs-common -yvim /etc/exports/root/rootfs *(rw,sync,no_root_squash,no_subtree_check)exportfs -r/etc/init.d/nfs-kernel-server restart/etc/init.d/rpcbind restart检测挂载路径和内容showmount localhost -emount -t nfs -o nolock localhost:/root/rootfs /mnt


        配置内核支持nfs启动

make distcleanmake x210ii_qt_defconfigmake menuconfigmake -j8cp -r arch/arm/boot/zImage ~/tftp/
Networking support Networking options TCP/IP networking[*]IP: kernel level autoconfiguration[*] IP: DHCP support[*] IP: BOOTP supportFile systems  --->  Network File Systems  ---><*> NFS client support [*] NFS client support for NFS version 3                                  [*] NFS client support for the NFSv3 ACL protocol extension [*] NFS client support for NFS version 4 (EXPERIMENTAL) [*] NFS client support for NFSv4.1 (DEVELOPER ONLY) [*] Root file system on NFS 

 

        uboot配置nfs启动参数

set bootargs root=/dev/nfs nfsroot=192.168.100.100:/root/rootfs ip=192.168.100.27:192.168.100.100:192.168.1.1:255.255.255.0::eth0:off init=/linuxrc console=ttySAC2,115200 set bootcmd 'tftp 30800000 zImage;bootm 30800000'save reset

        结果显示:

                vfs挂载成功,但linuxrc异常

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

6年级学生C++零基础,学过Scratch少儿编程,学习CSP-J的年度计划表

我是一个6年级学生C零基础&#xff0c;只学过一些Scratch少儿编程知识&#xff0c;准备明年参加信息学奥赛的CSP-J比赛&#xff0c;请为我写个学习计划&#xff0c;以下是一个针对学生的情况制定的学习计划&#xff1a; **学习目标&#xff1a;** 1. 掌握C编程语言的基本语法和…

应对.mkp勒索病毒:专业咨询和恢复数据的有效方案

导言&#xff1a; 一种新型的恶意软件威胁——.mkp勒索病毒&#xff0c;以其毒瘤般的加密技术带来了巨大的数据安全风险。本文将深入介绍.mkp勒索病毒的特性、应对策略&#xff0c;以及如何通过强有力的预防措施将其风险降至最低。如果您正在经历勒索病毒的困境&#xff0c;欢…

Linux服务器开发太麻烦? 试试IntelliJ IDEA公网远程访问开发极大提升开发效率

文章目录 1. 检查Linux SSH服务2. 本地连接测试3. Linux 安装Cpolar4. 创建远程连接公网地址5. 公网远程连接测试6. 固定连接公网地址7. 固定地址连接测试 本文主要介绍如何在IDEA中设置远程连接服务器开发环境&#xff0c;并结合Cpolar内网穿透工具实现无公网远程连接&#xf…

3. Prism系列之模块化

Prism系列之模块化 一、前言 为了构成一个低耦合&#xff0c;高内聚的应用程序&#xff0c;我们会把程序分层&#xff0c;拿一个WPF程序来说&#xff0c;我们通过MVVM模式去将一个应用程序的分成View-ViewModel-Model&#xff0c;大大消除之前业务逻辑和界面元素之间存在的高耦…

C语言刷题数组------数组交换

输入一个长度为 10的整数数组 X[10]&#xff0c;将里面的非正整数全部替换为 1&#xff0c;输出替换完成后的数组。 输入格式 输入包含 10个整数&#xff0c;每个整数占一行。输出格式 输出新数组中的所有元素&#xff0c;每个元素占一行。输出格式为 X[i] x&#xff0c;其中…

geolife笔记:比较不同轨迹相似度方法

1 问题描述 在geolife 笔记&#xff1a;将所有轨迹放入一个DataFrame-CSDN博客中&#xff0c;已经将所有的轨迹放入一个DataFrame中了&#xff0c;我们现在需要比较&#xff0c;在不同的轨迹距离度量方法下&#xff0c;轨迹相似度的效果。 这里采用论文笔记&#xff1a;Deep R…

C# WPF上位机开发(利用tcp/ip网络访问plc)

【 声明&#xff1a;版权所有&#xff0c;欢迎转载&#xff0c;请勿用于商业用途。 联系信箱&#xff1a;feixiaoxing 163.com】 c# wpf如果是用来开发非标上位机的&#xff0c;那么和plc的通信肯定是少不了的。而且&#xff0c;大部分plc都支持modbus协议&#xff0c;所以这个…

基于ssm企业人事管理系统的设计与实现论文

摘 要 进入信息时代以来&#xff0c;很多数据都需要配套软件协助处理&#xff0c;这样可以解决传统方式带来的管理困扰。比如耗时长&#xff0c;成本高&#xff0c;维护数据困难&#xff0c;数据易丢失等缺点。本次使用数据库工具MySQL和编程技术SSM开发的企业人事管理系统&am…

python:五种算法(CSO、WOA、GWO、DBO、PSO)求解23个测试函数(python代码)

一、五种算法简介 1、鸡群优化算法CSO 2、鲸鱼优化算法WOA 3、灰狼优化算法GWO 4、蜣螂优化算法DBO 5、粒子群优化算法PSO 二、5种算法求解23个函数 &#xff08;1&#xff09;23个函数简介 参考文献&#xff1a; [1] Yao X, Liu Y, Lin G M. Evolutionary programming…

Windows安装Tesseract OCR与Python中使用pytesseract进行文字识别

文章目录 前言一、下载并安装Tesseract OCR二、配置环境变量三、Python中安装使用pytesseract总结 前言 Tesseract OCR是一个开源OCR&#xff08;Optical Character Recognition&#xff09;引擎&#xff0c;用于从图像中提取文本。Pytesseract是Tesseract OCR的Python封装&am…

一款提高嵌入式代码质量的工具

我们通常认为&#xff0c;在中断中&#xff0c;不能执行耗时的操作&#xff0c;否则会影响系统的稳定性&#xff0c;尤其对于嵌入式编程。 ​ 对于带操作系统的程序而言&#xff0c;可以通过操作系统的调度&#xff0c;将中断处理分成两个部分&#xff0c;耗时的操作可以放到线…

DTC 故障严重程度

文章目录 简介DTC严重性 位定义DTC 类别定义参考 简介 DTCSeverityMask&#xff08;DTC严重性掩码&#xff09;/ DTCSeverity&#xff08;DTC严重性&#xff09;包含了DTC严重性和DTC类别信息。 DTCSeverityMask&#xff08;DTC严重性掩码&#xff09;&#xff0f;DTCSeverit…