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 gpasswd -a taketwo 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を使うことが想定されている
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
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上でのキーボードレイアウトが
英語キーボードのものになってしまう
英語キーボードの項目を消去して、日本語キーボードを加え
これを一番上に持ってくることで修正できる
/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/以下にはデモ用プログラムがある。製品テストにもなるので、試してみよう
最終更新:2021年08月23日 06:06