在NAS上 玩玩 ps3netsrv 吧 (下篇 -SYNOLOGY)

上一篇 我提到 在QNAP ARM Base 設備的安裝,
接下來我要講的是 在 x86 Base的Synology NAS上安裝 ps3netsrv…

其實關於Synology NAS, 網路上有許多類似的教學,
我這邊的教學說明則有些不同,比照他人的教學,在我的NAS上是沒法使用的。

所以我這邊主要是給一些同樣使用Synology NAS ,
卻遇到問題而找不到方法解決的人有一條其他的方法參考


好吧..首先我承認我這篇文在xxxnology上安裝ps3netsrv的,
但我也的確擁有一台DS-411+II,只是這台是工作用,所以就不要湊合到娛樂的部份。

在這篇教學中 ps3netsrv 最後我是使用了別人編譯好的x86版本,
其實一開始我也曾自行按照別人的教學編譯過ps3netsrv,
但最後照著教程裡要運行ps3netsrv的時候,卻怎麼也無法成功運作,
然後我就直接改用編譯過的版本,再繼續尋找出答案。
而最後的事實證明,其實是那個教程內的指令並不適用於我這台XXXNOLOGY的系統。

接下來正式進入主題:

0.
跟QNAP / QTS一樣,DSM 後台內要開啟SSH / Telenet 連線,
然後在DSM新增一個 共用資料夾 ,存放於 儲存空間2 (volume2)
依個人喜好,在這邊我是命名為PS3,或是先不新增而使用既有的資料夾都OK。
檔名或權限的部份按照一般習慣即可,因為PS3在透過ps3netsrv讀取檔案時,
是不受NAS本身設定的讀寫權限或是資料夾名稱所限制的。

1-0.
DSM 要先手動安裝OPTWARE的環境,一般來說就是先安裝bootstrap去連帶。
這部份真的滿麻煩的,可能很多人看到這麼複雜就放棄了,
因為不像QNAP / QTS一樣,有現成的optware ipkg 的APP可以一鍵安裝。

我是參考這篇教學後才成功安裝好optware,
其實原文的作者已經講解的非常詳細,我在此就只大概說明一下主要的流程…
PS:我用的SSH工具是putty 並且流程上有些更改。

1-1.
使用putty來連線到NAS,要記得NAS已經是開好SHH連線,
跟 QNAP / QTS 不同 ,登入帳號為root , 密碼就是以admin登入後台時用的密碼。

1-2.
切換到@tmp目錄  cd /volume1/@tmp

1-3.
使用 WinSCP連線到NAS內,帳號為root ,密碼跟admin這個帳號用的一樣

1-4.
因為我用的是安裝在ESXi上的DSM,所以不管物理CPU用的是那一種,
其實骨子裡都算是x86的架構,因此我將此檔案解壓縮後,
得到syno-i686-bootstrap_1.2-7_i686.xsh 檔案,
並將syno-i686-bootstrap_1.2-7_i686.xsh檔案用WinSCP放到 /volume1/@tmp 底下,
這部分跟別人的教程不同處在於…
因為我懶得用 wget指令+上一大串可能會打錯的指令來 安裝 bootstrap (optware)。

1-5.
因為權限的問題,
所以不能執行放在/volume1/@tmp內的 syno-i686-bootstrap_1.2-7_i686.xsh檔案。
我是直接用WinSCP將這個檔案更改屬性為0777 (滑鼠右鍵 >屬性),
也可以下指令 chmod -x syno-i686-bootstrap_1.2-7_i686.xsh 去更改屬性。
(要注意是否仍在/volume1/@tmp目錄)

1-6.
下指令執行 sh syno-i686-bootstrap_1.2-7_i686.xsh

1-7.
執行完後 順便將syno-i686-bootstrap_1.2-7_i686.xsh這個檔案刪掉
(我是直接用WinSCP刪除,因為我真的很懶得去手KEY指令)

1-8.
為確保每次重開機都會正確運行bootstrap,所以要修改啟動配置,
指令  vi /root/.profile
然後在vi 編輯器狀況下 將 這兩行指令的前面加上#
PS:這兩張圖片來源為原教學..

88

加上#後 按下ESC
再鍵入 :wq    (儲存並離開編輯)

89

至此 Bootstrap / optware 的部份才算是已經完成,進行DSM的後台重新開機。

2.
使用WinSCP連線登入NAS
這時在根目錄上已經可以看到opt的文件夾,這代表optware的環境已經部屬完成。

3-0.
若要用現成已編譯好的X86版ps3netsrv請跳過整個第3步。

將原始的 ps3netsrv 文件夾解壓縮後用WinSCP連線放到opt文件夾下。
使用WinSCP將ps3netsrv文件夾與 ps3netsrv檔案的屬性改為0777
這很重要,如果沒改執行權限的話,系統將無法執行ps3netsrv

3-1.
接下來用putty / ssh 連線進入NAS,開始先部署編譯 ps3netsrv的環境。

部署環境的指令如下:

X86版

 

  1. ipkg update
  2. ipkg install gcc
  3. ipkg install make
  4. ipkg install sudo
  5. mkdir /opt/i686-linux-gnu/lib_disabled
  6. mv /opt/i686-linux-gnue/lib/libpthread* /opt/i686-linux-gnu/lib_disabled
  7. cp /lib/libpthread.so.0 /opt/i686-linux-gnu/lib/
  8. cd /opt/i686-linux-gnu/lib/
  9. ln -s libpthread.so.0 libpthread.so
  10. ln -s libpthread.so.0 libpthread-2.5.so
  11. sudo ln -s /usr/lib/libstdc++.so.6 /usr/lib/libstdc++.so

arm版

  1. ipkg update
  2. ipkg install gcc
  3. ipkg install make
  4. mkdir /opt/arm-none-linux-gnueabi/lib_disabled
  5. mv /opt/arm-none-linux-gnueabi/lib/libpthread* /opt/arm-none-linux-gnueabi/lib_disabled
  6. cp /lib/libpthread.so.0 /opt/arm-none-linux-gnueabi/lib/
  7. cd /opt/arm-none-linux-gnueabi/lib/
  8. ln -s libpthread.so.0 libpthread.so
  9. ln -s libpthread.so.0 libpthread-2.5.so

3-2.
部署完後 開始編譯 ps3netsrv
切換目錄指令: cd /opt/ps3netsrv
       編譯指令: make
       沒出什麼錯的話就完成編譯。

3-3.
下執行指令: 
nohup ./ps3netsrv /volume2/PS3

其實第3-0~3-3步的部份我幾乎是照搬別人的教學…
在我的設備上沒有正確運作,所以我才直接改用已經編譯好的ps3netsrv,
有問題的朋友可能直接到原教學的論壇去爬會比較快。

4-0.
以現成編譯好的ps3netsrv 的安裝步驟,執行第3步重新編譯ps3netsrv請跳過。

4-1.
將編譯過的x86版的 ps3netsrv 用WinSCP放到opt文件夾下

4-2.
使用WinSCP將ps3netsrv的屬性改為0777
這很重要,如果沒改執行權限的話,系統將無法執行ps3netsrv

4-3.
運行指令 nohup /opt/ps3netsrv /volume2/PS3
這部份跟第3步有兩點不同…原本別人的指令為 nohup ./ps3netsrv /volume…..
我使用這個指令後 系統直接報錯 找不此資料夾 或是 指令錯誤…
經不斷實驗,直到 把./改成了 /opt/,才成功運行。
還有就是因我是在DSM後台 新建了一個 共用資料夾 命名為PS3 ,
並且是指定放在 儲存空間 2,所以 指令的後半是 /volume2/PS3 。

5.
下查詢指令: ps -w   (QNAP ARM NAS是 ps -a)
查詢 ./ps3netsrv /volume2/PS3
或 /opt/ps3netsrv /volume2/PS3 有無存在於執行程緒中…

corel099

我是直接用別人編譯好的x86版ps3netsrv成功運行。

6.
接下來就在PS3上設定,這部份跟前一篇的 QNAP / QTS 一樣,就不再多說。

7.
開機後自動執行的修改方式
別人的教學中提到 rc.local這個檔案內 不需要 加上 nohup 指令,
但其實我因為我是直接使用編譯過的ps3netsrv程式,並且是放在/opt底下,
而後面經過我的實際測試成功的指令又跟別人的教學不一樣,
所以我在rc.local中 實際鍵入 的指令為 /opt/ps3netsrv /volume2/PS3
rc.local 這個檔案位於根目錄/etc內。

ps3netsrv_dsm_rclocal000

後記:

若以別人的教程 ./ps3netsrv /volume…這個指令來說,系統重開機後 ps -w 指令
可能查詢不到系統有在運行 ./ps3netsrv /volume…
或是有看到  ./opt/ps3netsrv /volum… 或 /opt/ps3netsrv…  /volum…但PS3卻連不進來。

發表迴響