私は自分自身のinitスクリプトを実行する独自のinitramfsを持っています。いくつかのタスクを実行したら、最後にswitch_rootを呼び出し、/ mntにマウントされたシステムのinitスクリプトを実行します。
今私は欲しいinitramfsの初期化スクリプトに戻るLinuxがシャットダウンしたとき(Linuxのinitスクリプトがシャットダウン)
ただし、 を呼び出しているため、exec switch_root /mnt /blah/init
Linux が終了するとスクリプトは終了します。しかし、その後initramfsで何かをしたいのですが、それは不可能です。
chroot /mnt
代わりに、私ができることは、switch_root ...
Linuxが終了したときにinitスクリプトに戻ることです。ただし、これには一部のアプリケーション(netctlなど)がchrootシステム内で呼び出されるため、操作を拒否するという不快な副作用があります。
だから私は必要ですswitch_root
システムに入り、最終的にinitramfsに戻る方法です。
ベストアンサー1
pivot_root
代わりにそれを行うことができますswitch_root
(これを行うと、すべてが削除されます!)。
初期化システムが存在しないと文句を言わない場合は、pid 1
おそらく完了です。
別の解決策は、初期化システムをpivot_root
それ自体で十分に良くすることです。これを何と呼びますか? RAMFを閉じますか?これはinitramfsとは何の関係もありませんが、シャットダウンや他のタスクを実行できるのと同じ原理です。
終了時に何もする必要がほとんどないので、標準ソリューションがないと思います。