M5Stack UnitV2を弄るための備忘録
※以下の内容の実行はすべて自己責任でお願いします。
PCとはUSBで接続した状態での実行する。UnitV2とはUSB-typeC経由でのイーサネットアダプタとして接続するため、ドライバインストールなど、以下の事前セットアップを済ませておく
事前セットアップなど
公式サイトからドライバをダウンロード、インストールしておく。USB接続していないとデバイスマネージャー上でデバイス名(USB 10/100 LAN か SR9900)が表示されないので注意
PCからssh経由でログイン
UnitV2本体裏側にSSH設定回りが書かれているので確認しておくこと(IPとかユーザー名とかパスワード周り)
ターミナルからsshを使ってip直接指定してログイン。エンター押下後デフォルトパスワードが要求されるので、タイプしてエンターキーを押す。(ここではip=10.254.239.1、ユーザー名=m5stackとして進める)
ssh m5stack@10.254.239.1
ホスト名を使う場合は
ssh unitv2.py
PCからsshログイン時にsudoを使えるようにする
工場出荷状態のUnitV2はsshグイン時のユーザーでsudoが実行できないので、利用できるように変更する
通常root権限はスーパーユーザーでログインする必要があるのだが、なぜかJupyter notebook modeだとroot権限を持っているようなので、そこからsshログイン時のユーザーでsudoが実行できるように操作する
Jupyter notebook modeに変更する
ブラウザ(Chrome推奨)を起動し、urlに 10.254.239.1 か unitv2.py を入力してビルトイン機能(Webアプリ)にアクセスする
画面右上の歯車マークをクリック
"Switch to notebook mode"をクリック
確認ダイアログが出るので"OK"をクリック
ページをリロードしろ、という確認ダイアログが表示されるので、"OK"をクリック後、数秒待ってブラウザをリロードする
ターミナルを起動してコマンドを実行する
Jupyter notebook modeに変更後、ノートブック一覧が表示されるので、右側にある"New"のボタンから"Terminal"をクリックする
クリック後、別タブが自動的に開く。文字が入れられるよう、黒画面を一度クリックする
黒画面で以下のコマンドを入力、1行ずつエンターキーを押して実行する
chown root:root /usr/bin/sudo && chmod 4755 /usr/bin/sudo
chown root:root /usr/libexec/sudo/sudoers.so
chown root:root /etc/sudoers
参考ツイート: https://twitter.com/timit3/status/1397847137304539136
変更後、sshログインしたユーザーでsudoが使えるようになる
ビルトイン機能モードに戻るには
ビルトイン機能モードに戻るには現状USBをぶっこ抜いて強制的にリブートさせるしかない
/dev/nullの読み書き権限を付与する
UnitV2リブート時、毎回 /dev/null
のアクセス権限がrootのみになるようにリセットされるので、scp
などのコマンド実行前にユーザーに変更権限を付与しておく。以下のコマンドを実行する(sudoが必要)
sudo chmod o+rw /dev/null
変更後、念のため ls
コマンドで /dev/null
のアクセス権限を確認すると良いかも
ls -l /dev/null
末尾が rw-
となっていれば大丈夫
参考URL:SCPでM5Stack UnitV2 にファイルを持っていったり持ってきたりする - 楽しい活字中毒
Discussion