JZ2440开发板网络文件系统搭建nfs

JZ2440开发板网络文件系统搭建nfs
JZ2440开发板网络文件系统搭建nfs

JZ2440网络文件系统nfs搭建

问题描述:

在驱动程序开发阶段,会涉及到频繁的编译调试程序,如果每次都把驱动程序编译到内核去,会浪费大量的时间。所以通常把驱动程序编译成.ko的模块动态加载到内核,这样可以省去编译整个内核的过程,大大提高了驱动开发的效率。那么虚拟机上编译好的驱动模块怎样传递给目标机(开发板)呢,就是通过本文介绍的网络文件系统,PC机共享出一个网络文件系统给开发板,开发板就相当于多了一个本地文件夹一样。

原料:

1、JZ2440开发板+已经移植好的linux系统;

2、USB转UART连接线一根;

3、网线一根;

4、笔记本电脑安装vmware + Ubuntu;

步骤:

1、设置开发板IP地址,使开发板与虚拟机在同一个局域网。这里采用的是笔记本无线上网,

有限网络连接到开发板,该部分不清楚的可以参考我之前的笔记《开发板通过笔记本的有线网络上网》。

a)开发板正常启动后,通过Uart中断:

# ifconfig

eth0 Link encap:Ethernet HWaddr 00:60:6E:33:44:55

inet addr:192.168.1.17Bcast:192.168.1.255 Mask:255.255.255.0

UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1

RX packets:28 errors:0 dropped:0 overruns:0 frame:0

TX packets:0 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:1000

RX bytes:2776 (2.7 KiB) TX bytes:0 (0.0 B)

Interrupt:51 Base address:0xa000

b)查看虚拟机上的IP地址:

book@book-desktop:~$ ifconfig

eth3 Link encap:Ethernet HWaddr 00:0c:29:e4:a7:e1

inet addr:192.168.2.102Bcast:192.168.2.255 Mask:255.255.255.0

inet6 addr: fe80::20c:29ff:fee4:a7e1/64 Scope:Link

UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1

RX packets:3015 errors:0 dropped:0 overruns:0 frame:0

TX packets:2173 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:1000

RX bytes:940451 (940.4 KB) TX bytes:241758 (241.7 KB)

Interrupt:18 Base address:0x2024

eth4 Link encap:Ethernet HWaddr 00:0c:29:e4:a7:eb

inet addr:192.168.3.54 Bcast:192.168.3.255 Mask:255.255.255.0

inet6 addr: fe80::20c:29ff:fee4:a7eb/64 Scope:Link

UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1

RX packets:4657 errors:0 dropped:0 overruns:0 frame:0

TX packets:1076 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:1000

RX bytes:466534 (466.5 KB) TX bytes:182556 (182.5 KB)

Interrupt:17 Base address:0x20a4

c)将开发板ip改成192.168.2.100

# ifconfig eth0 192.168.2.100

# ifconfig

eth0 Link encap:Ethernet HWaddr 00:60:6E:33:44:55

inet addr:192.168.2.100Bcast:192.168.2.255 Mask:255.255.255.0

UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1

RX packets:28 errors:0 dropped:0 overruns:0 frame:0

TX packets:0 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:1000

RX bytes:2776 (2.7 KiB) TX bytes:0 (0.0 B)

Interrupt:51 Base address:0xa000

d)开发板和虚拟机互ping一下:

book@book-desktop:~$ ping 192.168.2.100

64 bytes from 192.168.2.100: icmp_seq=2 ttl=63 time=0.720 ms (DUP!)

64 bytes from 192.168.2.100: icmp_seq=2 ttl=64 time=0.975 ms (DUP!)

64 bytes from 192.168.2.100: icmp_seq=2 ttl=63 time=0.978 ms (DUP!)

^C 记得ctrl + C来终止

--- 192.168.2.100 ping statistics ---

2 packets transmitted, 2 received, +4 duplicates, 0% packet loss, time 1001ms

rtt min/avg/max/mdev = 0.719/1.955/4.201/1.570 ms

# ping 192.168.2.102

64 bytes from 192.168.2.102: seq=2 ttl=64 time=1.446 ms (DUP!)

64 bytes from 192.168.2.102: seq=2 ttl=63 time=1.661 ms (DUP!)

64 bytes from 192.168.2.102: seq=2 ttl=64 time=1.871 ms (DUP!)

--- 192.168.2.102 ping statistics ---

3 packets transmitted, 3 packets received, 7 duplicates, 0% packet loss

round-trip min/avg/max = 1.114/1.598/2.095 ms

以上结果表明虚拟机和开发板的网络已经连上。

2、在虚拟机上安装nfs服务:

book@book-desktop:~$ sudo apt-get install nfs-kernel-server

[sudo] password for book:******

Reading package lists... Done

Building dependency tree

Reading state information... Done

nfs-kernel-server is already the newest version.

0 upgraded, 0 newly installed, 0 to remove and 346 not upgraded.

由于已经安装过了,所以不再更新

3、设置共享盘:

book@book-desktop:~$ mkdir /work/nfs_root

a)配置nfs目录:

book@book-desktop:~$ vi /etc/exports

添加:/work/nfs_root *(rw,sync,no_root_squash)

4、重启nfs服务:

book@book-desktop:~$ sudo /etc/init.d/portmap restart

book@book-desktop:~$ sudo /etc/init.d/nfs-kernel-server stop //停止nfs服务

book@book-desktop:~$ sudo /etc/init.d/nfs-kernel-server start //启动nfs服务

book@book-desktop:~$ sudo /etc/init.d/nfs-kernel-server restart //重启nfs服务

* Stopping NFS kernel daemon [ OK ] * Unexporting directories for NFS kernel daemon... [ OK ] * Exporting directories for NFS kernel daemon...

exportfs: /etc/exports [1]: Neither 'subtree_check' or 'no_subtree_check' specified for export "*:/work/nfs_root".

Assuming default behaviour ('no_subtree_check').

NOTE: this default has changed since nfs-utils version 1.0.x

exportfs: /etc/exports [2]: Neither 'subtree_check' or 'no_subtree_check' specified for export "*:/work/nfs_root/first_fs".

Assuming default behaviour ('no_subtree_check').

NOTE: this default has changed since nfs-utils version 1.0.x

[ OK ] * Starting NFS kernel daemon [ OK ] 以上信息说明nfs启动OK。

5、在开发板UI里面先看一下未挂接前的文件夹:

可以看到mnt目录下是空的,没有任何内容。

挂接网络文件系统:

# mount -t nfs -o nolock 192.168.2.102:/work/nfs_root /mnt

对比虚拟机里面的文件夹:

完全一致。

到此,开发板可以与虚拟机通过网络共享文件。

NFS文件系统简介及原理

NFS文件系统简介及原理 什么是文件系统,NFS文件系统又是什么?简单的说,文件系统就是通过软件对磁盘上的数据进行组织和管理的一种机制,对其的一种封装或透视。NFS,Network File System。顾名思义,网络文件系统,即通过网络,对在不同主机上的文件进行共享。 为什么需要使用NFS呢?在生产环境,我们很少使用单机部署应用,因为单机存在单点故 障,一旦宕机,将无法为前端业务提供服务,这是客户无法容忍的。现在提倡的高可用及7*24服务,是我们追求的目标。对于一些小的应用,双机成为了主流。我们来看一种简单集群场景,应用分别部署在A及B上,前端通过F5或着web服务器访问应用。如下 图: 那么当客户端发出一个请求时,F5根据一定的机制进行转发,有可能有A服务器进行响应,也有可能由B服务器进行响应。而在web应用中上传一些静态文件是很常见的一种功能,如图片。假设用户在某一时间,上传了一张照片到A服务器上,那么下次访问时,被F5路由到了B服务器上,由于B服务器上并没有存储上传的照片,所以将造成用户无法看到自己上传的照片。 那么很容易想到,是不是可以把文件上传到一个公用的服务器上呢?这样不管访问的是A

还是B,读、取文件都只存在一份。答案是肯定的,这个公用的服务器我们也称之为文件服务器。上面的架构就演变成了下面的架构: 说了这么多,跟NFS又有什么关系呢?NFS提供了一种机制,可以让A、B访问C中的一个共享目录,就像是操作本地文件一样。既然NFS有这么牛逼的能力,又有什么原因不去深入了解一下呢?注:此处当然也可以通过sftp或ftp进行文件上传和下载。 NFS的原理:我们用一个图来进行说明: 首先:NFS包括两部分,服务端及客户端 由于NFS服务功能很多,会有很多端口,这些端口还有可能不固定,那么客户端就无法与服务器进行通信,因为程序间通信必须通过端口(tcp/udp都是端到端通信),那么就需要一个

实例—NFS服务器的搭建

3.6 实例—NFS服务器的搭建 NFS(Network FileSystem)是由Sun开发并发展起来的文件系统,用于在不同机器,不同操作系统之间通过网络互相分享各自的文件。NFS Server也可以让客户端通过网络将远端的NFS Server共享出来的资源mount到自己的系统中,在客户端看来,使用NFS Server 上的文件就象在使用本地文件一样。 NFS协议从诞生到现在,已经有多个版本,如NFS V2(rfc1094)、NFS V3(rfc1813)、NFS V4(rfc3010)。 V3相对V2的主要区别如下: (1)V2最大只支持32b的文件大小(4G),而NFS V3最大支持64b文件大小。 (2)V3没有限定文件传输尺寸,V2最多只能设为8KB,可使用-rsize和-wsize 设定。 (3)V3增加和完善了许多错误和成功信息的返回,便于对于服务器的设置和管理。 (4)V2只提供了对UDP协议的支持,V3增加了对TCP协议的支持。 (5)V3增加了异步写入特性。 (6)V3改进了SERVER的mount性能。 (7)V3有更好的I/O Writes 性能。 (8)V3具有更高的网络运行效率。 (9)V3具有更强的灾难恢复功能。 V4相对V3的改进如下: (1)V4改进了Internet上的存取和执行效率。 (2)V4在协议中增强了安全方面的特性。 (3)V4增强了跨平台特性。 1.查看NFS服务器是否启动 [root@localhost Desktop]# service nfs status 2.启动NFS服务器 [root@localhost Desktop]# service nfs start 3.NFS服务器的配置文件/etc/exports [root@localhost Desktop]# gedit /etc/exports /etc/exports文件中每一行由三个字段构成:共享目录名、客户端主机地址、配置选项。 (1)共享目录名 /tmp/nfs:共享目录名。 (2)客户端主机地址

几种Nand flash文件系统的对比

几种Nand flas文件系统的对比 1.来源:NLE-FFS: A Flash File System with PRAM for Non-linear Editing For thesedevices, NAND flash memory has became the most attractive storage medium due to outstanding characteristics such as its increased capacity, low power consumption, small size and light weight. For the efficient management of NAND flashmemory, several flash file systems have been proposed, including JFFS2, YAFFS2, CFFS and PFFS. several file systems such as MNFS,NAMU and ScaleFFS have been designed for real-time recording /playback and large-capacity storage. A. YAFFS2 YAFFS2 is the most widely employed file system for NAND flash memory. YAFFS2 essentially saves the object ID (file ID) and the chunk (page) number in the spare region to show the offset of a page and the owner file of the page. Therefore, YAFFS2 reads the spare regions and object headers to establish the metadata in memory. Although YAFFS2 is designed to support NAND flash memory, it has scalability problems. With YAFFS2, the location of the updated page is saved in NAND flash pages or spare regions, as shown in Fig. 10 (a); hence, the file system

NFS-网络文件系统实现资源共享

NFS -网络文件系统实现资源共享 NFS 会经常用到,用于在网络上共享存储。假如有三台机器 netbook 、myhost1、myhost2,它们需要访问同一个目录,目录中都是图片,传统的做法是把这些图片分别放到netbook 、myhost1、myhost2。但是使用NFS 只需要放到netbook 上的一个目录中(如:/root/netbook ),然后共享给myhost1、myhost2即可。访问的时候,metbook 主机的用户直接访问/root/netbook 目录即可,而主机myhost1、myhost2则可以通过网络间接地访问该目录的。实现方式如下: 一、为三台主机配置网络信息(以提供照片共享的主机为例) 1.分别修改各主机的IP 地址 [root @localhonst ~]#vi /etc/sysconfig/network -scripts/ifcfg-eth0 2.分别修改各主机的机器名 [root @localhonst ~]#vi /etc/sysconfig/network 3.分别修改各主机的本机路由信息 [root @localhonst ~]#vi /etc/hosts 4.重启计算机,以使配置生效 [root @localhonst ~]#init 6 二、配置NFS 服务器 1.启动系统的NFS 服务功能 方法一: [root @netbook ~]#service nfs start 方法二: [root @netbook ~]# /etc/init.d/nfs start

方法三: [root @netbook ~]#rfsysv NFS 服务需要portmap 服务的支持,在启动NFS 之前,需要启动portmap ,否则将会出现如下的提示。 启动portmap : [root @netbook ~]#service portmap start “”如果允许任何访问用户具有读写权限,则exports 文件的内容可配置为:

linux中如何挂载NFS文件

如何挂载NFS开发环境的方法步骤 ———mount命令及umount命令的用法详解(附图说明)Step1:设置好网络 主机IP:222.204.59.185 网关:192.168.50.1 子网掩码:255.255.255.0 开发板IP:222.204.59.250 网关:192.168.50.1 子网掩码:255.255.255.0 目的是使得两个处于同一个网段。 Step2:在主机的linux中设置共享目录 运行命令 #gedit /etc/exports 编辑nfs 服务的配置文件(注意:第一次打开时该文件是空的),添加以下内容: /root/share *(rw,sync,no_root_squash) 保存退出 其中: /root/share表示nfs 共享目录,它可以作为开发板的根文件系统通过nfs 挂接; *表示所有的客户机都可以挂接此目录 rw表示挂接此目录的客户机对该目录有读写的权力 no_root_squash表示允许挂接此目录的客户机享有该主机的root 身份 使用showmount –e命令可以查看你的挂载点在哪,不加参数-e显示的是网络地址。 在开发板上的/mnt下建立新的nfs文件(可以放在其他地方,名字除了nfs也可以去其他的名字) Step3:通过命令启动和停止nfs 服务 在命令行下运行: #/etc/init.d/nfs restart 这将启动nfs 服务,可以输入以下命令检验nfs 该服务是否启动。 Step4:在minicom中使用mount命令(也可以在超级终端中使用) 确定 进入minicom界面:

# mount -t nfs 222.204.59.185: /root/share /mnt/nfs 上图为minicom中显示的linux(也即开发板中的) 如果提示:mount:RPC:unable to receive; errno =No route to host 说明你主机linux中的防火墙没关闭在主机linux 中使用一下命令就可以解决:#service iptables stop。在次使用mount命令就ok了。 注意:此处222.204.59.185主机的ip地址,使用mount命令是在超级终端或minicom中使用,而不是在主机的linux系统中。在取消挂载命令时也是在超级终端或minicom中使用,具体用法是:#umount /mnt/ 如果没有出现错误信息, 您将可以浏览到/mnt 目录中的内容和/root/share是一致的。 取消挂载: 使用这个命令可以停止nfs 服务: #/etc/init.d/nfs stop 检查nfs服务器是否开启: #service nfs status 启对应的2个服务:#service portmap restart #service nfs restart 检查防火墙看是否屏蔽了nfs端口:#service iptables stop #service iptables status

NFS服务器配置

NFS服务器配置 在centos6.5下的NFS服务器配置 Nfs工作原理:nfs服务是基于客户/服务器模式的。Nfs服务器是提供输出文件(共享目录文件)的计算机,而nfs客户端时访问输出文件的计算机,它可以将输出文件挂载到自己的系统中的某个目录文件中,然后像访问本地文件一样去访问nfs服务器中的输出文件。 一、配置需要: 1.在管理员(root)模式下进行 用户模式转管理员:[cqie@master Desktop]$ su root 2.网络必须连通 3.Nfs是C/S模式——客户机/服务器模式,需要两个虚拟机一个作为客户端,一个作为服 务端,通过客户端可以访问服务端,通过服务端也可以访问客户端 二、关键技术 NFS必须的系统守护进程 rpcbind:将RPC程序号码转为通用地址。 Nfs-server:使客户端能够访问NFS共享资源 Nfs-lock/rpc-statd:锁定NFS文件。但NFS服务器故障或重启时实现文件锁恢复。 Nfs-idmap:将用户或组id转换为相应的名称,或者将名称转换为相应的id。 准备两台虚拟机,服务端的ip是192.168.43.213,客户端的ip是192.168.43.72 服务端(192.168.43.213) 1.下载nfs 命令: [root@master Desktop]#vi /etc/yum/pluginconf.d/fastestmirror.conf Enable=1 //由1改为0,禁用该插件 [root@master Desktop]#vi /etc/yum.conf Plugins=1 //改为0,不使用该插件 [root@master Desktop]#rpm -qa|grep nfs [root@master Desktop]#yum -y install portmap 出现complete!则代表安装成功否则重新安装 [root@master Desktop]#yum install -y nmap tree lrszs 出现complete!则代表安装成功否则重新安装 2.开启nfs服务 [root@master Desktop]#/etc/init.d/rpcbind start //启动rpcbind [root@master Desktop]#/etc/init.d/rpcbind status //运行rpcbind [root@master Desktop]#/etc/init.d/nfs start //启动nfs 3.在/tmp建立共享文件夹share,在share中创建文件zxw.txt

嵌入式Linux根文件系统制作

实训项目四-嵌入四Linux系统根文件系统制作一. 项目实施目的 了解 UP-CUP2440 型实验平台Linux 系统下根文件系统结构 掌握根文件系统的搭建过程 掌握busybox、mkcramfs等工具的使用方法 二. 项目主要任务 使用busybox生成文件系统中的命令部分,使用mkcramfs工具制作CRAMFS 格式的根文件系统。 分析根文件系统etc目录下重要配置文件的格式及语法,熟悉根文件系统的启动过程 三. 基本概念 1.文件系统基本概念 Linux的一个最重要特点就是它支持许多不同的文件系统。这使Linux非常灵活,能够与许多其他的操作系统共存。Linux支持的常见的文件系统有:JFS、ReiserFS、ext、ext2、ext3、ISO9660、XFS、Minx、MSDOS、UMSDOS、VFAT、NTFS、HPFS、NFS、SMB、SysV、PROC等。随着时间的推移, Linux支持的文件系统数还会增加。Linux是通过把系统支持的各种文件系统链接到一个单独的树形层次结构中,来实现对多文件系统的支持的。该树形层次结构把文件系统表示成一个整个的独立实体。无论什么类型的文件系统,都被装配到某个目录上,由被装配的文件系统的文件覆盖该目录原有的内容。该个目录被称为装配目录或装配点。在文件系统卸载时,装配目录中原有的文件才会显露出来。在Linux 文件系统中,文件用i节点来表示、目录只是包含有一组目录条目列表的简单文件,而设备可以通过特殊文件上的I/O 请求被访问。 2.常见的嵌入式文件系统 嵌入式Linux系统一般没有大容量的磁盘,多使用flash存储器,所以多采用基于Flash(NOR和NAND)的文件系统或者RAM内存的文件系统。 (1)Flash根据结构不同分为 NOR Flash和NAND Flash。基于flash的文件系统主要有: jffs2:RedHat基于jffs开发的文件系统。

网络文件系统

网络文件系统 网络文件系统,英文Network File System(NFS)。是由SUN公司研制的UNIX表示层协议(pressentation layer protocol),能使使用者访问网络上别处的文件就像在使用自己的计算机一样。NFS是基于UDP/IP协议的应用,其实现主要是采用远程过程调用RPC机制,RPC提供了一组与机器、操作系统以及低层传送协议无关的存取远程文件的操作。RPC采用了XDR的支持。XDR是一种与机器无关的数据描述编码的协议,他以独立与任意机器体系结构的格式对网上传送的数据进行编码和解码,支持在异构系统之间数据的传送。 ①提供透明文件访问以及文件传输; ②容易扩充新的资源或软件,不需要改变现有的工作环境; ③高性能,可灵活配置。 [1]网络文件系统(NFS)是文件系统之上的一个网络抽象,来允许远程客户端以与本地文件系统类似的方式,来通过网络进行访问。虽然NFS 不是第一个此类系统,但是它已经发展并演变成UNⅨ? 系统中最强大最广泛使用的网络文件系统。NFS 允许在多个用户之间共享公共文件系统,并提供数据集中的优势,来最小化所需的存储空间。 NFS与以往一样有用并在不断演变 网络文件系统(NFS)从1984 年问世以来持续演变,并已成为分布式文件系统的基础。当前,NFS(通过pNFS 扩展)通过网络对分布的文件提供可扩展的访问。探索分布式文件系背后的理念,特别是,最近NFS 文件进展。 NFS 的简短历史 第一个网络文件系统—称为File Access Listener —由Digital Equipment Corporation(DEC)在1976 年开发。Data Access Protocol(DAP)的实施,这是DECnet 协议集的一部分。比如TCP/IP,DEC 为其网络协议发布了协议规范,包括DAP。 NFS 是第一个现代网络文件系统(构建于IP 协议之上)。在20 世纪80 年代,它首先作为实验文件系统,由Sun Microsystems 在内部完成开发。NFS 协议已归档

NFS服务器的配置与应用

NFS服务器的配置与应用 NFS服务的配置与应用 1、什么是NFS 它是Network File system的缩写,即网络文件系统。 NFS是由SUN公司开发,并于1984年推出的一个RPC服务系统,它使我们能够达到文件的共享。一台NFS服务器如同一台文件服务器,只要将起文件系统共享出来,NFS客户端就可以将它挂载到本地系统中,从而可以像使用本地文件系统中的文件一样使用那些远程文件系统中的文件。 使用NFS既可以提高资源的使用率,又可以节省客户端本地硬盘的空间,同时也便于对资源进行集中管理 2、RPC 虽然NFS可以在网络中进行文件共享,但是NFS协议本身并没有提供数据传输的功能,它必须借助RPC(remote process call)远程过程调用协议实现数据的传输。RPC是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。可以将NFS服务器看成是一个RPC服务器,而将NFS客户端看成是一个RPC客户端。 3、3个系统守护进程 ①rpc.nfsd 基本的NFS守护进程,主要管理客户端是否能登入服务器 ②rpc.mountd RPC的安装守护进程,主要管理NFS的文件系统。当客户端通过rpc.nfsd 登录NFS服务器后,在使用NFS服务器所提供的文件前,还必须通过文件使用权限的验证,rpc.mountd会读取NFS的配置文件/etc/exports来对比客户端的权限 ③portmap Portmap进行端口映射。当客户端尝试连接并使用RPC服务器提供的服务(如NFS服务)时,portmap会将所管理的与服务对应的端口号提供给客户端,使客户端可以通过该端口向服务器请求服务。Portmap如果没有运行,NFS客户端就无法查找从NFS服务器中共享的目录 以下以RedHat 红帽9为例

Windows下NFS Server搭建和使用

Windows下NFS Server搭建和使用 Revision History 1.NFS简介 NFS是Network File System的简写,即网络文件系统。NFS允许一个系统在网络上与他人共享目录和文件。通过使用NFS,用户和程序可以像访问本地文件一样访问远端系统上的文件。NFS就是一种Linux系统或Unix系统下的共享文件服务,类似于windows共享。NFS 服务器可以看作是一个文件服务器,它可以让你的PC通过网络将远端的NFS 服务器共享出来的文件挂载到自己的系统中,在客户端看来使用NFS的远端文件就象是在使用本地文件一样。 2.NFS测试所需设备和条件 Windows2008 PC1台作为NFS server Windows2008系统光盘 Windows7 PC1台作为NFS Client 3.NFS Server搭建 用装有Windows2008系统的PC作为NFS server 3.1安装NFS Server 1)插入Windows2008系统光盘,点击开始->管理工具->服务器管理器,在左边的树中选中” 功能”项,右边的窗口中会列出功能的详细信息,点击”添加功能”,如图1所示

图1 2)进入添加功能向导窗口,远程服务器管理工具->文件服务工具->勾选网络文件系统服务 工具,如图2所示,点击下一步

图2 3)点击安装,开始安装,如图3~4所示 图3

图4 4)安装完成后,点击关闭,如图5所示 图5

5)添加角色服务,在服务器管理器的左边的树中选中”角色”, 右边会列出角色的详细信息, 点击”添加角色”,如图6所示 图6 6)进入添加角色向导,点击下一步,如图7所示 图7

LinuxNFS服务器的安装与配置

Linux NFS服务器的安装与配置 cpw806@qq. 网上看到一篇有关nfs服务器安装与配置的文章觉得非常不错所以就收藏了起来,鉴于有很多时候收藏的网页过段时间就会莫名的找不到了,所以决定全盘拷贝存档。对原作者表示感谢。本文来 源.cnblogs./mchina/archive/2013/01/03/2840040.html 一、NFS服务简介 NFS 是Network File System的缩写,即网络文件系统。一种使用于分散式文件系统的协定,由Sun公司开发,于1984年向外公布。功能是通过网络让不同的机器、不同的操作系统能够彼此分享个别的数据,让应用程序在客户端通过网络访问位于服务器磁盘中的数据,是在类Unix系统间实现磁盘文件共享的一种方法。 NFS 的基本原则是“容许不同的客户端及服务端通过一组RPC分享相同的文件系统”,它是独立于操作系统,容许不同硬件及操作系统的系统共同进行文件的分享。 NFS在文件传送或信息传送过程中依赖于RPC协议。RPC,远程过程调用(Remote Procedure Call) 是能使客户端执行其他系统中程序的一种机制。NFS本身是没有提供信息传输的协议和功能的,但NFS却能让我们通过网络进行资料的分享,这是因为NFS使用了一些其它的传输协议。而这些传输协议用到这个RPC功能的。可以说NFS本身就是使用RPC 的一个程序。或者说NFS也是一个RPC SERVER。所以只要用到NFS的地方都要启动RPC 服务,不论是NFS SERVER或者NFS CLIENT。这样SERVER和CLIENT才能通过RPC来实现PROGRAM PORT的对应。可以这么理解RPC和NFS的关系:NFS是一个文件系统,而RPC 是负责负责信息的传输。 二、系统环境 系统平台:CentOS release 5.6 (Final) NFS Server IP:192.168.1.108 防火墙已关闭/iptables: Firewall is not running. SELINUX=disabled 三、安装NFS服务 NFS的安装是非常简单的,只需要两个软件包即可,而且在通常情况下,是作为系统的默认包安装的。

nfs起根文件系统

1为什么要制作nfs起根文件系统 制作用于mini2440开发板使用的内核,并使用nfs起根文件系统。 2应用arm平台的linux2.6.29内核。 首先清理内核中间文件,配置文件 命令#cd /home/guoqian/4-3-1 #cd linux-2.6.29 #make distclean 3选择参考配置文件 为了使制作的内核支持nfs起根文件系统,选择config-mini2440作为配置文件。 修改配置文件CMDLINE,修改代码如下: ******************************************************************************* CMDLINE=”root=/dev/nfs nfsroot=192.168.14.2:/nfsroot/rootfs ip=192.168.1.55 rw console=ttySAC0 mem=64M” ******************************************************************************* 解释:CMDLINE:命令行启动参数定义了内核挂载根文件系统的方式 (1)root=/dev/nfs →表示内核采用nfs方式起根文件系统 (2)nfsroot=192.168.14.2:/nfsroot/rootfs →表示nfs起的根文件系统位于nfs服务器/nfsroot/rootfs目录,服务器IP地址为192.168.14.2 (3)ip=192.168.1.55 →开发板IP地址,要求与服务器IP地址在同一网段 (4)rw →文件系统可读可写 (5)console=ttySAC0 mem=64M →ttySAC0作为控制台,内存64M 4配置内核

使用uboot去挂载根文件系统

1、根文件系统的制作 1)创建根文件系统主目录: mkdir rootfs 2)创建根文件系统的子目录 cd rootfs mkdir bin dev etc lib proc sbin sys usr mnt tmp var 3)然后创建usr下的子目录 mkdir usr/bin usr/lib usr/sbin lib/modules 4)创建设备文件 内核在引导时设备节点console,null必须存在 cd dev/ 注:该目录为/mini2440/nfsroot/rootfs 下的dev目录mknod –m 666 console c 5 1 mknod -m 666 null c 1 3 c:表明类型为字符设备 第一个数字(5,1):主设备号 第二个数字(1,3):次设备号 这两个设备文件设备号是固定的 5)安装etc etc目录主要是一些启动时的脚本文件一般不需要修改 tar etc.tar.gz –C /xxx/rootfs

这个命令可能不给用改为: tar xvzf etc.tar.gz –C /xxx/rootfs 6)编译内核模块 内核模块保存在lib下面的module下 配置内核:*直接编译到zimage m不链接到zimage而是编译成模块到.o就停住 进入Linux内核目录(linux-2.6.32.2) make modules ARCH=arm CROSS_COMPILE=arm-linux- 添加了ARCH=arm表示现在编译的是arm架构的内核 CROSS_COMPILE=arm-linux-表示使用交叉编译工具链 安装内核模块到根文件系统: make modules_install ARCH=arm INSTALL_MOD_PATH=/xxx/rootfs 7)配置busybox 因为Linux很多命令都是通过软连接实现的,所以无法直接将这些命令复制到根文件系统中。Busybox是一个工具集合,根文件系统很多命令都可以通过busybox编译得到,如命令ls,cd,mkdir。 Busybox相当于一个命令解析器,根文件中命令被软连接到 busybox,由busybox进行命令解析。 a) 解压busybox tar xvzf busybox-1.13.3 b) 配置busybox

Hi3518内核和文件系统烧写以及nfs挂载

Hi3518内核和文件系统烧写以及NFS挂载

修改履历

第一步编译内核和文件系统 文档说明:涉及到目录的请根据自己的实际情况进行更改,本文档仅根据笔者的测试进行举例说明。 1 安装交叉编译器 cd arm-hisiv100nptl-linux ./cross.install 说明:3518e推荐使用100nptl进行编译,arm-hisiv100nptl-linux-(使用uclibc库,uclibc 工具链支持全规格版本和小型化版本 )arm-hisiv200-linux-(glibc 库glibc 工具链只支持全规格版本),实验时没有使用hisiv200,不确定会出什么问题,不推荐使用。 2 编译步骤 cd ./linux-3.0.y ./mk3518.sh mk3518.sh 脚本里面包含了编译linux内核所需的所有的命令,具体看mk3518.sh文件,编译成功将生成在目录arch/arm/boot/uImage文件,这个就是要烧录到板子上的 注意:大小大约为1M。大于1M也许会出问题,在实验前期都是大于1M,烧录的时候出问题。 制作rootfs文件系统,使用的是最新的squashfs只读文件系统,使用的工具为mksquashfs,目录squashfs4.2为这个工具的代码 rm ./rootfs.squashfs //仅仅为了删除之前存在的文件系统,如果没有,可不执行这一步。 ./mksquashfs ./rootfsrootfs.squashfs -b 256K cp ./rootfs.squashfs ./tftpboot //可不用命令,自己拷贝,黏贴,文件夹根据自己实际情况所定。 生成的rootfs.squashfs这个就是要烧录到板子上的文件 注意:生成的文件大约为1.5M 地址空间说明 | 256K | 1M | 1.5M | |------------|---------------|-----------------------| | boot | kernel | rootfs |

Linux NFS安装与配置

NFS 服务器配置 1.1.1 NFS简介 NFS由SUN公司开发,目前已经成为文件服务的一种标准(RFC1904,RFC1813)。其最大功能是可以通过网络让不同操作系统的计算机可以共享数据,所以也可以将其看做是一台文件服务器,如图1-1所示。NFS提供了除Samba之外,Windows与Linux及UNIX与Linux之间通信的方法。 客户端PC可以挂载NFS服务器所提供的目录并且挂载之后这个目录看起来如同本地的磁盘分区一样,可以使用cp、cd、mv、rm及df等与磁盘相关的命令。NFS有属于自己的协议与使用的端口号,但是在传送资料或者其他相关信息时候,NFS服务器使用一个称为"远程过程调用"(Remote Procedure Call,RPC)的协议来协助NFS 服务器本身的运行。 1.1.2 为何使用NFS NFS的目标是使计算机共享资源,在其发展过程中(即20世纪80年代),计算机工业飞速发展,廉价CPU 及客户端/服务器技术促进了分布式计算环境的发展。然而当处理器价格下降时,大容量的存储系统相对而言价格仍居高不下。因此必须采用某种机制在充分发挥单个处理器性能的同时使计算机可共享存储资源和数据,于是NFS应运而生。 1.1.3 NFS协议 使用NFS,客户端可以透明地访问服务器中的文件系统,这不同于提供文件传输的FTP协议。FTP会产生文件一个完整的副本;NFS只访问一个进程引用文件部分,并且一个目的就是使得这种访问透明。这就意味着任何能够访问一个本地文件的客户端程序不需要做任何修改,就应该能够访问一个NFS文件。 NFS是一个使用SunRPC构造的客户端/服务器应用程序,其客户端通过向一台NFS服务器发送RPC请求来访问其中的文件。尽管这一工作可以使用一般的用户进程来实现,即NFS客户端可以是一个用户进程,对服务器进行显式调用,而服务器也可以是一个用户进程。因为两个理由,NFS一般不这样实现。首先访问一个NFS文件必须对客户端透明,因此NFS的客户端调用是由客户端操作系统代表用户进程来完成的;其次,出于效率的考虑,NFS服务器在服务器操作系统中实现。如果NFS服务器是一个用户进程,每个客户端请求和服务器应答(包括读和写的数据)将不得不在内核和用户进程之间进行切换,这个代价太大。第3版的NFS协议在1993年发布,图1-2所示为一个NFS客户端和一台NFS服务器的典型结构。 (1)访问一个本地文件还是一个NFS文件对于客户端来说是透明的,当文件被打开时,由内核决定这一点。文件被打开之后,内核将本地文件的所有引用传递给名为"本地文件访问"的框中,而将一个NFS文件的所有引用传递给名为"NFS客户端"的框中。 (2)NFS客户端通过其TCP/IP模块向NFS服务器发送RPC请求,NFS主要使用UDP,最新的实现也可以使用TCP。 (3)NFS服务器在端口2049接收作为UDP数据包的客户端请求,尽管NFS可以被实现为使用端口映射器,允许服务器使用一个临时端口,但是大多数实现都是直接指定UDP端口2049。 (4)当NFS服务器收到一个客户端请求时,它将这个请求传递给本地文件访问例程,然后访问服务器主机上的一个本地的磁盘文件。 (5)NFS服务器需要花一定的时间来处理一个客户端的请求,访问本地文件系统一般也需要一部分时间。在这段时间间隔内,服务器不应该阻止其他客户端请求。为了实现这一功能,大多数的NFS服务器都是多线程的--服务器的内核中实际上有多个NFS服务器在NFS本身的加锁管理程序中运行,具体实现依赖于不同的操作系统。既然大多数UNIX内核不是多线程的,一个共同的技术就是启动一个用户进程(常被称为"nfsd")的多个实例。这个实例执行一个系统调用,使其作为一个内核进程保留在操作系统的内核中。 (6)在客户端主机上,NFS客户端需要花一定的时间来处理一个用户进程的请求。NFS客户端向服务器主机发出一个RPC调用,然后等待服务器的应答。为了给使用NFS的客户端主机上的用户进程提供更多的并发性,在客户端内核中一般运行着多个NFS客户端,同样具体实现也依赖于操作系统。 3. 安装 3.1 环境描述: 网络环境: NFS server: 192.168.102.47 NFS client: 192.168.102.15

根文件系统制作

Linux根文件系统的制作 1. 根文件系统 文件系统是包括在一个磁盘(包括光盘、软盘、闪盘及其它存储设备)或分区的目录结构;一个可应用的磁盘设备可以包含一个或多个文件系统;如果您想进入一个文件系统,首先您要做的是挂载(mount)文件系统;为了挂载(mount)文件系统,您必须指定一个挂载点。 注:对于我们应用开发来说,购买开发板的时候,厂家会提供好现成的根文件系统和BootLoader等,如果需要,我们可以改变其中的命令而无需从头开始制作一个新的根文件系统。不过这儿的制作过程可以让我们更深一点理解Linux的文件系统。 2.主要的根文件系统 * Linux 中,rootfs 是必不可少的。PC 上主要实现有 ramdisk 和直接挂载 HD(Harddisk,硬盘)上的根文件系统;嵌入式中一般不从 HD 启动,而是从 Flash 启动,最简单的方法是 将 rootfs load 到 RAM 的 RAMDisk,稍复杂的就是直接从Flash 读取的 Cramfs,更复杂的是在 Flash 上分区,并构建 JFFS2 等文件系统。 * RAMDisk 将制作好的 rootfs 压缩后写入 Flash,启动的时候由 Bootloader load 到RAM,解压缩,然后挂载到 /。这种方法操作简单,但是在 RAM 中的文件系统不是压缩的,因此需要占用许多嵌入式系统中稀有资源 RAM。 ramdisk 就是用内存空间来模拟出硬盘分区,ramdisk通常使用磁盘文件系统的压缩存放在flash中,在系统初始化时,解压缩到SDRAM并挂载根文件系统, 在linux系统中,ramdisk 有二种,一种就是可以格式化并加载,在linux内核2.0/2.2就已经支持,其不足之处是大小固定;另一种是 2.4的内核才支持,通过,ramfs来实现,他不能被格式化,但用起来方便,其大小 随所需要的空间增加或减少,是目前linux常用的ramdisk技术. * initrd 是 RAMDisk 的格式,kernel 2.4 之前都是 image-initrd,Kernel 2.5 引入了 cpio-initrd,大大简化了 Linux 的启动过程,附合 Linux 的基本哲学:Keep it simple, stupid(KISS). 不过cpio-initrd 作为新的格式,还没有经过广泛测试,嵌入式 Linux 中主要采用的还是 image-initrd。 * Cramfs 是 Linus 写的很简单的文件系统,有很好的压缩绿,也可以直接从 Flash 上运行,不须 load 到 RAM 中,因此节约了 RAM。但是 Cramfs 是只读的,对于需要运行时修 改的目录(如: /etc, /var, /tmp)多有不便,因此,一般将这些目录做成ramfs 等可写的 fs。 * SquashFS 是对 Cramfs 的增强。突破了 Cramfs 的一些限制,在 Flash 和 RAM 的使用量方面也具有优势。不过,据开发者介绍,在性能上可能不如 Cramfs。这也是一种新方法,在嵌入式系统采用之前,需要经过更多的测试。 3.Ramdisk制作 RAMDisk的制作方法如下:

在文件系统中使用 NFSv4 ACL

在文件系统中使用 NFSv4 ACL 管理 NFSv4 ACL 级别: 中级 Samyak Jain , 高级软件工程师, IBM 2009 年 7 月 15 日 在不同的文件系统上使用不同的命令管理 NFSv4 ACL 可能很困难。本文讨论并对比的命令可能你在对不同的文件系统操作时会用到。 使用 NFSv4 ACL 的文件系统 NFSv4 (Network File System – Version 4) 协议引入了一种新的 ACL (访问控制列表)格式,这种格式扩展了现有的其他 ACL 格式。NFSv4 ACL 很容易使用,还引入了更详细的文件安全属性,因此 NFSv4 ACL 更安全。IBM? AIX?、Sun Solaris 和 Linux? 等操作系统已经在文件系统中实现了 NFSv4 ACL 。 当前,IBM AIX 5L version 5.3 和更高版本中支持 NFSv4 ACL 的文件系统是 NFSv4、JFS2 with EAv2 (Extended Journaled Filesystem with Extended Attributes format version 2) 和 General Parallel Filesystem (GPFS)。在 Sun Solaris 中,ZFS 支持这种 ACL 模型。在 RedHat Linux 中,NFSv4 支持 NFSv4 ACL 。 什么是 ACL ? 访问控制列表 (ACL) 用来指定文件系统对象(比如文件和目录)的访问权限。它是由许多访问控制项 (ACE) 组成的列表,每个访问控制项定义一个用户或组及其权限。

《网络服务器搭建、配置与管理-Linux(第二版)》课后习题答案#(精选.)

《网络服务器搭建、配置与管理-Linux版(第二版)》 课后习题答案 1.6 练习题 一、选择题 1. Linux最早是由计算机爱好者 B 开发的。 A. Richard Petersen B. Linus Torvalds C. Rob Pick D. Linux Sarwar 2. 下列 C 是自由软件。 A. Windows XP B. UNIX C. Linux D. Windows 2000 3. 下列 B 不是Linux的特点。 A. 多任务 B. 单用户 C. 设备独立性 D. 开放性 4. Linux的内核版本2.3.20是 A 的版本。 A. 不稳定 B. 稳定的 C. 第三次修订 D. 第二次修订 5. Linux安装过程中的硬盘分区工具是 D 。 A. PQmagic B. FDISK C. FIPS D. Disk Druid 6. Linux的根分区系统类型是 C 。 A. FATl6 B. FAT32 C. ext4 D. NTFS 二、填空题 1. GUN的含义是:GNU's Not UNIX。 2. Linux一般有3个主要部分:内核(kernel)、命令解释层(Shell或其他操作环境)、实用工具。 3. 安装Linux最少需要两个分区,分别是swap交换分区和/(根)分区。 4. Linux默认的系统管理员账号是root 。 三、简答题(略) 1.简述Red Hat Linux系统的特点,简述一些较为知名的Linux发行版本。 2.Linux有哪些安装方式?安装Red Hat Linux系统要做哪些准备工作? 3.安装Red Hat Linux系统的基本磁盘分区有哪些? 4.Red Hat Linux系统支持的文件类型有哪些?

ubifs文件系统挂载及同步

UBIFS分区制作及UBIFS烧写和启动 (转载) 相关命令工具 ubiattach version 1.0 - a tool to attach MTD device to UB I. Usage: ubiattach [-m ] [-d ] [--mtdn=] [--devn ] Example 1: ubiattach /dev/ubi_ctrl -m 0 - attach MTD device 0 (mtd0) to UBI Example 2: ubiattach /dev/ubi_ctrl -m 0 -d 3 - attach MTD device 0 (mtd0) to UBI and and create UBI device number 3 (ubi3) -d, --devn= the number to assign to the newly created UBI device(the number is assigned automatically if this is not specified) -m, --mtdn= MTD device number to attach -O, --vid-hdr-offset VID header offset (do not specify this unless you really know what you do and the optimal defaults will be used) -h, --help print help m essage -V, --version print program v ersion ubimkvol version 1.0 - a tool to create UBI volumes.

相关文档
最新文档