Rasberry Pi ヘッド レス インストール

Rasberry Pi を、ディスプレイ、キーボードを使わないでインストールする方法

有線LAN で接続する設定をします。

SD への書き込み

# dd bs=4M if=2017-11-29-raspbian-stretch.img of=/dev/mmcblk0
1173+0 レコード入力
1173+0 レコード出力
4919918592 bytes (4.9 GB, 4.6 GiB) copied, 482.857 s, 10.2 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


auto lo

iface lo inet loopback
iface eth0 inet static

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.
ssh でログイン

$ ssh pi@

ログインしてから、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