LoginSignup
1
4

More than 5 years have passed since last update.

RaspbianをSDカードに書き込んでHeadless Bootさせよう

Last updated at Posted at 2018-06-06

最近ラズパイを購入しました。<ー正確には購入してもらいましたww
小さくて可愛いですね(笑)

ラズパイはサーバ用途で使用する予定なので、デスクトップバージョンではないraspbianのliteの方のイメージをSDカードに書き込みました。そして、SSH接続できるように事前設定してからヘッドレスブートさせました。
その手順を紹介しようと思います。

環境

  • Ubuntu 18.04 LTS (作業するOS)
  • raspberry pi 3 (ラズパイ本体)
  • raspbian stretch lite (ブートさせるOS)
  • micro SDカード

ここでは、Ubuntuに認識されるSDカードのデバイス名は/dev/sdb、パーティション名は/dev/sdbx(x=1,2,3...)、マウント先は/mnt/sdとします。
実際に行うときは適宜自分の環境に合わせてください。

ブートまでの手順

イメージのダウンロード

まずはこちらからイメージのダウンロードをします。
ファイルタイプはZIPとTorrentのに種類ありますが、今回はZIPファイルをダウンロードしました。
ダウンロードが完了したら、解凍します。

$ unzip 2018-04-18-raspbian-stretch-lite.zip

解凍されたら、拡張子がimgとなっているファイルが出てくると思います。
それがOSのイメージファイルとなります。

いざ、書き込み!

書き込みを行う際は、SDカードはアンマウントさせておいてください。マウントしたままだと、書き込みが正常にされない場合があります。

$ sudo umount /mnt/sd

書き込みはddコマンドによって行います。

$ sudo dd bs=4M if=2018-04-18-raspbian-stretch.img of=/dev/sdb status=progress conv=fsync

ifはイメージファイルのパスを、ofには書き込み先となるデバイスのパスを設定します。書き込み先を間違えないようにしてください。少し時間がかかるので、しばらく待ちましょう。
書き込みが完了したら、lsblkコマンドでパーティションの確認をしましょう。/dev/sdb下に/dev/sdb1と/dev/sdb2の2つのパーティションが作成されていればOKです。前者はbootパーティションで、後者はrootパーティションとなります。

SSH接続設定

まずは、SDカードをマウントさせましょう。

$ sudo mount -t ext4 /dev/sd1 /mnt/sd/boot
$ sudo mount -t ext4 /dev/sdb2 /mnt/sd/rootfs

マウントさせたら、/mnt/sd/bootにsshという名前のファイルを作成します。これだけで、ssh接続が有効化されます。

IPアドレスの設定

IPアドレスの設定方法は主に3つあります。
他に設定方法があったり、間違っている場合は教えてください。よろしくお願いしますm(_ _)m

①DHCPで取得

/mnt/sd/rootfs/etc下にdhcpcd.confファイルがあるのを確認してください。
デフォルトのままでDHCPによってアドレスを取得しますので、特に編集の必要はありません。

②静的アドレスを設定(/etc/dhcpcd.confを編集)

/mnt/sd/rootfs/etc/dhcpcd.confに以下のように書き込みます。

interface eth0
static ip_address=192.168.0.1
static routers=192.168.0.254
static domain_name_servers=8.8.8.8 1.1.1.1

③静的アドレスを設定(/etc/network/interfacesを編集)

ubuntuやdebianに慣れている人は、見慣れている設定方法です。ラズパイの設定方法においては邪道ですが...
/mnt/sd/rootfs/etc/network/interfacesに以下の設定例のように書き込みます。

auto eth0
iface eth0 inet static
 address 192.168.0.1
 netmask 24
 gateway 192.168.0.254

その後、/mnt/sd/rootfs/etc/systemd/system/dhcpcd.service.d/dhcpcd.service を削除しましょう。これでブート時に余計なデーモンが起動しません。

Bootさせよう!

SDカードをラズパイのスロットに差し込んで、ブートさせましょう。インターフェースのランプが点灯したら、設定した静的IPアドレス、またはDHCPで取得したアドレスにSSHしてみます。
デフォルトのユーザ名はpi、パスワードはraspberryです。
接続が成功したら、OKです!!!

以上で、ヘッドレスブートさせてSSH接続できるようになりました。非常に簡単ですので、みなさんも試してみてください。

参考文献

1
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
4