【M5Stack MP135】LivebookでLチカ(LED点滅)してみたこの記事を書く前に試行錯誤した時のメモです。
何かの参考になるかもしれないので、残しておきます。
起動
# 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