明日の自分のために

主に自分用のメモなど

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 PiIPアドレスがわからないので(手動で探してみても良いが)ホスト名でアクセスするために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とかパッケージ入れたりとか。