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

合集下载

基于busybox制作mini2440根文件系统及使用nfs挂载

基于busybox制作mini2440根文件系统及使用nfs挂载

常见的文件系统有yaffs2, jffs2,他们是适用于根文件系统镜像存在于NAND Flash上的情况。

而传统的Linux EXT2/EXT3文件系统格式适用于传统的block设备,比如SD卡或者硬盘。

cramfs同时适用于以上两种情况。

其不管采用哪种格式,内核都必须支持它,这是根文件系统正确挂载的前提条件。

其内核支持它是指:在对内核进行编译的时候必须加入对相应文件系统的支持。

由于在内核没有加入对yaffs2的支持,因此在最后根据mkyaffs2image制作yaffs2类型的根文件系统,在加载之前,必须要对linux内核进行打yaffs2的补丁。

将yaffs文件系统编译进内核。

之后在启动linux内核时候才能识别yaffs2文件系统。

我在自己的mini2440开发板上面通过nfs来加载制作好的"根文件系统",这里的"根文件系统"指的是:没有经过像mkyaffs2image工具转化的原始的类linux目录结构的文件。

其文件包括Linux启动时所必须的目录和关键性的文件。

nfs便于加载及验证我们制作的文件系统的正确性。

其加载时文件系统不用读写flash。

*******************************第一步:下载busybox并编译********************************下载busybox-1.19.2.tar.bz2/downloads/解压并进入目录# tar jxvf busybox-1.19.2.tar.bz2# cd busybox-1.19.2修改Makefile# gedit Makefile &把164 行修改为:CROSS_COMPILE = arm-linux-把190 行修改为:ARCH = arm配置# make menuconfig 或者make xconfig(为图形化界面)在Busybox Settings->Build Options之下选择Build BusyBox as a static binary (no shared libs) (STATIC)以静态的方式来编译busybox。

Mini2440通过NFS启动系统

Mini2440通过NFS启动系统

Mini2440通过NFS启动系统一开始学习linux嵌入式就是一个摸索的过程,前面似懂非懂的完成了u-boot以及内核的基本功能移植,并且编译、下载至mini2440内存运行,流程走到了文件系统。

参照技术手册,想先移植文件系统,通过NFS启动。

环境介绍:windows xp,超级终端串口连接开发板Vmvare6+redhat9虚拟机IP:192.168.1.24 Submask:255.255.255.0 Gateway192.168.1.1主机IP:192.168.1.100 Submask:255.255.255.0 Gateway192.168.1.1网友发布的虚拟机NFS配置方法:1、miniarm2440说明书第202页中的 /etc/exports ,内容中的/opt/FriendARM/MINI2440/root_nfs *(rw,sync,no_root_sqush) ,将MINI2440应改为mini2440;2、vmware连网要改为桥接方式,VM->settings->Hardware->Netwaor Adapter,在右边将Network Connection,改为Bridged,3、vmware中Edit->Virtual Network Editor->Host Virtual Network Mapping中的 VMnet0选为你的计算机网卡。

4、网卡设置,计算机上网网卡IP:192.168.1.100,子网掩码:255.255.255.0,网关:192.168.1.1,DNS:192.168.1.1redhat9.0中网卡设计IP:192.168.1.24,子网掩码:255.255.255.0,网关:192.168.1.1,DNS:192.168.1.15、进入超级终端Supervivi 后,用以下指令Supervivi>param set linux_cmd_line "console=ttySAC0 root=/dev/nfsnfsroot=192.168.1.24:/opt/FriendlyARM/mini2440/root_nfsip=192.168.1.70:192.168.1.24:192.168.1.24:255.255.255.0:sbc244 :eth0:off" 就可以引导了按照这个配置后产生问题:开发板在上电后在串口输入param set linux_cmd_line "console=ttySAC0 root=/dev/nfs nfsroot=192.168.1.24:/home/jiaxinxu/mini2440/root_nfsip=192.168.1.70:192.168.1.24:192.168.1.24:255.255.255.0:sbc244 :eth0:off" 后板子会启动并通过NFS加载文件系统:PC机上的/opt//mini2440/root_nfs但是上电后卡在Looking up port RPC 100003/2 ON 192.168.1.2处portmap: server 192.168.1.24 not responding, timed outRoot-NFS: Unable to get mountd port number from server, using default网上搜遍了相关介绍的文章,不得其解。

配置NFS服务器启动mini2440

配置NFS服务器启动mini2440

NFS启动mini2440本文仅是学习的总结,仅供参考。

首先对NFS启动系统有一个感性的认识,NFS就是Network File System网络文件系统,通过NFS启动系统就是文件系统实际在宿主机上,有很大的硬盘空间。

在目标机上可以打开宿主机上的目录,看上去就相当于windows中的文件共享,别人共享的目录你在自己的电脑上可以查看,可以打开里面的文件,就像在你电脑上一样。

接下来开始吧。

硬件连接,串口线连接电脑和mini2440,还有网线把mini2440的网络端口与电脑的网络端口连接。

系统为红帽企业版五第一步:首先查看电脑或虚拟机里是否安装了NFS服务器。

运行# setup,将出现系统配置菜单如图首先进入Firewall configuration中把防火墙关了,把selinux设置成disable,不详细介绍接下来选择系统服务system services回车进入后如图查看有没有[]nfs项,有的话就说明已经安装了NFS服务器。

没有的话在系统光盘,或者是下载的镜像文件中找到NFS服务器的安装包,安装上就行了。

第二步:配置NFS服务器,要修改/etc/exports文件# vi /etc/exports加入允许被其他计算机访问的目录和访问权限原文见可能是空白的,在首行加入如下代码/nfsroot/rootfs 192.168.1.*(rw,sync,no_root_squash)1./nfsroot/rootfs:允许被其他计算机访问的目录,这里是安装文件系统的目录2.192.168.1.*:被允许访问该目录的客户端的地址,这里配置凡是与虚拟机ip(192.168.1.100)处于同一网段的客户机都可以访问3.rw:权限可读可写4.sync:同步写磁盘(async:资料会先暂存与内存当中,而非直接写入硬盘)5.no_root_squash:表示客户端root用户对该目录具备写权限第三步:启动NFS服务器,使用如下命令# /etc/init.d/nfs start或是重启NFS用如下命令# /etc/init.d/nfs restart如上图所示说明NFS服务器正常启动了,接下来制作根文件系统,可参考国嵌实验手册,不详细介绍。

JZ2440内核与文件烧录

JZ2440内核与文件烧录

一、设置ip:ifconfig eth0 192.168.9.106二、内核1.打开D:\S3C2440开发板资料\资料\windows\tools\tftpboot tftpboot服务;2.选择文件地址与pc上的IP;3.在CRT 中输入print设置IP;4.开发板重启后在CRT中按空格;5.选择Q,出现OPENJTAGE6.设置开发板IP:set ipaddr 192.168.9.106;7.设置PC IP: set serverip 192.168.9.1008.保存save;9.下载uImage内核Tftp 30000000 uImage10.显示分区mtdpart11.擦除kernel分区nand erase kernel12.烧录内核:nand write.jffs2 30000000 kernel三、文件系统1.下载文件:Tftp 30000000 fs_mini.yaffs2 (文件名字)2.擦除root分区:nand erase root3.查看分区地址mtdpart:4.3烧录文件:nand write.yaffs 30000000 260000 8607c0说明:从30000000(下载文件地址)write.yaffs(文件格式yaffs与jffs2)烧录文件到260000的地址下载8607c0的大小四、根文件系统busybox1.解压busybox-1.7.0.tar.bz2文件;2.Tar Xjf busybox-1.7.0.tar.bz2;3.make menuconfig4.创建一个文件夹mkdir -p /work/nfs_root/first_ds //在work/nfs_root下创建first_ds文件夹5.安装到文件夹:make CONFIG_PREFIX=/work/nfs_root/first_ds install6.五、创建1.book@book-desktop:/work/nfs_root/first_ds$ mkdir dev2.book@book-desktop:/work/nfs_root/first_ds/dev$ sudo mknod console c 5 13.[sudo] password for book:4.book@book-desktop:/work/nfs_root/first_ds/dev$ sudo mknod null c 1 35.book@book-desktop:/work/nfs_root/first_ds/dev$ ls -l6.total 07.crw-r--r-- 1 root root 5, 1 2016-11-25 15:57 console8.crw-r--r-- 1 root root 1, 3 2016-11-25 15:58 null9.book@book-desktop:/work/nfs_root/first_ds/dev$六、。

nfs配置+开发板挂载

nfs配置+开发板挂载

网络文件系统nfs文件系统使用一、NFS简介1、NFS就是Network FileSystem的缩写,它的最大功能就是可以通过网络让不同的机器,不同的操作系统彼此共享文件(sharefiles)——可以通过NFS挂载远程主机的目录,访问该目录就像访问本地目录一样,所以也可以简单的将它看作一个文件服务器(FileServer)。

注意:一般而言,使用NFS服务能够方便地使各unix-like系统之间实现共享,但如果需要在unix-like和windows系统之间共享,那就得使用samba了。

2、NFS是通过网络进行数据传输,那么NFS使用哪些端口呢,答案是……不知道,因为NFS 传输数据时使用的端口是随机的,唯一的限制就是小于1024,客户端怎么知道服务器使用的是哪个端口,此时就要用到远程过程调用RPC。

其实,NFS运行在SUN的RPC(Remote Procedure Call,远程过程调用)基础上,RPC定义了一种与系统无关的方法来实现进程间通信,由此,NFS Server也可以看作是RPC Server。

正因为NFS是一个RPC服务程序,所以在使用它之前,先要映射好端口——通过portmap设定。

比如:某个NFSClient发起NFS服务请求时,它需要先得到一个端口(port),所以它先通过portmap得到portnumber(不仅是NFS,所有的RPC服务程序启动之前,都需要先设定好portmap)。

注意:在启动RPC服务(比如NFS)之前,需要先启动portmap服务。

3、NFS允许系统将其目录和文件共享给网络上的其他系统。

通过NFS,用户和应用程序可以访问远程系统上的文件,就像它们是本地文件一样。

那么NFS最值得注意的优点有:(1)本地工作站可以使用更少的磁盘空间,因为常用数据可以被保存在一台机器上,并让网络上的其他机器可以访问它。

(2)不需要为用户在每台网络机器上放一个用户目录,因为用户目录可以在NFS服务器上设置并使其在整个网络上可用。

YC2440开发指南-utuLinux2.6.24篇-20081212

YC2440开发指南-utuLinux2.6.24篇-20081212

YC2440开发指南-utuLinux2.6.24篇本手册适用于扬创科技YC2440-F,utu2440-s,utu2440-F等系列2440开发板产品,linux 内核版本为2.6.24,详细产品信息请参见公司网站:/最后更新:2008-12-12一、 u tu Linux概述utu Linux 是扬创科技基于linux 2.6内核,针对ARM框架CPU移植的嵌入式linux操作系统,针对有S3C2410、S3C2440、PXA270等不同的CPU版本,utu Linux稳定可靠,已经在很多客户的批量产品上实践验证,广受好评。

二、 u tu Linux相关软件功能Windows下的超级终端详细的使用方法请用户自己参考相关资料,这里不再详述。

设置请和下图保持一致。

连接好电源、用所配的串口线连接开发板的COM0和PC机的串口,在开发板utu-LINUX系统起来后,我们可以在终端看到:按回车键,进入utu-linux命令行终端:2.1 通过串口与PC传送文件通过串口登录utu Linux以后,在命令行下可以使用rz、sz命令来和PC机相互传送文件。

2.1.1 使用sz命令向PC机传送文件在超级终端窗口点击鼠标右键按照上图设置,点击“关闭”按钮。

在utu Linux命令行输入:sz /etc/init.d/rcS将把开发板上utu Linux的/etc/init.d目录下的rcS文件传送到PC机的E盘根目录下。

这个rcS文件是utu Linux的启动脚本,用户可以在PC机端使用文本编辑软件打开查看编辑,增加删除系统启动以后的加载选项。

2.1.2 使用rz命令接受PC机传送过来的文件在 utu Linux命令行输入:rz[root@utu-Linux]\$ rz点击鼠标右键,选择“发送文件”:点击“发送”按钮,就把PC机端E盘根目录下的rcS文件传到开发板上面的utu Linux的根目录了。

2.2 如何通过FTP与PC传送文件utu Linux for 2440 v1.5版本默认已经开启了ftp服务,用户可以在PC端直接使用cute ftp等ftp客户端软件直接登录,用户名和密码均为空,选择匿名。

NFS实验步骤

NFS实验步骤

使用最新版工具重新编译出内核映像,文件系统映像在Ubuntu为mini2440开发板配置NFS服务这篇日志就是在Linux环境下的windows虚拟机上写的。

下面就开始给各位讲讲NFS配置过程。

先交代一下我的基本配置:通过一个路由器,连接了电脑和开发板。

电脑的IP地址为:172.16.19.132,开发板的IP地址为:172.16.19.110,网关为:172.16.19.254,子网掩码为:255.255.0.0 。

开发板和电脑都可以上网。

没有路由器的朋友可以将电脑和开发板设置到同一个网段内,及子网掩码,网关都相同,IP地址前面3段相同,最后一段不同(比如上面的那样),只要开发板和电脑能互相ping通就可以了。

直接用root用户在Linux下进行配置。

1.下载安装必要的软件:apt-get install nfs-kernel-serverapt-get install nfs-commonapt-get portmap2.开始配置:首先配置共享目录:vim /etc/exports输入以下内容:/opt/FriendlyARM/mini2440/root_qtopia *(rw,sync,no_root_squash)把rootfs_qtopia_qt4-20100816.tar.gz解压所得到的root_qtopia_qt4目录下的所有文件及目录拷贝到/opt/FriendlyARM/mini2440/root_qtopia中,并且在/opt/FriendlyARM/mini2440/root_qtopia/dev目录下执行:mknod console c 5 1其中,“/opt/FriendlyARM/mini2440/root_qtopia”是你要共享的目录,“*”代表所有的IP地址都可以访问,“rw”表示挂载了该目录的用户对该目录有读写的权限,no_root_squash表示,如果挂载了该目录的用户以root权限登录,在在该目录中,也具有root权限。

NFS的设置步骤

NFS的设置步骤

NFS的设置步骤NFS(Network File System)是一种分布式文件系统,可以让不同的计算机通过网络共享文件。

在使用NFS之前,需要进行一系列的设置步骤来配置和启动NFS服务器和客户端。

以下是配置和启动NFS的详细步骤:1.安装NFS服务器和客户端软件:首先,要在服务器和客户端机器上安装NFS软件包。

可以通过以下命令安装NFS服务器软件包:```sudo apt-get install nfs-kernel-server```同样地,可以通过以下命令安装NFS客户端软件包:``````2.配置NFS服务器:```sudo nano /etc/exports```在文件中,每一行表示一个共享目录的配置。

每条配置项包括共享目录的路径、访问权限、允许访问的客户端以及其他选项。

例如:```/path/to/shared/directory client_ip(rw,sync,no_subtree_check) ```3.启动NFS服务器:使用以下命令启动NFS服务器:```sudo systemctl start nfs-kernel-server```该命令将启动NFS服务器并开始监听来自客户端的连接请求。

4.配置NFS客户端:```sudo nano /etc/fstab```在文件中,每一行表示一个挂载目录的配置。

每条配置项包括NFS服务器的IP地址或主机名、共享目录的路径、挂载点路径以及其他选项。

例如:```nfs_server_ip:/path/to/shared/directory /path/to/mount/point nfs rw 0 0```5.挂载NFS共享目录:使用以下命令挂载NFS共享目录:```sudo mount -a```该命令将挂载在`/etc/fstab`文件中定义的所有共享目录。

6.验证NFS设置:可以在客户端上使用以下命令验证NFS设置是否正确:```df -h```该命令将显示挂载的文件系统,包括NFS共享目录。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

JZ2440网络文件系统nfs搭建问题描述:在驱动程序开发阶段,会涉及到频繁的编译调试程序,如果每次都把驱动程序编译到内核去,会浪费大量的时间。

所以通常把驱动程序编译成.ko的模块动态加载到内核,这样可以省去编译整个内核的过程,大大提高了驱动开发的效率。

那么虚拟机上编译好的驱动模块怎样传递给目标机(开发板)呢,就是通过本文介绍的网络文件系统,PC机共享出一个网络文件系统给开发板,开发板就相当于多了一个本地文件夹一样。

原料:1、JZ2440开发板+已经移植好的linux系统;2、USB转UART连接线一根;3、网线一根;4、笔记本电脑安装vmware + Ubuntu;步骤:1、设置开发板IP地址,使开发板与虚拟机在同一个局域网。

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

a)开发板正常启动后,通过Uart中断:# ifconfigeth0 Link encap:Ethernet HWaddr 00:60:6E:33:44:55inet addr:192.168.1.17Bcast:192.168.1.255 Mask:255.255.255.0UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1RX packets:28 errors:0 dropped:0 overruns:0 frame:0TX packets:0 errors:0 dropped:0 overruns:0 carrier:0collisions:0 txqueuelen:1000RX bytes:2776 (2.7 KiB) TX bytes:0 (0.0 B)Interrupt:51 Base address:0xa000b)查看虚拟机上的IP地址:book@book-desktop:~$ ifconfigeth3 Link encap:Ethernet HWaddr 00:0c:29:e4:a7:e1inet addr:192.168.2.102Bcast:192.168.2.255 Mask:255.255.255.0inet6 addr: fe80::20c:29ff:fee4:a7e1/64 Scope:LinkUP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1RX packets:3015 errors:0 dropped:0 overruns:0 frame:0TX packets:2173 errors:0 dropped:0 overruns:0 carrier:0collisions:0 txqueuelen:1000RX bytes:940451 (940.4 KB) TX bytes:241758 (241.7 KB)Interrupt:18 Base address:0x2024eth4 Link encap:Ethernet HWaddr 00:0c:29:e4:a7:ebinet addr:192.168.3.54 Bcast:192.168.3.255 Mask:255.255.255.0inet6 addr: fe80::20c:29ff:fee4:a7eb/64 Scope:LinkUP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1RX packets:4657 errors:0 dropped:0 overruns:0 frame:0TX packets:1076 errors:0 dropped:0 overruns:0 carrier:0collisions:0 txqueuelen:1000RX bytes:466534 (466.5 KB) TX bytes:182556 (182.5 KB)Interrupt:17 Base address:0x20a4c)将开发板ip改成192.168.2.100# ifconfig eth0 192.168.2.100# ifconfigeth0 Link encap:Ethernet HWaddr 00:60:6E:33:44:55inet addr:192.168.2.100Bcast:192.168.2.255 Mask:255.255.255.0UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1RX packets:28 errors:0 dropped:0 overruns:0 frame:0TX packets:0 errors:0 dropped:0 overruns:0 carrier:0collisions:0 txqueuelen:1000RX bytes:2776 (2.7 KiB) TX bytes:0 (0.0 B)Interrupt:51 Base address:0xa000d)开发板和虚拟机互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 1001msrtt 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 lossround-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... DoneBuilding dependency treeReading state information... Donenfs-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_roota)配置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 restartbook@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.xexportfs: /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目录下是空的,没有任何内容。

相关文档
最新文档