NixThePlanet
NixThePlanet copied to clipboard
Implement makeWin2kImage
I think this can be done without vncdotool, tesseract, or expect with Windows 2000's unattended installation feature, and this also makes it easier to configure the install from Nix. I just need to figure out how many times to restart dosbox for the install to finish. And also maybe there's a better way to specify answerFile
than a path that is usually created with writeText "answers.ini" (lib.generators.toINI { } { ... })
? Having answerFile
be the set directly might be easier for the user to specify but less flexible.
I see you're removing some comments like the link to some blog post you found in the process of making this, but I'd prefer to keep them since they're valuable, please do! :smile_cat:
I see you're removing some comments like the link to some blog post you found in the process of making this, but I'd prefer to keep them since they're valuable, please do! 😸
I deleted that link because I'm using a different approach now, but I guess I can add it back and say that in the comment.
Very impressive, this just works completely due to the unattended installation. I think we should probably still do tesseract OCR just to provide a log, since the installation takes so long.
What's the status of this PR?
What's the status of this PR?
It worked on the latest commit when I last tested it. I don't know if there is anything blocking merging.
Nothing really, I was just bike shedding on making docs and making the drvs more reliable, since there is an error rate for all of the Windows derivations that increases as you increase in Windows version.
So dos is pretty reliable, then win 3.1 is also reliable, but it gets bad after that. Some of that is related to dosbox instability in my testing.
Did you see https://github.com/ptitSeb/box86 is being maintained a lot lately? Maybe we could write a "NixThePlanet driver" for that, and get rid of dosbox as the builder.
I've used box86 in the past. I think it doesn't do full-system emulation and is closer to qemu-user
for emulating x86 linux executeables directly. It also can translate library calls so that the emulated program can call native ARM libraries, which is really cool.