Важная часть заключается в том, что во время эмуляции мне нужно имитировать действие на этом переключателе (переход от чтения/записи к режиму только для чтения и наоборот).
Мне также нужно будет прочитать то, что на нем написано, из хозяин, после виртуальная машина останавливается.
Вот что я нашел:
Я запускаю виртуальную машину с чем-то вроде
Код: Выделить всё
qemu-system-x86_64 -drive if=none,id=usbstick,format=raw,file=/path/to/file.raw\
-device nec-usb-xhci,id=xhci\
-device usb-storage,bus=xhci.0,drive=usbstick,removable=on\
-monitor unix:/tmp/qemu-socket,server,nowait\
...other options elided as irrelevant for the question...
Теперь я могу подключиться к монитору qemu с помощью
Код: Выделить всё
socat -,echo=0,icanon=0 unix-connect:/tmp/qemu-socket
Код: Выделить всё
change usbstick /path/to/file.raw raw read-only
Я проверяю это, просматривая содержимое /sys/block/sda/ro, которое никогда не меняется.
Противоположный сценарий, который загружается в режиме только для чтения, а затем переключается на чтение-запись, не выдает ошибку, но ОС в виртуальной машине по-прежнему видит его только для чтения.
Есть идеи, чего мне не хватает?
Спасибо
1проект нуждается в эмуляции для тестирования
2ключ, который нужно эмулировать
3Это виртуальная машина nixos, запущенная nix, которая использует qemu под капотом
Подробнее здесь: https://stackoverflow.com/questions/797 ... ch-on-qemu
Мобильная версия