/etc/modules-load.d/ 및 /etc/modprobe.d에 항목이 제공되지 않으면 부팅 시 커널 모듈이 어떻게 로드됩니까?

/etc/modules-load.d/ 및 /etc/modprobe.d에 항목이 제공되지 않으면 부팅 시 커널 모듈이 어떻게 로드됩니까?

Ubuntu표시해주는 기계가 있어요

root@test:/etc# lsmod | tail
crypto_simd            16384  1 aesni_intel
net_failover           20480  1 virtio_net
cryptd                 24576  2 crypto_simd,ghash_clmulni_intel
drm                   622592  3 drm_kms_helper,cirrus
psmouse               176128  0
i2c_piix4              32768  0
virtio_blk             20480  1
failover               16384  1 net_failover
pata_acpi              16384  0
floppy                118784  0

/etc/modules-load.d그러나 위 모듈에는 또는 에 항목이 없습니다 /etc/modprobe.d.

내 질문은, 위 디렉토리에 항목이 없으면 이 모듈을 어떻게 로드할 수 있느냐는 것입니다.

답변1

일부 모듈은 다른 모듈이 이에 의존하기 때문에 로드됩니다. 귀하의 예에서는 필요하기 때문에 로드되고 필요하기 때문에 failover로드됩니다 . 목록의 네 번째 열은 이와 같은 종속성을 나타냅니다.net_failovernet_failovervirtio_netnet_failoverlsmod

하드웨어 정보가 펌웨어(예: ACPI 또는 DMI)에 의해 제공되거나 하드웨어가 자동으로 감지 가능한 경우(예: PCI/PCIe, USB 버스 또는 CPU 유형) 커널은 자동으로 해당 모듈을 로드할 수 있습니다.

다음 줄 다음에 sudo modprobe -c | less긴 시퀀스를 실행하고 찾습니다 .alias

# End of configuration files. Dumping indexes now:

기본적으로 커널 모듈에는 펌웨어 또는 버스별 자동 검색 메커니즘이 제공할 수 있는 식별자를 사용하여 지원하는 하드웨어를 설명하기 위해 별칭 정보가 내장되어 있습니다. 모듈 도구는 이 정보를 색인으로 수집하여 구성의 일부로 만듭니다 modprobe.

커널이 하드웨어를 조사한 후에는 펌웨어에서 제공한 정보나 하드웨어 자동 조사 결과를 사용하여 각 펌웨어 또는 버스 유형에 특정한 방식으로 형식화된 이름을 사용하여 모듈 로드 요청을 생성합니다. 나열된 별칭 중 하나가 커널에서 요청한 별칭과 일치하면 해당 모듈이 로드됩니다.

/etc/initramfs-tools/modules루트 파일 시스템을 마운트하기 전에 initramfs에 포함되고 로드되어야 하는 모듈 목록을 지정하는 데 사용할 수 있는 file 도 있습니다 .

귀하의 구체적인 경우:

  • crypto_simdaesni_intelCPU 유형별 자동 감지 별칭을 사용하여 로드할 수 있는 종속성으로 로드됩니다 .

  • cryptdcrypto_simd두 모듈 (위 참조) 에 의해 로드되어야 하며 ghash_clmulni_intel, 이는 CPU 유형별 자동 검색 별칭에 의해 로드될 수 있습니다.

  • GPU cirrus모듈은 PCI ID에 의해 자동으로 감지된 다음 종속성 drm_kms_helper으로 필요할 수 있습니다. 또한 에 대한 자체 종속성을 지정합니다 .drmdrm_kms_helperdrm

  • psmouse, ACPI 펌웨어 정보에 의해 자동으로 감지될 수 있습니다 pata_acpi.floppy

  • i2c_piix4PCI 장치 ID를 통해 자동으로 감지될 수 있습니다.

  • virtio_blkVirtIO 특정 감지 메커니즘에 의해 자동으로 감지될 수 있으며 virtio_netVirtIO는 virtio 버스 드라이버가 로드되면(또는 기본 커널에 내장된 경우) ACPI 정보 또는 PCI 장치 ID를 통해 자체적으로 감지될 수 있는 "가상 버스"를 정의합니다. , 사용 가능한 VirtIO 기능을 하이퍼바이저/호스트 OS에 쿼리하는 자체 방법이 있습니다. 쿼리에 대한 응답을 기반으로 커널이 요청되었으며 virtio_blk로드 virtio_net됩니다.

관련 정보