Files
Workstation/qemu_win98.md
2023-01-22 10:23:32 -05:00

75 lines
2.3 KiB
Markdown

# Windows 98
The installation process is quite different since Windows 98 will be incompatible
with most of the defaults in virt-manager.
## Install
https://en.wikibooks.org/wiki/QEMU/Windows_98
https://wiki.gentoo.org/wiki/QEMU/Options#Display_options
You'll need to install from command line like so:
```bash
qemu-system-x86_64 \
-cdrom /var/lib/libvirt/iso/windows98se.iso \
-boot order=d \
-drive file=/var/lib/libvirt/images/win98.qcow2 \
-m 512 \
-device sb16 \
-display sdl
```
- cdrom allows us to use the ISO image. It's also possible to use virsh to
forward a physical drive to a file, but reading the data from the hard drive
is usually faster.
- boot allows us to specify the order to d, which is the CD.
- drive allows us to use the image we just created.
- enable-kvm turns on hardware acceleration in x86 using the kernel VM. KVM
causes problems on Windows hosts when shutting down the guest and can even
prevent it from starting in some cases. If this occurs, you can safely remove
it from the command.
- m allocates the guest's RAM. In this case we use 512, but going above it can
be dangerous for Windows 9x.
- device allows us to add a device driver, in this case, the Creative
SoundBlaster 16 sound card (sb16) to get audio. Standard Windows 98 discs
ship with drivers for it, and if you haven't used this flag while installing,
it would need to scan for it.
- display allows us to use an alternative display engine rather than GTK+. In
this case, we use Simple DirectMedia Layer because it doesn't conflict as
much with fullscreen support. You can press Ctrl+Alt+F to enter and exit
fullscreen mode and Ctrl+Alt to have QEMU grab or ungrab the keyboard input
and invoke the monitor as usual.
## Boot
We'll boot with the same command we used to install but without the boot parameters
```bash
qemu-system-x86_64 \
-drive file=/var/lib/libvirt/images/win98.qcow2 \
-m 512 \
-device sb16 \
-display sdl
```
```bash
sudo qemu-system-i386 \
-name "Windows 98" \
-L pc-bios -nodefaults -no-hpet -no-reboot -display sdl \
-M pc,accel=tcg -cpu pentium3 -m 1024 \
-drive file=/var/lib/libvirt/images/win98.qcow2 \
-device VGA -device sb16 -device rtl8139,netdev=net0 \
-netdev user,id=net0,hostfwd=tcp::8080-:80,hostfwd=tcp::2222-:22 \
-rtc base=localtime,clock=host
```