Raspberry PiにRaspbianを入れる

投稿者: | 2月 21, 2020

なんか知らないけどRaspberry PiのDebianであるRaspbianが立て続けにアップデートしている。

トワイエ、Raspberry PiにRaspbianを入れる方法を記載したい。このRaspbian、Raspberry Piのファームウェアをアップデートするのにも便利なので、どのOS,ディストリビューションを入れるにしてもSDカード一枚用意しておくことをおすすめする。他のディストリビューション、たとえばVolumioなどでファームを最新にしようとすると2度と立ち上がらなくなることがあるので要注意。

 

対象のRaspberry Pi

Raspbery Pi 2 (v1.1/v1.2)、Raspberry Pi 3b/3bp、Raspberry Pi Zeroで確認した内容(要は手持ちのラズパイってやつ)

 

イメージの取得とイメージの書き込み

MacOSでやることを前提にしているので注意。また、記載はヒアドキュメントを利用しているのでWindowsなどのシェルがLinuxっぽくないOSの場合はヒアドキュメントの部分を適宜エディタで開いて記載してください。

イメージの入手

https://www.raspberrypi.org/downloads/raspbian/

エディションはどれでも好きなものを。自分は一番容量の小さいLiteを利用。Xを使いたいならVNCでもいいけど、手元でXServerを起動して、ラズパイ側はX Clientを立ち上げればいいかなと。わざわざちっぽけなラズパイのGPUを酷使する必要はないので。。。

 

イメージを書き込むツール

https://www.balena.io/etcher/

Etcherがおすすめ。空っぽのSDカード(2GB以上)を挿して、Etcherを立ち上げて、イメージとSDカードを指定すればOK。かかる時間はSDカードのスペックに依存する。(ここでケチったSDカードを購入したことに後悔することも。)

パーティションの拡張などの細かいことは、今は、初回起動時に自動的にやってくれる。

ちなみに、書き込み失敗したとか、SDカードをまっさらにしたい場合は以下のツールでフォーマットをすることをおすすめする。

SDメモリカードフォーマッター

https://www.sdcard.org/jp/downloads/formatter/

正式なSDカードのフォーマッターで、パーティションももろとも消し去ってくれる。

 

起動前の設定

イメージの書き込みを終了したら、SDカードを挿し直す。MacOSの場合/Volumes/bootというところに、/bootがマウントされる。この/bootは、俗に言うKernelだけではなく、PCで言うとBIOS的な情報や初回に設定されるべきOS設定(無線とか)の情報が格納される。

/boot/ssh: SSHログインを有効にする(空のファイル)

/boot/wpa_supplicant.conf:無線の設定

/boot/config.txt :ラズパイのハードウェアの設定が記載されるテキストファイル(BIOS的な情報)

を抑えておけばOK。ちなみにwpa_supplicant.confは、初回起動が完了したら別のロケーションに移されてしまうので注意。

<無線の設定の注意点>

利用するラズパイはどの無線をサポートしているかを確認すること。11aとか11nとか。

 

MacOSでターミナルを開き以下を実行する。コピペで入れられるようにプロンプトは記載していないことにご注意

SSHと無線の設定
touch /Volumes/boot/ssh
cat << ‘EOF’ > /Volumes/boot/wpa_supplicant.conf
country=JP
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
network={
ssid=”<<ESSID>>”
psk=”<<パスフレーズ>>”
}
EOF

基本設定
パラメーターの説明はなし。ヘッドレス(HDMIやUSBでキーボード、マウスを利用しないことを想定した設定)
cat << ‘EOF’ >> /Volumes/boot/config.txt

disable_pvt=1
disab le_overscan=1
disable_splash=1
display_rotate=0
lcd_rotate=0
framebuffer_height=720
framebuffer_width=1280
dtparam=i2c_arm=off
i2c_arm_baudrate=100000
dtparam=spi=off
force_turbo=0
temp_limit=75
avoid_pwm_pll=1
max_usb_current=1
dtparam=watchdog=on
EOF

 

Raspberry Piの起動

ログインは以下できる
ssh pi@raspberrypi.local
パスワードはraspberry

ログインをしたら必ずパスワードを変更する。変更しないでインターネットにSSHのポートを露出させると数時間でマルウェアがインストールされてしまう。

passwd

ロケール、ホスト名の設定
sudo -i
raspi-config

* 4 Localisation Optionsを選択。
* I1 Change Localを選択。
* en_GB.UTF-8 UTF-8でスペースを押して*を外す。
* en_US.UTF-8 UTF-8でスペースを押して*を付ける。
* Default local for the system environment:でNoneを選択。
ホスト名を変更
自動的に再起動

再度ログインして、以下を実行
sudo -i
cat << ‘EOF’ >> /etc/environment
LANG=en_US.UTF-8
LC_ALL=en_US.UTF-8
EOF
export LANG=en_US.UTF-8
export LC_ALL=en_US.UTF-8
timedatectl set-timezone Etc/UTC
timedatectl status
sudo sed -i.bak -e “s%http://raspbian.raspberrypi.org/raspbian/%http://ftp.tsukuba.wide.ad.jp/Linux/raspbian/raspbian/%g” /etc/apt/sources.list
cat << ‘EOF’ >> /etc/systemd/timesyncd.conf
NTP=<<<NTPサーバ1>>>
FallbackNTP=<<<NTPサーバ2>>>
EOF

Watchdogサービスの設定
apt update ; apt -y install watchdog ; apt -y autoremove
cat << ‘EOF’ >> /etc/modprobe.d/bcm2835-wdt.conf
options bcm2835_wdt nowayout=1 heartbeat=10
EOF
cat << ‘EOF’ >> /etc/watchdog.conf
watchdog-device = /dev/watchdog
max-load-1 = 24
watchdog-timeout = 14
EOF
sed -i”.bak” -e “s/none/bcm2835_wdt/g” /etc/default/watchdog
sed -i”.bak” -e “s/OnFailure/#OnFailure/g” /lib/systemd/system/watchdog.service
sed -i -e “s/WantedBy=default.target/WantedBy=multi-user.target/g” /lib/systemd/system/watchdog.service
cat << ‘EOF’ >> /etc/default/rng-tools
HRNGDEVICE=/dev/hwrng
EOF
cat << ‘EOF’ >> /etc/default/rng-tools
HRNGDEVICE=/dev/hwrng
EOF
cat << ‘EOF’ >> /etc/modules
i2c-dev
EOF
update-rc.d watchdog defaults
systemctl enable watchdog

パッケージ、カーネル、ファームウェアの更新
apt update ; apt -y upgrade ;apt -y autoremove

これ以上パッケージを入れる予定がないなら
apt clean

rpi-updateをすると一番最新のカーネルとファームウェアを入れることができるが。。。場合によっては不安定になるのでお勧めしない。
普通のkernelアップデートで安定版のカーネルとファームウェアがインストールされるのでそれで十分

再起動
reboot

 

これで大体完了。

カテゴリー: 未分類

コメントを残す