Armadilloフォーラム

ブートローダーの更新について

mori22554

2024年2月29日 9時23分

Debian12の更新について

いつもお世話になっております。
ArmadilloG3Lを使用しております。

https://armadillo.atmark-techno.com/news/20240228/software-update-aiotg…
について確認させてください。

①ブートローダー (at24) Linux-6.1において、PCIが正しいシーケンスで動作するようにPCIのPAD設定を変更
PCIのPAD設定が何か理解できておらず、ご教授いただきたいです。
Debian12,Linux-6.1を使用する場合、ブートローダーの書き換えは必須でしょうか?
リモートでのFW更新を検討しておりまして、ブートローダー書き換えに失敗した場合など、
復帰しないケースも考えれれるため、不要であれば避けたいところです。

また逆に以前のカーネルやDebian10のユーザーランドを入れている場合にブートローダーをat24に更新しても問題ないでしょうか。

②els31-utils (v1.2.1) LTE 未接続時に有線 LAN からインターネット接続できない問題修正
本件具体的な内容理解できてませんが不具合の改修で、
デフォルトの動作に変更ない認識で合ってますでしょうか?

以上、よろしくお願いいたします。

コメント

at_mitsuhiro.yoshida

2024年2月29日 10時12分

吉田です。

> ①ブートローダー (at24) Linux-6.1において、PCIが正しいシーケンスで動作するようにPCIのPAD設定を変更
> PCIのPAD設定が何か理解できておらず、ご教授いただきたいです。
> Debian12,Linux-6.1を使用する場合、ブートローダーの書き換えは必須でしょうか?

必須です。

ブートローダーを更新しない場合、PCIe デバイス(BT+WLAN コンボモジュール) への電源投入前にクロックを出力してしまいます。
これは PCIe デバイスの初期化シーケンスを満していません。

> また逆に以前のカーネルやDebian10のユーザーランドを入れている場合にブートローダーをat24に更新しても問題ないでしょうか。

はい、問題ありません。

> ②els31-utils (v1.2.1) LTE 未接続時に有線 LAN からインターネット接続できない問題修正
> 本件具体的な内容理解できてませんが不具合の改修で、
> デフォルトの動作に変更ない認識で合ってますでしょうか?

LTE を接続する前に有線 LAN を使用しようとした場合に有線 LAN 経由で通信出来ない
不具合の修正となります。
LTE の動作には影響がありません。

よろしくお願いします。

吉田さん
回答ありがとうございます。

必須とのことなので、安全に書き換える手段を検討しています。
u-bootはx1-bootloader-installを使って
uImage,dtbはemmcのパーティション1を直接書き換えると思いますが、
書き換えに失敗したらリカバリする(変更前のu-bootやuImage,dtbに戻す)ようなことプログラムで可能でしょうか?

以上、よろしくお願いいたします。

吉田さん
お世話になっております。
ブートローダーの整合性について追加で質問させてください。

>ブートローダーを更新しない場合、PCIe デバイス(BT+WLAN コンボモジュール) への電源投入前にクロックを出力してしまいます。
>これは PCIe デバイスの初期化シーケンスを満していません。

「ブートローダー」と「新ユーザーランド、新カーネル」の整合性が合わないのは、PCIe デバイス(BT+WLAN コンボモジュール) のみと認識でよいですか。
つまり、影響があるのはその組み合わせで起動したときの、BTやWifiのみに影響すると理解しましたがあってますでしょうか。
その場合、一時的にブートローダーを旧バージョン、ユーザランドとカーネルを新バージョンという状態で起動し、
起動後すぐにブートローダーを新バージョンに書き換えて再起動すると、問題ないのか知りたいです。

お忙しいところ申し訳ありませんが、ご教授のほどよろしくお願いいたします。

溝渕です。

> 「ブートローダー」と「新ユーザーランド、新カーネル」の整合性が合わないのは、PCIe デバイス(BT+WLAN コンボモジュール) のみと認識でよいですか。

上記ご認識で合っています。PCIe デバイスが未接続の場合はブートローダーの更新は不要です。

> その場合、一時的にブートローダーを旧バージョン、ユーザランドとカーネルを新バージョンという状態で起動し、
> 起動後すぐにブートローダーを新バージョンに書き換えて再起動すると、問題ないのか知りたいです。

PCIe デバイスが未接続の場合は上記の通りです。

PCIeデバイスが接続されている場合は、先にブートローダーを更新するか、カーネルと一緒に更新してください。

溝渕さん

回答誠にありがとうございます。
基本の整合性は理解いたしましたが何度もすみません、追加ご教授いただきたいです。

>PCIe デバイスが未接続の場合は上記の通りです。
>PCIeデバイスが接続されている場合は、先にブートローダーを更新するか、カーネルと一緒に更新してください。

本来望ましくないとは思いますが、遠隔アップデートの都合上、下記のシーケンスを検討しています。

■前提条件
u-boot,カーネル,ユーザランドが旧の状態とする
Wifiが有効になっている

■シーケンス

①ユーザーランドとカーネルを書き換え(旧→新)
②再起動
③ユーザランドとカーネルが新で起動
④u-bootを書き換え(旧→新)
⑤再起動
⑥すべて新で起動

②で再起動後、③のタイミングでは上記の整合性がNGとは思いますが、その後④を実施しって⑤、⑥で復帰して問題なくなるかを知りたいです。
上記のような一時的な不整合について問題あるか問題ないか分かりますでしょうか?

すみませんがよろしくお願いいたします。

溝渕です。

考え方としては、PCIeデバイスが接続されている場合に、u-bootとカーネルの整合性が取られていれば問題ありません。

> ■シーケンス
>
> ①ユーザーランドとカーネルを書き換え(旧→新)
> ②再起動
> ③ユーザランドとカーネルが新で起動
> ④u-bootを書き換え(旧→新)
> ⑤再起動
> ⑥すべて新で起動

カーネルと一緒にu-bootを書き換えていただくようご検討ください。

③の時点で古いu-bootと新しいカーネルで起動してしまいます。そうすると、PCIが正しいシーケンスで動作しません。

具体的には、PCIデバイスの電源よりも先に信号線をdriveしてしまいます。そうすると、PCIデバイスにダメージを与えたり、(電源の回り込みにより)おかしな挙動をする可能性があります。

①の時点で、u-bootを更新する事は不可能でしょうか?

溝渕様
回答誠にありがとうございます。

> ③の時点で古いu-bootと新しいカーネルで起動してしまいます。そうすると、PCIが正しいシーケンスで動作しません。
> 具体的には、PCIデバイスの電源よりも先に信号線をdriveしてしまいます。そうすると、PCIデバイスにダメージを与えたり、(電源の回り込みにより)おかしな挙動をする可能性があります。

デバイスに影響する可能性あればu-bootを先に、もしくは同時に更新しないといけませんね、承知いたしました。

> ①の時点で、u-bootを更新する事は不可能でしょうか?
運用上複雑になりそうですが検討いたします。

お忙しい中ありがとうございます。

溝渕です。

> 運用上複雑になりそうですが検討いたします。

お手数をお掛けして大変申し訳ございませんが、ご検討宜しくお願いいたします。