Also die Sache beschäftigt mich schon länger, aber nun will ich sie mal genauer angehen.
- Endziel: ein einfaches DOS auf meinem HP Jornada (=> NetBSD) emuliert haben
- Problem: X suckt darauf, weil:
- zu lahm
- Bildschirm mit 240pixeln zu flach für....restlos alles
- Idee: Man bräuchte einen PC-Emulator, dessen BIOS die Fähigkeit besitzt, die Ein-/Ausgabe bei verwendung der normalen Interrupts auf einen seriellen Port umzuleiten (von dort könnt ichs dann einfach abgreifen, idealerweise würde das direkt der Emulator für mich machen)
So der Plan, also mal bissl geschaut und in qemu die Option -nographic entdeckt, ich zitiere:
Zitat:Normally, QEMU uses SDL to display the VGA output. With this option, you can totally disable graphical output so that QEMU is a simple command line application. The emulated serial port is redirected on the console. Therefore, you can still use QEMU to debug a Linux kernel with a serial console.
Das Problem dabei ist, dass das BIOS (afaik ja von Bochs) sich dessen nicht bewusst ist, daher muss man blind booten und dann irgendwann ein OS laufen haben, was dann Konsole auf COM1 anbietet.
Das kann man bei Linuxen so einstellen (default ists afaik bei den meisten nicht), DOS kanns gar nicht.
Da man bei DOS wohl nur wenig rumtweaken kann, wärs schon ideal, wenn das echt transparent laufen würde, wenn eben z.B. das BIOS sich dessen bewusst wäre. Solche BIOSe scheints übrigens wirklich zu geben:
Zitat:von Optionally configure the BIOS
Some BIOSs provide support for serial consoles. If your computer's BIOS is one of these you should investigate the extent of the support provided. Depending upon the extent of serial console support you may not need to explicitly configure the boot loader to use the serial port.
[...]
The BIOS takes the interrupt 0x10 "video" requests used to write to the screen and sends the characters that would have appeared on the screen to the serial port. Characters recieved from the serial port are used to supply characters to BIOS interrupt 0x16 "read key" requests.
Any 16-bit application which uses the BIOS functions for outputing text to the screen and reading from the keyboard is redirected to the serial port. This includes the BIOS itself, the boot loader, and 16-bit operating systems (such as MS-DOS).
Okay, so jetz seid ihr gefragt: Wie kann ich das nun lösen?
Ich bin nicht an QEMU gebunden, war nur das erste was mir eingefallen ist
Weiß nicht, in wiefern man das Bochs-BIOS selbst modifizieren kann, um sowas zu supporten
Gäbe es vll noch alternative BIOSe, die man in $EMULATOR$ einbinden kann? Gäng das vll sogar mit sowas wie coreboot?