Armadilloフォーラム

動作ログの取り出し方について

koike3

2024年9月11日 15時28分

いつもお世話になっております。
koikeです。

マニュアルの「10.動作ログ」を拝見しつつ、現在、動作ログの取り出しを試みております。
/var/at-logにatlogファイルがあることは確認しております。

catコマンドで閲覧しようとすると、「armadillo NOTICE fsck_atlog: GP1 filesystem was broken, so it was moved to GP2.」というメッセージがでてしまいます。

/dev/mmcblk2gp2にatlogのデータが入っているという認識です。
しかし、ここをcatコマンドで閲覧しようとすると文字化けが発生しました。

SDカードから起動するという方法も試しましたが、そもそも/var/at-logにatlogというファイルが見当たりません。

何か方法はございますでしょうか。
よろしければご協力をお願いいたします。

コメント

at_dominique.m…

2024年9月11日 15時45分

koikeさん

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

> マニュアルの「10.動作ログ」を拝見しつつ、現在、動作ログの取り出しを試みております。
> /var/at-logにatlogファイルがあることは確認しております。

はい。

> catコマンドで閲覧しようとすると、「armadillo NOTICE fsck_atlog: GP1 filesystem was broken, so it was moved to GP2.」というメッセージがでてしまいます。

このメッセージは以下の意味です:
以前の起動で、/dev/mmcblk2gp1 をマウントできなかったか fsck が失敗していたので、
/dev/mmcblk2gp1 の内容をそのまま /dev/mmcblk2gp2 にコピーして、/dev/mmcblk2gp1 を作り直されました。

> /dev/mmcblk2gp2にatlogのデータが入っているという認識です。
> しかし、ここをcatコマンドで閲覧しようとすると文字化けが発生しました。

/dev/mmcblk2gp2 は fat ファイルシステムのままなので、そのまま読めません。
コピー後の新しいログは mmcblk2gp1 に保存して、通常の /var/at-log/atlog にありますので、それでよければそのファイルだけでいいかもしれません。

古いデーターを拝見したい場合は以下の手順でアクセスしてみてください:

# /dev/mmcblk2gp2 に操作する前にどこかにコピーします
dd if=/dev/mmcblk2gp2 of=/var/app/volumes/mmcblk2gp2_backup
# fsck を実行してみます
apk add dosfstools
fsck.vfat /var/app/volumes/mmcblk2gp2_backup
# mount してみて atlog を表示します
mount /var/app/volumes/mmcblk2gp2_backup /mnt
cat /mnt/atlog
umount /mnt

何かの問題でコピーされたので、おそらく何かのエラーがあると思います。
読めなかった場合は解析ツールなどが必要です(ひとまず strings か何かで表示してみてもいいかもしれません)

> SDカードから起動するという方法も試しましたが、そもそも/var/at-logにatlogというファイルが見当たりません。

SD カードの場合に gp パーティションがないので、at-log がありません。

よろしくお願いします。

ご回答ありがとうございます。

古いデータを閲覧したかったので、以下のコマンドを試してみました。

# /dev/mmcblk2gp2 に操作する前にどこかにコピーします
 dd if=/dev/mmcblk2gp2 of=/var/app/volumes/mmcblk2gp2_backup
# fsck を実行してみます
apk add dosfstools
fsck.vfat /var/app/volumes/mmcblk2gp2_backup
# mount してみて atlog を表示します
mount /var/app/volumes/mmcblk2gp2_backup /mnt
cat /mnt/atlog
umount /mnt

しかし、cat /mnt/atlog で試すと、相変わらず「GP1 filesystem was broken, so it was moved to GP2.」とでてしまいます。

at_dominique.m…

2024年9月11日 17時43分

koikeさん

> しかし、cat /mnt/atlog で試すと、相変わらず「GP1 filesystem was broken, so it was moved to GP2.」とでてしまいます。

それでしたら /dev/mmcblk2gp1 をコピーした時はすでに一度故障していたということだけです。それ以上のログは保存できてません。

fsck で何か修正されましたか?
ログやファイルの時刻を確認していただければ (時刻が設定されている場合)、/var/at-log/atlog と /mnt/atlog は別の日付になっているはずですが、頻繁に故障している場合に何か原因を調べた方がいいかもしれません。

基本的には atlog に書込みがないと故障しないですし、書込みが少ないはずですので、gp2 のログの最後の部分と gp1 の頭の時刻をくらべると何か分かるかもしれません。

よろしくお願いします

ご回答ありがとうございます。

fsckで修正をしたら、ファイルの更新日が今日になるという認識ですが、正しいでしょうか。
でしたら、ファイルの更新日は今日でなく、/mnt と /var/at-logで更新日に相違はありません。

そうなると、ログファイルを確認することはできなくなってしまうのでしょうか。

at_dominique.m…

2024年9月11日 18時35分

> fsckで修正をしたら、ファイルの更新日が今日になるという認識ですが、正しいでしょうか。
> でしたら、ファイルの更新日は今日でなく、/mnt と /var/at-logで更新日に相違はありません。

fsck でファイルの更新日が変わらないはずですが、u-boot で時刻が更新されてるかどうかは分かりませんので atlogファイル内の時間をみるといいと思います

> そうなると、ログファイルを確認することはできなくなってしまうのでしょうか。

すみません、この質問の意図が分かりません。
最新のログファイルは /var/at-log にマウントされている gp1 にあります。
gp1 に問題があった場合に gp2 にコピーされて、ご自分でマウントすれば前のファイルを確認できます。

ファイルとしては「atlog」に保存されていて、内容が 3MB を越えた場合に atlog.1 にリネームされます。

それ以外のログは残っていません。
両方の atlog ファイルに「GP1 filesystem was broken」のログ以外なければそれまでですが、これだけの内容ですぐ再びの故障が発生するのは異常だと思いますので、どうして故障と判断されたのが気になりますね…

例えば、一行を自分で足してみて再起動するとまたロテートされますか?

お手数をおかけしております。
ご回答ありがとうございます。

/var/at-log/atlogに1行足して、再起動すると、足した1行と「armadillo NOTICE fsck_atlog: GP1 filesystem was broken, so it was moved to GP2.」が表示されます。

at_dominique.m…

2024年9月12日 10時58分

koikeさん

マルティネです

> /var/at-log/atlogに1行足して、再起動すると、足した1行と「armadillo NOTICE fsck_atlog: GP1 filesystem was broken, so it was moved to GP2.」が表示されます。

確認ありがとうございます。
それでしたら少なくとも致命的な問題はなさそうですので、単純にそれっぽいログが入ってないだけだと思います。
atlog に記載されるのはバージョンアップデート、wdt による再起動と電源切断の後の起動のみなので、アップデートせずに起動するだけのであればログがなくても問題ないと思います。

また、ログの文書を確認したところ2023年7月のアップデートで変更されたので、少し古い OS で処理されました。
それ以降のバージョンにアップデートすると故障認識のコードが少し変わったので、それだけでパーティションの故障認識されなくなるかもしれません(fsck に必要な dosfstools は GPLv3 なので、それをインストールしないと fsck の確認を行わないようになりました。実際にマウントかファイルを読めない時だけが問題扱いになります)

よろしくお願いします