最新のRaspbian Stretchは仕様変更があったようで昔の手順ではうまく出来なくなってしまいましたので手順を最新化して再掲します。
変更点は下記です。
- 固定IPの設定方法変更 : etc/network/interface から /etc/dhcpcd.conf に変更
- ssh有効化手順追加 : Raspbian Stretchは「デフォルトssh無効」に変わったため
RaspbanをインストールするにはモニタとキーボードをRaspberryPiに接続する必要があります。しかし、つなぐのは面倒なのでSSH経由でraspbianの初期設定する方法を試してみましたので備忘録を兼ねて紹介します。
■用意するもの
- Linuxマシン
- SDカードリーダ
■OSイメージをダウンロード
Linuxマシン上での作業です。まずはOSイメージをミラーサイトからダウンロードします。
$ wget http://ftp.jaist.ac.jp/pub/raspberrypi/raspbian/images/raspbian-2018-04-19/2018-04-18-raspbian-stretch.zip $ wget http://ftp.jaist.ac.jp/pub/raspberrypi/raspbian/images/raspbian-2018-04-19/2018-04-18-raspbian-stretch.zip.sha256 $ sha256sum -c 2018-04-18-raspbian-stretch.zip.sha256 2018-04-18-raspbian-stretch.zip: 完了
■イメージファイルをマウントする
Linuxマシン上での作業です。raspbianのIPアドレスを固定するため、イメージファイルをマウントして設定ファイルを書き換えます。
$ unzip 2018-04-18-raspbian-stretch.zip $ fdisk -l 2018-04-18-raspbian-stretch.img Disk 2018-04-18-raspbian-stretch.img: 4.6 GiB, 4953473024 bytes, 9674752 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: 0x9cba179a Device Boot Start End Sectors Size Id Type 2018-04-18-raspbian-stretch.img1 8192 96453 88262 43.1M c W95 FAT32 (LBA) 2018-04-18-raspbian-stretch.img2 98304 9674751 9576448 4.6G 83 Linux
- 2018-04-18-raspbian-stretch.img1 : raspbian上では"/boot"にマウントされる
- 2018-04-18-raspbian-stretch.img2 : raspbian上では"/"にマウントされる
# mount -o loop,offset=50331648 2018-04-18-raspbian-stretch.img /mnt/
オフセットの値はfdisk中の98304にセクタサイズ512を掛けた値。
■ネットワーク関係のファイルを変更
ファイルのオーナがrootなのでrootになって作業します。("xxx"部分は自分のネットワーク環境に合わせて適宜書き換える)
# vi /mnt/etc/dhcpcd.conf ・変更前 # Example static IP configuration: #interface eth0 #static ip_address=192.168.0.10/24 #static ip6_address=fd51:42f8:caae:d92e::ff/64 #static routers=192.168.0.1 #static domain_name_servers=192.168.0.1 8.8.8.8 fd51:42f8:caae:d92e::1 ・変更後 # Example static IP configuration: interface eth0 static ip_address=xxx.xxx.xxx.xxx/xx #static ip6_address=fd51:42f8:caae:d92e::ff/64 static routers=xxx.xxx.xxx.xxx static domain_name_servers=xxx.xxx.xxx.xxx # umount /mnt
■sshを有効化
raspbian上の/bootに"ssh"というファイルを置くとsshが有効化されます。# mount -o loop,offset=4194304 2018-04-18-raspbian-stretch.img /mnt/オフセットの値はfdisk中の8192にセクタサイズ512を掛けた値。
# touch /mnt/ssh # umount /mnt
■SDカードに書き込む
LinuxマシンからSDカードにイメージファイルを書き込みむ。("/dev/sdb"は自分の環境に合わせて適宜書き換える)
# dd bs=16M status=progress if=2018-04-18-raspbian-stretch.img of=/dev/sdb
■Raspberry PiにSDカードを挿入して起動する
Linuxマシンからssh経由でRaspberry Piにログインする。(user=pi, passwd=raspberry, xxx.xxx.xxx.xxxは先に設定したIPアドレス)各種設定をする。
$ ssh pi@xxx.xxx.xxx.xxx pi@xxx.xxx.xxx.xxx's password: raspberry pi@raspberrypi ~ $ sudo raspi-config
これで完了です。