구성을 수정한 후에도 Arch Linux는 "로드 버전 240" 상태로 유지됩니다.

구성을 수정한 후에도 Arch Linux는 "로드 버전 240" 상태로 유지됩니다.

가상 머신에서 GPU 패스스루가 작동하도록 하려고 합니다. 나는 이 영상을 팔로우하고 있다https://www.youtube.com/watch?v=6FI31QDtyy4. 제가 영상에서 한 것과 그가 영상에서 한 것의 차이점은 mkinitcpio 구성의 모듈입니다. 영상이 약간 오래되었기 때문에 대신 "MODULES=(vfio_pci vfio vfio_iommu_type1 vfio_virqfd)"를 사용했습니다.

그래서 내가 한 일은

  • grub 매개변수에 intel_iommu=on 추가
  • 내 시스템이 IOMMU를 지원하는지 확인하기 위해 'dmesg | grep -e DMAR -e IOMMU'를 실행했습니다.
  • vfio.conf에 "옵션 vfio-pci ids=10de:10f0,10de:1b81"을 추가합니다.
  • 위와 같이 mkinitcpio.conf를 수정합니다.
  • "mkinitcpio -p linux"를 실행하세요.
  • qemu.conf 수정(관련이 없을 수도 있음)
  • "systemctl 활성화 --now libvirtd" 및 "systemctl 활성화 virtlogd.socket"을 실행합니다.
  • 재부팅하고 Windows 10으로 돌아왔습니다(이중 부팅이 아닙니다. USB 스틱에서 Arch를 실행 중입니다(라이브 USB 아님))(가상 머신 추가를 시도했지만 ntfs-3g를 수행하지 않았기 때문에 실패했습니다).
  • Windows 10에서 돌아와 fstab에 "UUID=061A04D11A04C023 /media/Data/ntfs-3g defaults 0 0"을 추가했습니다.
  • /etc/default/grub의 'GRUB_CMDLINE_LINUX_DEFAULT="quiet"'를 'GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on"'으로 변경합니다.
  • 재부팅하고 "버전 240 로드 중"에서 멈춤(매개변수에서 intel_iommu=on을 제거하면 정상적으로 부팅됨)

iommu가 처음 작동할 때 GPU를 출력으로 사용합니다. 마지막 부팅 시 GPU가 작동하지 않은 후(신호 없음) iGPU를 사용해 보았습니다. 또한 PCI 패스스루에 대한 Arch의 공식 위키를 확인했는데 단계가 매우 유사합니다.

/etc/mkinitcpio.conf:

# vim:set ft=sh
# MODULES
# The following modules are loaded before any boot hooks are
# run.  Advanced users may wish to specify all system modules
# in this array.  For instance:
#     MODULES=(piix ide_disk reiserfs)
MODULES=(vfio_pci vfio vfio_iommu_type1 vfio_virqfd)

# BINARIES
# This setting includes any additional binaries a given user may
# wish into the CPIO image.  This is run last, so it may be used to
# override the actual binaries included by a given hook
# BINARIES are dependency parsed, so you may safely ignore libraries
BINARIES=()

# FILES
# This setting is similar to BINARIES above, however, files are added
# as-is and are not parsed in any way.  This is useful for config files.
FILES=()

# HOOKS
# This is the most important setting in this file.  The HOOKS control the
# modules and scripts added to the image, and what happens at boot time.
# Order is important, and it is recommended that you do not change the
# order in which HOOKS are added.  Run 'mkinitcpio -H <hook name>' for
# help on a given hook.
# 'base' is _required_ unless you know precisely what you are doing.
# 'udev' is _required_ in order to automatically load modules
# 'filesystems' is _required_ unless you specify your fs modules in MODULES
# Examples:
##   This setup specifies all modules in the MODULES setting above.
##   No raid, lvm2, or encrypted root is needed.
#    HOOKS=(base)
#
##   This setup will autodetect all modules for your system and should
##   work as a sane default
#    HOOKS=(base udev autodetect block filesystems)
#
##   This setup will generate a 'full' image which supports most systems.
##   No autodetection is done.
#    HOOKS=(base udev block filesystems)
#
##   This setup assembles a pata mdadm array with an encrypted root FS.
##   Note: See 'mkinitcpio -H mdadm' for more information on raid devices.
#    HOOKS=(base udev block mdadm encrypt filesystems)
#
##   This setup loads an lvm2 volume group on a usb device.
#    HOOKS=(base udev block lvm2 filesystems)
#
##   NOTE: If you have /usr on a separate partition, you MUST include the
#    usr, fsck and shutdown hooks.
HOOKS=(base udev autodetect modconf block filesystems keyboard fsck)

# COMPRESSION
# Use this to compress the initramfs image. By default, gzip compression
# is used. Use 'cat' to create an uncompressed image.
#COMPRESSION="gzip"
#COMPRESSION="bzip2"
#COMPRESSION="lzma"
#COMPRESSION="xz"
#COMPRESSION="lzop"
#COMPRESSION="lz4"

# COMPRESSION_OPTIONS
# Additional options for the compressor
#COMPRESSION_OPTIONS=()

/etc/modprobe.d/vfio.conf:

options vfio-pci ids=10de:10f0,10de:1b81

커널 버전: 4.20.10-arch1-1-ARCH

하드웨어 정보(lshw):

cube-arch                   
    description: Desktop Computer
    product: B360M-HD3 (Default string)
    vendor: Gigabyte Technology Co., Ltd.
    version: Default string
    serial: Default string
    width: 4294967295 bits
    capabilities: smbios-3.1 dmi-3.1 smp vsyscall32
    configuration: boot=normal chassis=desktop family=Default string sku=Default string uuid=E002D503-5E04-7905-ED06-310700080009
  *-core
       description: Motherboard
       product: B360M HD3
       vendor: Gigabyte Technology Co., Ltd.
       physical id: 0
       version: x.x
       serial: Default string
       slot: Default string
     *-firmware
          description: BIOS
          vendor: American Megatrends Inc.
          physical id: 0
          version: F4
          date: 04/19/2018
          size: 64KiB
          capacity: 15MiB
          capabilities: pci upgrade shadowing cdboot bootselect socketedrom edd int13floppy1200 int13floppy720 int13floppy2880 int5printscreen int14serial int17printer acpi usb biosbootspecification uefi
     *-memory
          description: System Memory
          physical id: 3a
          slot: System board or motherboard
          size: 16GiB
        *-bank:0
             description: DIMM DDR4 Synchronous 2133 MHz (0.5 ns)
             product: F4-3000C16-8GISB
             vendor: Fujitsu
             physical id: 0
             serial: 00000000
             slot: ChannelA-DIMM0
             size: 8GiB
             width: 64 bits
             clock: 2133MHz (0.5ns)
        *-bank:1
             description: [empty]
             physical id: 1
             slot: ChannelA-DIMM1
        *-bank:2
             description: DIMM DDR4 Synchronous 2133 MHz (0.5 ns)
             product: F4-3000C16-8GISB
             vendor: Fujitsu
             physical id: 2
             serial: 00000000
             slot: ChannelB-DIMM0```

답변1

해결됨

멍청하네요. 모니터를 GPU에 연결하고, iGPU에 연결했더니 제대로 작동했습니다. BIOS에서 기본 출력으로 설정되어 있는지 확인하세요.

관련 정보