nerves-project/nerves_system_br

nerves.system.shell broken on OTP26

Closed this issue · 3 comments

Environment

  • Elixir version: Elixir 1.14.5 (compiled with Erlang/OTP 26)
  • Nerves environment:
  Pkg:         nerves_system_br
  Vsn:         1.23.1
  Type:        system_platform
  BuildRunner: {nil, []}

  Pkg:         nerves_system_rpi4
  Vsn:         1.23.0
  Type:        system
  BuildRunner: {Nerves.Artifact.BuildRunners.Local, [make_args: ["source", "all", "legal-info", "PARALLEL_JOBS=64"]]}

  Pkg:         nerves_toolchain_aarch64_nerves_linux_gnu
  Vsn:         1.8.0
  Type:        toolchain
  BuildRunner: {Nerves.Artifact.BuildRunners.Local, []}

  Pkg:         nerves_toolchain_ctng
  Vsn:         1.9.3
  Type:        toolchain_platform
  BuildRunner: {nil, []}

Current behavior

When using OTP 26, mix nerves.system.shell fails with:

==> nerves
sh: line 1: exec: tty_sl: not found
** (ArgumentError) argument error
    :erlang.port_control(#Port<0.8>, 25889124, [])
    (nerves 1.10.2) lib/mix/nerves/shell.ex:106: Mix.Nerves.Shell.get_tty_geometry/1
    (nerves 1.10.2) lib/mix/nerves/shell.ex:49: Mix.Nerves.Shell.open/2
    (nerves_bootstrap 1.11.5) lib/attic/system.shell.ex:74: Mix.Tasks.Nerves.System.Shell.run/1
    (mix 1.14.5) lib/mix/task.ex:421: anonymous fn/3 in Mix.Task.run_task/4
    (mix 1.14.5) lib/mix/cli.ex:84: Mix.CLI.run_task/2

tty_sl is no longer available, possibly due to the new OTP26 terminal implementation.

Expected behavior

Successfully enter the nerves system shell.

Hi @CJRChang - thanks for sending the report. We're working our way here from other OTP26 tty changes that impact Nerves.

If you have a Linux machine available, we have an alternate way of building Nerves systems that's described at https://github.com/nerves-project/nerves_systems that may help in the mean time.

Related issue nerves-project/nerves#893
Temporary workaround in nerves-project/nerves#897

Thanks for adding the comments with links to where we're tracking the issue and the workaround, since I missed updating this one. Going to close the issue in favor of tracking in the other location.