Raspberry Pi で Raspbian stretch をSDカードにインストール

2017/08/16の公開版よりDebian 9 (stretch)がベースになっています。
Raspberry Piのみ(Raspbianセットアップ済の作業用環境)で、Raspbian stretch のイメージファイルのダウンロードから、SDカードへの書き込み、SSH有効化、IPアドレス固定化、ホスト名・piユーザ名の変更まで行う手順を記載します。

記載する手順は、Raspbian jessieのインストール手順で記載した内容と基本的に同じですが、若干変更しています。

1. イメージファイルのダウンロード

wgetコマンドを使用して、Raspbian stretch イメージファイルをダウンロードします。
(※LITE版 または PIXEL版のいずれかを選択します。その時点の最新イメージファイルがダウンロードされます。)

■RASPBIAN STRETCH LITE(2017-11-29リリース版=約348MB)
# wget --trust-server-name https://downloads.raspberrypi.org/raspbian_lite_latest

■RASPBIAN STRETCH WITH PIXEL(2017-11-29リリース版=約1.64GB)
# wget --trust-server-name https://downloads.raspberrypi.org/raspbian_latest

■ダウンロード時にターミナル上にファイル名を表示するので、
 ダウンロード完了後にファイル名を変更しておきます。(STRETCH LITEの例)
# mv raspbian_lite_latest 2017-11-29-raspbian-stretch-lite.zip

2. SDカード初期化

Raspbian イメージファイルを書き込むSDカードを、USB SDカードリーダ/ライタにセットして、Raspberry Piに接続します。

■接続したSDカードのデバイス名を確認
  (下記は/dev/sdaで認識した例)
# dmesg | tail
[81231.874317] scsi 2:0:0:0: Direct-Access     Generic- SD/MMC           1.00 PQ: 0 ANSI: 0 CCS
[81231.876139] sd 2:0:0:0: Attached scsi generic sg0 type 0
[81232.731905] sd 2:0:0:0: [sda] 61831168 512-byte logical blocks: (31.7 GB/29.5 GiB)
[81232.732441] sd 2:0:0:0: [sda] Write Protect is off
[81232.732466] sd 2:0:0:0: [sda] Mode Sense: 03 00 00 00
[81232.733106] sd 2:0:0:0: [sda] No Caching mode page found
[81232.733132] sd 2:0:0:0: [sda] Assuming drive cache: write through
[81232.737832]  sda: sda1 sda2
[81232.741415] sd 2:0:0:0: [sda] Attached SCSI removable disk
[81363.336300]  sda:
# 
■接続したSDカードの初期化
# fdisk /dev/sda

Welcome to fdisk (util-linux 2.25.2).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.

Command (m for help): p  ←p コマンドで、パーティション情報確認
Disk /dev/sda: 14.9 GiB, 16021192704 bytes, 31291392 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: 0x24ba6129

Device     Boot  Start      End  Sectors  Size Id Type
/dev/sda1         8192   137215   129024   63M  c W95 FAT32 (LBA)
/dev/sda2       137216 31291391 31154176 14.9G 83 Linux 
↑上記表示は、パーティションがあった状態

Command (m for help): d  ←d コマンドで、パーティションを削除
Partition number (1,2, default 2): 2  ←削除するパーティション番号入力

Partition 2 has been deleted.

Command (m for help): d  ←d コマンドで、パーティションを削除
Selected partition 1
Partition 1 has been deleted.

Command (m for help): p  ←p コマンドで、パーティション情報再確認
Disk /dev/sda: 14.9 GiB, 16021192704 bytes, 31291392 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: 0x24ba6129
↑上記表示の後、パーティション情報の表示がなければOK

Command (m for help): w  ←w コマンドで、現在の状態をSDカードへ書き込み
The partition table has been altered.
Calling ioctl() to re-read partition table.
Syncing disks.

#

3.イメージファイルをSDカードへ書込み

Raspbian イメージファイルをSDカードに書き込みます。

# zcat 2017-11-29-raspbian-stretch-lite.zip | dd bs=16M of=/dev/sda

4.SDカードへ初期設定実施

Raspbian イメージファイルのSDカード書き込みが完了したら、SDカードをセットしたままで、SSH有効化設定、IPアドレス固定化、ホスト名・piユーザ名の変更まで実施してしまいます。

■SSH接続設定
1つ目のパーティションに"ssh"名のファイルを作成
# mount /dev/sda1 /mnt
# touch /mnt/ssh
# umount /dev/sda1

上記で行ったSSH有効化方法については、A SECURITY UPDATE FOR RASPBIAN PIXELの中で、以下の様に説明されています。

If you want to enable SSH, all you need to do is to put a file called ssh in the /boot/ directory. The contents of the file don’t matter: it can contain any text you like, or even nothing at all. When the Pi boots, it looks for this file; if it finds it, it enables SSH and then deletes the file.

2つ目のパーティションをマウント
# mount /dev/sda2 /mnt

■IPアドレス固定化
# vi /mnt/etc/dhcpcd.conf
ファイルの最後に、以下設定を追記します。(IPアドレスはネットワーク環境に応じて設定)
---
interface eth0
static ip_address=192.168.1.10/24
static routers=192.168.1.1
static domain_name_servers=192.168.1.1
---

■ホスト名の変更("raspberrypi" → "apple" に変更変更する例)
# sed -i 's/raspberrypi/apple/g' /mnt/etc/hostname
# sed -i 's/raspberrypi/apple/g' /mnt/etc/hosts

■piユーザ名の変更("pi" → "cake" に変更変更する例)
# sed -i 's/pi:/cake:/g' /mnt/etc/passwd
# sed -i 's/pi:x:1000:/cake:x:1000:/g' /mnt/etc/group
# sed -i 's/:pi/:cake/g' /mnt/etc/group
# sed -i 's/pi:/cake:/g' /mnt/etc/shadow
# mv /mnt/home/pi /mnt/home/cake

2つ目のパーティションをアンマウント
# umount /dev/sda2

以上で、作業用Raspberry Pi上での作業は完了です。SDカードを、USB SDカードリーダ/ライタから取り外します。

5.Raspbianを起動し、ログイン

初期設定まで完了したSDカードを、Raspberry Piのカードスロットにセットして、Raspbianを起動します。ターミナルにてSSH接続し、変更したユーザ名、パスワードは”raspberry”にてログインします。あとは、必要に応じた設定作業を実施しします。