母艦がLinuxの人のためのRaspberryPiの始め方

2020年はじめのマイナビニュースによると,デスクトップOSのシェア86.8%がWindowsであり,私のようなLinuxをデスクトップOSとして使っているのは1.6%しかいないらしい.

WindowsでRaspberryPi(長いので以下RasPi)をインストールする記事は結構あるけれど,Linuxの記事は少なめなので書いておく.

RasPiを用意する

RasPiにはいくつかのモデルがある.おすすめはドングル無しでWi-FiやBluetoothが使える3B以降.ちなみにA系のモデルも存在する.A系は正方形,B系は長方形という形の違いがあるが,B系が主流.

RSコンポーネンツ製やOKdo製,Element14製など,いくつかのメーカーで製造しているが同じ設計なので違いは無い.

各モデルの比較はWikipediaが見やすい.標準OSは32bitだが3B以降のモデルは64bitCPUなので,3B以降のモデルを選んでおけばUbuntuやGentooなどの64bitOSを使うことができる.ライトユーザであれば3Bを選んでおけば困ることはなさそう.逆にメモリをたくさん使う処理をさせたいとか,NAS用途で使いたいヘビーユーザは,メモリが選択(2,4,8GB)が可能でギガビットイーサやUSB3が使える4を選べばいい.

用意するものは以下の通り.

  • 必須
    • RasPi本体
      • どのモデルでもセットアップの流れは変わらない
    • microSDカード
    • 電源
      • RasPi4 では microUSB から USB Type-C に変更されているので注意
    • LANケーブル
      • 本記事ではGUIは使わないので必須
      • Wi-Fiがついていないモデルでも必須
      • Wi-FiがついているモデルでGUI使って設定したい人は無くてもなんとかなる
  • 任意
    • SD カードリーダー
      • 母艦にスロットがなかったり,手元にリーダーがなければ用意しておく
      • OS書き込み済みの商品もあるけど,いずれ自分でOS入れたいと思うので何かしら書き込む環境は用意しておくといい
    • RasPiケース
      • GPIOとかむき出しなのでケースがあると安心
      • 商品によってはヒートシンクやファンがついているがあるので,ヘビーユーザは用意しておくといい
    • HDMIケーブル & マウス & キーボード & スピーカー
      • デスクトップとして使う人は用意しておくといいかも

個別に買うのが面倒な人は全部入りの欲張りセットを買えばいい.

センサからデータを収集するだけのIoTならzeroWでもいい.zeroWHはzeroWのGPIOにピンヘッダがついているモデル.

OSを用意する

RasPiの標準OSは長らくRaspbianとして知られていたが,先日 Raspberry Pi OS に変更されたらしい.しかも,今までRaspbianは32bitOSだったが,64bit版のベータ版がリリースされているらしい.試したいかたはこちらをどうぞ.

ダウンロードページから「Raspberry Pi OS (32-bit) Lite」をダウンロードする.デスクトップとして使いたい人は「Raspberry Pi OS (32-bit) with desktop and recommended software」を選ぶ.用途に合わせてお好みで.

OSをSDカードに書き込む

まずはZIPファイルを解凍する.unzipからリダイレクトでddに流し込む手段もあるが,今回は個別に行う.

$ unzip 2020-05-27-raspios-buster-lite-armhf.zip

SDカードを母艦に接続してデバイス名を確認する.今回は16GBのSDカードを使うので,sdbとして認識されていることがわかる.不安なときはSDカードを抜いた状態との差分を見るといい.

$ lsblk
NAME                           MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sdb                              8:16   1  14.7G  0 disk
sda                              8:0    0 223.6G  0 disk
├─sda2                         8:2    0     1G  0 part /boot
├─sda3                         8:3    0 222.4G  0 part
│ ├─centos_linux--o9gg-swap 253:1    0   7.8G  0 lvm  [SWAP]
│ ├─centos_linux--o9gg-home 253:2    0 164.6G  0 lvm  /home
│ └─centos_linux--o9gg-root 253:0    0    50G  0 lvm  /
└─sda1                         8:1    0   200M  0 part /boot/efi

OSを書き込む.ddコマンドには色々とオプションがあるけど,なんだかわからない人はとりあえずオプション無しでもいい.慣れてきたら,bs=4Mとかconv=fsyncとか,良さそうなオプションを調べてみるといい.status=progressだけでもつけておくと進捗状況がわかるので精神衛生上良い.

ここでデバイス名を間違えると,母艦や意図しないディスクのデータが消滅するので細心の注意を払うこと.

$ sudo dd if=./2020-05-27-raspios-buster-lite-armhf.img of=/dev/sdb status=progress
1851826688 バイト (1.9 GB) コピーされました, 603.544143 s, 3.1 MB/s
3620864+0 レコード入力
3620864+0 レコード出力
1853882368 バイト (1.9 GB) コピーされました、 604.763 秒、 3.1 MB/秒

書き込みが終わったらSSHを有効にする.FAT32のパーティションがブートパーティションなので,ここに ssh というファイルを配置する.

$ sudo fdisk -l /dev/sdb

Disk /dev/sdb: 15.7 GB, 15720251392 bytes, 30703616 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O サイズ (最小 / 推奨): 512 バイト / 512 バイト
Disk label type: dos
ディスク識別子: 0x2fed7fee

デバイス ブート   始点    終点 ブロック Id システム
/dev/sdb1         8192  532479   262144  c W95 FAT32 (LBA)
/dev/sdb2       532480 3620863  1544192 83 Linux
$ mkdir /tmp/sdcard
$ sudo mount -t vfat /dev/sdb1 /tmp/sdcard/
$ sudo touch /tmp/sdcard/ssh
$ sudo umount /dev/sdb1

ここまででOSの準備は完了したので,RasPiにLANケーブルを挿して起動する.正常ならRasPiの黄色いLEDがアクセスランプとして点滅する.

もしも正常に起動出来ない場合は,ddコマンドがうまくいっていないか,SDカードが壊れている可能性がある.ddコマンドからやり直すか,別のSDカードで試してみる.

ログインして設定を変更する

なんとかして母艦からRasPiを探す.ここではPING応答を確認する.今回はDHCPで 192.168.0.123 が割り当てられたものする.

$ for i in {1..254}; do ping -c1 -w1 192.168.0.$i >/dev/null ; if [ $? -eq 0 ]; then echo "found 192.168.0.$i"; fi; done
...
found 192.168.0.123
...

sshログインする.デフォルトのアカウントは以下の通り.

  • ID: pi
  • PW: raspberry
$ ssh pi@192.168.0.123
pi@192.168.0.123's password:
Linux raspberrypi 4.19.118-v7+ #1311 SMP Mon Apr 27 14:21:24 BST 2020 armv7l
The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
SSH is enabled and the default password for the 'pi' user has not been changed.
This is a security risk - please login as the 'pi' user and type 'passwd' to set a new password.
pi@raspberrypi:~ $

デフォルトのアカウントは公知でありセキュリティ的に難ありなので,初回ログイン後にPWをを変更したほうがいい.

RasPiには,PWの変更も含め,諸々の設定を変更するためのユーティリティがあるので,これを使って設定していく.

pi@raspberrypi:~ $ sudo raspi-config
raspi-config

最低限以下は設定しておくといい.

  • piユーザのPW
  • タイムゾーン
  • ファイルシステム拡張(Expand Filesystem)

静的IPにしておくとアドレス探す手間が省けるので,設定しておいてもいいかもしれない.

設定が終わったらFinishを選択すると再起動するか聞かれるので,再起動する.

これで最低限の設定は完了したので,あとはサーバとして使うもよし,ミニデスクトップとして使うもよし,ファイルシステムを破壊してみるもよし.

おわりに

Linux母艦でRasPiを使い始める流れを書いた.今回はRasPi2Bを使ったが,3でも4でも流れは同じ.

コメント

タイトルとURLをコピーしました