みずりゅの自由帳

主に参加したイベントやソフトウェア技術/開発について記録しています

nerves_system_rpi0はなぜv2.0.0になるのか

Nerves関連の備忘。

Elixir製IoTフレームワークNerves」のRaspberry Pi Zeroのコンフィグ設定を行う「nerves_system_rpi0」でバージョン2の話が出ているので記録しておく。*1

2020年10月14日8:27JSTに、nerves_system_rpi0のv2.0.0-rc.1のリリースされていました。

github.com


リリース情報に、「Sync with changes up to v1.13.0」とだけ書いてありました。
v1.13.0までの変更を同期”の日本語訳を、v1.13.0に対してv2.0.0-rc.1のタグもつけたと勘違いした私は、以下のようなつぶやきをしました。

これに対して、@shozf氏と@pojiro3氏からコメントをもらい、勘違いに気づきました。

そういえば、確かに2020年7月30日にv2.0.0-rc.0のリリース情報が出た時、反応してた気がする自分。

Why 2.0.0?

@pojiro3氏から教えて頂いたページはこちらです。
タイトルもそのものズバリで「Nerves Raspberry Pi Systems v2.0.0 release candidates」でした。

elixirforum.com


この記事の中に、「Why 2.0.0?」とあります。

Introducing nerves_initramfs and the revert scheme is a decent size change to how the system functions. It’s a new tool and startup path which, we feel, warrants a major version bump. Our hope is that others try out the release candidates and submit issues to help us iron out any kinks.

DeepLさんに訳してもらうと、こんな感じ。

nerves_initramfsとrevertスキームを導入することは、システムがどのように機能するかについてのまともなサイズの変更です。
これは新しいツールであり、起動経路であり、私たちは大きなバージョンバンプが必要だと感じています。
私たちの望みは、他の人たちがリリース候補を試してみて、問題を提出して、私たちがどんな問題も解決できるようにしてくれることです。

この場合のdecentはおそらく"相当量の"あたりの訳が妥当だと思われます。
端的に言うと「nerves_initramfsとrevert schemeは相当量のシステムの変更だからメジャーバージョンあげたい」かな、と。
もう少しだけ掘り下げると、起動前にfirmwareの検証チェックを行えるようになったこと検証チェックが無効の場合には最後のfirmwareにリバートされること、がこれまでと大きく変わってきている。だからバージョンが妥当、と言うところかな、と。

まとめ

正直、これで何が良くなるのかまだピンと来ていないです。
ですが、バージョンがv1からv2に変わるわけなので、着目してみました。
実際に触ってみたら、もう少しわかってくるのかな。
もうちょっとドキュメントを読み込んでみるか。

*1:正確には、「nerves_system_***」が全て対象になります。