After XP is installed, make these changes inside the VM:
To shrink the image size (flat only), zero out free space inside XP: windows xp img file for bochs free
# From inside XP guest
cipher /w:c:\
Then, from the host, convert to sparse if desired: After XP is installed, make these changes inside the VM:
cp --sparse=always winxp.img winxp_sparse.img
Your windowsxp.img is portable across all Bochs flavors: To shrink the image size (flat only), zero
Performance tip: Set ips=50000000 (50 million instructions/sec) if your host is fast. Realistic speed for XP on Bochs is ~10-30 million IPS.
Edit bochsrc.txt:
megs: 256
cpu: count=1, ips=10000000
romimage: file=$BXSHARE/BIOS-bochs-latest
vgaromimage: file=$BXSHARE/VGABIOS-lgpl-latest
ata0-master: type=disk, path="windowsxp.img", cylinders=7752, heads=16, spt=63
ata0-slave: type=cdrom, path="en_windows_xp_professional_sp3.iso", status=inserted
boot: cdrom
display_library: sdl2 # or 'win32' on Windows
Note: The cylinder/head/spt numbers must exactly match Step 1.