5
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【試行錯誤】M5Stack MP135でElixirを動かした時のメモ

Posted at

【M5Stack MP135】LivebookでLチカ(LED点滅)してみたこの記事を書く前に試行錯誤した時のメモです。

何かの参考になるかもしれないので、残しておきます。

起動

WIN_20240903_19_15_22_Pro.jpg

DSC_0689.JPG

# mount
/dev/root on / type ext4 (rw,relatime)
devtmpfs on /dev type devtmpfs (rw,relatime,size=145268k,nr_inodes=36317,mode=755)
proc on /proc type proc (rw,relatime)
devpts on /dev/pts type devpts (rw,relatime,gid=5,mode=620,ptmxmode=666)
tmpfs on /dev/shm type tmpfs (rw,relatime,mode=777)
tmpfs on /tmp type tmpfs (rw,relatime)
tmpfs on /run type tmpfs (rw,nosuid,nodev,relatime,mode=755)
sysfs on /sys type sysfs (rw,relatime)
# df
Filesystem     1K-blocks   Used Available Use% Mounted on
/dev/root         414888 369224     13408  97% /
devtmpfs          145268      0    145268   0% /dev
tmpfs             225856      0    225856   0% /dev/shm
tmpfs             225856     76    225780   1% /tmp
tmpfs             225856     48    225808   1% /run
#

付属のSDカードに入っているOSはbuild root版。
m5stackのサイトのDownload imageから、M5_CoreMP135_debian12_20240628をダウンロードする。
7zを解凍して、 balenaEtcher image burning toolでSDカードに書き込む。

パーティションの拡張

デフォルトのパーティションは、小さいSDカードにも収まるように最小限のパーティションになっている。

root@CoreMP135:/home/m5# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/root       975M  820M   88M  91% /
devtmpfs        157M     0  157M   0% /dev
tmpfs           221M     0  221M   0% /dev/shm
tmpfs            89M  788K   88M   1% /run
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs            45M     0   45M   0% /run/user/0
tmpfs            45M     0   45M   0% /run/user/1001
root@CoreMP135:/home/m5#

初期状態では、rootパーティションが1Gしかない。
/usr/local/m5stack/resize_mmc.shを実行してSDカードの最大サイズまでパーティションを拡大する
resize_mmc.sh実行後再起動するとパーティションサイズが拡張されます。
rebootコマンドで再起動したら起動せず、一度電源をOFFして再度起動したらうまく行きました。

Elixirをインストールする

apt update
apt install erlang-dev elixir
root@CoreMP135:/home/m5# elixir -v
Erlang/OTP 25 [erts-13.1.5] [source] [32-bit] [smp:1:1] [ds:1:1:10] [async-threads:1]

Elixir 1.14.0 (compiled with Erlang/OTP 24)
root@CoreMP135:/home/m5#

Livebookのインストールに必要なパッケージをインストール

sudo apt install erlang-inets erlang-os-mon erlang-runtime-tools erlang-ssl erlang-xmerl erlang-dev erlang-parsetools

Livebookのインストール

mix do local.rebar --force, local.hex --force
mix escript.install hex livebook

次のエラーが発生

** (Mix) You're trying to run :livebook on Elixir v1.14.0 but it has declared in its mix.exs file it supports only Elixir ~> 1.16

asdfでelixirをインストールする

コンパイルに必要なパッケージのインストール(erlangのインストール時に必要)

apt-get update
apt-get -y install build-essential autoconf m4 libncurses-dev libwxgtk3.2-dev libwxgtk-webview3.2-dev libgl1-mesa-dev libglu1-mesa-dev libpng-dev libssh-dev unixodbc-dev xsltproc fop libxml2-utils openjdk-17-jdk

asdfを使って、elixirをインストール

git clone https://github.com/asdf-vm/asdf.git ~/.asdf
echo . $HOME/.asdf/asdf.sh >> ~/.bashrc
ログインし直す
asdf plugin add erlang https://github.com/asdf-vm/asdf-erlang.git
asdf plugin add elixir
asdf list-all erlang
asdf install erlang 27.0.1
asdf list-all elixir
asdf install elixir 1.17.2-otp-27
asdf global erlang 27.0.1
asdf global elixir 1.17.2-otp-27

export LANG=en_US.UTF-8
export LC_ALL=en_US.UTF-8

livebookをインストール

mix do local.rebar --force, local.hex --force
mix escript.install hex livebook

# Start the Livebook server
livebook server

# See all the configuration options
livebook server --help

次のコマンドで起動できた

/root/.asdf/installs/elixir/1.17.2-otp-27/.mix/escripts/livebook server --ip 0.0.0.0

git clone https://github.com/livebook-dev/livebook.git
cd livebook
mix deps.get
mix setup
mix phx.server
apt install inotify-tools
mix phx.server
ELIXIR_ERL_OPTIONS="-epmd_module Elixir.Livebook.EPMD" mix phx.server

asdf plugin add nodejs
asdf list-all nodejs
asdf install nodejs 22.8.0
asdf global nodejs 22.8.0
ELIXIR_ERL_OPTIONS="-epmd_module Elixir.Livebook.EPMD" mix phx.server
cd assets
npm install
npm urn deploy
cd ..
ELIXIR_ERL_OPTIONS="-epmd_module Elixir.Livebook.EPMD" mix phx.server
config/dev.exs の127,0,0,1を0,0,0,0に変える
ELIXIR_ERL_OPTIONS="-epmd_module Elixir.Livebook.EPMD" mix phx.server

5
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?