naums
Anmeldungsdatum: 9. August 2009
Beiträge: 607
|
Hallo. Ich suche Leute, die Lust und das nötige Know-How haben um mit mir ein Betriebssystem zu schreiben. Ich dachte zu allererst nur daran das einen kleinen Text ausgeben zu lassen, später sollte man es dann textbasiert steuern können (siehe DOS; nur solls nich so heißen :]) und noch später vielleicht mit grafischer Oberfläche (vielleicht GNOME, weil ichs toll finde ^^) Es sollte ohne Installation lauffähig sein, und zumindest auf Intel Prozessoren laufen. Lizenz: GPL Ich will KEIN Linux-basiertes OS sondern ein ganz neues (auch wenn Teile möglicherweise von Linux übernommen werden) Wer Lust hat kann sich entweder hier melden, oder wir reden im ICQ bzw. MSN nochmal. Quellcodes tauschen wir unter one.ubuntu.com aus (das wird unter Windows nicht unbedingt gut laufen, nehme ich mal an) danke.
|
Creshal
Anmeldungsdatum: 24. November 2007
Beiträge: 487
Wohnort: Aachen
|
naums schrieb: Ich suche Leute, die Lust und das nötige Know-How haben um mit mir ein Betriebssystem zu schreiben.
Hast du das nötige Know-How?
|
naums
(Themenstarter)
Anmeldungsdatum: 9. August 2009
Beiträge: 607
|
jetzt kann ich das auch endlich mal sagen: Yahoo's your friend! haha, das macht spaß nee, hab ich ne, dafür kann ich Assembler ^^
|
LinusNichtTorvalds
Anmeldungsdatum: 7. August 2008
Beiträge: 1626
Wohnort: /dev/hardcore
|
Ganz ehrlich? Du nimmst dir zu viel vor! 😀 Weißt du, was das für eine Drecksarbeit ist? Allein die POSIX-Systemaufrufe zu programmieren, kostet dich Jahre. Wenn du die allerdings von Linux übernimmst, musst du auch andere Teile von Linux übernehmen. Und dann kannste gleich den Kernel als Grundlage nehmen 😀
|
naums
(Themenstarter)
Anmeldungsdatum: 9. August 2009
Beiträge: 607
|
ja und dann??? dann hab ich den Kernel, schmeiß ich noch GNOME und den FF mit in nen Topf und fertig ist die Distri? Das will ich ne, ich will programmieren (und wenns eben erstmal nur nen kleinen Text ausgibt, und dann rebootet.... Vieleicht sollte ich mich berichtigen, ich WILL kein Linux, aber wenn wir dann halt ein Linux-based OS erstellen solls mir auch egal sein, nur sollte jmd. da sein, der sich mit dem Boot und solchem Quark bissl auskennt.
|
naums
(Themenstarter)
Anmeldungsdatum: 9. August 2009
Beiträge: 607
|
Ganz ehrlich? Du nimmst dir zu viel vor! 😀
ganz erhlich? das weiß ich schon. Ich nehme mir oft zu viel vor. ^^
|
LinusNichtTorvalds
Anmeldungsdatum: 7. August 2008
Beiträge: 1626
Wohnort: /dev/hardcore
|
naums schrieb: [..] nur sollte jmd. da sein, der sich mit dem Boot und solchem Quark bissl auskennt
Wenn du das selber nicht tust, brauchst du garnicht erst anzufangen, ein Betriebssystem zu schreiben. Wie soll dein System denn aussehen? Microkernel? Kein Microkernel? Unix-artig? POSIX-Kompatibel? Hast du dir darüber schonmal Gedanken gemacht?
|
Bebu
Anmeldungsdatum: 21. August 2007
Beiträge: Zähle...
|
naums schrieb: Ganz ehrlich? Du nimmst dir zu viel vor! 😀
ganz erhlich? das weiß ich schon. Ich nehme mir oft zu viel vor. ^^
Ich empfehle dir mal diese Lektüre zum Thema hier. Es ist zwar noch nicht ganz vollständig, aber zum anlesen schon mal eine gute Grundlage: http://tutorial.proggen.org/doku.php?id=kernel:start Besonders gut gefällt mir dieser Teil:http://tutorial.proggen.org/doku.php?id=kernel:tut:goals_motivation 😛 😉 Gruß Bebu
|
naums
(Themenstarter)
Anmeldungsdatum: 9. August 2009
Beiträge: 607
|
DANKE! Das wird denk ich mal helfen. ^^. So... wenn ich mal bisschen Zeit habe, zeig ich euch mal irgendwann meine Versuche... XD
|
Bitschupser
Anmeldungsdatum: 30. Juli 2008
Beiträge: Zähle...
|
Hi, da nimmst du dir echt eine Mammutaufgabe vor die dich über Jahre beschäftigen wird und (meiner Meinung nach) auch nicht immer Spaß macht. Ich habe selbst mal einen kleinen Kernel geschrieben, der Bootet und in mehreren Farben "Hello World" ausgibt. Wenn du willst kann ich dir den Quellcode schicken (das wäre ja bereits der erste Schritt, den du erledigen wolltest 😉). Der Code ist hauptsächlich C (was ich dir auch empfehlen würde - ist einfach angenehmer als pure Assembler).
Ganz ohne Installation wirst du aber sicherlich nicht auskommen - immerhin muss der Bootloader irgendwie in den MBR der Festplatte und falls da schon ein anderer (z. B. Windows oder Linux) ist, wird der überschrieben.
|
naums
(Themenstarter)
Anmeldungsdatum: 9. August 2009
Beiträge: 607
|
kann man nicht mit C++ arbeiten??? Ja C ist besser als Assembler, hab selbst mal mit Assembler gearbeitet, in einem Praktikum für den ATMega 128. ^^ war auch mal ganz lustig, weil ich jetzt die Materie besser verstehe ^^
wäre lieb wenn du mir den schicken könntest. Vllt. gleich über Ubuntu One? Der Bootloader, da wollte ich eigentlich relativ nah am Linux bleiben beim GRUB, der sollte das mit dem anderen OS erkennen, ja können. (und man muss es ja nicht Installation nennen, sondern "Kopieren" ???
|
Bitschupser
Anmeldungsdatum: 30. Juli 2008
Beiträge: 27
|
Ich denke dass man zumindest Teile auch in C++ machen könnte (ich glaube es gibt auch einige Hobbyisten, die Kernel in C++ schreiben). Allerdings kann man (weder bei C, noch bei C++) auf die Bibliotheken zugreifen (also nix mit STL oder libc), diese Funktionen (sofern man sie braucht) müsste man sich selber schreiben - auch deshalb ist Kernelentwicklung extrem mühsam, man muss hald alles zu Fuß machen. Schick mir am besten mal deine Ubuntu One Mailadresse per PM, dann share ich das Ding mit dir.
|
naums
(Themenstarter)
Anmeldungsdatum: 9. August 2009
Beiträge: 607
|
das Tutorial hier: http://tutorial.proggen.org/doku.php?id=kernel:start was mir oben empfohlen wird, ist 1. unvollständig, und 2. funktioniert das Linken der Files ne, ld: no input files Befehl:
ld -m elf_i386 -Map linker-output-map.txt -T linkerscript.ld -o basic-kernel-asm.bin hat wer ne Idee, warum das nix wird?
|
naums
(Themenstarter)
Anmeldungsdatum: 9. August 2009
Beiträge: 607
|
Memory Configuration
Name Origin Length Attributes
*default* 0x0000000000000000 0xffffffffffffffff
Linker script and memory map
0x0000000000100000 . = 0x100000
0x0000000000100000 __kernel_start = .
.multiboot_data
0x0000000000100000 0xc
*(.multiboot_data)
.multiboot_data
0x0000000000100000 0xc basic-kernel-asm.o
.text 0x0000000000100010 0x10
*(.text)
.text 0x0000000000100010 0x10 basic-kernel-asm.o
.iplt 0x0000000000100020 0x0
.iplt 0x0000000000000000 0x0 basic-kernel-asm.o
.rel.dyn 0x0000000000100020 0x0
.rel.iplt 0x0000000000000000 0x0 basic-kernel-asm.o
.rel.text 0x0000000000000000 0x0 basic-kernel-asm.o
.data
*(.data)
*(.rodata)
.igot.plt 0x0000000000100020 0x0
.igot.plt 0x0000000000000000 0x0 basic-kernel-asm.o
.bss 0x0000000000100020 0x2000
*(.bss)
.bss 0x0000000000100020 0x2000 basic-kernel-asm.o
0x0000000000102020 __kernel_end = .
0x0000000000102020 end = .
LOAD basic-kernel-asm.o
OUTPUT(kernel.bin elf32-i386)
.comment 0x0000000000000000 0x1f
.comment 0x0000000000000000 0x1f basic-kernel-asm.o Das ist der Inhalt der Linker-output-map.txt
|
Bebu
Anmeldungsdatum: 21. August 2007
Beiträge: 72
|
Die Frage solltest du am besten im zum Tutorial gehörenden Forum stellen, der Typ von dem das Tut ist, arbeitet da als Moderator mit. Der wird dir wohl am ehesten weiterhelfen können. Der arbeitet außerdem selber an einem kleinen Kernel und er wird dir gerne weiterhelfen.
|