「Fitpc2i/usbrh-upload」の版間の差分

提供: fukudat.net
ナビゲーションに移動検索に移動
6行目: 6行目:
 
ある時から、dkms を使わないと、カーネルモジュールが作れなくなったのかな?ビルドできなくなった。
 
ある時から、dkms を使わないと、カーネルモジュールが作れなくなったのかな?ビルドできなくなった。
  
==== 準備 ====
+
==== dkmsを使ったビルドの準備 ====
 
1回だけ、以下のパッケージをインストール。
 
1回だけ、以下のパッケージをインストール。
 
<pre>
 
<pre>
12行目: 12行目:
 
</pre>
 
</pre>
  
==== dkmsを使うビルド方法 ====
 
 
ソースを /usr/src/usbrh-VERSION に置く。
 
ソースを /usr/src/usbrh-VERSION に置く。
 
<pre>
 
<pre>
52行目: 51行目:
 
ここまで、1回やれば良い。
 
ここまで、1回やれば良い。
  
ビルドし、インストールする。
+
==== ビルド/インストール ====
 +
 
 
ここから、カーネルが新しくなる度に、実行する。
 
ここから、カーネルが新しくなる度に、実行する。
 
<pre>
 
<pre>

2019年7月18日 (木) 02:43時点における版

ストロベリーリナックス社製のUSBRHを使って、温度・湿度を測り、クラウドにアップロードする。

インストール

ドライバ

ある時から、dkms を使わないと、カーネルモジュールが作れなくなったのかな?ビルドできなくなった。

dkmsを使ったビルドの準備

1回だけ、以下のパッケージをインストール。

$ sudo apt-get install dkms 

ソースを /usr/src/usbrh-VERSION に置く。

$ cd ~/src
$ git clone https://github.com/kimata/usbrh
$ sudo mkdir /usr/src/usbrh-0.1.1
$ sudo chown USER.USER /usr/src/usbrh-0.1.1
$ cd ~/src/usbrc
$ cp -r . /usr/src/usbrh-0.1.1/

/usr/src/usbrh-0.1.1/dkms.conf を以下のような感じで作る。

PACKAGE_NAME="usbrh"
PACKAGE_VERSION=0.1.1
AUTOINSTALL=yes

MAKE[0]="make all DKMS_BUILD=1"
DEST_MODULE_LOCATION[0]="/extra"
BUILT_MODULE_NAME[0]="usbrh"
CLEAN="make clean DKMS_BUILD=1"

Makefile を以下のように書き換える。

あとで書く。

src/Makefile も書き換える。

あとで書く。

dkms でソースを登録する。

$ sudo dkms add -m usbrh -v 0.1.1

ここまで、1回やれば良い。

ビルド/インストール

ここから、カーネルが新しくなる度に、実行する。

$ sudo dkms build -m usbrh -v 0.1.1
$ sudo dkms install -m usbrh -v 0.1.1

リブートする。(ssh-agent の起動を忘れないように。)

dkmsを使わない方法 

Ubuntu 18.04.2 LTS kernel 4.15.0-54 以降、エラーになる。

$ cd ~/git
$ git clone https://github.com/kimata/usbrh
$ cd usbrh
$ make
$ sudo make install

module ができるので、kernel が新しくなるたびに rebuild, install する。

スクリプト

$ cd ~/git
$ git clone ssh://fukudat.net/var/git/usbrh-upload
$ cd usbrh-upload
$ sudo make install

設定

crontab を編集して以下の行を追加。

2-59/5 *  * * *		/usr/local/bin/upload-usbrh-data.pl
2-59/5 *  * * *		/usr/local/bin/upload-sensor-data.pl