(再)ラズパイ3 のセットアップ(2-2)

  1. 最新 raspbian の microSD への導入
  2. 最低限の設定と確認作業
  3. 秘密鍵、公開鍵ペアの扱いに関して
  4. 3.5インチLCDディスプレイのドライバ導入

新規にセットアップを始めたラズパイ3ですが、ゆっくり時間を掛けて対応できていないので、作業がなかなかはかどりません。
セットアップしたラズパイシステムは、最新と思われるバージョンで、8GB の microSD に /boot パーティションと、システム本体が含まれる / パーティションの 2ファイルが含まれる単純なもので、NOOBS を利用しないで直接書き込みました。

$ uname -a
Linux Rpi3-com1 4.9.41-v7+ #1023 SMP Tue Aug 8 16:00:15 BST 2017 armv7l GNU/Linux

昔のバージョンでは手作業で色々な箇所を変更しましたが、最新では、デスクトップのメニューから リファレンス → 設定 で、ホスト名、ロケールの設定、それと日本語化が完了した状態です。ここでパスワードの変更も行っているので、パスワード認証による sshリモート作業も一応出来るようになっています。
そして、数日間稼働させていても問題が無いことが確認できたので、鍵認証に移行させて、必要な byobu/screen の追加とメールの設定を行います。
ファイルは書き換わっていると思いますが、一応ホスト名のファイルを確認してみました。

$ cat /etc/hostname
Rpi3-com1

こちらのファイルも最後の行が設定されていないと、エラーメッセージが出るようです。

$ cat /etc/hosts
127.0.0.1       localhost
::1             localhost ip6-localhost ip6-loopback
ff02::1         ip6-allnodes
ff02::2         ip6-allrouters
127.0.1.1       Rpi3-com1

鍵認証に関しては、ログイン先となるサーバーのログインユーザーの /home/<user> ディレクトリ内に .ssh デイレクトリを作成して、ログイン元となる操作側PCの秘密鍵と公開鍵ペア公開鍵authorized_keys ファイルにコピーします。実際の作業的には、普段 sshログインして作業している他のサーバー内に、既に作成されている実績のある authorized_keys ファイルをコピーして利用しています。.sshディレクトリと authorized_keys ファイルの実行権限はそれぞれ 700 と 600 に設定しておきます。
他のサーバーとの間で、cron / rsync 利用の自動転送によるバックアップを行わせるために、セキュリティ上問題だと一部で言われることですが、各サーバー間のrootユーザーでの作業を行わせるために、パスフレーズ無しでお互いに ssh ログインが出来る設定を行います。
他のサーバーの秘密鍵をコピーしても利用できそうですが、セットアップ中のラズパイ3 の root で操作して、鍵ペアを次のような操作で生成させます。

# ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Created directory '/root/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:eGFZ6pD........JdP3VHgJw root@Rpi3-com1
The key's randomart image is:
+---[RSA 2048]----+
| .oo+.. oo.. o.. |
|  .++..o +o E   .|
...
             . o  |
|             .   |
+----[SHA256]-----+
# ls -al .ssh
合計 16
drwx------ 2 root root 4096  8月 23 10:14 .
drwx------ 5 root root 4096  8月 23 10:14 ..
-rw------- 1 root root 1679  8月 23 10:14 id_rsa         … 秘密鍵
-rw-r--r-- 1 root root  396  8月 23 10:14 id_rsa.pub     … 公開鍵

後は同様に、他のサーバーへのログインや、他のサーバーからのログインに対応するように、お互いの公開鍵をサーバー間で、 authorized_keys ファイルにコピーしておきます。
ある程度リモートログインに実績が出来て、問題が無いようならセキュリティ向上のため、鍵認証だけの認証にするため、パスワード認証を制限する設定に変更しておきます。


このラズパイ3 には、1年ほど前にアマゾンから購入した 3.5インチ LCD が装着されているので、最新のドライバをセットアップしておきます。購入した LCD は、『Kuman 3.5インチ ディスプレイ タッチパネル Raspberry Pi 3B 2B/B+/A+ /A/B/Zero に適用 320*480 解析度 保護ケース ヒート ¥ 3,200』 となっていた製品で、検索すると英語のページですが、ドライバのダウンロードが出来るページがあります。中国か台湾かはわかりませんが、製品本体はWaveshareという会社の製品らしく、操作性も含めて事細かく解説されています。
LCDモニタのページ 提供されている3.5インチLCDモニタのドライバと使い方
説明されたページの一部に、ドライバのダウンロードとセットアップ方法が、次のように記載されています。バージョンの違いなのか差異がわかりませんが、2種類掲示されています。

Method 1. Driver installation

Description: The drivers are not available for NOOBS or any system installed by NOOBS.
If the touch screen doesn’t work properly, please install the driver: LCD-show-170703.tar.gz, but not LCD-show-161112.tar.gz.

1. Configure your Pi:

sudo raspi-config

Set as:

  • Select Expand Filesystem.
  • Boot Option -> Desktop Autologin (may differ depending on Raspbian revision)

2. Copy the driver (choose the driver according to your OS) into your OS then Run the following commands:

tar xvf LCD-show-*.tar.gz
cd LCD-show/

Install the driver and it toggles the mode to LCD display: Note: Net work connection is required while installing driver to your Pi, or else the touch won’t work properly.

chmod +x LCD35-show
./LCD35-show

Note: this LCD won’t work after apt-get upgrade, in such cases, please edit the config.txt file in the SD card and remove this statement: dtoverlay=ads7846
3. After system rebooting, the RPi LCD is ready to use.

 
URLを右ボタンでコピーして、wget で両方をダウンロードしてみました。どちらを使うのか迷うところです。

$ wget http://www.waveshare.com/w/upload/4/4b/LCD-show-161112.tar.gz
$ wget http://www.waveshare.com/w/upload/0/00/LCD-show-170703.tar.gz
$ ls -al
-rw-r--r--  1 pi   pi   50692 12月 17  2016 LCD-show-161112.tar.gz
-rw-r--r--  1 pi   pi   53084  7月  4 16:21 LCD-show-170703.tar.gz

サイズ的には、それほど差が無いように思えますが、最新についてはインストール時にネットワークに接続されている必要があるように、追記があるのが少し気になります。

今回は最新を展開してインストールしてみます。

$ tar xvf LCD-show-170703.tar.gz
$ cd LCD-show/
$ chmod +x LCD35-show
$ ./LCD35-show

理由は不明ですが、xserver-xorg-input-evdev が新規にインストールされました。

 

勝手にリブートが行われ、画面としては小さな 3.5インチLCDをモニタとして起動されます。
説明に書かれている画面の回転を 270度回転させると、本体を縦長に縦た形状になり、USBコネクタや、有線LANのコネクタが上向きに出る構成で表示されます。
 
設定を変更する度にリブートされます。立上げ時のバナーについても問題なく LCD から表示されるようです。
タッチスクリーンについても問題なく反応しているようで、メニューからシャットダウンのダイアログを開くこともできています。

展開したモジュールのディレクトリで、./LCD35-show コマンドを実行すると設定ファイルが上書きされてリブート後に表示が LCD に切り替わります。

$ ./LCD35-show

LCDモニタの表示は 90度づつ向きを変えられるようです。ラズパイの USBポートと有線LANポートのある面を上にしての表示は、次のコマンドで縦長の配置になります。

$ cd LCD-show/
$ ./LCD35-show 270

ただ小さすぎて実際の運用には適していないと思われます。