Synology NAS nns779/px4_drvのインストール

Synology NAS向けクロスコンパイル環境を用意し、px4_drvをコンパイル・インストールする事で、NAS上からPLEX社製TVチューナー PX-W3U4/Q3U4/W3PE4/Q3PE4 を認識できるようにします。

事前準備

  • パッケージセンター:Docker のインストール、実行
  • パッケージセンター:Git Server のインストール、実行
  • SSH/Telnet接続の有効化

Gitリポジトリの複製

GitHub:collelog/synology-make-px4_drv

$ cd /volume1/docker
$ sudo git clone https://github.com/collelog/synology-make-px4_drv.git

We trust you have received the usual lecture from the local System
Administrator. It usually boils down to these three things:

    #1) Respect the privacy of others.
    #2) Think before you type.
    #3) With great power comes great responsibility.

Password:
Cloning into 'synology-make-px4_drv'...
remote: Enumerating objects: 18, done.
remote: Counting objects: 100% (18/18), done.
remote: Compressing objects: 100% (13/13), done.
remote: Total 18 (delta 2), reused 14 (delta 1), pack-reused 0
Unpacking objects: 100% (18/18), done.

Dockerイメージのビルド

$ cd synology-make-px4_drv/

$ sudo docker-compose up --build -d
Pulling synology-make-px4_drv (collelog/synology-make-px4_drv:)...
latest: Pulling from collelog/synology-make-px4_drv
fe703b657a32: Pull complete
f9df1fafd224: Pull complete
a645a4b887f9: Pull complete
57db7fe0b522: Pull complete
f87b636836a4: Pull complete
fdb4f8adcd72: Pull complete
Digest: sha256:f890a796b3b3aa8b9495eeaa2b7181e816ee50e5788deee0dee80d09b34adb2f
Status: Downloaded newer image for collelog/synology-make-px4_drv:latest
Creating syno-make-px4_drv ... done

Dockerコンテナの操作

$ sudo docker exec -it syno-make-px4_drv /bin/bash
root@XXXXX:/toolkit/script# ./syno_make_px4_drv.sh

1) DSM 6.2                                                                      
2) DSM 6.1                                                                      
3) Quit                                                                         
Please select DSM varsion of Synology NAS: 1                                    
1) apollolake   3) braswell     5) broadwellnk  7) cedarview    9) Quit         
2) avoton       4) broadwell    6) bromolow     8) denverton                    
Please select CPU package arch of Synology NAS: 7                               
==================================================                              
PATH:/toolkit                                                                   
CPU package arch:cedarview                                                      
DSM version:6.2                                                                 
==================================================                              
exec EnvDeploy                                                                  
Download... https://sourceforge.net/projects/dsgpl/files/toolkit/DSM6.2/base_env
-6.2.txz                                                                        
・・・・・
==================================================
completed builds.
 - /toolkit/results_file/px4_drv/px4_drv.ko
 - /toolkit/results_file/px4_drv/it930x-firmware.bin
==================================================
root@XXXXX:/toolkit/script# exit

nns779/px4_drv の配置

$ cd /volume1/docker/synology-make-px4_drv/results_file/px4_drv
$ sudo chmod 755 it930x-firmware.bin px4_drv.ko
$ sudo cp -p it930x-firmware.bin /lib/firmware/
$ sudo cp px4_drv.ko /usr/lib/modules/

px4_drvの自動ロード

DSMのタスクスケジューラにカーネルモジュールのロードコマンドを登録し、ブートアップ時に自動起動します。

[コントロール パネル] > [タスクスケジューラー]  >  [作成] – [トリガーされたタスク] – [ユーザー指定のスクリプト]

  • タスク: insmod px4_drv (任意)
  • ユーザー:root
  • イベント:ブートアップ
  • ユーザー指定のスクリプト:insmod /lib/modules/px4_drv.ko