<文件系统定义>

怎么将文件和文件目录加载到linux内核中,这一种加载的方式就叫做文件系统

《建立根文件系统目录和文件》

<创建目录>

1)在linux系统中使用命令mkdir rootfs 创建一个文件夹

2)进入该文件夹依次批量的创建文件夹 bin  dev etc lib proc sbin sys usr mnt temp var

3)创建usr子目录

mkdir usr/bin usr/sbin lib/modules

<创建设备文件>

linux 系统中所有的东西都是文件,所有的设备文件都是放在/dev 目录下的。

命令:

mknod  -m 666  console   c 5 1

参数解释:

-m  666:表示属性

console :表示控制台

c :表示字符设备

5:主设备号

1:次设备号

命令:

mknod -m 666 null c 1  3

<.加入配置文件>

配置文件和体系结构是没有关系的,所以可以用现成的,教程上面有这个东西(附带的)

<添加内核模块>

1)首先进入解压好的内核源代码中的

2)执行命令:make modules ARCH=arm  CROSS_COMPILE=arm-linux-

编译出内核模块

3)执行命令:make modules_install  ARCH=arm INSTALL_MOD_PATH=/文件根路径

将编译出来的内核模块打包并移动到根文件下的/lib/modules 中

在嵌入式linux中,所有平台的终端中都需要使用命令,这些命令代码的实现是否需要我们自己来编写呢,答案是否定的,这时就需要使用busybox来提供这些小命令

1)将busybox 的源代码复制到linux的中去并解压

2)命令:make menuconfig

注意:(1)在出现的菜单中配置成使用静态编译(2)并指明使用交叉编译工具(3)指明安装路径是自己创建的根文件中

3)命令:make

执行编译

4)命令:make install

执行安装

《挂载根文件系统到内核》

<挂载方式简介>

根据存储设备的硬件特性,系统需求(只读或可读可写),不同的文件系统有不同的应用场合,在嵌入式linux中,主要的存储设备是RAM 和FLASH ,常见的基于此存储介质的文件系统有 :JFFS2,YAFFS2,UBIFS,RAMDISK

<常见文件系统>

基于nandflash 的文件文件系统:

yaffs2:可读可写

ubifs:可读可写

cramfd:只读

基于norflash 的文件系统:

jffs2:可写可读

基于内存的文件系统:(启动速度快,但是掉电后数据就会消失)
ramdisk:可读可写(原理:在内存中划分4M的空间用于存储文件,相当于一个虚拟的磁盘,缺点是空间不可变)

initramfs:可读可写(ramdisk 的升级版本,划分的内存可变)

基于网络的文件系统:
NFS:一般用于开发阶段

注意:几种文件系统是可以互相使用的

<initramfs>

1)创建一个软连接

ln  -s  /自己创建的 文件系统中的bin/busybox +软连接名 的文件的路径

2)配置linux内核

进入linux内核中配置内核,勾选initional ram filesystem ,并输入相应的新建的根文件系统是路径

3)重新编译内核

4)设置环境变量

设置bootargs  这个环境变量是linux内核启动时传递个内核的参数

命令:

setenv bootargs noinitrd console=ttySAC0,115200

<NFS挂载>

1)内核配置

命令:make  menuconfig  ARCH=arm

取消之前选中initramfs,并重新选中netfile system

2)重新编内核

3)设置环境变量

setenv bootargs noinitrd

console=ttySAC0,11520 init=/init

root=/dev/nfs rw

nfsroot=192.168.1.3:/home/S5driver/lesson9/rootfs,

ip=192.168.1.6:192.168.1.3:192.168.1.1:25 5.255.255.0::eth0:off

注意:用“:”做分隔符号,off 表示关闭动态ip 分配

<wiz_tmp_tag id="wiz-table-range-border" contenteditable="false" style="display: none;">

 
 
 
 

Linux嵌入式文件系统(网络文件系统)的更多相关文章

  1. Linux系统NFS网络文件系统

    Linux系统NFS网络文件系统 NFS(network file system)网络文件系统,就是通过网络让不同的主机系统之间可以共享文件或目录,此种方法NFS客户端使用挂载的方式让共享文件或目录到 ...

  2. linux初学者-NFS网络文件系统篇

    linux初学者-NFS网络文件系统篇 在上一篇的SAMBA篇中介绍了linux系统和windows系统之间共用的网络文件系统CIFS,主要用于客户端是windows的情况.在linux系统之间,所用 ...

  3. linux初学者-CIFS网络文件系统篇

    linux初学者-CIFS网络文件系统篇 CIFS是一种通用网络文件系统,主要用于网络设备之间的文件共享.CIFS可以在linux系统和windows系统之间共享文件,因此这种文件系统主要用于客户端是 ...

  4. linux内核中网络文件系统的注册初始化

    针对内核3.9 系统开启时,会使用init/main.c,然后再里面调用kernel_init(),在里面会再调用do_basic_setup(),调用do_initcalls(),调用do_one_ ...

  5. Linux系统——NFS网络文件系统

    在企业集群架构的工作场景中,NFS网络文件系统一般被用来存储共享视频,图片,附件等静态资源文件,通常网站用户上传的文件都会放到NFS共享里,然后前端所有的节点访问这些静态资源时都会读取NFS存储上的资 ...

  6. Linux之NFS网络文件系统

    NFS(Network File System)即网络文件系统,是FreeBSD支持的文件系统中的一种,它允许网络中的计算机之间通过TCP/IP网络资源共享.在NFS的应用中,本地NFS的客户端应用可 ...

  7. Linux嵌入式 -- 内核 - proc文件系统

    1. 什么是proc文件系统? 实例:通过 /proc/meminfo,查询当前内存使用情况. 结论:proc文件系统是一种在用户态检查内核状态的机制. 2.Proc文件分类 特点  每个文件都规定了 ...

  8. tiny4412 linux+qtopia nfs网络文件系统的挂载

    1,首先确定uboot启动内核的bootargs参数 Linux-CommandLine = root=/dev/nfs nfsroot=192.168.1.131:/home/tiny4412/ro ...

  9. Linux嵌入式学习-网络配置-ping外网、主机和域名

    之前用的nfs挂载的文件系统,今天用yaffs2制作的文件系统并写入到nandflash中.但是网络却无法使用了. 首先,我们配置网卡. ifconfig eth0 192.168.1.230 bro ...

  10. 网络文件系统与 Linux

    网络文件系统 是文件系统之上的一个网络抽象,来允许远程客户端以与本地文件系统类似的方式,来通过网络进行访问.虽然 NFS 不是第一个此类系统,但是它已经发展并演变成 UNIX® 系统中最强大最广泛使用 ...

随机推荐

  1. 关于在函数中使用Array.prototype.slice.call而不是直接用slice

    arguments是每个函数在运行的时候自动获得的一个近似数组的对象(除了length外没有其他属性),这个arguments对象其实并不是Array,所以没有slice方法. Array.proto ...

  2. 文件读取 FILE

    需要了解的概念 [数据流][缓冲区(Buffer)][文件类型][文件存取方式][借助文件指针读写文件] 需要理解的知识点包括:数据流.缓冲区.文件类型.文件存取方式 1.1 数据流: 指程序与数据的 ...

  3. 网站发布IIS后堆栈追踪无法获取出错的行号

    一.问题起因 系统发布上线后,有时会发生错误,那么错误的记录就很重要,它对于错误的排查和问题的发现有着重要的作用,通常我们采取的方式为Log日志文件记录和数据库错误记录.文本不会讨论错误记录的方式以及 ...

  4. 20165227 实验三《敏捷开发与XP实践》实验报告

    2017-2018-4 20165227 实验三<敏捷开发与XP实践>实验报告 实验内容 1.XP基础 2.XP核心实践 3.相关工具 实验要求 1.没有Linux基础的同学建议先学习&l ...

  5. 将网址url中的参数转化为JSON格式

    网上方法很多,各种奇技淫巧,这里贴上一种较为正常的思路. 主要利用split对获取的字符串不断进行分割,最后获得所需要的格式. 代码如下 <!DOCTYPE html> <html ...

  6. 87.在ModelSim中添加Xilinx ISE仿真库

    在ModelSim中添加Xilinx ISE仿真库 说明: l ModelSim一定要安装在不带空格的目录下,即不要安装在“Program Files”目录下.如作者是安装在D:\softwares\ ...

  7. MySQL 5.6 GTID Replication【转】

    一. MySQL 5.6引入了GTID的概念,那么GTID是何方神圣?其实也不复杂,就是一个全局事务标示符.使用GTID时,每次事务提交都会在binlog里生成1个唯一的标示符,它由UUID和事务ID ...

  8. Vim 编辑文件时,突然断开链接

    centos 系统 编辑文本 突然退出 ,恢复文档操作: 有道笔记链接地址

  9. 转载: 开源整理:Android App新手指引开源控件

    http://blog.coderclock.com/2017/05/22/android/open-source-android-app-guide-view-library/ 开源整理:Andro ...

  10. XShell安装

    Xshell就是一个远程控制Centos的软件:(用XShell比较方便,试用的都知道,界面也人性化) 详细介绍请看 百度百科 下面我们来安装下这个工具: 双击exe 点下一步: 选 免费的 然后下一 ...