Установка на VirtIO

SLAX, Deep Style, ZenWalk

Модератор: Модераторы разделов

Ответить
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20752
Статус: nulla salus bello
ОС: Debian GNU/Linux

Установка на VirtIO

Сообщение Bizdelnick »

Вознамерился поставить Slackware64 14.2 на виртуалку, а именно на qemu/kvm с virtio-диском. Скачал исошник, загрузился — устройства /dev/vda нет, модули virtio* не подгружены. Пытаюсь загрузить вручную — получается только с virtio_input, а остальные не хотят. modprobe ругается на "Exec format error", insmod — на "Invalid module format". Пробовал распаковывать модули virtio*.ko.gz, но ничего не меняется. Нагуглились костыли типа пересобрать ядро со вкомпиленными драйверами, пересобрать initrd с ними или выдрать модули из пакета. Но — вот же они лежат, значит в initrd их уже засунули. Почему не цепляются-то?

Upd. Уточнение: virtio_input подгружается только через insmod, а через modprobe тоже не хочет, потому что тот пытается сперва загрузить проблемный virtio_ring.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
bormant
Сообщения: 1354

Re: Установка на VirtIO

Сообщение bormant »

Посмотрел.

1. Проблема в незагрузке virtio_input есть.

2. При загрузке с huge ядром:

Код: Выделить всё

# modprobe virtio_input
modprobe: ERROR: could not insert 'virtio_input': Exec format error

# dmesg | grep virtio
virtio: exports duplicate symbol register_virtio_device (owned by kernel)

То есть, неудачно выбраны параметры ядра для сборки HUGE/GENERIC/MODULES, кусок virtio попал и в kernel-huge, и в kernel-modules.
К слову, в virtio_ring та же проблема.

3. В варианте kernel-generic этой проблемы нет (модули пакуются в kernel-modules именно из этой стадии сборки). Но установщик основан на kernel-huge.

4. Собрать замену для установщика?


PS. В dmesg есть что-либо от /dev/vd* ? Являются ли virtio_input, virtio_ring необходимыми для поддержки блочных устройств virtio (другими словами, не должно ли быть достаточно того, что уже вкомпилено в ядро (=y, см.ниже) для их поддержки)?
Спасибо сказали:
Аватара пользователя
bormant
Сообщения: 1354

Re: Установка на VirtIO

Сообщение bormant »

Bizdelnick писал(а):
10.05.2017 15:59
модули virtio* не подгружены
В установочном ядре (это huge) VIRTIO собрано так:

Код: Выделить всё

# zgrep _VIRTIO /proc/config.gz
CONFIG_NET_9P_VIRTIO=y
CONFIG_VIRTIO_BLK=y
CONFIG_SCSI_VIRTIO=y
CONFIG_VIRTIO_NET=y
CONFIG_VIRTIO_CONSOLE=y
CONFIG_HW_RANDOM_VIRTIO=y
CONFIG_DRM_VIRTIO_GPU=m
CONFIG_VIRTIO=y
CONFIG_VIRTIO_PCI=y
CONFIG_VIRTIO_PCI_LEGACY=y
CONFIG_VIRTIO_BALLOON=y
CONFIG_VIRTIO_INPUT=m
CONFIG_VIRTIO_MMIO=y
# CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES is not set

Соответственно, должно быть достаточно virtio_input от сборки -huge, а не -generic, либо вкомпилирование его в ядро (=y).


PS.
В 14.1 проблемы не было, см. http://www.linuxquestions.org/questions/sl...015-4175542608/
В установочном ядре virtio были в модулях:

Код: Выделить всё

# zgrep _VIRTIO /proc/config.gz
CONFIG_NET_9P_VIRTIO=m
CONFIG_VIRTIO_BLK=m
CONFIG_SCSI_VIRTIO=m
CONFIG_VIRTIO_NET=m
CONFIG_VIRTIO_CONSOLE=m
CONFIG_HW_RANDOM_VIRTIO=m
CONFIG_VIRTIO=m
CONFIG_VIRTIO_PCI=m
CONFIG_VIRTIO_BALLOON=m
CONFIG_VIRTIO_MMIO=m
# CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES is not set

Если это действительно так, и без virtio_input и virtio_ring совсем никак, то как обходной манёвр можно
-- взять установщик в виде mini-iso от 14.1 здесь: http://www.slackware.com/~alien/slackboot/mini/14.1/
-- указать ему источником пакетов iso от 14.2
-- до перезагрузки сделать chroot в установленную систему в /mnt, создать initrd, настроить загрузчик на kernel-generic + initrd.

Нужно ли описать более подробно?
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20752
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Установка на VirtIO

Сообщение Bizdelnick »

Хм, конфиг-то я и не посмотрел. Но раз virtio_pci вкомпилен в ядро, почему устройство не появилось?
В общем, я пока решил сдаться и сделал машину с IDE-диском.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20752
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Установка на VirtIO

Сообщение Bizdelnick »

Хм, сейчас прошёл весь процесс установки сначала — оказывается диск /dev/vda появляется, его просто нет в выводе blkid. Это меня и сбило с толку вкупе с незагружающимися модулями (и зачем было класть их в initrd?).
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
bormant
Сообщения: 1354

Re: Установка на VirtIO

Сообщение bormant »

Bizdelnick писал(а):
10.05.2017 19:08
и зачем было класть их в initrd?
Есть у меня одно предположение... В 14.2 добавили virtio сотоварищи в само ядро (=y), а вот список модулей для initrd.img почистить забыли. Сиречь по ошибке.
Спасибо сказали:
Ответить