| Autor |
Beitrag |
Moritz M.
      
Beiträge: 1672
|
Verfasst: Sa 23.10.04 16:28
Hi Leute,
ich hab mich die letzten Tage mal hingesetzt und aus Interesse ein kleines OS mit kleinem Loader und kleinem Kernel geschrieben. Es kann bis jetzt noch nicht mehr als den Kernel in den Speicher laden und ein paar Befehle ( unter "help" aufgelistet) . Ob und was ich weitermache weiß ich noch nicht, das kommt ganz drauf an ob ich Lust und Zeit habe.
Bis jetzt wird nur das englische Tastaturlayout unterstützt, da ich noch keinen Keyboardtreiber drinnen hab. Außerdem gibt es noch kein Memory Management und kein Dateisystem. Aber diese Sachen werden vielleicht in nächster Zeit in dieser Reihenfolge folgen.
Gecodet ist das Ding komplett in Assembler, der Writer (write_os.exe) in Delphi.
Das ganze geht ganz einfach:
1) Zip-Datei downloaden
2) Extrahieren
3) Eine Floppy reinlegen, auf der keine wichtigen Daten sind ( Da die Partionstabelle zerschossen wird sollte ihr die Daten im Zweifelsfall sichern )
4) write.exe ausführen
5) Von der Floppy booten.
Download: http://www.gaehnen.net/moOS.zip ( 9 KB )
Als nächstes würde ich gerne einfach ein paar einfache Befehle in den Kernel einbauen, habt ihr da irgendwelche Ideen für mich?
Ich freue mich über Testberichte!
Gruß, Moritz
P.S.: Eurer Festplatte kann absolut nichts passieren, moOS greift nicht darauf zu. moOS macht nicht mehr als den Kernel von der Floppy in dem RAM zu laden.
DP-Crosspost
|
|
raziel
      
Beiträge: 2453
Arch Linux
JS (WebStorm), C#, C++/CLI, C++ (VS2013)
|
Verfasst: Sa 23.10.04 17:05
Hi,
ich würde es sehr gerne in Bochs ausprobieren, aber Bochs mag moOS nicht...
Kann es sein, dass Du den Bootloader-Code "$55AA"am Ende des Bootloaders vergessen hast,denn Bochs serviert mir eine Meldung, es wäre "no bootable disk" und die loader.boot ist kleiner als 512Byte.
raziel
_________________ JSXGraph
|
|
GTA-Place
      

Beiträge: 5248
Erhaltene Danke: 2
WIN XP, IE 7, FF 2.0
Delphi 7, Lazarus
|
Verfasst: Sa 23.10.04 17:08
So ich werds jetzt auch mal ausprobieren.
*Gespannt sei*
EDIT: Es funktioniert! Wenn jetzt noch mehr Commands kommen, Super!
|
|
Moritz M. 
      
Beiträge: 1672
|
Verfasst: So 24.10.04 11:48
| raziel hat folgendes geschrieben: | Hi,
ich würde es sehr gerne in Bochs ausprobieren, aber Bochs mag moOS nicht...
Kann es sein, dass Du den Bootloader-Code "$55AA"am Ende des Bootloaders vergessen hast,denn Bochs serviert mir eine Meldung, es wäre "no bootable disk" und die loader.boot ist kleiner als 512Byte.
raziel |
 Ein Bootloader muss doch keine 512 Byte haben, oder? Der Rest wird von meinem write_os.exe mit 0-Bytes gefüllt. Welchem Befehl entspricht das $55AA denn bzw für was braucht man das?
@GTA-Place: Danke  Befehle werden folgen
Gruß, Moritz
|
|
raziel
      
Beiträge: 2453
Arch Linux
JS (WebStorm), C#, C++/CLI, C++ (VS2013)
|
Verfasst: So 24.10.04 12:21
www.osdever.net/tuto..._btldr.php?the_id=85
Der Bootsektor einer Diskette (der erste Sektor = die ersten 512 Byte) müssen eigentlich genau 512 Byte lang sein und an 511. Stelle müsste eigentlich $55 und an 512. Stelle eigentlich $AA stehen. Das ist quasi die Signatur für den Bootsektor, damit das BIOS weiß, "aha, das ist ein Bootsektor, das muss ich jetzt an 0x7C00 laden und ip drauf zeigen lassen". In etwa so wie "MZ" bzw "NZ" für ältere und "PE\0\0" für neuere Exe-Dateien als Signatur die ersten Zeichen einer Ausführbaren Datei unter Windows beschreiben. Es kann allerdings auch sein, dass neuere BIOS nicht auf diese Signatur schauen, Bochs aber wohl doch.
In NASM kannst Du das erledigen, indem Du ans Ende des Codes schreibst:
Quelltext 1: 2:
| times 510-($-$$) db 0 dw 0xAA55 |
raziel
_________________ JSXGraph
|
|
Christian S.
      
Beiträge: 20451
Erhaltene Danke: 2264
Win 10
C# (VS 2019)
|
Verfasst: So 24.10.04 12:53
Hallo!
Könntest Du ein bootfähiges Image einer solchen Diskette bereitstellen? Ich habe leider kein Diskettenlaufwerk mehr.
MfG
Christian
_________________ Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
|
|
patrick
      
Beiträge: 1481
WIN2k, WIN XP
D6 Personal, D2005 PE
|
Verfasst: So 24.10.04 16:47
ich würds auch gerne testen, aber leider hab ich ebenfalls keine diskettenlaufwerk mehr
_________________ Patrick
im zweifelsfall immer das richtige tun!!!
|
|
Moritz M. 
      
Beiträge: 1672
|
Verfasst: So 24.10.04 16:51
Hallo,
so, eine neue Version oben. Neuerungen:
1) write_os.exe: Wenn man als ersten Parameter einen Dateinamen übergibt, wird das Image dorthin geschrieben.
2) Ein fertiges Image liegt bei
3) Mit create_image.bat kann ein neues Image erzeugt werden
4) $55 und $AA werden in den Bootsektor der Diskette geschrieben, was das booten mich Bochs und alten BIOS-Versionen möglich macht
Download: www.gaehnen.net/moOS.zip (11KB)
Gruß
|
|
Christian S.
      
Beiträge: 20451
Erhaltene Danke: 2264
Win 10
C# (VS 2019)
|
Verfasst: So 24.10.04 17:00
*grummel* VirtualPC nimmt nur Images, die 720KB oder 1,44MB haben. 
_________________ Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
|
|
Moritz M. 
      
Beiträge: 1672
|
Verfasst: So 24.10.04 17:37
|
|
raziel
      
Beiträge: 2453
Arch Linux
JS (WebStorm), C#, C++/CLI, C++ (VS2013)
|
Verfasst: So 24.10.04 17:50
Jetzt funktionierts! Nicht schlecht fürn Anfang
| Christian S. hat folgendes geschrieben: | *grummel* VirtualPC nimmt nur Images, die 720KB oder 1,44MB haben.  |
Dann nimm halt Bochs [ Direktlink zum Download der Win32-Bins] Wennst willst schick ich dir auch meine bochsrc.txt (config)
raziel
_________________ JSXGraph
|
|
tommie-lie
      
Beiträge: 4373
Ubuntu 7.10 "Gutsy Gibbon"
|
Verfasst: So 24.10.04 18:12
| Christian S. hat folgendes geschrieben: | *grummel* VirtualPC nimmt nur Images, die 720KB oder 1,44MB haben.  |
Dann schnapp dir $Hexeditor (oder $Delphikenntnisse falls vorhanden  ) und kopier das Image an den Anfang einer 1,44MB großen Datei, den Rest füllst du mit Nullen auf.
_________________ Your computer is designed to become slower and more unreliable over time, so you have to upgrade. But if you'd like some false hope, I can tell you how to defragment your disk. - Dilbert
|
|
Moritz M. 
      
Beiträge: 1672
|
Verfasst: So 24.10.04 18:25
| tommie-lie hat folgendes geschrieben: | | Christian S. hat folgendes geschrieben: | *grummel* VirtualPC nimmt nur Images, die 720KB oder 1,44MB haben.  | Dann schnapp dir $Hexeditor (oder $Delphikenntnisse falls vorhanden ) und kopier das Image an den Anfang einer 1,44MB großen Datei, den Rest füllst du mit Nullen auf. |
Das macht die neue Version von write_os.exe, wenn man ihr einen Parameter übergibt. Außerdem liegt ein 1,44MB großes Image bei ( Dank Komperssion auf 3KB geschrumpft  )
|
|
patrick
      
Beiträge: 1481
WIN2k, WIN XP
D6 Personal, D2005 PE
|
Verfasst: So 24.10.04 18:44
ich kann leider kein 1.4mb großes Image finden
//edit: kann mir auch jemand erklären wie ich das auf cd brennen muss damit das läuft?
_________________ Patrick
im zweifelsfall immer das richtige tun!!!
|
|
Moritz M. 
      
Beiträge: 1672
|
Verfasst: So 24.10.04 20:32
Hoops....hab aus versehen das alte ZIP-File hochgeladen. Jetzt ist eines dabei.
Wie man es auf CD Brennt hab ich keine Ahnung 
|
|
Moritz M. 
      
Beiträge: 1672
|
Verfasst: Do 28.10.04 17:15
|
|
GTA-Place
      

Beiträge: 5248
Erhaltene Danke: 2
WIN XP, IE 7, FF 2.0
Delphi 7, Lazarus
|
Verfasst: Sa 04.08.07 17:35
Falls sich jemand dafür interessiert, hab grad mal nach nem aktuellen Link gesucht:
moos.cvs.sourceforge...t/moos/moOS/old/src/
EDIT: ...und das Archiv rekonstruiert.
Einloggen, um Attachments anzusehen!
_________________ "Wer Ego-Shooter Killerspiele nennt, muss konsequenterweise jeden Horrorstreifen als Killerfilm bezeichnen." (Zeit.de)
|
|
stigge
      
Beiträge: 426
WinXP
Delphi 2007
|
Verfasst: Di 07.08.07 20:00
Weiß jemand, wie ich das Image auf CD brennen kann und bootfähig mache?
Da mein PC kein Diskettenlaufwerk mehr hat muss ich eine CD nehmen aber beim Starten startet immer der Bootmanager von Linux! Im BIOS ist das CD-Laufwerk auch als erstes Bootlaufwerk eingetragen.
Die write_os.exe will auch nicht, auch nicht bei einer Parameterangabe.
Weiß jemand weiter? (Bochs will ich nur deshalb auch nicht installieren  )
|
|
arj
      
Beiträge: 378
Win XP/Vista, Debian, (K)Ubuntu
Delphi 5 Prof, Delphi 7 Prof, C# (#Develop, VS 2005), Java (Eclipse), C++, QT, PHP, Python
|
Verfasst: Mi 08.08.07 09:17
Hol dir lieber Bochs oder Qemu. Muss man beides nicht installieren.
Sooo viel kann man in diesem Betriebssystem dann auch wieder nicht machen,
dass sich das brennen auf CD lohnen würde.
@Moritz: Cool  bin auch an sowas dran.
|
|