[Linux][Kernel] Linux Kernel 3.13系列を独自カーネルコンパイルした際の、KVMゲストのvirtio_blk.koを有効にする方法。

AIX、UNIX、Linux

以前に上のような記事を書いたのですが、その後bugzillaに回避策が報告されたのでここにメモとして残しておこうと思います。

60758 – module scsi_wait_scan not found kernel panic on boot
1067669 – Dracut must include kernel modules referencing symbol "blk_mq_init_queue" just like those referencing symbol "blk_init_queue"

回避策は以下のとおりです。

1) check if virtio_blk is in intrd:
# for i in /boot/initramfs-* ; do echo $i: ; lsinitrd $i | grep virt ; done

2) if virtio_blk is missing in the relevant initrd, then

# echo 'add_drivers+="virtio_blk"' >/etc/dracut.conf.d/force-vitio_blk-to-ensure-boot.conf
(NOTE that the .conf extension is mandatory !)

3) then rebuild the initrd

まずはinitramfsに対してgrepを実行し、virtio_blk.koが含まれているか否かを確認します。
含まれていなかった場合は、以下のコマンドを実行し、dracutコマンドにパラメータを追加します。

echo 'add_drivers+="virtio_blk"' >/etc/dracut.conf.d/force-vitio_blk-to-ensure-boot.conf

その後は通常通り、カーネルコンパイルを実行します。すると以下の様な感じで最初から組み込まれた形でコンパイルできていると思います。

# lsinitrd /boot/initramfs-3.13.4-kometch-build-20140221.img | grep virt
-rw-r--r--   1 root     root        22744 Feb 21 21:45 lib/modules/3.13.4-kometch-build-20140221/kernel/drivers/block/virtio_blk.ko
drwxr-xr-x   2 root     root            0 Feb 21 21:45 lib/modules/3.13.4-kometch-build-20140221/kernel/drivers/virtio
-rw-r--r--   1 root     root        17072 Feb 21 21:45 lib/modules/3.13.4-kometch-build-20140221/kernel/drivers/virtio/virtio_balloon.ko
-rw-r--r--   1 root     root        13216 Feb 21 21:45 lib/modules/3.13.4-kometch-build-20140221/kernel/drivers/virtio/virtio.ko
-rw-r--r--   1 root     root        19944 Feb 21 21:45 lib/modules/3.13.4-kometch-build-20140221/kernel/drivers/virtio/virtio_pci.ko
-rw-r--r--   1 root     root        19448 Feb 21 21:45 lib/modules/3.13.4-kometch-build-20140221/kernel/drivers/virtio/virtio_ring.ko

また、こちらは試していないのですが、RedHatのBugzillaには以下の様な回避策が掲載されています。

POINT

  1. /usr/share/dracut/modules.d/90kernel-modules/installkernel を開きます。
  2. blk_init_queue“の後に追加する形で”blk_mq_init_queue“を追加します。

これを行うことで、virtio_blk.koが組み込まれるようです。

間違いなど有りましたらご指摘ください。

この記事を書いた人

kometchtech

うつ病を患いながら、IT業界の末席にいるおっさんエンジニア。科学計算をしたことがないのに、HPC分野にお邪魔している。興味のある分野で学習したことをblogにまとめつつ、うつ病の経過症状のメモも置いておく日々。じつはRouterboard User Group JPの中の人でもある。 Amazon欲しいものリスト / Arm板を恵んでくれる人募集中

kometchtechをフォローする
タイトルとURLをコピーしました