Armadilloフォーラム

ABOS-WEB のカスタマイズ時の Base-OS アップデートについて

snowflake

2025年3月31日 14時08分

==========

製品型番:Armadillo-IoT A6E
Debian/ABOSバージョン:3.21.3-at.2
カーネルバージョン:5.10.234-0-at
3G/LTE モジュール情報 (Debianのみ):
その他:

==========

ABOS-WEB のカスタマイズ時の Base-OS アップデートについて教えてください。
参考:
https://manual.atmark-techno.com/armadillo-iot-a6e/armadillo-iotg-a6e_p…

上記のカスタマイズ以外のカスタマイズを行いたいと考えています。例えば、時刻設定ページでタイムゾーンの設定のみを外すなど、細かい修正を行いたいと考えていますが、可能でしょうか?

Base-OSがアップデートされた場合、修正したHTMLなどは上書きされてしまうと思いますが、何か対応策がございますでしょうか?

コメント

佐藤です。

> 上記のカスタマイズ以外のカスタマイズを行いたいと考えています。例えば、時刻設定ページでタイムゾーンの設定のみを外すなど、細かい修正を行いたいと考えていますが、可能でしょうか?
申し訳ありません。そのような細かいカスタマイズには対応しておりません。
もし、UIが不要なのであれば時刻設定ページを非表示にした上で、
やりたいことをカスタム rest api で行うということは可能かと思います。

> 佐藤です。
>
> > 上記のカスタマイズ以外のカスタマイズを行いたいと考えています。例えば、時刻設定ページでタイムゾーンの設定のみを外すなど、細かい修正を行いたいと考えていますが、可能でしょうか?
> 申し訳ありません。そのような細かいカスタマイズには対応しておりません。
> もし、UIが不要なのであれば時刻設定ページを非表示にした上で、
> やりたいことをカスタム rest api で行うということは可能かと思います。

コメントありがとうございます。
標準機能だけで行おうとすると、カスタム機能の追加であれば、カスタム rest api で行うということは理解できました。
UIをカスタマイズで追加する場合は、abos-web をこちらでビルドして作成すると思っていますが、認識あっていますでしょうか?
その場合に、Base-OSは標準アップデートをするとした場合には、どのような対応を行うのが正しいのでしょうか。
Base-OS上のアプリ開発について、未修得の部分が多く、素人質問で申し訳ありません。

at_dominique.m…

2025年4月1日 14時15分

マルティネです。

> UIをカスタマイズで追加する場合は、abos-web をこちらでビルドして作成すると思っていますが、認識あっていますでしょうか?

そうですね、ページの情報はビルド時に決めてますのでそうなってしまいます。

> その場合に、Base-OSは標準アップデートをするとした場合には、どのような対応を行うのが正しいのでしょうか。
> Base-OS上のアプリ開発について、未修得の部分が多く、素人質問で申し訳ありません。

ご認識の通り、標準アップデートをインストールすると上書きされてしまいます。
BaseOS 上の開発は基本的にあまり推奨してませんので、「正しい」方法はないかもしれませんが強いて言えば以下のどれかの方法で対応できると思います:
* libc/openssl の依存しかないので、ビルドしたものをインストールして /etc/swupdate_preserve_files に「POST」として記載すればしばらくは使えると思います。来年あたりに openssl 4 へ更新する際に動かなくなりそうですので、長い面ではおすすめできない方法ですが、一応可能性としてあります。
* 標準イメージを使わなくなって開発ツールの「build-rootfs」で改造された abos-web をインストールしたイメージを生成し続ける。github actionなどのCIで生成する場合は手間が一度だけなので、これも手間がありますが重い変更が必要でしたら最終的に一番楽かもしれません。
* ABOS側の abos-web サービスを無効化して、改造された abos-web をコンテナにインストールして運用する。更新・管理の面では一番ですが、現在の abos-web はコンテナで動かすように深く考えてないので、その対応はちょっと難しいと思います(できないことはないですが、スクリプトを ssh などでホストで実行させる必要がありますので大変だと思います)。将来正式に対応するとしたらこちらの方法で対応すると思いますが、現状は難しいかもしれません。
* 簡単な UI で良ければ、 /usr/share/abos-web/static/ ディレクトリに固定のページを追加することは可能です。そのページたちは固定なので dynamic 内容はすべて REST API で取得することになりますが、/etc/atmark/abos_web/customize.json にページを追加すればメニューに追加されますので結果的にそんなに不自然なページにならずに作成できると思います。その場合は永続化すれば上書きされないので、開発の手間と引き換えに長い面の運用が楽になる、というところですね。タイムゾーンの変更だけを対応する程度でしたらこちらがいいかもしれません。

佐藤さんの返事にも書いてましたが細かい改造は基本的にサポートできませんので、大変お手数ですがどこまで改造したいかによってどれかの方法を選んでやってみてください

よろしくお願いします

マルティネさん

ご回答ありがとうございました。
大変勉強になりました。

最終的にどうするかはまだ検討中ですが、いろいろトライアルしてみようと思います。