ユーザ用ツール

Raspberry Pi

概要

ハードウェア

3.5inch LCD(GPIO版)

安価に販売されているタッチパネル付きLCDパネルである。 フットプリントがBタイプと同じで、GPIO接続なので、ぴったり重なる形で利用できる。

lcd35.jpg

ドライバやキャリブレーション用のツールの導入が不可欠だが、販売されるものに、導入用のインストラクションなどはない。

類似のモジュールは数多くあり、ドライバ類も多いので、適切なものを導入する必要がある。

今回導入したモジュールのドライバーはgit経由で取得するものだった。

# git clone https://github.com/Elecrow-keen/Elecrow-LCD35.git
# cd Elecrow-LCD35
# ./Elecrow-LCD35

これで、ドライバと対応するXサーバが導入される。 また、キャリブレーション用のツールは、

# dpkg -i -B xinput-calibrator_0.7.5-1_armhf.deb

で導入する。 apt で更新されるようなので、apt update / apt upgrade をしておく。

NOOBS

Raspbian

sshの設定と自動起動

SSHは外部からのアクセスに不可欠である。 但し、設定がセキュアでなければ、外部からのクラックを許すことになる。

  • 暗号鍵によるアクセス

のみを許すように設定し、暗号鍵を適切にインストールする必要がある。

外部からアクセスするには、アクセス元の端末がもつ秘密鍵とペアになる公開鍵を ~/.ssh/authorized_keys2 に書き込んでおく必要がある。 このとき ~/.sshのモードは 0700 に、authorized_keys2 のモードは 0600 にそれぞれ設定されていなければならない。

sshd の設定は /etc/ssh/sshd_configにあり、以下の点を確実にしておく。

PubkeyAuthentication yes
PasswordAuthentication no
PermitEmptyPasswords no
ChallengeResponseAuthentication no
UsePAM no

公開鍵でのアクセスを許可し、パスワードによるアクセスを禁止する。

Raspbianではsshdは自動起動されないので、これも自動起動されるようにしておく。

# systemctl enable ssh

ユーザpi/グループ pi

Raspbianは設定の簡便のために、ユーザpiが存在し、様々な権限が付与されている。 当然、全てのRaspbianに存在しているので、セキュリティホールとなり得る。

ユーザpiを停止し、セキュリティホールをふさぐ必要がある。 停止に先だち、自身のユーザを作成し、sudo グループに追加しておく必要がある。

これを怠ると、管理者になることが出来なくなる。

また、同時に、ユーザpi はsudo 可能ユーザから外す。 /etc/group を編集し、sudoグループの行から pi を消し、代わりに自身を追加しておく。

sudo 回りの処理が

# passwd pi --lock

グループ pi はgid 1000であり、或いは、既存のグループと衝突するかも知れない。 この場合、piを消してしまえばいいのだが、グループpiで権限のチェックをしているものがあるようなので、pi を別のGIDで作成し、所属ユーザを含めてコピーしておく必要がある。

スワップを無効・有効にする

SDカード上のスワップファイルを使用する Raspbianのスワップは百害あって一利なしなので、停止すべきモノらしい。

スワップの一時的な停止は次のコマンドで行う。

$ sudo dphys-swapfile swapoff

再開する場合は、

$ sudo dphys-swapfile swapon

でよい。 なお、再起動後も停止したままにしたいなら、サービス自体を停止する。

$ sudo service dphys-swapfile stop
$ sudo systemctl disable dphys-swapfile

こちらも、再度有効にしたければ

$ sudo systemctl enable dphys-swapfile
$ sudo service dphys-swapfile start

とすればよい。

バッファをクリアする

メモリが不足すると kswapd0 がCPUを喰いだして、システムが応答しにくくなる。 最終に的には無応答になりリセットするしかなくなるため、バッファを強制クリアするなどして、対応する必要がある。1)

$ sudo /sbin/sysctl -w vm.drop_caches=3

とすればよい。 なお、設定出来る値は1-3である。

  1. ページキャッシュ
  2. dentry,inode
  3. 両方

なお、dirtyキャッシュはクリアされないので、syncしてからでなくても破綻はしない。 syncしてある方が、勿論、クリアされるデータは増えるが、ただでさえ重くなっているときにsyncなどしていたら本末転倒であろう。

自動ログインの変更

Raspbian においては、デフォルトで、Piが仮想コンソールと、Xセッションの二つで自動ログインしている。 特に、Xの方はメモリも喰うので不要ならば停めたいところである。

Xセッションは /etc/lightdm/lightdm.conf内の以下の行をコメントアウトすることで停止することができる。

autologin-user=pi

また、コンソールへの自動ログインは、/etc/systemd/system/autologin@.service の以下の記述を変更することで制御できる。

[Service]
# the VT is cleared by TTYVTDisallocate
ExecStart=-/sbin/agetty --autologin pi --noclear %I $TERM

コメントアウトすれば自動ログインは抑制される。 また –autologin のユーザを変更すれば変更されたユーザでログイン出来る。

start

1)
それでもどうにもならないときもあるが

This website uses cookies. By using the website, you agree with storing cookies on your computer. Also, you acknowledge that you have read and understand our Privacy Policy. If you do not agree, please leave the website.

More information