最近ラズパイを購入しました。<ー正確には購入してもらいました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接続できるようになりました。非常に簡単ですので、みなさんも試してみてください。