内核启动挂起 12 秒

内核启动挂起 12 秒

我的笔记本电脑

联想 ThinkPad X1 Extreme

# uname -sr
Linux 4.19.66-gentoo

活CD

系统救援光盘v6.0.3
内核:linux-4.19.34

dmesg

https://pastebin.com/Lt3ePJhu

[    0.651272] PCI: CLS 0 bytes, default 64
[   12.858422] DMAR: Host address width 39

CONFIG_DMAR_TABLE=n https://pastebin.com/2yCWGKSL

[    0.650203] PCI: CLS 0 bytes, default 64
[   12.881594] PCI-DMA: Using software bounce buffering for IO (SWIOTLB)

活CDhttps://pastebin.com/k36PrSUF

[    0.715791] PCI: CLS 0 bytes, default 64
[    0.715874] Unpacking initramfs...
[    4.514591] Freeing initrd memory: 39588K
[    4.565388] PCI-DMA: Using software bounce buffering for IO (SWIOTLB)

内核配置差异

sdiff -s <(zcat /mnt/usb/config-livecd.gz) <(zcat /proc/config.gz)

https://filebin.net/4g9c6bnlgur4o6ku/local-livecd.diff.gz

问题

我该如何进一步调查内核启动时 12 秒的延迟?

答案1

这是由于 initramfs 臃肿造成的,因为我已将所有 linux 固件都包含在内……

# du -hd0 /boot/initramfs.cpio
529M    /boot/initramfs.cpio

将其缩减为 70mb 后,initramfs 加载仅需 2 秒:

[    0.614545] PCI: CLS 0 bytes, default 64
[    2.640922] DMAR: Host address width 39

相关内容