내 커널이 initramfs를 사용하는지 어떻게 확인할 수 있나요?

내 커널이 initramfs를 사용하는지 어떻게 확인할 수 있나요?

내가 읽고있다데비안 위키의 Wake on LAN한 부분은 다음과 같이 말합니다.

커널이 initramfs 이미지(예: Debian 기본 커널)를 사용하는 경우 커널 초기화 램디스크를 다시 빌드 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.

관련 정보