2014年3月11日 星期二

Share the folder using by NFS Server for the Beagleboard-xM

目的:
PC與BB-xM 共享同一個資料夾,如此一來,若是需要在PC上Cross-compile就可以直接將執行檔放置此目錄夾,然後BB-xM就直接執行此資料夾的執行檔即可,不用在那邊每次compile完,就在那邊拔sd卡,很蠢。

首先在PC上建立環境:
----------------------------------------------------------------------------------------------------------------------

$sudo apt-get install nfs-common
$sudo apt-get install nfs-kernel-server

接著要設定nfs存取的權限與相關設定:

 sudo vi /etc/exports

在這邊舉我的例子,在/etc/exports裡面加入這行:

/home/jack/Desktop/nfstemp *(rw,no_root_squash,no_all_squash,sync)

nfstemp就是你在PC上所要共享的資料夾,後面的*代表是所有人都可以存取此資料夾,你也可以不要使用*,直接指定只有某個ip(實體ip)才可以存取你這個資料夾,後面的設定說明如下:

rw : read-write
no_root_squash      :   如果你想要開放用戶端使用 root 身份來操作伺服器的檔案系統,那麼這
                                    裡就得要開 no_root_squash 才行(引述鳥哥私房菜)。
no_all_squash :        保留共享文件的UID和GID(default)
sync :                        代表資料會同步寫入到記憶體與硬碟中,而async 則代表資料會先暫存於                                     記憶體當中,而非直接寫入硬碟!





接著就是在BB-xM中的設定了 , 屬於Client端。
----------------------------------------------------------------------------------------------------------------------
首先先說下我的環境,OS : Angstrom   ,  Kernel : linux kernel 2.6.32
然後要建立一個空的資料夾來共享,我在這邊習慣都是跟PC一樣的資料夾名稱,
接著輸入:

mount -o nolock 140.116.123.123:/home/jack/Desktop/nfstemp  nfstemp/
or

busybox mount -o nolock 140.116.123.123:/home/jack/Desktop/nfstemp  nfstemp/

前面的ip就是你要連結的server ip 然後存取他裡面的某個資料夾,並且共享他。

建議盡量寫一個script檔,不用每次都要輸入這些命令了。

#!/bin/sh                                                                     
#### this shell command is access host folder from NFS_server ####
busybox mount -o nolock 140.116.123.123:/home/jack/Desktop/nfstemp  nfstemp/

除此之外還可以將此script 在開機執行。

注意事項:當然BB-xM 也要給他網路囉....,同網域通常不會有什麼問題,可是如果是外網連進來共享就要考慮到有無防火牆,成大好像有。@@這就不關我的事情了,反正我只是為了在學校玩嵌入式方便用。



Reference:

  1. http://linux.vbird.org/linux_server/0330nfs.php
  2. http://hi.baidu.com/zzcqh/item/fa9ca6b6c2d2c977254b0914

沒有留言:

張貼留言