<文件系统定义>

怎么将文件和文件目录加载到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. linux服务-ssh

    任务目标:ssh登录,scp上传.下载,ssh秘钥登录, 修改ssh server端的端口为8888然后进行登录和scp测试 使用ssh登陆host1 使用scp下载文件 scp root@192.1 ...

  2. 系统学习(javascript)_基础(数据类型之间的转换)

    在js中数据类型转换一般分为两种,即强制类型转换和隐式类型转换(利用javascript弱变量类型转换). 强制转换: 利用js提供的函数parseInt(),parseFloat(),Number( ...

  3. opencv 摄像头

    VideoCapture cap(); if(!cap.isOpened()) ; Mat frame, edges; namedWindow(); for(;;) { cap >> fr ...

  4. 自然语言处理词向量模型-word2vec

    自然语言处理与深度学习: 语言模型: N-gram模型: N-Gram模型:在自然语言里有一个模型叫做n-gram,表示文字或语言中的n个连续的单词组成序列.在进行自然语言分析时,使用n-gram或者 ...

  5. 跳出python的各种坑(1)

    2017-11-1915:38:17 一定要跳出python的各种坑,一开始遇到的好多思维上的认知错误,因为刚开始学习,对python是个什么都不清楚,所以记录一下自己遇到的各种坑.不用担心自己遇到的 ...

  6. Mysql_Learning_Notes_系统结构_1_数据类型

    数据类型 整型 1.tinyint 1Bytes -128~127(255) 2.smallint 2Bytes -32768~32676(65535) 3.mdeiumint 3Bytes -838 ...

  7. .net HttpCrawler

    using HtmlAgilityPack; using System; using System.Collections.Generic; using System.Diagnostics; usi ...

  8. linux用户权限 -> ACL访问控制

    UGO设置基本权限: 只能一个用户,一个组和其他人 ACL设置基本权限: r.w.x 设定acl只能是root管理员用户. 相关命令: getfacl , setfacl facl权限 简介 facl ...

  9. 06 Frequently Asked Questions (FAQ) 常见问题解答 (常见问题)

    Frequently Asked Questions (FAQ) Origins 起源 What is the purpose of the project? What is the history ...

  10. TF-搞不懂的TF矩阵加法

    看谷歌的demo mnist,卷积后加偏执量的代码 h_conv1 = tf.nn.relu(conv2d(x_image, W_conv1) + b_conv1)h_pool1 = max_pool ...