天天看點

OpenWrt中開啟usb存儲和samba服務

在從官網安裝的WNDR3800 15.05.1版本OpenWrt中, 不帶usb存儲支援以及samba, 需要另外安裝

參考的文章

http://www.geektalks.org/setup-usb-drive-and-sambanas-on-openwrt-from-scratch/ 

https://wiki.openwrt.org/doc/howto/usb.essentials USB Basic Support 

https://wiki.openwrt.org/doc/howto/usb.storage   USB Storage 

https://wiki.openwrt.org/doc/uci/fstab fstab Configuration 

https://wiki.openwrt.org/doc/techref/block_mount#block-mount_binary_package Mount Block Storage

安裝過程中需要安裝的包有

1. 啟用usb支援 

安裝 kmod-usb-uhci 或者 kmod-usb-ohci, 如果前者不能安裝, 系統會有提示

安裝usb2

2. 啟用usb存儲

需要安裝這些包: kmod-usb-storage, 各種格式 kmod-fs-<fs>, block-mount, kmod-scsi-core

啟用對usb存儲的自動挂載

主要是通過 block detect 産生的 fstab 配置來實作的, 各配置項的說明

fstab配置也可以在luci界面中進行編輯

注: 最後一個 option enabled 改為'1' 就會自動挂載, 重新開機後, 用df -h就能看到usb存儲了.

注: 可以将config 'mount'部分删除, 将 option anon_mount 和 option check_fs 改為 '1' 這樣在啟動時會自動發現usb存儲并挂載

住: ntfs格式的移動硬碟不能自動加載, 需要啟動後, 通過這樣的指令進行挂載

配置samba

主要是通過兩個配置檔案實作的, 一個是 /etc/config/samba, 

  config sambashare

      option name 'sda1'

      option path '/mnt/sda1/'

      option read_only 'no'

      option guest_ok 'yes'

      option 'create_mask' '0700'

      option 'dir_mask' '0700'

注: option name 和 option path, 如果直接使用 'mnt' 和 '/mnt/' 會導緻伺服器對剩餘空間大小判斷錯誤而無法寫入稍微大一點的檔案.

是以.. 可以一下多配置幾個, 這樣接移動硬碟時, 就不用再改了, 比如這樣

另一個是 /etc/samba/smb.conf, 這是samba服務的标準配置檔案, 下面是配置的例子

然後 /etc/init.d/samba enable 并重新開機路由器就可以了

啟動後, samba會自動更新smb.conf, 将在/etc/config/samba下設定的 [mnt] 附加到檔案的後面

用 ext4 格式化u盤

在Luci界面中,

先通過System -> Mount Points 将U盤挂載到 /mnt/usb

再通過Services -> Network Shares 中添加 Shared Directories 将 /mnt/usb 挂載為usb, 勾選Allow Guest

在其它裝置中, 檢查是否可以連接配接并且寫入. 然後重新開機路由器, 再次确認是否可以連接配接并且寫入.

在啟動日志中檢視usb裝置的識别情況

Update 2017-10-15

對于非usb類型的存儲, 例如sd card/tf card, 其在/dev中自動檢測得到的名稱并非sda, 而是類似于mmcblk0這樣的裝置, 這時候block detect能正常工作, 但是/etc/config/samba裡面配置的路徑必須設定為(根據/dev/mmcblk0建立後的分區名, 一般為 mmcblk0p1)

這樣, fstab才能開機時自動檢測并挂載

繼續閱讀