
Arch Linuxの手順に従いました。#KVMそして#qemu
1)sudo pacman -S
次にlibsをインストールします。
libvirt
libiscsi
libaio
qemu
qemu-arch-extra
qemu-block-iscsi
qemu-block-rbd
qemu-block-gluster
2) $ lscpu
VT-xが有効になっていることを確認する
3).conf
次のモジュールにファイルを追加します。/etc/modprobe.d/
network device (virtio-net)
block device (virtio-blk)
controller device (virtio-scsi)
serial device (virtio-serial)
balloon device (virtio-balloon)
4)initramfsにモジュールをロードするためにmkinitcpio.conf
フックを含めて実行しました。modconf
5) 実行$ lsinitcpio
出力にロードされた仮想化モジュールが表示されないため、ここに問題があると思います。
usr/lib/modules
usr/lib/modules/4.5.4-1-ARCH
usr/lib/modules/4.5.4-1-ARCH/modules.devname
usr/lib/modules/4.5.4-1-ARCH/modules.builtin.bin
usr/lib/modules/4.5.4-1-ARCH/modules.symbols.bin
usr/lib/modules/4.5.4-1-ARCH/modules.alias.bin
usr/lib/modules/4.5.4-1-ARCH/modules.dep.bin
usr/lib/modules/4.5.4-1-ARCH/kernel
usr/lib/modules/4.5.4-1-ARCH/kernel/sdhci.ko
usr/lib/modules/4.5.4-1-ARCH/kernel/ext4.ko
usr/lib/modules/4.5.4-1-ARCH/kernel/usb-common.ko
usr/lib/modules/4.5.4-1-ARCH/kernel/ehci-pci.ko
usr/lib/modules/4.5.4-1-ARCH/kernel/sd_mod.ko
usr/lib/modules/4.5.4-1-ARCH/kernel/rtsx_pci_sdmmc.ko
usr/lib/modules/4.5.4-1-ARCH/kernel/serio.ko
usr/lib/modules/4.5.4-1-ARCH/kernel/cdrom.ko
usr/lib/modules/4.5.4-1-ARCH/kernel/hid.ko
usr/lib/modules/4.5.4-1-ARCH/kernel/ehci-hcd.ko
usr/lib/modules/4.5.4-1-ARCH/kernel/sdhci-acpi.ko
usr/lib/modules/4.5.4-1-ARCH/kernel/atkbd.ko
usr/lib/modules/4.5.4-1-ARCH/kernel/xhci-pci.ko
usr/lib/modules/4.5.4-1-ARCH/kernel/usbhid.ko
usr/lib/modules/4.5.4-1-ARCH/kernel/xhci-hcd.ko
usr/lib/modules/4.5.4-1-ARCH/kernel/sr_mod.ko
usr/lib/modules/4.5.4-1-ARCH/kernel/crc16.ko
usr/lib/modules/4.5.4-1-ARCH/kernel/rtsx_pci.ko
usr/lib/modules/4.5.4-1-ARCH/kernel/libps2.ko
usr/lib/modules/4.5.4-1-ARCH/kernel/libahci.ko
usr/lib/modules/4.5.4-1-ARCH/kernel/led-class.ko
usr/lib/modules/4.5.4-1-ARCH/kernel/scsi_mod.ko
usr/lib/modules/4.5.4-1-ARCH/kernel/mmc_core.ko
usr/lib/modules/4.5.4-1-ARCH/kernel/mmc_block.ko
usr/lib/modules/4.5.4-1-ARCH/kernel/i8042.ko
usr/lib/modules/4.5.4-1-ARCH/kernel/usbcore.ko
usr/lib/modules/4.5.4-1-ARCH/kernel/ahci.ko
usr/lib/modules/4.5.4-1-ARCH/kernel/libata.ko
usr/lib/modules/4.5.4-1-ARCH/kernel/mbcache.ko
usr/lib/modules/4.5.4-1-ARCH/kernel/usb-storage.ko
usr/lib/modules/4.5.4-1-ARCH/kernel/jbd2.ko
6)私が実行したとき:
$ modinfo virtio-scsi
私は次の答えを得ました。
filename: /lib/modules/4.5.4-1-ARCH/kernel/drivers/scsi/virtio_scsi.ko.gz
license: GPL
description: Virtio SCSI HBA driver
alias: virtio:d00000008v*
depends: virtio,scsi_mod,virtio_ring
intree: Y
vermagic: 4.5.4-1-ARCH SMP preempt mod_unload modversions
$ systool -v -m virtio-scsi
同じモジュールに対してエラーメッセージが表示されます。
Error opening module `virtio-scsi`
7) qemu イメージを生成しようとすると、$ qemu-img create -f raw arch-qemu 8G
次のエラーが発生します。
$ Failed to open module:
libiscsi.so.4: cannot open shared object file: No such file or directory
助けてくれてありがとう!
答え1
v1.14.0
qemuがファイルを見つけることができるlibiscsiの以前のバージョン()を手動でインストールした後、問題を解決しましたlibiscsi.so.4
。
まず、qemu-block-iscsiの依存関係を削除せずにv1.17.0-2
pacmanとしてインストールされたプログラムを削除しました。sudo pacman -Rddn libiscsi
githubでソースコードを複製しました。Salberg/libiscsiビルドが完了したら、libtoolを使用してライブラリをインストールしました。次にqemuを更新するときに手動インストールを削除してpacman
パッケージを再利用する必要があるため、これが最善の解決策ではないことがわかります。
現在私はアーチLinuxでそれを見るqemu ページパッケージは次のとおりです。
2016-05-10 テスト中のバージョン 2.6.0-1 は廃止予定とマークされます。
ルートとして実行されるコード:
# git clone folder - libiscsi/
# Making install in lib
# directory 'libiscsi/lib'
mkdir -p '/usr/lib'
/bin/sh ../libtool --mode=install /usr/bin/install -c libiscsi.la '/usr/lib'
libtool --finish /usr/lib
----------------------------------------------------------------------
# Libraries have been installed in: /usr/lib
----------------------------------------------------------------------
# Making install in utils
# directory 'libiscsi/utils'
mkdir -p '/usr/bin'
/bin/sh ../libtool --mode=install /usr/bin/install -c iscsi-inq iscsi-ls iscsi-perf iscsi-readcapacity16 iscsi-swp '/usr/bin'
----------------------------------------------------------------------
# directory 'libiscsi/examples'
mkdir -p '/usr/bin'
install -c ld_iscsi.so '/usr/bin'
----------------------------------------------------------------------
# directory 'libiscsi/
mkdir -p '/usr/include/iscsi'
install -c -m 644 include/iscsi.h include/scsi-lowlevel.h '/usr/include/iscsi'
mkdir -p '/usr/lib/pkgconfig'
install -c -m 644 libiscsi.pc '/usr/lib/pkgconfig'
make install
libiscsiはデフォルトでlibを内部/usr/local/bin
と外部にインストールしているため、これらのコマンドを手動で実行しました/usr/local/lib
。
コメントや提案がある場合は、メッセージを残してください!