Armadilloフォーラム

/boot/overlays.txtが変更されない方法はありますか?

sx_iino

2025年1月14日 14時10分

現在開発用に、A6EのWiFiモデルを使用しています。
実際には、WiFiを用いない機種を使用し、SDカードを使用するため、/boot/overlays.txtから自動的に挿入されるarmadillo-iotg-a6e-lwb5plus.dtboを削除して使用しています。
この状態でインストーラを作成して、インストールを行うと自動的にarmadillo-iotg-a6e-lwb5plus.dtboが挿入されてしまうため、これを削除するという作業が発生します。さらにA面、B面があるので、何かインストールすると違う面でも同じ作業を行う必要があります。
そこで、この自動挿入を行わない方法が何かあるかをお伺いしたいのです。
多分、bootloaderでやっているのだと思うのですが、ソースを変更しなければならないとしたら、どのあたりか。
もしくは、何か別な方法があるのなら、その方法をお教えいただけませんでしょうか。
以上、よろしくお願いいたします。

コメント

at_dominique.m…

2025年1月14日 15時59分

sx_iinoさん

お世話になっています、
マルティネです。

> この状態でインストーラを作成して、インストールを行うと自動的にarmadillo-iotg-a6e-lwb5plus.dtboが挿入されてしまうため、これを削除するという作業が発生します。

確かにそうなってますね…
現在のインストーラーは無条件でそういう dtbo を戻してます。

ひとまずの回避方法としては、インストーラーの install_overrides.sh の postinstall() で /target/boot/overlays.txt から再び削除するか、その armadillo-iotg-a6e-lwb5plus.dtbo を空の dtbo と上書きして (例えばカーネルをビルドした際の armadillo-600-customize.dtbo)で上書きしてそれを persist_file -P で保存すればアップデートをインストールしても空のままになりますので実質無害になります。

abos-ctrl make-installer 等で生成したイメージは特定したハードウェアをターゲットしていますので、その場合は確かにそういう変更は望ましくないと思いますので今後のインストーラーに何かの対応を実装しようと思います。
具体的に決めたらまた連絡します。

> さらにA面、B面があるので、何かインストールすると違う面でも同じ作業を行う必要があります。

こちらの点については心当たりありませんでした。
overlays.txt を編集した後に SWU で違う面にアップデートをインストールすると編集された overlays.txt のままになっているはずです。
この現象を再現できてますでしょうか?

よろしくお願いします。

ご返答頂きありがとうございます。
> ひとまずの回避方法としては、インストーラーの install_overrides.sh の postinstall() で /target/boot/overlays.txt から再び削除するか、その armadillo-iotg-a6e-lwb5plus.dtbo を空の dtbo と上書きして (例えばカーネルをビルドした際の armadillo-600-customize.dtbo)で上書きしてそれを persist_file -P で保存すればアップデートをインストールしても空のままになりますので実質無害になります。
とりあえずは、postinstallで対応するのが一番無難そうですので、これで対処する事に致します。
これならinstall_overrides.shを削除すれば元の動作に簡単に戻せますし・・・
microSDカードが認識されないというトピックで丁度同じ件が議論されておりましたので、参考に致します。

> > さらにA面、B面があるので、何かインストールすると違う面でも同じ作業を行う必要があります。
>
> こちらの点については心当たりありませんでした。
> overlays.txt を編集した後に SWU で違う面にアップデートをインストールすると編集された overlays.txt のままになっているはずです。
> この現象を再現できてますでしょうか?
すいません、再度現象の再現を試みましたが、何も問題なく再現出来ませんでした。
何か手順を間違えたか、確認間違いかと思います。
persist_fileで-pオプションをつけていなかったような気はします・・・
混乱させてしまい申し訳ありませんでした。

以上でとりあえず本件は解決済みとさせて頂きます。
ありがとうございました。

at_dominique.m…

2025年1月15日 19時19分

sx_iinoさん

> とりあえずは、postinstallで対応するのが一番無難そうですので、これで対処する事に致します。
> これならinstall_overrides.shを削除すれば元の動作に簡単に戻せますし・・・
> microSDカードが認識されないというトピックで丁度同じ件が議論されておりましたので、参考に致します。

了解しました。

> > overlays.txt を編集した後に SWU で違う面にアップデートをインストールすると編集された overlays.txt のままになっているはずです。
> > この現象を再現できてますでしょうか?
> すいません、再度現象の再現を試みましたが、何も問題なく再現出来ませんでした。
> 何か手順を間違えたか、確認間違いかと思います。
> persist_fileで-pオプションをつけていなかったような気はします・・・

persist_file -p の仕組みが大変分かりにくいで申し訳ないですが、参考までにデフォルト値に /boot/overlays.txt が入ってますので、そういう問題もないはずです。
(アップデート時にハードウェアの認識をしなおすような実装はないので、インストーラー時の overlays を保存するには必要です。あえて /etc/swupdate_preserve_files から削除すると、overlays がすべて消えるようになります)

引き続きで何かトラブルがあればまた聞いてください。

よろしくお願いします。