OSはRaspbian stretch (2018年末頃) @ Raspberry pi 3B+
※2021/8編集、使用モデルは3B、OSがRaspberry Pi OS
3B+が例のレギュレーターIC故障で壊れちゃったんで…そろそろラズパイ4も欲しいかな



インストール

公式からOSイメージをダウンロード
Etcherを使ってOSイメージをmicroSDに焼く
イメージを選んで、書き込み先を選択して、焼く
この三段階だけ

※2021年現在、ダウンロードからインストールまで、一括で行えるRaspberry Pi Imagerというツールが公式に用意されている

SSHの有効化

 WindowsPCなどでは、イメージライティングを行った後、アプリケーションを閉じると、bootというボリュームラベルのついたドライブが現れるはず
 ここで、 boot直下に"ssh"という名前で空ファイルを作っておくと初回の起動時からSSHを有効にすることができる
初期ユーザー名:pi パスワード:raspberry
windows10であれば、コマンドプロンプトから
ssh pi@raspberrypi
として、パスワードを入力すればSSHログインできる
"raspberrypi"というのは初期のホスト名。Windows10からであれば、IPアドレスを確認しなくとも、ホスト名でアクセスできる

config.txt

  /boot/config.txtはBIOSの代わりとなる設定ファイル
  目的に応じたオプションを設定できるので、機器や目的に応じて編集しておく
  公式- config.txt

起動

  ラズパイにmicroSDを刺して電源を入れる
 デスクトップ版の場合、初回起動時にはraspi-configが起動するので、それに従い初期設定を行う
  終わると、OSのアップデートが始まるのでしばらく待つ。10数分~20数分?

 rasbian liteでは起動時に自動的に立ち上がらないので、初回ログイン時に手動で起動し、ロケールやキーボード等を設定しておく
ホスト名を変更した場合は一旦リブートしておくとよい
raspi-config

ユーザー設定

※ここからはSSHログイン、あるいはローカルでCUI操作することを想定


piユーザー自身のパスワード変更

piユーザーでログイン後
passwd

新ユーザーの追加

  • 追加
sudo useradd -m taketwo(ユーザー名)
  • 新ユーザーのパスワード設定
sudo passwd taketwo
  • sudoグループに追加
sudo gpasswd -a taketwo sudo
 ここまでで気づくと思うが、piユーザーのsudoにパスワードが設定されていない
  • piユーザーのパスなしsudoの設定除去
sudo mv /etc/sudoers.d/010_pi-nopasswd /root
 念のためバックアップで

piユーザーの変更

上記で作成したユーザー(taketwo)でログイン
  • piユーザーのログイン名の変更とホームディレクトリの移動
sudo usermod -l takeone -d /home/takeone -m pi

ここまで、piユーザーを引き継いだ"takeone"と、作業用に"taketwo"を作成した。
"takeone(元pi)"は、パスなしsudoを除去したものの、実質的にはrootのようなもので、"taketwo"は、ここに新たに加えた管理者ユーザーといった所
両方残し、どちらを常用しても特に問題はないだろう
どちらかを削除するなら"taketwo"の方だろうか

ネットワーク設定

wifi設定

/etc/wpa_supplicant/wpa_supplicant.conf
以下を追記
network={
        ssid="SSID"
        psk="PASSWORD"
        # SSODステルスの場合以下が必要
        scan_ssid=1
}

固定IP (eth0 wifiの場合は wlan0)

dhcpcdを止めない方法

 dhcpcd.confを編集
interface eth0
static ip_address=192.168.1.131/24
static routers=192.168.1.1
static domain_name_servers=192.168.1.1

dhcpcdを止める方法


/etc/network/interfaces
auto lo
iface lo inet loopback 

allow-hotplug eth0
iface eth0 inet static
address 192.168.1.xxx (自分の環境に合わせて決める)
netmask 255.255.255.0
gateway 192.168.1.1

補足:NICデバイスの固有名を従来のeth*に戻す方法
他のラズパイへのSDカードの差し替え等、固有名では困ることがある場合に
/boot/cmdline.txtに以下を追加
net.ifnames=0
※追記:Raspberry Pi OSではraspi-configで設定出来る模様

カスタマイズ設定


テキストエディタ

 Ubuntu同様、nanoを使うことが想定されている
  • vimの導入
sudo apt-get install vim
 colorschemeの導入
mkdir -p ~/.vim/colors
git clone https://github.com/tomasr/molokai
cp molokai/colors/molokai.vim ~/.vim/colors
 ~/.vimrc
colorscheme molokai

  • jed
sudo apt-get install jed
 emacsに慣れてるのでこっちの方がいいかな

日本語環境

日本語入力 (fcitx-mozc)

sudo apt-get update
sudo apt-get install fcitx-mozc

コンソール(CUI)の日本語化=fbtermのインストール&設定

sudo apt install fbterm
.fbtermrcでフォント設定

トラブルシューティング

  • X上でキーボードレイアウトがうまく反映されず狂っている
 キーボードレイアウトについては→ここを手掛かりに
 raspi-configで設定してもなお、X上でのキーボードレイアウトが
 うまく反映されていない場合、「入力メソッドの設定」に問題がある場合がある
 メニュー→[設定]→[Fcitxの設定]
 ここで、「キーボード - 英語(US)」の項目が一番上に来ていることがある
 ウィンドウ内の説明にあるように、これは「直接入力」の時に使用されるもので
 これが「キーボード - 日本語」になっていないと、X上でのキーボードレイアウトが
 英語キーボードのものになってしまう
 英語キーボードの項目を消去して、日本語キーボードを加え
 これを一番上に持ってくることで修正できる

  • hallo_pi、rebuild.shが失敗
  /opt/vc/src/hello_pi/hello_mmal_encode/Makefile
LDFLAGS+=-Wl,--no-as-needed
 に修正

Tips

Raspberry pi のファームウェアアップデート
rpi-update
ロールバックの方法もあるみたいなので、最初にやっておいて良いみたい
ただ、古いカーネル用のモジュールファイルがそのまま残るので、繰り返すとファイルシステムの容量を圧迫するので、適宜消すといいと思う。
uname -r
と、現在稼働中のバージョンを確認(アップグレード後再起動してから)し、使ってないものをただ消せばよい。

容量の問題
そこら辺に放っておいたSDカードを使って遊んでいると、容量が厳しくなってしまうことがある
  • デバッグを有効化したプログラムを動かすと、エラーを吐いた時にあっという間にログが数百メガにも膨れ上がることもある。
 そんな時は、logrotateの設定が必要。外部へのサーバーの公開など、特別にログを意識するような運用をする場合を除けば、直近の1、2日のログさえ残ればいいのだから、膨れ上がらないようsizeでローテートする設定などで十分。

その他
  • /opt/vc/以下にはデモ用プログラムがある。製品テストにもなるので、試してみよう

Raspbianへ戻る










最終更新:2021年08月23日 06:06