RaspberryPi(Raspbian)のインストール
RaspbianのLite版をディスプレイなし(ヘッドレス)でインストールしたときのメモ。
Jessieを使っていたが、この際Stretchをクリーンインストールしてしまおうってことでやった。
必要なもの
Raspbianの種類
Raspbianは3種類ある。目的によって最適なのを選びましょう。なお現在の最新バージョンは9(Stretch)。
Raspbian Stretch with Desktop And Recommended Software
GUIが同梱されていて、更にオススメのソフトウェアも色々入っている。Minecraft Piが入っているのはこれ。
Raspbian Stretch With Desktop
GUIが同梱されている。ソフトウェアは必要最低限の物が入っている。
Raspbian Stretch Lite
GUIなし。黒い画面に白い文字で操作するやつ。
Raspbian Lite版のインストール手順
イメージファイルのダウンロード
ラズパイの公式サイトからダウンロードしてくる。
Download ZIPをクリックしてダウンロード。
公式サイトだと時間が掛かったのかミラーサイトをメモってた。
zipを解凍
ダウンロードしたファイルはzip形式で圧縮されているので解凍すること。
~$ unzip -d <解凍先のディレクトリ> <zipファイル>
例)
2019-04-08-raspbian-stretch-lite.zipを./raspbianディレクトリに解凍
~$ unzip -d ./raspbian ./2019-04-08-raspbian-stretch-lite.zip
Archive: ./2019-04-08-raspbian-stretch-lite.zip
inflating: ./raspbian/2019-04-08-raspbian-stretch-lite.img
microSDへ書き込む
イメージファイルのあるディレクトリに移動してddコマンドで書き込む。microSDのフォーマットは不要(バックアップは忘れずに取っとく)。microSDのデバイス名はdmesgコマンドで確認。
~$ sudo dd if=<イメージファイル> of=<書き込み先デバイス> bs=<ブロックサイズ>
例)
書き込み
~$ sudo dd if=./2019-04-08-raspbian-stretch-lite.img of='/dev/mmcblk0 bs=1M
1720+0 レコード入力
1720+0 レコード出力
1803550720 bytes (1.8 GB, 1.7 GiB) copied, 201.219 s, 9.0 MB/s
~$ sudo sync
確認
~$ sudo fdisk -l
~省略~
Disk /dev/mmcblk0: 14.9 GiB, 15931539456 bytes, 31116288 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xc1dc39e5
Device Boot Start End Sectors Size Id Type
/dev/mmcblk0p1 8192 96042 87851 42.9M c W95 FAT32 (LBA)
/dev/mmcblk0p2 98304 3522559 3424256 1.6G 83 Linux
2つのパーティションが作成されている。
これでmicroSDにインストールは完了。ディスプレイなしの場合はラズパイで起動する前に一部設定をしておいたほうが楽。
ディスプレイなし(ヘッドレス)用に設定
ラズパイで起動させる前にPCでmicroSDをマウントして設定をいじる。
microSDを挿入し直す
microSDを一回抜いて、挿し直す。じゃないとマウントができなかった。
sshの有効化
そのままだとsshが無効になっているので、ヘッドレスの場合詰む。
起動時に有効にするため、microSDをマウントして「/boot」ディレクトリの中に「ssh」という名前のファイルを作る。ファイルの中身は空でいい。
例)
ブートパーティションをマウントして/boot内にsshファイルを作成
~$ sudo mount /dev/mmcblk0p1 /mnt/sd
~$ sudo touch /mnt/sd/ssh
/boot内のファイルを確認
~$ ls -l /mnt/sd
合計 21623
-rwxr-xr-x 1 root root 18693 3月 10 2018 COPYING.linux
-rwxr-xr-x 1 root root 1494 3月 10 2018 LICENCE.broadcom
-rwxr-xr-x 1 root root 18974 4月 8 19:25 LICENSE.oracle
-rwxr-xr-x 1 root root 23315 9月 20 2018 bcm2708-rpi-0-w.dtb
-rwxr-xr-x 1 root root 23071 9月 20 2018 bcm2708-rpi-b-plus.dtb
-rwxr-xr-x 1 root root 22812 9月 20 2018 bcm2708-rpi-b.dtb
-rwxr-xr-x 1 root root 22589 9月 20 2018 bcm2708-rpi-cm.dtb
-rwxr-xr-x 1 root root 24115 9月 20 2018 bcm2709-rpi-2-b.dtb
-rwxr-xr-x 1 root root 25914 2月 18 19:10 bcm2710-rpi-3-b-plus.dtb
-rwxr-xr-x 1 root root 25311 9月 20 2018 bcm2710-rpi-3-b.dtb
-rwxr-xr-x 1 root root 24087 9月 20 2018 bcm2710-rpi-cm3.dtb
-rwxr-xr-x 1 root root 52296 2月 18 19:10 bootcode.bin
-rwxr-xr-x 1 root root 190 4月 8 19:25 cmdline.txt
-rwxr-xr-x 1 root root 1590 4月 8 18:56 config.txt
-rwxr-xr-x 1 root root 6701 4月 1 23:03 fixup.dat
-rwxr-xr-x 1 root root 2622 4月 1 23:03 fixup_cd.dat
-rwxr-xr-x 1 root root 9750 4月 1 23:03 fixup_db.dat
-rwxr-xr-x 1 root root 9752 4月 1 23:03 fixup_x.dat
-rwxr-xr-x 1 root root 145 4月 8 19:25 issue.txt
-rwxr-xr-x 1 root root 4698056 2月 18 19:10 kernel.img
-rwxr-xr-x 1 root root 4944992 2月 18 19:10 kernel7.img
drwxr-xr-x 2 root root 13312 4月 8 18:48 overlays
-rwxr-xr-x 1 root root 0 5月 19 20:11 ssh
-rwxr-xr-x 1 root root 2873444 4月 1 23:03 start.elf
-rwxr-xr-x 1 root root 683460 4月 1 23:03 start_cd.elf
-rwxr-xr-x 1 root root 4830756 4月 1 23:03 start_db.elf
-rwxr-xr-x 1 root root 3774980 4月 1 23:03 start_x.elf
sshファイルができていたらオッケー。
忘れずにアンマウント
~$ sudo umount /mnt/sd
ネットワークの設定(ipアドレスを固定)
「/etc/dhcpcd.conf」を書き換える。
/etc/network/interfacesを書き換えるという記事を見るがそのファイルには「# For static IP, consult /etc/dhcpcd.conf and 'man dhcpcd.conf'」と書かれているので最近のバージョンで変わったのだろう。
例)
ルートパーティションをマウントして/etc/dhcpcd.confに追記
~$ sudo mount /dev/mmcblk0p2 /mnt/sd
~$ sudo echo '# My static IP setting' >> /mnt/sd/etc/dhcpcd.conf
~$ sudo echo 'interface eth0' >> /mnt/sd/etc/dhcpcd.conf
~$ sudo echo 'static ip_address=192.168.0.101/24' >> /mnt/sd/etc/dhcpcd.conf
~$ sudo echo 'static routers=192.168.0.1' >> /mnt/sd/etc/dhcpcd.conf
~$ sudo echo 'static domain_name_servers=192.168.0.1' >> /mnt/sd/etc/dhcpcd.conf
/etc/dhcpcd.confファイルを確認
~$ cat /mnt/sd/etc/dhcpcd.conf
~省略~
# My static IP setting
interface eth0
static ip_address=192.168.0.101/24
static routers=192.168.0.1
static domain_name_servers=192.168.0.1
追記した内容が書いてあればオッケー。
忘れずにアンマウント
~$ sudo umount /mnt/sd
起動
ラズパイ本体にイメージを書き込んだmicroSDを挿入して電源ケーブルを挿せば勝手に動く。
おわりに
以上、Raspbianのインストールでした。ローカルで使う分には問題ないだろうけどセキュリティ上初期設定はしっかりやった方がいい。初期アカウントを使い続けるのは良くないとか。。。
今現在Raspberry Pi 3 Model bを使っていて処理能力にも不満はない。が、最新機種のModel b+がほしいなぁ。