Передача клавиатура PS/2 гостю ОС

Вы могли использовать dd вроде:

dd if=log skip=xK bs=1M

который пропустил бы x * 1 024 блока размера 1M (2^20). Посмотрите dd(1) для получения дополнительной информации о его обработке единиц.

Если требуется автоматизировать двоичный поиск, предполагая, что журнал имеет обычный формирователь <date> [data] можно передать вывод по каналу к head -n 2, проверьте дату в начале второй строки (который - под разумным предположением об "обычно" длинных линиях - будет завершено), и решите то, что половину Вы хотите.

3
26.04.2015, 21:50
1 ответ

Сначала вы должны использовать virsh edit <vm-name>для изменения XML-файла конфигурации, поскольку вы не можете сделать это через графический интерфейс -менеджера virt.

Проверьте свой верхний тег -уровня <domain>. Это должно выглядеть примерно так:

<domain type='kvm' xmlns:qemu='http://libvirt.org/schemas/domain/qemu/1.0'>

Если тип отличается от kvm, значит, вы сели не на тот рейс. -Начните с новой виртуальной машины. Если атрибут xmlns :qemu отсутствует, добавьте его.

Если у вас уже есть раздел <qemu:commandline>, добавьте в него эти две строки:

<qemu:arg value='-object'/>
<qemu:arg value='input-linux,id=kbd,evdev=/dev/input/eventN,grab_all=on,repeat=on'/>

Если нет, то создайте его прямо под тегом <domain>с этими двумя тегами внутри.

Вам также потребуется создать клавиатуру в гостевой системе, используя следующий XML-код, который следует добавить в раздел <devices>:

<serial type='dev'>
<source path='/dev/input/eventN'/>
<target port='0'/>
</serial>

Второй qemu :arg и указанный здесь исходный путь имеют eventNопределение. Вам нужно будет заменить N на номер устройства ввода для вашей клавиатуры. Не меняйте целевой порт -только исходный путь.

Мое клавиатурное устройство — 2, но ваше может быть 0 или какое-то другое число. Чтобы узнать, какой из них ваш, выполните dmesg | grep inputи найдите свое клавиатурное устройство. Мой говорит:

input: AT Translated Set 2 keyboard as /devices/platform/i8042/serio0/input/input2

Вы по-прежнему хотите использовать путь /dev/input/eventN -это просто позволяет вам узнать, какой правильный номер использовать для N. Если вы используете X с evdev, что, вероятно, так и есть, вы также можете найти эту информацию в файле журнала X. Одно предостережение :Номер вашего устройства может измениться, если вы перенастроите аппаратное обеспечение хоста.

Ваша клавиатура больше не будет распознаваться хостом, пока вы используете ее в качестве гостя. Для управления хостом вы можете:

  • Выйти из гостевой системы или
  • Подключите другую клавиатуру через USB или
  • Войдите через ssh или
  • Используйте последовательную консоль.

Я получил большую часть этой информации по этой ссылке:

https://www.reddit.com/r/VFIO/comments/5hja2k/how_do_you_pass_through_a_ps2_keyboard/

1
27.01.2020, 21:31

Теги

Похожие вопросы