Raspberry Pi Zero WHにUSB経由でSSHする
Raspberry Pi Zero WHをセットアップしようとしたが、ディスプレイやキーボードをつなぐのが面倒くさく、Ethernet over USBでセットアップしたくなったので調べてみた。やり方をメモしておく。
事前準備としてRaspbianを焼く。今回はRASPBIAN STRETCH LITEをダウンロードして使用した。 gpartedでSDカードをフォーマットして、dmesgでデバイスファイルを確認、ddで焼きこむ。
起動前の設定
その後、USB経由でのEther接続設定を行う。
config.txtの末尾に以下の1行を追加。
dtoverlay=dwc2
cmdline.txtにmodules-load=dwc2,g_ether
を以下のとおり追加。
dwc_otg.lpm_enable=0 console=serial0,115200 console=tty1 root=PARTUUID=c7cb7e34-02 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait modules-load=dwc2,g_ether quiet init=/usr/lib/raspi-config/init_resize.sh
/bootにsshというファイルを追加する。(拡張子なし) ファイルの中身は関係なく、/boot/sshというファイルが存在することでSSH接続が起動時にワンタイムで許可される。
Raspberry Pi Zero WHの内側のmicro USB端子とPCを接続する。 初回起動時にパーティションの拡張が走るためしばし待つ。(数分くらい?)
PC側の準備
初回起動を待つ間に、Raspberry PiのIPアドレスがわからないので(手動で探してみても良いが)ホスト名でアクセスするためにavahi-daemonをインストールしておく。
sudo apt-get install avahi-daemon
SSHログインとSSH設定
その後、SSHで普通にログインする。(user: pi / pass: raspberry)
$ ssh pi@raspberrypi.local
今後もSSHに接続できるようにするためraspi-config
を起動する。
$ sudo raspi-config
メニューから5 Interfacing Options
-> P2 SSH
を選択してSSHを有効にする。
これで再起動後もSSHログインできるようになる。
ノートPC経由のインターネット接続
ネットワークの設定画面からUSB Ethernetを選択してプロファイルを追加/編集し、IPv4の設定項目のAddressesで[Shared to Other Computers]を選択する。 これでRaspberry Pi Zero WHからノートPC経由でインターネットアクセスできるはず。aptとかパッケージ入れたりとか。