new_bee
2025年6月25日 14時32分
==========
製品型番:AG6221-C01Z
Debian/ABOSバージョン:3.19.1-at.3.20240527
カーネルバージョン:5.10.237-0-at
3G/LTE モジュール情報 (Debianのみ):
その他:SDBOOT
==========
アットマークテクノ様
いつもお世話になっております。
起動時に以下が発生し正常に起動できなくなってしまいました。
Bus error
BusyBox v1.36.1 (2024-05-21 13:57:33 UTC) multi-call binary.
Usage: findfs LABEL=label or UUID=uuid
Find a filesystem device based on a label or UUID
ERROR: Could not find what partition linux booted from to guess what to flash
ログイン自体はでき手動でアドレスを割り振ればABOSwebにアクセス等ができる状況です。
出来れば復旧させたいと考えておりますが最悪NodeRedで作成していたコンテナさえSWUイメージ等で救出できれば
再度SDカードにBootイメージを作成して構築し直そうと考えています。
方法がもしございましたらご教授いただけると助かります。
コメント
new_bee
マルティネ様
お世話になっております。
> 1. 上記のメッセージ以外は Armadillo が起動していてログインはできますが、ネットワーク設定等は自動的にできていないということですね。
間違いありません。
/etc/NetworkManagerに設定ファイルが残っている状態ですが自動的にできない
ip link set eth0 up udhcpc -i eth0
にて自動接続し直すとABOSWebにもNode.Redコンテナにも接続できるようになります。
> 2. 上記のエラーでは確信してないですが、「swupdate -g」コマンドを実行すると 「Bus error」で失敗する、ということでしょうか?コンソールから実行して確認していただければ幸いです。
armadillo:~# swupdate -g
Bus error
失敗しました
> それでしたらシステムが起動している rootfs が故障(データ化け)されてると思いますが、どこまで壊れているかによっては復帰が難しいかもしれません。
> コンテナに関してはどうでしょうか? Node-Red が起動されてますか ? podman image list で確認できてますか?
node.red以外にも複数コンテナがありますが軽く確認しましたが問題なく起動してそうです。
自動取得したIPアドレスでwebserverやftpサーバも接続できました。
> 3. コンテナのデータは btrfs ですので scrub してそちらのデータ化けの確認もお願いします(btrfs コマンドを実行できれば)
armadillo:~# btrfs scrub start /var/app/volumes/
Bus error
Bus error が返って実行できませんでした。
お手数ですがご確認の程宜しくお願い致します。
> お世話になっています、
> マルティネです。
>
> > 起動時に以下が発生し正常に起動できなくなってしまいました。
> > Bus error
> > BusyBox v1.36.1 (2024-05-21 13:57:33 UTC) multi-call binary.
> >
> > Usage: findfs LABEL=label or UUID=uuid
> >
> > Find a filesystem device based on a label or UUID
> > ERROR: Could not find what partition linux booted from to guess what to flash
> >
> > ログイン自体はでき手動でアドレスを割り振ればABOSwebにアクセス等ができる状況です。
> > 出来れば復旧させたいと考えておりますが最悪NodeRedで作成していたコンテナさえSWUイメージ等で救出できれば
> > 再度SDカードにBootイメージを作成して構築し直そうと考えています。
>
> まず状況を確認させてください。
>
> 1. 上記のメッセージ以外は Armadillo が起動していてログインはできますが、ネットワーク設定等は自動的にできていないということですね。
> 2. 上記のエラーでは確信してないですが、「swupdate -g」コマンドを実行すると 「Bus error」で失敗する、ということでしょうか?コンソールから実行して確認していただければ幸いです。
> それでしたらシステムが起動している rootfs が故障(データ化け)されてると思いますが、どこまで壊れているかによっては復帰が難しいかもしれません。
> コンテナに関してはどうでしょうか? Node-Red が起動されてますか ? podman image list で確認できてますか?
> 3. コンテナのデータは btrfs ですので scrub してそちらのデータ化けの確認もお願いします(btrfs コマンドを実行できれば)
>
> # scrub 開始コマンド > armadillo:~# btrfs scrub start /var/app/volumes/ > scrub started on /var/app/volumes/, fsid 4a3dfe94-165e-4060-9610-e3a493c700a7 (pid=20186) > Starting scrub on devid 1 > # 終了するまで確認する > armadillo:~# btrfs scrub status /var/app/volumes/ > UUID: 4a3dfe94-165e-4060-9610-e3a493c700a7 > Scrub started: Wed Jun 25 14:54:54 2025 > Status: finished > Duration: 0:00:03 > Total to scrub: 688.50MiB > Rate: 229.50MiB/s > Error summary: no errors found >
>
>
> 状況によって具体的な復帰または理インストールの手順を案内します。
>
> よろしくお願いします
at_dominique.m…
早速のご確認ありがとうございます。
> /etc/NetworkManagerに設定ファイルが残っている状態ですが自動的にできない
了解です。swupdate も btrfs も Bus error で実行できない状態になってますので、他のバイナリも同様に実行できない可能性が高いです。
コマンドを実行できるかどうかがわからない状態ですと復帰が難しいと思いますので、SD boot を利用しているとのことですので SD カードを ATDE に接続して操作できますでしょうか?
ATDE からコンテナイメージを取得して SWU に保存し直すことは可能で一番確実ですので、できればベストだと思っています。
手順の準備に少し時間をいただきますが明日また返事します。
ATDE でマウントできなかった場合はロールバックのパーティションを利用できる可能性はありますが、故障の原因がわからないとコンテナデータのバックアップを先に実施するべきだと思いますので ATDE で SWU を作って初期化状態からインストールし直した方がいいと考えています。
よろしくお願いします。
at_dominique.m…
お待たせしました。
以下の方法で ATDE からのコンテナ救出を確認できましたので、案内します。
何かわからない点があれば実行する前に聞いてください。
* まずは、Armadillo 起動中で、どの面を起動しているかを確認してください。
本来でしたら起動時の「abos-ctrl status」で表示されますが、エラーで利用できないコマンドなので 「cat /proc/cmdline」で確認してください。 root=/dev/mmcblk0p1 か mmcblk0p2 が記載されるはずですが、最後の p1 か p2 を覚えておいてください。
* Armadillo を停止して、SD カードを ATDE に接続してください。SDカードの名前を確認してください(/dev/sdb等)
コンテナのデータは第5パーティションに入ってますので、 /dev/sdb5 をマウントします:
ATDE$ sudo mount /dev/sdb5 /mnt ATDE$ ls /mnt boot_0 boot_1 tmp volumes
上記から、起動していた面は p1 の場合は boot_0 と volumes, 起動していた面は p2 の場合は boot_1 と volumes をコピーします。
containers_storage ディレクトリもあればそれもコピーします(abos-ctrl podman-storage --disk の場合のコンテナイメージ領域です)
ここで、SD カードの使用容量によってコピー先を考える必要があるかもしれません… df -h
等で確認してください。
(ちなみに scrub は不要です、ここでデータを読み取ることでチェックされます。エラーある場合はコピーが失敗しますので、エラーを無視するマウントオプションで「それでも取れるデータをコピーする」ながれになりますが、必要でないことを期待します)
以下で使用容量が ATDE のホームディレクトリにコピーできる想定しますが、一時保存用のディスクを追加するなどの対応が必要かもしれません。
# 保存先のディレクトリを作ります。下記で利用します ATDE$ mkdir ~/recovery # boot_0 か boot_1 を適切に入れ替えてください # コンテナをリストします ATDE$ sudo podman --root /tmp/empty --storage-opt additionalimagestore=/mnt/boot_0/containers_storage/ image list REPOSITORY TAG IMAGE ID CREATED SIZE R/O docker.io/library/alpine latest 2abc5e834071 3 weeks ago 8.81 MB true # コンテナをイメージファイルとして保存します ATDE$ sudo podman --root /tmp/empty --storage-opt additionalimagestore=/mnt/boot_0/containers_storage/ image save -m -o ~/recovery/images.tar docker.io/library/alpine:latest [各イメージをすべてリストする] # コンテナ以外のデータを tar に保存します。 ATDE$ sudo tar -C /mnt/volumes -c . | zstd -10 > ~/recovery/volumes.tar.zst ATDE$ sudo tar -C /mnt/boot_0/volumes -c . | zstd -10 > ~/recovery/rollback_volumes.tar.zst
以上、appfs からのデータを読み取れました。コンテナコンフィグもあれば以下ですくいます
ATDE$ sudo umount /mnt ATDE$ sudo mount /dev/sdb1 /mnt # p2 を起動していた場合は sdb2 ATDE$ cp -r /mnt/etc/atmark/containers ~/recovery/ ATDE$ sudo umount /mnt
次は desc ファイルに SWU に必要な情報を書きます
ATDE$ vi ~/recovery/recovery.desc swdesc_option component=recovery version=1 swdesc_embed_container images.tar swdesc_tar --dest /var/app/volumes volumes.tar.zst swdesc_tar --dest /var/app/rollback/volumes rollback_volumes.tar.zst swdesc_files --extra-os --dest /etc/atmark/containers containers ATDE$ mkswu ~/recovery/recovery.desc Warning: /var/app/volumes をアップデートしているようです。 アップデート中に /var/app/volumes を使用すると故障の恐れがありますので、 代わりに /var/app/rollback/volumes をご利用ください。 recovery.swu を作成しました。
以上、recovery.swu をインストールすればコンテナが前の状態でインストールされるはずです。
ややこしい手順で申し訳ないですが、何か疑問か問題あれば聞いてください。
よろしくお願いします。
at_dominique.m…
2025年6月25日 14時56分
お世話になっています、
マルティネです。
> 起動時に以下が発生し正常に起動できなくなってしまいました。
> Bus error
> BusyBox v1.36.1 (2024-05-21 13:57:33 UTC) multi-call binary.
>
> Usage: findfs LABEL=label or UUID=uuid
>
> Find a filesystem device based on a label or UUID
> ERROR: Could not find what partition linux booted from to guess what to flash
>
> ログイン自体はでき手動でアドレスを割り振ればABOSwebにアクセス等ができる状況です。
> 出来れば復旧させたいと考えておりますが最悪NodeRedで作成していたコンテナさえSWUイメージ等で救出できれば
> 再度SDカードにBootイメージを作成して構築し直そうと考えています。
まず状況を確認させてください。
1. 上記のメッセージ以外は Armadillo が起動していてログインはできますが、ネットワーク設定等は自動的にできていないということですね。
2. 上記のエラーでは確信してないですが、「swupdate -g」コマンドを実行すると 「Bus error」で失敗する、ということでしょうか?コンソールから実行して確認していただければ幸いです。
それでしたらシステムが起動している rootfs が故障(データ化け)されてると思いますが、どこまで壊れているかによっては復帰が難しいかもしれません。
コンテナに関してはどうでしょうか? Node-Red が起動されてますか ? podman image list で確認できてますか?
3. コンテナのデータは btrfs ですので scrub してそちらのデータ化けの確認もお願いします(btrfs コマンドを実行できれば)
状況によって具体的な復帰または理インストールの手順を案内します。
よろしくお願いします