planetary days,

不惑とか嘘だよ。惑う惑う。ふらふらと。

フリスクPC(その3) OSをインストールしよう

2018年12月29日 | ..._〆(゜▽゜ )
今回は、通常のRaspberry Pi zeroの設定回りなので、有識者には不要かと思われる。
が、自分用メモなのでお構いなしにメモる。メモれー。うなづきマーチ。

○ ソフトウェアの準備(基礎編)
 OSインストールの準備というと、昔はISOからbootableでCD焼くとか手順を調べて色々悩んだものだけれど、RPiへのOSインストールは簡単でいい。
 配布サイトで適切なOSイメージファイル(ダウンロードページで Raspberry Pi 0/1 を選ぼう)を拾ったら、圧縮したままEtcherに渡すとmicroSDに展開しながら焼き込んでくれるので、後はRPiに挿して起動するだけで、OSの起動まで行ける。行けるのだが、これだとちょっと不便なので、いくつかおまじないをする。

・SSHの有効化
 RetroPieの最新版はRaspbian Stretchベースなので、デフォルトではsshdが停止しているらしい。設定変更するのにディスプレイを切り替えるのは面倒なので、ssh接続できるようにする。
 microSDの焼きこみ後、microSDの /boot パーティションは、FATのドライブとしてPCからアクセスできるので、microSDの直下にエディタ(メモ帳)で"ssh"という名前の空ファイルを作成します。拡張子は無し。もし、"ssh.txt"になってしまっていたら、"ssh"にリネームする。

・USB経由でログインできるようにする
 RPi zeroは、PCとUSB経由でIP接続することができる。USBテザリングで使われるRNDIS(Remote Network Driver Interface)、いわゆるUSB-ethernetという接続仕様が使えるので、RPi側、PC側のドライバを仕込む。
1. config.txtの修正
 "ssh"ファイルを置いたフォルダに、"config.txt"というファイルがあるので、ここにUSBコントローラのドライバ設定を追記。
・・・
dtoverlay=dwc2
・・・

2.コマンドラインの追記
OS起動時のパラメータを追記するので、同じく/boot下の"cmdline.txt"を編集。rootwait の直後にモジュール名が列挙されているので、以下の太字部分を追記する。
・・・rootwait modules-load=dwc2,g-ether quiet ・・・


 dwc2の次のカンマ以降が「USB Gadjet」の機能本体の名前で、今回はssh接続のための似非USB-Etherアダプタなのでg-etherにしているが、Mass Storageとか他の機能も持たせられるらしい。

3.Windows側にUSB/RNDISドライバを入れる
 MacとかLinuxが母艦の人は、それぞれ調べてください。
 とりあえず、PCとRPi zeroのUSBポート(真ん中寄り)を普通のUSBケーブルでつないで、USBドライバをインストールします。
 Windows10の場合: Acer USB/RNDIS Gadjet ドライバをインストールする。
 Windows7/8の場合: RPi zeroをPCからUSB接続して、デバイスドライバのインストールダイアログから ネットワークアダプタ>Microfsoft Corp>Remote NDIS Compatible… を選んでインストール

4.RNDISで接続できるようになったら、ホスト側IPアドレスを設定する
 母艦経由でインターネット接続もできるようにするなら、母艦のインターネット側ネットワークアダプタのプロパティ>共有タブ で、RNDISアダプタをプルダウンで選んでNW接続を共有。(自動的にPCが192.168.137.1になる)
 共有しない場合も、接続アドレスが変ると鬱陶しいのでRNDISアダプタの固定IPアドレスを192.168.137.1/24に設定。

5.zeroにつなぐ(1回目)
 RPi zeroに挿したUSBを抜いて、電源リセット。再接続すると、ホスト側からIPアドレスを払い出すので通信できるようになる。コマンドプロンプトで、それっぽいIPアドレスを探す。
 端的に言えば、arpでそれっぽいアドレスが無いか確認して、telnetで試してみる。
c:\> arp -a -N 192.168.137.1

インターフェイス: 192.168.137.1 --- 0x8
インターネット アドレス 物理アドレス 種類
192.168.137.★ **-**-**-**-**-** 動的
192.168.137.255 ff-ff-ff-ff-ff-ff 静的
224.0.0.2 **-**-**-**-**-** 静的
・・・

 そりゃ他に繋がってないので見つかりますな。192.168.137.255はブロードキャストアドレスなので、それ以外で137にある192.168.137.★がRPi。とはいえ、DHCPの動作順で複数見えたりすることもあるので注意。

 事前準備をやってあれば、sshでつながるはずなので、teratermなどで、上記の192.168.137.★につなぐ。
 アカウント名は pi 、初期パスワードは raspberry です。

6.zero側のIPアドレスを固定設定
 USB etherドライバでの接続設定をします。sshでつなぐ毎にIPアドレスを確認するのは面倒なので、固定IPアドレス(192.168.137.81)にします。DNSはgoogleの公開DNSを使用。
 $ sudo nano /etc/dhcpcd.conf で、以下の設定を追記します。
interface usb0
static ip_address=192.168.137.81/24
static routers=192.168.137.1
static domain_name_servers=8.8.8.8 8.8.4.4

 Ctrl+O Ctrl+Xで保存して終了。

 ネットにつなぐので、パスワードも変更します。
 $ sudo raspi-config で設定メニューを起動。
 最初は、8 Updateでツール自体を最新化。その後、再度起動して以下を設定。

 1 Change User Password で、ユーザ piのパスワードを変更。
 2 Network Options > N1 Hostname で、このRPiのホスト名を何か設定しておく。Windowsファイル共有なんかでもこの名前が使われる。
 4 Localisation Options > I2 Change Timezomne で、時刻を Asia > Tokyo に合わせる。
 4 Localisation Options > I4 Change Wi-Fi Country で、WiFiのリージョンをJPにしておく。
 5 Interface Options > P4 SPI、 P5 I2C をそれぞれenableにしておく。
  P2 SSHは、やらなくてもよさげ。
 7 Advanced Options > A1 Expand Filesystem は、自動でやってるような気がするんだけれども、dfとってみてSDCardの容量よりパーティションが明らかに小さいようなら、色々ファイルを入れる前にやってみてもいいかも。


 ここまで実施したら、$ sudo reboot。

7.WiFiの設定
 外部につなぐのに、PCなしでも行けるようにWiFiを設定します。
 本音は、USB ether経由の設定だと、セキュリティを見られる環境だとなんかやらかしそうなので。
 なお、わざわざ手動でやらなくても、上記6.のraspi-configでWiFi設定もできるような気もする。
 たとえば、SSIDが"lain"、パスフレーズが"PresentDayPresentTime"に設定してあるWiFiアクセスポイントに接続する場合は以下のようにパラメータを設定して暗号化パスフレーズを作成。
$ wpa_passphrase lain PresentDayPresentTime
network={
ssid="lain"
#psk="PresentDayPresentTime"
psk=6dad3850d260d3dd40cc8fd735110bd9b6bbc950cb831b5ac983327092d30c99
}

 この結果をwpa_supplicant.confに追記する。

$ sudo nano /etc/wpa_supplicant/wpa_supplicant.conf
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
country=JP

network={
ssid="lain"
#psk="PresentDayPresentTime"
psk=6dad3850d260d3dd40cc8fd735110bd9b6bbc950cb831b5ac983327092d30c99
key_mgmt=WPA-PSK
pairwise=CCMP
group=CCMP
}

Ctrl+O Ctrl+X で書いて終了。
 何も設定しなければ、再起動後にwpa_supplicantが上がって自動接続してくれる、はず。
 つながらない場合は、$ sudo ipconfig wlan0 off → $ sudo ipconfig wlan0 on でWiFiインタフェースを再起動し、wpa_supplicantを強制的に叩いてみるなど。

 WiFiを固定IPアドレスにする場合は、dhcpcd.confにSSID毎の設定を追加(Raspbian Stretchの場合)。
$ sudo nano /etc/dhcpcd.conf
 <既存の内容は消さないで、最後に追記>

interface wlan0
ssid lain
static ipaddress=192.168.7.7/24
static routers=192.168.7.1
static domain_name_servers=192.168.7.1 8.8.8.8


 WiFiは繋がってるのにDHCPでアドレスが払い出されていない場合は、
$ sudo dhclient wlan0 として、強制DHCPリクエストを。

一般的な設定が終わったところで、次回はWaveshare 1.3" IPS LCD Hat特有の設定とか。
コメント    この記事についてブログを書く
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« フリスクPC(その2) ケースを... | トップ | フリスクPC(その4) 遊べるよ... »
最新の画像もっと見る

コメントを投稿

ブログ作成者から承認されるまでコメントは反映されません。