NervesにsshするとElixirのiexが起動している状態になっています。
いや、本来Linuxで動きゆきシェル使いたいやんって思ったので調べてみました。
やり方
mix.exs
に以下の設定を追記します。
mix.exs
defp deps do
[
(略)
# 追加
{:nerves_network, "~> 0.5", targets: @all_targets},
{:nerves_firmware_ssh, "~> 0.3"}, targets: @all_targets},
{:nerves_runtime_shell, "~> 0.1.0", targets: @all_targets} ←今回追記した行
]
end
この状態でファームウェアを更新します。
bash
$ mix deps.get
$ mix firmaware
$ ./upload.sh NervesのIPアドレス
Nervesにログインして確認します。
Ctrl+Gする(コントロールキーを押しながらg
を押す)とiex
に戻ることができます。
iex
$ ssh NervesのIPアドレス
iex> Nerves.Runtime.Shell.start
#PID<0.1069.0>
Nerves Interactive Command Shell
Type Ctrl+G to exit the shell and return to Erlang job control.
This is not a normal shell, so try not to type Ctrl+C.
/srv/erlang[1]> ※Ctrl+Gを押す
iex>
なんだかうまく抜けられない時は、いろいろ試しているなかで成功率が高かったので以下を試してみてください。
iex
/srv/erlang[1]> ※Ctrl+Gを押す→でも何もおこならい
/srv/erlang[2]> exit
Interactive shell port exited with status 0
/srv/erlang[3]> ※Ctrl+Gを押す
iex>
#まとめ
Shellに落ちることができました\(^o^)/
でも、フツーのLinuxなどで利用できるコマンドはほとんどなく何ができて何ができないのかも分かりません。