Raspberry Pi に Raspbian をヘッドレス インストール

More than 1 year has passed since last update.

Raspberry Pi を、ディスプレイ、キーボードを使わないでインストールする方法です。有線LAN で接続する設定をします。

SD への書き込み

# dd bs=4M if=2018-03-13-raspbian-stretch.img of=/dev/mmcblk0

1180+0 レコード入力
1180+0 レコード出力
4949278720 bytes (4.9 GB, 4.6 GiB) copied, 386.111 s, 12.8 MB/s

書き込みが完了した SD を、fdisk で見ると

# fdisk /dev/mmcblk0

ディスク /dev/mmcblk0: 14.9 GiB, 15931539456 バイト, 31116288 セクタ
単位: セクタ (1 * 512 = 512 バイト)
セクタサイズ (論理 / 物理): 512 バイト / 512 バイト
I/O サイズ (最小 / 推奨): 512 バイト / 512 バイト
ディスクラベルのタイプ: dos
ディスク識別子: 0x377d1fa5

デバイス 起動 開始位置 最後から セクタ サイズ Id タイプ
/dev/mmcblk0p1 8192 93814 85623 41.8M c W95 FAT32 (LBA)
/dev/mmcblk0p2 94208 31116287 31022080 14.8G 83 Linux

設定を行う為に SD をマウントします。

# mount /dev/mmcblk0p2 /mnt/sdp2

# ls /mnt/sdp2
bin dev home lost+found mnt proc run srv tmp var
boot etc lib media opt root sbin sys usr

ネットワークの設定

/mnt/sdp2/etc/network/interfaces

auto lo

iface lo inet loopback
iface eth0 inet static
address 192.168.0.10
netmask 255.255.255.0
gateway 192.168.0.1

/mnt/sdp2/etc/rc.local に次を加えます。

ifup eth0

/boot をマウントします。

# mount /dev/mmcblk0p1 /mnt/sdp1

# ls /mnt/sdp1
bcm2708-rpi-0-w.dtb bootcode.bin fixup_x.dat start_cd.elf
bcm2708-rpi-b.dtb cmdline.txt issue.txt start_db.elf
bcm2708-rpi-b-plus.dtb config.txt kernel7.img start.elf
bcm2708-rpi-cm.dtb COPYING.linux kernel.img start_x.elf
bcm2709-rpi-2-b.dtb fixup_cd.dat LICENCE.broadcom
bcm2710-rpi-3-b.dtb fixup.dat LICENSE.oracle
bcm2710-rpi-cm3.dtb fixup_db.dat overlays

ブート時にSSH サーバーを起動するようにする。

cd /mnt/sdp1

touch ssh

ヘッドレスで ssh をスタートさせるには、/boot に、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. 

アンマウントして、SDカードを抜き、ラズベリーパイに差して、ブートします。


ssh でログインします。


ssh pi@192.168.0.10


ログインしてから、ssh サーバーの状態を確認します。


# systemctl status ssh

● ssh.service - OpenBSD Secure Shell server
Loaded: loaded (/lib/systemd/system/ssh.service; enabled; vendor preset: enab
Active: active (running) since Fri 2017-12-29 05:16:26 UTC; 4h 13min ago
Process: 476 ExecReload=/bin/kill -HUP $MAINPID (code=exited, status=0/SUCCESS
Process: 471 ExecReload=/usr/sbin/sshd -t (code=exited, status=0/SUCCESS)
Process: 393 ExecStartPre=/usr/sbin/sshd -t (code=exited, status=0/SUCCESS)
Main PID: 452 (sshd)
CGroup: /system.slice/ssh.service
└─452 /usr/sbin/sshd -D


設定


sudo raspi-config

wifi 接続に切り替えるには、次を行います。


/etc/wpa_supplicant/wpa_supplicant.conf の設定


ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev

update_config=1
country=JP

network={
ssid="GP01-SSID"
psk="secret123"
key_mgmt=WPA-PSK
}

network={
ssid="GP03-SSID"
psk="secret456"
key_mgmt=WPA-PSK
}


/etc/network/interfaces の設定


allow-hotplug wlan0

iface wlan0 inet dhcp
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf


/etc/rc.local の ifup eth0 をコメントアウト

再起動


sudo shutdown -r now