停電時のLinuxシャットダウントリガー

停電時のLinuxシャットダウントリガー

私は書き込み完了時間を提供し、外部電源が切断されたときにファイルシステムの損傷を防ぐスーパーキャパシタハードウェアを含む組み込みLinuxシステム(現在Angstromを実行しています)を持っています。アーキテクチャはARMで、SOCはFreescale iMX6Qです。

外部電源の存在を監視するGPIO入力があります。

停電処理のためにこの入力を既存のロジックに接続する最善の方法は何ですか?SIGPWR実行中のすべてのプロセスに直接ブロードキャストする必要がありますか?ただsystemd?に何かを書きますか/dev/initctl?カーネル自体を送信するには別の作業を行う必要がありますかSIGPWR

デバイスツリーで設定できるハードウェア停電入力の既存のメカニズムはありますか?それともsysfs gpioファイルをポーリングするユーザーモードデーモン(優先順位が高い)が最善のアプローチですか?

この以前の質問バッテリーバックアップの利点は指摘されていますが、リフレッシュコードを書くときに停電経路をトリガーする方法について詳しく説明せずに、「十分に長時間電源を入れること」で停止してください。 (差し迫った停電のため、システムは通常のプロセスの終了に時間を浪費しないでください。データの整合性を保護するための作業のみを実行する必要があります。特にログの終了操作は、更新を含む書き込み中に破損の可能性が高くなるため避けてください。最悪の条件で摩耗平準化データを取得します。 議論する.)

ベストアンサー1

おすすめ記事