f.shibusawa
2025年10月6日 14時34分
お世話になっております。
A9Eで、セットアップ機のクローンを作るためクローン用ディスクの作成・動作を確認しておりますが
クローン先の動作に問題があり現状上手くいっておりません。
具体的には、クローン先のA9EでSDブート後初回起動時の
podman-atmark | [ ok ]
[ ok ]
ECDSA ED25519
sshd | * Starting sshd ... [ ok ]
local | * Starting local ...
のlocalでOKが出ず一定時間経過でrebootをするがまたもOKが出ず、というのを繰り返してしまいます。
クローンディスクの生成方法ですが最新のBaseOSでなくbaseos-900-installer-3.21.3-at.14とし
ホストPC(Win機)からSCPでアルマジロA9E側のSDへZipを転送し
abos-ctrl make-installer --output /mnt/sdcard/baseos-900-installer-3.21.3-at.14.img
でクローン用のimgファイルを生成します。
このままではimgだけが生成されSDブートができないのでATDEで
atmark@atde9:/media/sf_share$ sudo dd if=master_makeinstaller.img of=/dev/sdb status=progress conv=fsync
とし、SDカードにimgファイルを焼きます。(imgは名前変えてあります)
そのあとSDカードをアルマジロA9EにセットしSDブートすると下記ログが出て書き込みOKとなります。
U-Boot SPL 2023.04-at5 (Jun 24 2025 - 07:28:34 +0000) Normal Boot ELE firmware version 1.0.0-344acb84 upower_apd_inst_isr: entry upower_init: soc_id=48 upower_init: version:11.11.13 upower_init: start uPower RAM service user_upwr_rdy_callb: soc=b user_upwr_rdy_callb: RAM version:12.17 Turning on switches... Turn on switches ok Turning on memories... Turn on memories ok Clearing DDR retention... Clear DDR retention ok drive: OD SEC0: RNG instantiated WDT: Started m33-at-wdt with servicing every 1000ms (60s timeout) Trying to boot from BOOTROM Boot Stage: Primary boot image offset 0x8000, pagesize 0x200, ivt offset 0x0 Load image from 0x5a400 by ROM_API NOTICE: BL31: v2.8(release):2023.04-at5 NOTICE: BL31: Built : 07:28:34, Jun 24 2025 NOTICE: upower_init: start uPower RAM service NOTICE: user_upwr_rdy_callb: soc=b NOTICE: user_upwr_rdy_callb: RAM version:12.17 I/TC: I/TC: Non-secure external DT found I/TC: OP-TEE version: 2023.04-at5 (gcc version 10.2.1 20210110 (Debian 10.2.1-6)) #1 Tue Jun 24 07:28:34 UTC 2025 aarch64 I/TC: Primary CPU initializing I/TC: Primary CPU switching to normal world boot U-Boot 2023.04-at5 (Jun 24 2025 - 07:28:34 +0000) M33 Sync: OK CPU: i.MX8ULP(Dual 5) rev1.2 at 800MHz CPU current temperature: 25 Reset cause: POR Boot mode: Single boot Model: Atmark-Techno Armadillo-900 DRAM: Hold key pressed for tests: t (fast) / T (slow) 992 MiB Disabled RTC alarm Core: 52 devices, 24 uclasses, devicetree: separate WDT: Started m33-at-wdt with servicing every 1000ms (60s timeout) MMC: FSL_SDHC: 0, FSL_SDHC: 2 Loading Environment from MMC... OK In: serial Out: serial Err: serial SEC0: RNG instantiated switch to partitions #0, OK mmc2 is current device flash target is MMC:2 Net: eth0: ethernet@29950000 Fastboot: Normal Normal Boot Hit any key to stop autoboot: 0 switch to partitions #0, OK mmc2 is current device 23190016 bytes read in 2834 ms (7.8 MiB/s) Booting from mmc ... 40011 bytes read in 39 ms (1001 KiB/s) Loading fdt boot/armadillo.dtb Working FDT set to 83000000 Failed to load 'boot/overlays.txt' ## Flattened Device Tree blob at 83000000 Booting using the fdt blob at 0x83000000 Working FDT set to 83000000 Using Device Tree in place at 0000000083000000, end 000000008304cfff Working FDT set to 83000000 Delete node /soc@0/bus@2d800000/epdc@2db30000 Delete node /soc@0/bus@2d800000/epxp@2db40000 Starting kernel ... I/TC: Secondary CPU 1 initializing I/TC: Secondary CPU 1 switching to normal world boot [ 0.161819] fsl-edma-v3 29010000.dma-controller: Can't get mp clk. [ 0.311127] i.MX clk 10: register failed with -19 [ 0.311148] i.MX clk 11: register failed with -19 [ 0.324157] clk: failed to reparent lpuart4 to frosc_div2: -16 I/TC: Reserved shared memory is enabled I/TC: Dynamic shared memory is enabled I/TC: Normal World virtualization support is disabled I/TC: Asynchronous notifications are disabled Starting image installer script Erasing eMMC data... ok Writing rootfs image... ok Writing boot loader... ok Copying firm partition... ok Preparing app partition... ok Finishing installation... At subvol volumes At subvol boot_volumes At subvol boot_containers_storage Opening filesystem to check... [1/8] checking log skipped (none written) [2/8] checking root items [3/8] checking extents [4/8] checking free space tree [5/8] checking fs roots [6/8] checking csums against data [7/8] checking root refs [8/8] checking quota groups skipped (not enabled on this FS) Checking filesystem on /dev/mmcblk0p5 UUID: 9d24d17d-9e69-44b1-a182-9cd578b8ddbf found 655618048 bytes used, no error found total csum bytes: 560636 total tree bytes: 81526784 total fs tree bytes: 78872576 total extent tree bytes: 1900544 btree space waste bytes: 10735769 file data blocks allocated: 574091264 referenced 574091264 Finished writing mmc. powering off now
順序など誤っている点ありますでしょうか。原因・対策などあればご教示お願いします。
==その他の情報========
製品:アルマジロA9E
U-Boot 2023.04-at5 (Jun 24 2025 - 07:28:34 +0000)
armadillo:~# cat /etc/atmark-release
3.21.3-at.14
armadillo:~# uname -r
5.10.238-0-at
armadillo:~# cat /etc/sw-versions
base_os 3.21.3-at.14
boot 2023.4-at.5
armadillo:~# cat /opt/firmware/etc/imxlib_version
2.2.0-3
==========
コメント
f.shibusawa
> f.shibusawa さん
>
> お世話になっています、
> マルティネです。
>
> > 順序など誤っている点ありますでしょうか。原因・対策などあればご教示お願いします。
>
> 手順はこれで問題ないと思います。
>
> Armadillo A9E の 3.21.3-at.14 では local のスクリプトを一切提供していないですが、なにか追加しましたか?
> /etc/local.d/*.start
に該当するファイルがあれば起動時に実行されて、
> そちらがハングしている可能性が高いと思いますが、
> スクリプトを追加した場合はそちらの確認をお願いします。
> 分からなかった場合は見せてほしいです(オープンなフォーラムで共有したくない場合は言ってください)
>
> スクリプトなければハングしているログを電源投入から添付ファイルで提供していただければ幸いです。
>
>
> また、本件と関係ありませんが、クローン先の頂いたログの一部では「ECDSA ED25519」が表示されています。
> これは sshd の host 鍵の生成メッセージに見えますが、本来でしたら make-installer で鍵を排除してインストーラー時に生成するようにしています。
> make-installer 実行前に削除すると、こう言うふうに起動するたびに鍵を生成しますので、起動時間が長くなりますし、起動毎に鍵が変わりますのでホストの確認はできなくなります。
> そちらの動作は意図的に狙ってない場合は make-installer 時の鍵を残してください(ssh-keygen -A && persist_file -r /etc/ssh
で再生成できます)
>
> よろしくお願いします
>
ご回答ありがとうございます。
下記スクリプトを作成しており、毎回起動時に自動実行するようにしております。
armadillo:~# nano /etc/local.d/10-gen-imsi.start
*************************
#!/bin/sh
# Generate IMSI file at boot time with retry and simple reboot guard
# ===== Constants =====
MAX_RETRIES=30 # number of retries per boot
RETRY_INTERVAL=1 # seconds between retries
WAIT_BEFORE_REBOOT=60 # requested wait time before reboot if still failing (example)
# ===== Enforce minimum reboot wait (>=180s) =====
if [ "$WAIT_BEFORE_REBOOT" -lt 180 ]; then
WAIT_BEFORE_REBOOT=180
fi
# ===== Main =====
i=0
while [ $i -lt $MAX_RETRIES ]; do
SIM_PATH=$(mmcli -m $(mm-modem-num) 2>/dev/null | awk -F': ' '/primary sim path/ {print $2}')
if [ -n "${SIM_PATH:-}" ]; then
IMSI=$(mmcli -i "$SIM_PATH" 2>/dev/null | awk '/imsi:/ {print $NF}')
if [ -n "${IMSI:-}" ]; then
mkdir -p /run/imsi
echo -n "$IMSI" > /run/imsi/IMSI.txt
echo "IMSI ready: $IMSI"
exit 0
fi
fi
i=$((i+1))
sleep $RETRY_INTERVAL
done
# Failed after retries → wait and reboot
echo "IMSI not ready after $MAX_RETRIES tries."
echo "Waiting $WAIT_BEFORE_REBOOT seconds then rebooting..."
sleep $WAIT_BEFORE_REBOOT
reboot
*************************
たしかに、上記はまだ動作が不安定なところがあり
そこが原因かもしれないということですね。
よろしくお願いいたします。
at_dominique.m…
マルティネです。
> たしかに、上記はまだ動作が不安定なところがあり
> そこが原因かもしれないということですね。
そうですね、再起動するとおっしゃってましたので、こちらのスクリプトの可能性が高いと思います。
参考になるかわかりませんが、デバッグ案としては:
* echo メッセージをただの echo ではなく、 echo > /dev/console 等で見えるところに出力できます
* 関数を設定してバックグラウンドで実行すると login 画面まで進みますので、待つ間に情報を確認するにはいいかもしれません
以下の通りでできると思います
run() { mmcli ... } run &
また、本件の最終的な原因かどうかがわかりませんが、今の ModemManager のバージョンではインストール直後でまだ APN等が設定されなかった個体にインストールすると接続に時間かかる問題があります(APNを設定した後に ModemManager のプロセスが落ちてリスタートされます)
今月のアップデートで修正予定ですが、よろしければ https://armadillo.atmark-techno.com/forum/armadillo/27067#comment-21317 に案内した手順で確認できます(make-installer前に実行すればインストール先にも反映されます)
よろしくお願いします
f.shibusawa
> マルティネです。
>
> > たしかに、上記はまだ動作が不安定なところがあり
> > そこが原因かもしれないということですね。
>
> そうですね、再起動するとおっしゃってましたので、こちらのスクリプトの可能性が高いと思います。
>
> 参考になるかわかりませんが、デバッグ案としては:
> * echo メッセージをただの echo ではなく、 echo > /dev/console 等で見えるところに出力できます
> * 関数を設定してバックグラウンドで実行すると login 画面まで進みますので、待つ間に情報を確認するにはいいかもしれません
> 以下の通りでできると思います
>
> run() { > mmcli ... > } > > run & >
>
>
> また、本件の最終的な原因かどうかがわかりませんが、今の ModemManager のバージョンではインストール直後でまだ APN等が設定されなかった個体にインストールすると接続に時間かかる問題があります(APNを設定した後に ModemManager のプロセスが落ちてリスタートされます)
> 今月のアップデートで修正予定ですが、よろしければ https://armadillo.atmark-techno.com/forum/armadillo/27067#comment-21317 に案内した手順で確認できます(make-installer前に実行すればインストール先にも反映されます)
>
> よろしくお願いします
ご回答ありがとうございます。
問題となっているLocalスクリプトですが、一旦echoのみのスクリプトとした所
SDブート後のeMMC起動で正常にログインまでいけることを確認いたしました。
また、persist_fileの内容が反映されていることも確認いたしました。
これによりLocalスクリプトの挙動に問題があると断定できました。Localスクリプトの課題解消後、再度検証を行いたいと思います。
この度はありがとうございました。
at_dominique.m…
2025年10月6日 15時08分
f.shibusawa さん
お世話になっています、
マルティネです。
> 順序など誤っている点ありますでしょうか。原因・対策などあればご教示お願いします。
手順はこれで問題ないと思います。
Armadillo A9E の 3.21.3-at.14 では local のスクリプトを一切提供していないですが、なにか追加しましたか?
/etc/local.d/*.start
に該当するファイルがあれば起動時に実行されて、そちらがハングしている可能性が高いと思いますが、
スクリプトを追加した場合はそちらの確認をお願いします。
分からなかった場合は見せてほしいです(オープンなフォーラムで共有したくない場合は言ってください)
スクリプトなければハングしているログを電源投入から添付ファイルで提供していただければ幸いです。
また、本件と関係ありませんが、クローン先の頂いたログの一部では「ECDSA ED25519」が表示されています。
これは sshd の host 鍵の生成メッセージに見えますが、本来でしたら make-installer で鍵を排除してインストーラー時に生成するようにしています。
make-installer 実行前に削除すると、こう言うふうに起動するたびに鍵を生成しますので、起動時間が長くなりますし、起動毎に鍵が変わりますのでホストの確認はできなくなります。
そちらの動作は意図的に狙ってない場合は make-installer 時の鍵を残してください(
ssh-keygen -A && persist_file -r /etc/ssh
で再生成できます)よろしくお願いします