# echo $ (($ RANDOM% 256))
выдаст "случайное" число от 0 до 255 в современных диалектах * sh.
У меня была такая же проблема на Debian 9
и Qemu 2.8.1(Debian 1:2.8+dfsg-6+deb9u5)
.
Я решил эту проблему, заменив модель видеокарты с virtio
наcirrus
(или вы можете попробовать использовать другую модель со страницы руководства qemu
).
Проблема, по-видимому, в том, что сообщение об окончании прерывания передается неправильно.
Для libvirt убедитесь, что eoi
включен:
<domain>
…
<features>
<apic eoi='on'/>
…
В командной строке для KVM, которая переводится как
-cpu …,+kvm_pv_eoi
Кажется, это работает для нас с -M q35
, сквозной передачей процессора хоста и конфигурацией по умолчанию, в противном случае (прерывания RTC поставлены в очередь, прерывания PIT отброшены, HPET недоступен ).
<acpi eoi="on"/>
у меня не работает, через некоторое время возникает проблема -и Uhhuh. NMI received for unknown reason 20 on CPU 0
снова печатаются ядром Linux.
В ходе дальнейших исследований я обнаружил две фиксации, исправляющие ошибки вiTCO_wdt
(Intel Total Cost of Ownership Watch -Dog Timer )Эмуляция Qemu:
Debian -9 -Stretch имел только qemu -2.8 , который не содержит этих исправлений. Debian -10 -Buster имеет qemu -3.1, где я проблемы не наблюдал.
Драйвер можно добавить в список запрещенных -, чтобы предотвратить его загрузку:
echo blacklist iTCO_wdt >/etc/modprobe.d/itco-wdt.conf
После этого обязательно выключите и повторно -запустите виртуальную машину, чтобы убить старый процесс Qemu и получить новый экземпляр. reboot
re -использует старый процесс Qemu, который сохранил бы сломанное состояние внутри Qemu. Но для запуска ошибки требуется reboot
, так как ошибка никогда не случалась у меня при 1-й загрузке, а только после перезагрузки или приостановки -на диск -и цикла возобновления.