Beiträge anzeigen

Diese Sektion erlaubt es dir alle Beiträge dieses Mitglieds zu sehen. Beachte, dass du nur solche Beiträge sehen kannst, zu denen du auch Zugriffsrechte hast.


Nachrichten - Nicolas

Seiten: [1]
1
Offtopic / Re: Editor(en)/Entwicklungsumgebung(en) C/C++ und ASM
« am: 05. October 2007, 23:29 »
Ich nutze kDevelop, NASM, FreePascal, GCC und Subversion/RapidSVN.

Gruß
2
Lowlevel-Coding / Re: Dateisystem schon im Kernel?
« am: 29. August 2007, 13:25 »
Ich wollte eigentlich mein eigenes schreiben trotzdem werd ich jetzt mal ein paar FAT12 Dokumente lesen und danach programmieren.

Vielen Dank!
3
Lowlevel-Coding / Dateisystem schon im Kernel?
« am: 29. August 2007, 11:12 »
Hallo,
Ich arbeite gerade am Dateisystem und an den Modulen.
Da ich mir vorgestellt habe, alles als Module zu laden d.h das VESA und auch das FileSystem (und andere wie Tasks) Module sind.

Wie lade ich Module?
Ich hab mir gedacht mir GRUB (module <pfad>) nur wie soll GRUB den Pfad wissen, wenns noch kein Dateisystem gibt.
Soll ich jetzt doch das Dateisystem in den Kernel schreiben?

Immoment blick ich leider nicht mehr richtig durch :|

Gruß
4
Lowlevel-Coding / Re: Nach Laden > Reboot
« am: 14. July 2007, 17:58 »
Super danke,
Hab nun aus einem OSDever Tutorial das Ding eingefärbt.

Der Text ist zwar nun sehr unten, aber egal, werde das schon irgendwie hinkriegen.

Vielen Dank für deine Zeit und Hilfe taljeth!

Gruß
5
Lowlevel-Coding / Re: Nach Laden > Reboot
« am: 14. July 2007, 15:41 »
Wie meinst du das jetzt?
Ich hab jetzt in der kernel32.asm und kernel.c am anfang ein Leerzeichen hingeschrieben, doch funktionieren tut es nicht.
In einem Tutorial von osdever.net wurde eine clear_screen funktion deklariert.
Liegt es daran, soll ich diese Verwenden?

Gruß
6
Lowlevel-Coding / Re: Nach Laden > Reboot
« am: 14. July 2007, 15:08 »
Vielen Dank, es funktioniert!
Naja, noch nicht ganz.
Der Text also "Welcome to Protected Mode" wird zwar ausgeben darunter kommt aber eine Boot-Message.

Zitat
Welcome to Protected Mode

root (fd0)
 Filesystem type is fat, using whole disk
kernel /kernel.elf
    [Multiboot-elf, <0x100000:0x81:0x0>, <0x101084:0x0:0x0>, shtab=0x102168, entry=0x100000]

Kann man die wegbringen?

Gruß
7
Lowlevel-Coding / Re: Nach Laden > Reboot
« am: 14. July 2007, 13:33 »
Meine kernel32.asm sieht so aus:
[Bits 32]
    extern main
    global start

start:
    call main

stop:
    jmp stop

multiboot_header:
align 4
    MULTIBOOT_MAGIC equ 0x1BADB002
    MULTIBOOT_FLAGS equ 0x03
    MULTIBOOT_CHECKSUM equ -MULTIBOOT_MAGIC-MULTIBOOT_FLAGS
   
    dd MULTIBOOT_MAGIC
    dd MULTIBOOT_FLAGS
    dd MULTIBOOT_CHECKSUM

wie lautet der befehl für ELF bei nasm?
Ich denke man kann nur die kernel16.asm in ELF, weil die kernel32 ja eine .obj ist... Naja, ich weiß nicht so viel davon.

Gruß
8
Lowlevel-Coding / Re: Nach Laden > Reboot
« am: 14. July 2007, 12:08 »
Ja, mein Kernel steht unter GPL (hat auch die Kommentare der GPL drinnen).
Hab das nun eingebaut in meine kernel32.asm. Kompiliert, mbchk => All tests passed.

Nun hab ich wie im Wiki das GRUB Image erstellt. Nur statt /tmp/testimg hab ich /dev/fd0 genommen. (Floppy)

Er erkennt zwar die Diskette und will auch von der booten nur kommt Error 13 "Invald or unsupportef executable format".

Gruß
9
Lowlevel-Coding / Re: Nach Laden > Reboot
« am: 14. July 2007, 10:55 »
Also, Ich habe nun den Kernel noch mal kompiliert - mit multiboot.h -. Ich habe noch eine andere Header datei genannt "std.h" in der ist auch das include für die multiboot.h drinnen.
Mein C-File included dann die std.h.
Ok, Kernel ist gebaut... nun mach ich einmal "mbchk kernel.bin"
Ausgabe: kernel.bin: No Multiboot Header.

Es ist die multiboot.h aus dem GRUB.tar.gz

Gruß
10
Lowlevel-Coding / Re: Nach Laden > Reboot
« am: 13. July 2007, 23:55 »
Wo finde ich den eine multiboot.h?

Gruß
11
Lowlevel-Coding / Re: Nach Laden > Reboot
« am: 13. July 2007, 22:16 »
ELF, heißt das ich soll den Assembler Kernel statt bin-file in ein elf-file assemblieren?


gruß
12
Lowlevel-Coding / Re: Nach Laden > Reboot
« am: 13. July 2007, 18:14 »
Hehe, Ich nutze Gentoo Linux ;)
Hab 3 Partitionen => hda1 => /boot, hda2 => Swap, hda3 => Linux System.
Und ich benutze GRUB.
fd0 ist mir schon klar, dann kommt aber wie oben beschrieben "Error 17"
13
Lowlevel-Coding / Re: Nach Laden > Reboot
« am: 13. July 2007, 16:58 »
Hmm, ich denke schon, also zumindest ist es so bei den Festplatten.
Nur, das hilft mir jetzt auch nicht weiter.

Gruß
14
Lowlevel-Coding / Re: Nach Laden > Reboot
« am: 13. July 2007, 11:21 »
Ok, GRUB habe ich eh mit Gentoo mitinstalliert, werde ich mal probieren.
Trotzdem würde mich, wenn es möglich ist, die Lösung mit dem einen Bootloader auch interessieren. Aber ich probier jetzt mal GRUB.

Vielen Dank für deine Antwort!

// EDIT START
Habe jetz mit GRUB getestet. Aufgabe: GRUB soll <kernel.bin> von der Diskette  booten.
So, habe nun den C-Kernel erneut durchgemacht. Draufgespielt, Error 17 (bedeutung kommt gleich).
Dann habe ich gelesen den GRUB Bootsektor stage1.
Habe das ganze in das .bin file gespielt (dd if=/boot/grub/stage1 of=kernel.bin).
Danach das ganze auf die Diskette (dd if=kernel.bin of=/dev/fd0).

Noch ein Gedanke: Ich verwende bei der Festplatte (hd0,0) also hab ichs mal mit (fd0,0) versucht. Nein, funktioniert nicht, Error 11 (bedeutung kommt gleich).

---

Error 11: Unrecognized device string

Error 17: Cannot mount selected partition

Boot-Log:
Booting 'Operating System'
root (fd0)
   Filesystem unknown, using whole disk.
kernel /kernel.bin

Mein GRUB-Eintrag:
title=Operating System
root (fd0)
kernel /kernel.bin

//EDIT END

Gruß
15
Lowlevel-Coding / Nach Laden > Reboot
« am: 12. July 2007, 22:50 »
Hallo,
Ich habe einen Bootloader (Aus dem LowLevel Wiki) und den C-Kernel von TeeJay.
Ich habe das ganze erfolgreich unter Linux/Gentoo kompiliert, gelinkt und assembliert. Sowie auch zusammen gefügt und auf die Diskette geschrieben.

Wenn ich die Diskette von auf meinem HauptPC booten will, seh ich nur einen blinkenden Cursor. Liegt warscheinlich an falschen BIOS Einstellungen.

Wenn ich die Diskette in meine alten P3 einlege, funktioniert es.
Allerdings wird hier sofort nachdem der Bootloader gestartet ist, rebootet. (Zum Kernel laden kommt es nicht mal.)

Eins sei gesagt, Assembler ist nicht so mein Ding, aber C und C++ verstehe ich.

Meine benutzen Befehle:
nasm -f bin -o kernel16.bin kernel16.asm
nasm -f aout -o kernel32.obj kernel32.asm
gcc -ffreestanding -c -Os -o ckernel.obj kernel.c
ld -T link.ld -o c32kernel.bin
cat boot.bin kernel16.bin c32kernel.bin > operatingsystem.img
dd if=operatingsystem.img of=/dev/fd0

Super, alles funktioniert ohne Probleme.  Nichts... Nur der PC rebootet sobald der Bootloader gestartet wird.

Codes sind exact die gleichen wie vom Tutorial.

Hier noch ein Linker File:
OUTPUT_FORMAT("binary")
INPUT(kernel32.obj ckernel.obj)
ENTRY(start)
SECTIONS
{
 .text  0x10200 : {
   code = .; _code = .; __code = .;
   *(.text)
   . = ALIGN(1);
 }
 .data  : {
   data = .; _data = .; __data = .;
   *(.data)
   . = ALIGN(1);
 }
 .bss  :
 {
   bss = .; _bss = .; __bss = .;
   *(.bss)
   . = ALIGN(1);
 }
 end = .; _end = .; __end = .;
}

Bitte, sagt mir nicht ich solle suchen. Ich suche schon seit Vormittag nach einer Lösung hier im Forum sowie bei Google und Co..

Nur, ich finde kein Thema welches mit meinem übereinstimmt.

Tut - 1: http://www.jay-code.de/scripts/htmlgenerator.php?page=ckernel&directory=tutorials

Tut - 2:
http://lowlevel.brainsware.org/wiki/index.php/Ausgabe_1

Ich hoffe ihr könnt mir helfen.

Gruß
Seiten: [1]

Einloggen