マイコンピュータはバッテリ駆動で、停電後も約1分間動作できます。後で再起動できるように、停電直後にディスクの一時停止をトリガーしたいと思います。 initrd(デフォルトのDevuan initrd)は、スワップパーティションで保留中の署名を探し、署名が見つかったら回復します。電源が完全に切れたらどうなるのかわかりません。執筆中スワップパーティションにデータを送信します。これは、バッテリーが故障しているかシステムが停止している場合に発生する可能性があります。システムは破損したスワップパーティションから回復しますか、それともスワップパーティションを無視しますか?私は2番目のオプションがより良いと思います。誤ってアンマウントされたファイルシステムは、破損したシステムよりも外観が優れています。
署名がスワップパーティションに書き込まれるかどうか後ろにまたは今後他のデータ?チェックサムを使用していますか?
答え1
明示的にS4またはS5状態(以下、簡略化のために「省電力状態」と呼ぶ)に入る前に電源を切ると、継続的な省電力状態がないため、スワップパーティションに部分的に埋められたデータは完全に無視されます。スワップパーティションとファイルも揮発性であるため、休止状態なしで再起動した後は、その中のデータは無視されます。
カーネルでは、休止状態からの再起動が設定によって要求され、休止状態platform_hibernation_ops->leave
から再開した場合にのみ呼び出されます。たとえば、S5 をサポートするほとんどの最新プラットフォームでは、再起動通知を設定します。
休止状態に入る前に電源が切れると(休止状態ファイルが完全に書き込まれる)、休止状態が再開するように構成されていないため、部分的に満たされたスワップ領域を使用して解放しようとすることはできません。したがって、カーネルが部分的にフル休止状態で再開しようとしていることを心配する必要はありません。