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