MacBook Air 5.1의 Arch Linux에서 오류 메시지가 나타납니다.
DMAR-IR: [Firmware Bug]: ioapic 2 has no mapping iommu,
interrupt remapping will be disabled
시작할 때. 나는 그것에 아무런 문제가 없다고 보는데, 그게 뭐죠? 고칠 필요가 있나요? 필요한 경우 어떻게 수정하나요?
답변1
일반적으로 이 기능을 사용하면 커널이 BIOS에서 생성된 리매핑 테이블을 대체할 수 있습니다.
시스템 펌웨어 버그인 경우 Arch의 업데이트로 문제가 해결되지 않습니다. 플래시를 통해 시스템 펌웨어(BIOS/UEFI)를 업데이트해야 합니다. 저는 개인적으로 이것을 추천하지 않습니다. 하드웨어를 플래시하는 방법을 실제로 알고 있는 경우에만 이 작업을 수행해야 합니다.
"소프트" 방법은 커널 부팅 매개변수에서 인터럽트 재매핑을 비활성화하는 것입니다. intremap=off
문제가 있는 BIOS나 하드웨어를 가리킬 수 있는 커널 인터럽트 재매핑을 비활성화합니다.
먼저 구성을 살펴보십시오 cat /proc/cmdline
. 나중에 변경 사항을 보려면 복사하세요. 이제 /etc/default/grub
파일을 원하는 방향으로 복사하여 백업하세요. 재부팅 후에도 변경 사항이 유지되도록 하려면 /etc/default/grub
커널 옵션을 편집하여 해당 GRUB_CMDLINE_LINUX_DEFAULT
줄에 추가하십시오. 귀하의 경우에는 intremap=off
(""에 입력하세요) 입니다 . quiet
있으면 삭제할 수 있습니다. 저장 및 종료.
이제 grub.cfg 파일을 다시 생성합니다( 에 작성된 매개변수를 사용하여 생성됨 /etc/default/grub
).
sudo grub2-mkconfig -o /boot/grub2/grub.cfg
시스템을 다시 시작하면 오류가 사라집니다. 구성을 보는 데 사용하면 cat /proc/cmdline
변경 사항이 표시됩니다.
답변2
이 오류 메시지는 오류 상태를 나타내지 않습니다. 즉, 작동 문제를 일으키지 않습니다. 기본적으로 Linux는 IO-APIC 및 IOMMU가 있을 때 인터럽트 재매핑이 지원되어야 한다고 가정합니다. 그러나 이 하드웨어에서는 지원되지 않습니다. IO-APIC의 ID는 2이지만 IOMMU는 ID 0과만 일치합니다. Linux는 이러한 상황을 인지하고 인터럽트 재매핑을 적절하게 비활성화한 후 이 알림을 dmesg에 인쇄합니다.