システムクラッシュしたパッケージ版PiAwareを6.1へ手動ビルドインストール

投稿者: | 2021年12月29日

初代 Raspberry Pi で動く PiAware がシステムクラッシュ。破損ファイルが複数ある中、通常ならば新しいSDカードでのシステム再構築がセオリーなのですが、他にも様々なタスクを運用している機器なので、修復して問題なく使えるように 手動ビルド インストールしてみました。

システムクラッシュ後復帰しないPiAware

以前、PiAware 5.0へアップグレードした(パッケージ版)、初代Raspberry Piで運用しているADB-Sサイトに対して、メールでFeeder Offlineの警告通知を受け、Flight Awareのマイページで状況を確認するも、やはりオフラインのまま。

図1.マイADS-Bページもオフライン警告

図1.マイADS-Bページもオフライン警告

この機体は手の届く範囲にあるので、電源切入して強制再起動させると、一見問題なくシステムは動いているように見えて、PiAware関連は次のようなエラーが返って来てしまいます。

一度アンインストールしてから、6.1現行版をaptパッケージマネージャでインストールしてみますが、不具合は解消しません。

 

PiAwareパッケージビルドスクリプト

debパッケージをビルドするために必要な依存パッケージ類をインストールの上、FlightAware公式GitHubで公開されているPiAwareのソースファイルからビルド、インストールしてくれるシェルスクリプトが有志により公開されています(パッケージ版PiAware専用で、SDイメージ版への適用は絶対に不可)。

Raspberry Pi上に適当な作業フォルダを作成し、その中でバッチスクリプトをコピペで実行するだけで簡単なのですが、がっつりビルドするので非力な初代Raspberry Piでは1時間程度かかりました。

スクリプトは完走したものの、エラーハンドリングなどはされていないので、途中エラーでコケても構わず最後まで走り切るようになっています。上記の実行出力のうち、

と指摘されているところで、当該ファイルを開いてみると化け文字になっている部分がありました。始めのうちは正常なファイルを探して手作業で修正していましたが、次々と見つかる同様のエラーに完走の見込みが立たない状況に。

 

次回起動時に強制fsck

このようにビルドの過程で破損ファイルが多く見つかることや、コマンド入力履歴 .bash_history がセッション終了後に追記されないことから一旦ビルドを中断し、ファイルシステムの破損を疑って次回起動時の強制チェックを設定してみます。

まず、再起動時に fsck を強制する次のコマンドを入力して再起動するも、どうも fsck を実行せずに通常起動してしまう模様。

そこで起動オプションを記述する /boot/cmdline.txt に次のオプションを追記して(長くても改行入れず一行で)、再起動させました。

このオプションを有効にした状態では起動にだいぶ時間が掛かったので fsck してくれたようです。チェック後は少なくとも fsck.mode=force を消さないと、起動の度に fsck が走ることになり、時間が掛かるので注意が必要です。

 

次のページでは手動でのパッケージビルドで引き続き破損ファイルをこつこつ潰し、遂には復帰するPiAwareの新機能アダプティブゲインをチェックしてみます。

 

コメントを残す

メールアドレスが公開されることはありません。

CAPTCHA