Armadilloフォーラム

インストールディスクのU-Bootについて

tsato_814

2025年6月27日 14時42分

==========
製品型番:AGL3000-C13Z
Debian/ABOSバージョン:Debian GNU/Linux 12 (bookworm)(弊社入荷時)
カーネルバージョン:6.1.126-at13(弊社入荷時)
3G/LTE モジュール情報 (Debianのみ):ii els31-utils 2.0.0 all Utilities for Gemalto ELS31 on Armadillo board
その他:
==========

お世話になります。
佐藤と申します。長文失礼します。

現在当方では、Armadillo-G3Lを使用した、ゲートウェイ製品を生産しています。

生産に当たって、インストールディスクを使用して、お客様のソフトなどが搭載されたものに書き換えています。

https://armadillo.atmark-techno.com/news/software-errata/x1/20240328

上記Webページにある現象が発生したため、その対応を行おうとしています。
すなわち、U-Bootのバージョンがat24以前だったため、ウォッチドッグタイマにより、再起動が繰り返される現象が
発生しました。

このページに記載のように、ごくまれに発生するものであり、かつ個体依存のもののようで、実際に1002台中1台だけ
発生しています。その1台に関しては、必ず発生するようで、何度やっても再起動を繰り返します。

そのため、インストールディスクのU-Bootのバージョンを変更しようとしましたが、うまく行きませんでした
(下記 a) の場合。b) の場合はとりあえずうまく行きました)。

なお、上記に記載のバージョンは、弊社にG3Lが入荷した際のバージョンですが、参考までに、
本インストールディスクを使用してインストールした後は、下記の通りになります。
==========
Debian/ABOSバージョン:Debian GNU/Linux 10 (buster)(インストール後)
カーネルバージョン:4.9.133-at25(インストール後)
==========

a) インストールディスク作成時の方法

 G3Lの最新マニュアル(v3.3.2)=「armadillo-iotg-g3l_product_manual_ja-3.3.2.pdf」上では、P72~P74に
 なりますが、インストールディスクイメージ作成ツール「make_install_disk_image」を使用して、
 UBOOTに対応する引数を、試しに「u-boot-x1-at23.bin」にした場合と「u-boot-x1-at25.bin」にした場合で
 作成してみました。
 この引数は、あくまでもこれでできたインストールディスク用イメージファイルを書き込んで作成された
 イメージディスクを使用してインストールした結果の、G3LのeMMCから起動した場合のU-Bootを指定する
 ものであり、確かにそれぞれその通りに、at23/at25になったので、それについては問題ありません。

 ですが、インストールディスクを使用してのインストール時に、USB シリアル変換アダプタを接続して、
 コンソール出力表示により、インストールディスク自身のU-Bootのバージョンを確認した所、
 いずれもat20でした。
 すなわち、インストールディスク自身のU-Bootについては、この引数で指定することによるものでないことが
 確認されました。
 at20は何を参照して、どこから持ってきたのか。おそらく私のATDE環境によるものなのだろうかと思います。

 問題のG3L個体に関し、このインストールディスクを用いてインストールしようとしても、at20であることにより、
 再起動を繰り返し、インストールが進行しないため、インストール自体が実行できません。インストール後の
 eMMCのU-Bootがat25になるとしても、そもそもこの個体ではインストール自体ができない状況です。

 そこで、インストールディスクイメージ作成ツールを使用する場合、インストールディスク自身のU-Bootを
 指定する方法をご教示して頂きたく、お願い申し上げます。

b) インストールディスク自身のU-Boot領域を、あとから上書きする方法

 a) のやり方がわからなかったので、通常通りの方法で作成したインストールディスク自身のU-Boot領域を
 あとから上書きできないかやってみました。

 前述のWebページの下の方に書かれていた内容と、最新マニュアルのP150の「5.」項に記載の内容を参考に、
 下記の手順を実行しました。

  1) Linux環境を使用するために、何でもいいのでG3Lを用意し、eMMCから起動。
  2) u-boot-x1-at25.binを用意し、実行するディレクトリに置いておく。
  3) 書き換える前(U-Bootがat20)のインストールディスクのmicroSDを、USB接続SDカードリーダに挿入し、
    G3LのUSBポートに挿す。
  4) 「lsblk」コマンドで、microSDのデバイスがどれか確認する。
  5) 以下のコマンドを実行する。
   「sudo dd if=u-boot-x1-at25.bin of=/dev/sda bs=1k skip=1 seek=1」
   「sync」  (「sync」は不要かもしれませんが、念の為)

 これで書き換えは実行され、これを使用して、問題の個体に対しても、インストール完了しました。

 上述の手順は、あくまでも自己流のやり方ですので、このやり方で問題ないか、御社に保証して頂きたく、
 お願いする次第です。

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