QEMU + DOS

Понадобилось значит установить DOS для прог, на которых надо делать лабы для универа. Проги эти значит мои ровесницы (1984-87 год, пиздец) и не хотят работать под эмуляцией в Windows XP, не хотят они также идти и под dosbox‘ом и dosemu. Короче полный сакс.
Ребята говорили, что в развернутом образе MS DOS 6.22 под MS Virtual PC идет всё прекрасно. Этот вариант мягко говоря не устраивал ибо не хотелось искать это чудо крякнутое. Еще варинт VMWare, который хоть и есть под линух, но поднимать его не хотелось – слишком уж тяжелый.
Остался последний и, как оказалось, самый true вариант – Qemu.
И так:

  1. Создаем образ харда, на который будем ставить ms dos. Сделал этот раздел 100 метров – больше не надо.
    spoof@spoofa.info:~% qemu-img create -f qcow dos.img 100M

  2. Сливаем установочные образы дискет (в гугле можно пошарить)
  3. Загружаемся в qemu с первой дискеты:
    spoof@spoofa.info:~% qemu -fda Desktop/DOS622_1.IMG -boot a dos.img

  4. Когда установщик доса потребует вставить вторую дискету, то переключаемся Qemu monitor (ctrl+alt+2) и там пишем:
    eject fda

    change fda /home/spoof/Desktop/DOS622_3.IMG

  5. Проделываем предыдущий пукнт для третьей дискеты
  6. Cобственно всё. Грузимся в систему:
    spoof@spoofa.info:~% qemu -hda dos.img -boot c

Всё хорошо, всё работает. Следующий вопрос был – как скопировать в этот образ нужные мне проги? Ответ нашел в FAQ
Тут значит обрадовался, но при попытке выполнить следующую команду:

spoof@spoofa.info:~% qemu -hda dos.img -hdb fat:/home/spoof/dostuff -boot c


Натыкаюсь на грабли и ошибку:

qemu: /build/buildd/qemu-0.8.2/block-vvfat.c:97: array_get: Assertion `index next’ failed.


Погуглил, нашел ответ – оказывается монтируемая дира не должна по размеру превышать 472 метра.

Posted on 25 April '07 by spoof, under comp, devel, unix, заметки.