私のカーネルがinitramfsを使用していることをどのように確認できますか?

私のカーネルがinitramfsを使用していることをどのように確認できますか?

私が読んでいるDebian WikiのWake on LANある部分は次のように言います。

カーネルがinitramfsイメージ(Debianベースのカーネルなど)を使用している場合は、カーネル初期化RAMディスクを再構築update-initramfs -u(または必要に応じて)することもできます。update-initramfs -u -k all

私のカーネルがinitramfsを使用していることをどのように確認できますか?

LMDE v2、64ビット、Mateをインストールしました。

答え1

簡潔ですが、mikeservは本質的に正確です。 Linuxはinitramfs2.6日から始まり、長い間使用されてきました。 GRUBを使用している場合(デフォルトのLMDEがインストールされていると仮定するとGRUBを使用します)、次の点を確認してください/boot/grub/grub.cfg

$ grep initr /boot/grub/grub.cfg 
    initrd  /boot/initrd.img-3.13.0-53-generic
    initrd  /boot/initrd.img-3.13.0-53-generic
    initrd  /boot/initrd.img-3.13.0-52-generic
    initrd  /boot/initrd.img-3.13.0-52-generic
    initrd  /boot/initrd.img-3.13.0-24-generic
    initrd  /boot/initrd.img-3.13.0-24-generic

名前にもかかわらず、initrdこれはアーカイブなので、CPIOでアーカイブしてテストinitramfsできます。initramfs

$ file - < /boot/initrd.img-3.13.0-24-generic
/dev/stdin: gzip compressed data, from Unix, last modified: Tue Sep 30 20:07:43 2014
$ gunzip < /boot/initrd.img-3.13.0-24-generic | file -
/dev/stdin: ASCII cpio archive (SVR4 with no CRC)

(画像名はinitramfsディストリビューションによって異なります。たとえば、Arch Linuxでは単にと呼ばれますinitramfs-linux.img。)

答え2

ほとんどすべての Linux デスクトップは LMDE v2 を含む少なくともデフォルト設定で initramfs を使用し、initramfs 機能はカーネルに組み込まれています。

一部のオペレーティングシステム(Slitazなど)および多くの組み込みシステムオペレーティングシステム(OpenWRTなど)はinitramfsイメージを使用せず、カーネルブートパラメータを介して起動プロセス中にinitramfsイメージをスキップしますnoinitrd。ブートローダ(GRUB)メニューから確認するか、起動後に実行して確認できます。

cat /proc/cmdline単語が表示されている場合は、noinitrdinitramfsイメージを使用しません。noinitrd言葉が見えない確率はほぼ100%です。

答え3

起動中にinitramfs(またはその問題に対して)使用されている場合、ログにはinitrd多くの関連項目が必要です。initrd

私のボックスの例Arch Linux

$ sudo dmesg -T | grep "initrd"
[Tue Feb 15 12:58:58 2022] Freeing initrd memory: 31360K

または以下を使用してください。journalctl

$ journalctl -b --no-hostname | grep "initrd"                                                                                                                                                                                                                                                                                                                          
Feb 15 12:58:22 kernel: Freeing initrd memory: 31360K
Feb 15 12:58:29 systemd[1]: initrd-parse-etc.service: Deactivated successfully.
Feb 15 12:58:29 systemd[1]: initrd-cleanup.service: Deactivated successfully.
Feb 15 12:58:29 systemd[1]: initrd-udevadm-cleanup-db.service: Deactivated successfully.
Feb 15 12:58:30 systemd[1]: initrd-switch-root.service: Deactivated successfully.
Feb 15 13:00:00 systemd[1]: Startup finished in 16.502s (firmware) + 5.955s (loader) + 751ms (kernel) + 7.451s (initrd) + 1min 30.238s (userspace) = 2min 900ms.

関連情報