Das ist dann aber immer noch nichts eigenes, sondern nur ein anderes fremdes Fertigprodukt.
09. November 2026, 18:29
extern heap_t* kheap;
...
// kheap initialisiert?
if( kheap!=0 ) { kheap benutzen }Kann man das via Linkerskript einbeziehen und auf Null setzen?Glaube nicht
Dann wäre bei mir wohl kernel.asm der richtige Ort für diese Aktion?Jep. Weil dein Kernel eine flache Binary ist, ist das auch der einzige Ort.
.bss :
{
*(.bss)
*(COMMON)
}Hm, ich wüsste da jetzt nichts spezielles dazu. Aber viel mehr gibt es da ja auch gar nicht zu wissen als dass das BIOS einfach das richtige macht.ZitatBooten von USB geht im allgemeinen so, dass das BIOS ein großes Floppylaufwerk emuliert.Hast Du dazu einen Link, habe das bisher nicht gefunden, möchte nicht vom Regen in die Traufe kommen.

der Hinweis auf GRUB leider sinnvoll. Dennoch empfinde ich dies als Einengung, denn man wird praktisch auf einen Rechner gezwungen, der GRUB verwendet, damit zu Linux getrieben.Das ist Blödsinn und wird durch Wiederholung nicht richtiger. GRUB ist ein Bootloader, der mit Linux nur zu tun hat, dass das eins der vielen Systeme ist, das er laden kann. Warum sagst du nicht, man wird zu Hurd getrieben, da kommt er ja schließlich her? Oder zu tyndur, Xen, NetBSD usw., die kann er ja auch alle laden?
EDIT: Problem momentan entschärft. Der Algorithmus von PorkChicken ist zum Glück o.k. Das Schlimme ist, dass man bei allen Problemen im Kernel, die nicht überall gleichermaßen auftreten, den eigenen Bootloader im Verdacht hat.Naja, das sagt viel darüber aus, wie sehr du deinem Bootloader vertraust. In dem Fall solltest du vielleicht nochmal eine Weile dran arbeiten, bis du ihm genug vertraust. Keiner hier sagt dir, du musst GRUB nehmen. Aber wir sagen, wenn du es nicht tust, musst du ernsthaft Zeit in deinen eigenen Bootloader investieren, bevor du mit deinem OS richtig anfangen kannst. Ob du dazu bereit bist, ist deine eigene Entscheidung.
OS steht z.Z. absolut stabil. Fehler ist eindeutig im VFS/RAM-Disk-Code von JM (bei root->nodes). Nach Umgehung der VFS/RAM Disk läuft das OS stabil:Hättest du nicht vorher sagen können, dass das eine tar-Bombe im zip-Format ist?
http://www.henkessoft.de/OS_Dev/Downloads/85.zip

Wer sich für OS-Entwicklung von Grund auf (also ohne GRUB) interessiertMissverständnis. Bootloader-Entwicklung ist ein verwandtes Thema, aber kein Teilgebiet der OS-Entwicklung.
tyndur ist aufgrund der langen Entwicklungszeit für viele bereits zu weit fortgeschritten und daher zu komplex.
).Eine Einsteiger-Doku existiert nicht.
Selbstverständlich gehört der Bootloader zum Betriebssystem dazu.
GRUB mag auch nicht jeder.
Gerade junge Leute wollen noch dazu ihr eigenes Ding durchziehen.
Nein. Das würde implizieren, dass zu jedem Bootloader genau ein Betriebssystem gehört und dass umgekehrt jedes Betriebssystem genau einen Bootloader hat. Dass ersteres nicht stimmt, sollte eigentlich jeder wissen, der hier mitbekommen, dass es mehr als einen gibt, der sein OS von GRUB booten lässt. Für letzteres nehme ich einfach mal Linux als Beispiel her - Lilo, GRUB, loadlin, syslinux und sicher noch ein paar mehr.ZitatBootloader-Entwicklung ist ein verwandtes Thema, aber kein Teilgebiet der OS-Entwicklung.Selbstverständlich gehört der Bootloader zum Betriebssystem dazu.
Ja, wie gesagt, kompiliert bekomme ich es. Zwar mit händischen Anpassungen der Makefile, aber das kriege ich grad noch hin. Es bootet nur nicht, wie ich mir das vorstelle (es sei denn, du sagst, eine Zeile voll Sterne ist alles, was passieren soll).ZitatWenn ich das Ding mal gebootet bekommeMerkwürdig. PrettyOS verwendet inzwischen die von euch empfohlenen Cross-Tools. Linker-Skript und Makefile sind im zip-File dabei.
Der ist weg, seit ich das fehlerhafte Modul von JM umgehe. PFs kann ich inzwischen auch selbst finden. Das Problem war lediglich, dass er mit VFS/RAM Disk (83 er Version) nur auf manchen real PC aufgetreten ist, teilweise sogar auf dem selben PC verschiedene Reaktion.Umgehen klingt aber nicht nach einem Fix.

tyndur ist aufgrund der langen Entwicklungszeit für viele bereits zu weit fortgeschritten und daher zu komplex. Eine Einsteiger-Doku existiert nicht. Gerade junge Leute wollen noch dazu ihr eigenes Ding durchziehen. Selbst PrettyOS ist für einen Anfänger (C, Assembler, OSDEV) nicht in einer Woche begreifbar.Für wirklich komplex halte ich tyndur nicht. Gerade der Kernel ist ziemlich einfach gestrickt. Aber zugegeben, man könnte ihn wohl wesentlich besser erklären.
Naja, also wenn man ein wenig Zeit investiert und sich durch den Quellcode liest und dabei noch die doxygen-Dokumentation nutzt, blick tman doch durch tyndur durch (gut, nicht in jede kleinste EckeIch kenne auch nicht jede kleinste Ecke. Und bin eigentlich ganz froh darüber.).

Das bringt mich auf eine Idee...man könnte doch den "alten" Soruce von ehemals LOST 0.1.0 nehmen und diesen "verdokumentieren", sodass für Einsteiger eine solide Basis vorhanden ist und man anhand von LOST lernen kann. Dann kann man sich in tyndur einlesen (was ja an und für sich kein Weltengroßer Unterschied ist (zumindest im kernel)).Nein, bitte nicht auf 0.1.0 aufsetzen. Entweder der Code ist im aktuellen Zustand noch der gleiche oder es gibt gute Gründe, warum der Code nicht mehr so ist, wie er war.
typedef __builtin_va_list va_list;
#define va_start(ap, X) __builtin_va_start(ap, X)
#define va_arg(ap, type) __builtin_va_arg(ap, type)
#define va_end(ap) __builtin_va_end(ap)
LOST_TOOLS_GCC=$COMPILER_PREFIX"gcc -m32 -g -c -fno-stack-protector -nostdinc -fno-leading-underscore -fno-omit-frame-pointer -Wall -Werror -Wstrict-prototypes -fno-strict-aliasing -O2 -fno-builtin -I ."Was du für wichtig hältst, ist natürlich ein Stück weit auch deine eigene Entscheidung.