1. 程式人生 > >利用NFS服務掛載NFS根檔案系統

利用NFS服務掛載NFS根檔案系統

嵌入式Linux根檔案系統,簡單地說,根檔案系統就是一種目錄結構

注意根檔案系統和普通的檔案系統的區別。

常見的Linux根檔案系統有:

(1)NFS(網路根檔案系統),主要用於 產品除錯階段 。

(2)YAFFS,主要用於產品的釋出階段。大量生產直接寫入NandFlash。

搭建NFS根檔案系統

這個過程包括

1、設定NFS共享目錄  

2、啟動NFS服務

3、重新設定開發板的環境變數

4、掛載根檔案系統

具體步驟如下:

1、解壓根檔案系統原始碼包到 /home/lwb/目錄下

#tar  xvzf  root_qtopia.tar.gz  /home/lwb

解壓後則在/home/lwb/目錄下生成了一個root_qtopia目錄

2、cd root_qtopia 進入該目錄

3、pwd 顯示當前目錄  /home/lwb/qtopia 這個目錄下面要用到

4、vim /etc/exports    //編輯匯出目錄

   在exports檔案末尾新增:

/home/lwb/root_qtopia  *(rw,sync,no_root_squash)  //匯出/home/lwb/root_qtopia目錄  可讀可寫屬性  同步  root許可權掛載的。

   儲存退出

5、使生效: #exportfs ra

6、#exportfs v 檢視是否真的已匯出

   顯示:/home/lwb/root_qtopia  <world>(rw,wdelay,no_root_squash,anonuid=65534,anongid=65534)  顯然匯出成功

   匯出成功 、伺服器設定好啦。

7、重啟NFS服務

#/etc/init.d/nfs start //啟動nfs服務

開始掛載NFS(網路根檔案系統):

1、重新設定環境變數:

[[email protected]]# setenv bootargs console=ttySAC0 root=/dev/nfs nfsroot=192.168.1.108:/home/lwb/root_qtopia ip=192.168.1.226:192.168.1.108:192.168.1.108:255.255.255.0:SMDK2440A.arm9.net:eth0:off

2、儲存環境變數:

[[email protected]

]# saveenv   

//執行儲存環境變數結果如下:

Saving Environment to NAND...

Erasing Nand...

Erasing at 0x4000000000002 --   0% complete.

Writing to Nand... done

3、檢視環境變數:

[[email protected]]# printenv

bootcmd=nand read 0x30008000 60000 500000;bootm 0x30008000

bootdelay=1

baudrate=115200

ethaddr=08:08:11:18:12:27

netmask=255.255.255.0

embedclub=bmp d 70000

 stdin=serial

stdout=serial

stderr=serial

lcdtype=w

ethact=dm9000

serverip=192.168.1.108

ipaddr=192.168.1.266

gatewayip=192.168.1.1

bootargs=console=ttySAC0 root=/dev/nfs nfsroot=192.168.1.108:/home/lwb/root_qtopia ip=192.168.1.226:192.168.1.108:192.168.1.108:255.255.255.0:SMDK2440A.arm9.net:eth0:off

Environment size: 459/131068 bytes

1、掛在檔案系統

[[email protected]]#boot

結果如下:

[[email protected]]# boot

NAND read: device 0 offset 0x60000, size 0x500000

 5242880 bytes read: OK

## Booting kernel from Legacy Image at 30008000 ...

   Image Name:   Linux kernel Image by embedclub

   Created:      2013-05-27   8:52:50 UTC

   Image Type:   ARM Linux Kernel Image (uncompressed)

   Data Size:    2286764 Bytes =  2.2 MB

   Load Address: 30008000

   Entry Point:  30008040

   Verifying Checksum ... OK

   XIP Kernel Image ... OK

OK

Starting kernel ...

Uncompressing Linux..................................................................................................................................................... done, booting the kernel.

Linux version 2.6.32.2-FriendlyARM ([email protected]) (gcc version 4.3.2 (Sourcery G++ Lite 2008q3-72) ) #1 Sun May 19 10:37:56 CST 2013

CPU: ARM920T [41129200] revision 0 (ARMv4T), cr=c0007177

此處省略很多………………………………

Looking up port of RPC 100003/2 on 192.168.1.108

eth0: link up, 100Mbps, full-duplex, lpa 0xCDE1

Looking up port of RPC 100005/1 on 192.168.1.108

nfs: server 192.168.1.108 not responding, still trying

nfs: server 192.168.1.108 OK

VFS: Mounted root (nfs filesystem) on device 0:11.

Freeing init memory: 160K

[06/Jul/2005:01:37:10 +0000] boa: server version Boa/0.94.13

[06/Jul/2005:01:37:10 +0000] boa: server built Mar 26 2009 at 15:28:42.

[06/Jul/2005:01:37:10 +0000] boa: starting server pid=680, port 80

Try to bring eth0 interface up......NFS root ...Done

Please press Enter to activate this console.

按回車鍵:出現如下結果:

Please press Enter to activate this console.

[[email protected] /]# ls

bin      etc      lib      mnt      proc     sbin     tmp      var

dev      home     linuxrc  opt      root     sys      usr      www

[[email protected] /]#

成功,哈哈!開發板和PC上的Linux是同步的。

測試一下:在PC上的/home/lwb/root_qtopia/目錄下:#touch hello

在SecureCRT 上#ls一下 是會出現 hello目錄的。

來個多執行緒的多生產者、多消費者的程式在開發板上執行執行,哈哈

把已寫好的程式pc3.c通過arm-linux-gcc pc3.c o pc3.o

把pc3.o 拷貝到/home/lwb/root_qtopia/bin目錄下

在secureCRT下的/bin目錄下執行 ./pc3.o 成功

各種興奮,哈哈!因為之前有過:

(1)        和開發板連線的網線的另一端沒和PC連線,但我一直以為是連啦!

(2)        連好網線後,還是沒掛接上NFS根檔案系統。在PC上的Linux重啟一下NFS服務之後一切OK,哈哈!

相關推薦

利用NFS服務掛載NFS檔案系統

嵌入式Linux根檔案系統,簡單地說,根檔案系統就是一種目錄結構 注意根檔案系統和普通的檔案系統的區別。 常見的Linux根檔案系統有: (1)NFS(網路根檔案系統),主要用於 產品除錯階段 。 (2)YAFFS,主要用於產品的釋出階段。大量生產直接寫入NandFl

開發板通過nfs服務掛載虛擬機器檔案目錄的嵌入式開發方式

        在做嵌入式開發時,一般都是先在linux下交叉編譯工程,將生成的執行檔案拷貝到開發板上再執行,這樣很麻煩,現在介紹一種nfs檔案掛載的方式,只需要在嵌入式裝置和虛擬機器上安裝nfs服務,再做一些網路環境的配置,就可以直接把虛擬機器上工程檔案所在的目錄直接掛載到

在linux的PC上掛載jffs2檔案系統映像

我們在除錯硬體板時,經常需要做多個jffs2的根檔案系統映像,有時也要對比其他途徑得到的可用的jffs2根檔案系統映像。但jffs2的檔案系統映像不象光碟的映像檔案一樣可以通過loop裝置來掛載,總不可能一個個燒錄到硬體板去看吧。 後來到網上google了一把

QEMU模擬Mini2440開發板執行環境(二):NFS掛載檔案系統

前言 原創文章歡迎轉載,請保留出處。 若有任何疑問建議,歡迎回復。 郵箱:[email protected] 緊接著第一篇(http://blog.csdn.net/maxwell_nc/article/details/44279553),我們使用網路檔案系統NFS掛載根檔案

wlh- beagle bone 通過uboot tftp 載入zImage 裝置樹 及 nfs 掛載檔案系統

首先重啟Ubuntu 伺服器的 tftp 和nfs  sudo /etc/init.d/xinetd restart 命令              重啟 xinetd  tftp服務 sudo&nbs

nfs掛載檔案系統

1.安裝NFS      nfs原理是通過網路,將遠端主機共享的檔案系統,掛載到本機。Ubuntu 12.04上預設是沒有安裝NFS伺服器的,首先要安裝NFS服務程式:    先執行 # apt-get update

NFS作為檔案系統掛載超時

NFS伺服器配置正確後,使用ramfs,通過mount能夠正常掛載NFS,但是作為ROOTFS無法正常掛載,顯示超時。   經檢視log,RPC報錯-120。   分析結果: 在Ubuntu1804上,nfsserver支援v3,v4,在UBuntu1304上,nfsserver

NFS啟動Linux並掛載檔案系統

要搞嵌入式NFS確實必不可少,否則每次都要重啟煩都煩死。這裡總結在NFS建立過程中遇到的幾個問題。 下面記錄幾個遇到的問題 VFS: Cannot open root device “

uboot中利用TFTP和NFS載入核心映象和檔案系統

origin: http://www.cnblogs.com/cjjnjust/articles/1754849.html 主機說明: 實驗板說明: MPC8349itx開發板: IP: 59.64.155.244  閘道器 59.64.155.1 開發板eth0為

u-boot下配置掛載NFS檔案系統

一、在linux系統主機下安裝NFS伺服器        在ubuntu10.04下安裝命令為:        sudoapt-get  install nfs-kernel-server 二、配置nfs伺服器        在ubuntu下安裝完ssh伺服器後預設開機啟動

mini6410基於linux2.6.36核心通過NFS啟動檔案系統總結(四製作檔案系統及通過NFS掛載檔案系統

本系列文章有本人yinjiabin製作,轉載請註明出處: http://blog.csdn.net/yinjiabin/article/details/7489563根檔案系統一般包括: 1)基本的檔案系統結構,包含一些必須的目錄,比如:/dev,/proc,/bin,/

基於busybox製作mini2440檔案系統及使用nfs掛載

  常見的檔案系統有yaffs2, jffs2,他們是適用於根檔案系統映象存在於NAND Flash上的情況。而傳統的Linux EXT2/EXT3檔案系統格式適用於傳統的block裝置,比如SD卡或者硬碟。 cramfs同時適用於以上兩種情況。其不管採用哪種格式,核心都必

Beaglebone Black——理論篇beaglebone black啟動——從串列埠獲得SPL、U-BOOT,TFTP伺服器獲得核心,NFS伺服器掛載檔案系統

          一般來講啟動一個系統所需的bootloader(SPL/MLO、u-boot.img)和根檔案系統(/boot下包含核心zImage)要麼是放在NAND Flash,或者是SD卡,或者是eMMC,或者是USB中,那麼還有一種方式,就是所需要的這些檔案全部

u-boot通過nfs從伺服器下載核心,並且啟動核心,掛載檔案系統的方法

http://www.linuxidc.com/Linux/2013-08/89154.htm http://blog.csdn.net/sinat_31500569/article/details/53120530 參考連結 首先要在電腦上安裝nfs伺服器 1.執行命令

linux開發環境搭建(3)-nfs掛載檔案系統

前面講解了網絡卡配置和使用tftp下載核心,這次要講的是使用nfs掛載根檔案系統。 1、什麼是根檔案系統 所謂根檔案系統,也就是系統啟動後第一個掛載的目錄,根檔案系統包括Linux啟動時所必須的目錄和關鍵性的檔案,例如Linux啟動時都需要有init目錄下的

U-boot從tftp伺服器啟動,掛載NFS檔案系統

在uboot輸入設定下面的變數: # mac address可以使用uboot目錄tools下的gen_eth_addr工個來產生 setenv ethaddr <mac address>

beaglebone black tftp與nfs掛載檔案系統

原文連結: http://blog.csdn.net/zy812248258/article/details/39291835 我的板子是beaglebone black  rev.c 啟動方式: 在win下用am335x-evm-01.00.00.00.img.zip裡的

Xlinx-Zedboard使用NFS掛載檔案系統

安裝nfs-kernel-server和tftpd-hpa服務 有安裝包情況下   sudo dpkg -i *.deb 建立共享目錄tftpboot 1.sudo mkidr /tftpboot 2

tiny4412 busybox製作檔案系統rootfs nfs 掛載 ubuntu 14.04

首先得要有製作好的uboot和linux核心映象zImage,先燒錄到sd卡里,這個是已經做好了的工作。 一,ubuntu上先設定好nfs服務 1.新建一個要掛載的檔案 [email protected]:~/share$ pwd /home/liudijian

JZ2440設定從開發板啟動或使用NFS作為檔案系統啟動

進入u-boot介面,選擇q退出主介面,進入 OpenJTAG>  1、從開發板根檔案系統正常啟動:    OpenJTAG> set bootargs noinitrd root=/dev/mtdblock3 init=/linuxrc console