Autor Thema: UOS-Team Hilfe  (Gelesen 4035 mal)

najjannaj

  • Beiträge: 75
    • Profil anzeigen
Gespeichert
« am: 11. November 2005, 10:09 »
Hallo,
ich suche noch einen Helfer für U-OS oder wenigstens etwas Hilfe beim Umstellen des Systems, damit man es unter Windows kompilieren kann und das Umschreiben auf einen FAT12-Bootloader! Würde mich über jede kleine Hilfe freuen!

http://uos.maep.de

Danke im Vorraus!
Mit freundlichen Grüßen
Jan  (najjannaj)

jeb

  • Beiträge: 341
    • Profil anzeigen
    • http://www.jebdev.net
Gespeichert
« Antwort #1 am: 11. November 2005, 12:45 »
was wäre denn das ausser dem Makefile?

najjannaj

  • Beiträge: 75
    • Profil anzeigen
Gespeichert
« Antwort #2 am: 11. November 2005, 12:55 »
Wie meinst du was wäre das außer das umschreiben der Makefile?? da ich nicht mehr soviel Zeit habe wie damahls und ich auch alleine ehrlich gesagt keine Lust mehr habe an U-OS weiterzuarbeiten, frage ich um allgemeine Hilfe! Bei allem! Also als 2ter Entwickler von U-OS! Und wenn das jemand nicht möchte aber bereit wäre mir bei der Umstellung der Makefile und eines Fat12Bootloaders trozdem zu helfen wär ich auch sehr dankbar!



Hier der Fehler der bei der Komilierung unter Windows auftritt, komischerweiße bei Linux nicht, warum?


----------------------------------------
D:\uos>make
nasm -f bin ./boot/boot.asm -o bl.img
gcc -nostdlib -fomit-frame-pointer -fno-builtin -Wall -march=i386 -I./header -I./header/libc   -c -o kernel.o kernel.c
gcc -nostdlib -fomit-frame-pointer -fno-builtin -Wall -march=i386 -I./header -I./header/libc   -c -o processore/irq.o processore/irq.c
gcc -nostdlib -fomit-frame-pointer -fno-builtin -Wall -march=i386 -I./header -I./header/libc   -c -o processore/idt.o processore/idt.c
gcc -nostdlib -fomit-frame-pointer -fno-builtin -Wall -march=i386 -I./header -I./header/libc   -c -o processore/cpuid.o processore/cpuid.c
gcc -nostdlib -fomit-frame-pointer -fno-builtin -Wall -march=i386 -I./header -I./header/libc   -c -o hw/8259.o hw/8259.c
gcc -nostdlib -fomit-frame-pointer -fno-builtin -Wall -march=i386 -I./header -I./header/libc   -c -o hw/8253.o hw/8253.c
gcc -nostdlib -fomit-frame-pointer -fno-builtin -Wall -march=i386 -I./header -I./header/libc   -c -o hw/keyboard.o hw/keyboard.c
gcc -nostdlib -fomit-frame-pointer -fno-builtin -Wall -march=i386 -I./header -I./header/libc   -c -o hw/clock.o hw/clock.c
gcc -nostdlib -fomit-frame-pointer -fno-builtin -Wall -march=i386 -I./header -I./header/libc   -c -o hw/dma.o hw/dma.c
gcc -nostdlib -fomit-frame-pointer -fno-builtin -Wall -march=i386 -I./header -I./header/libc   -c -o hw/floppy.o hw/floppy.c
gcc -nostdlib -fomit-frame-pointer -fno-builtin -Wall -march=i386 -I./header -I./header/libc   -c -o mem/paging.o mem/paging.c
gcc -nostdlib -fomit-frame-pointer -fno-builtin -Wall -march=i386 -I./header -I./header/libc   -c -o mem/fismem.o mem/fismem.c
gcc -nostdlib -fomit-frame-pointer -fno-builtin -Wall -march=i386 -I./header -I./header/libc   -c -o io/io.o io/io.c
gcc -nostdlib -fomit-frame-pointer -fno-builtin -Wall -march=i386 -I./header -I./header/libc   -c -o libc/stdlib.o libc/stdlib.c
gcc -nostdlib -fomit-frame-pointer -fno-builtin -Wall -march=i386 -I./header -I./header/libc   -c -o libc/bitops.o libc/bitops.c
gcc -nostdlib -fomit-frame-pointer -fno-builtin -Wall -march=i386 -I./header -I./header/libc   -c -o libc/stdio.o libc/stdio.c
gcc -nostdlib -fomit-frame-pointer -fno-builtin -Wall -march=i386 -I./header -I./header/libc   -c -o libc/string.o libc/string.c
gcc -nostdlib -fomit-frame-pointer -fno-builtin -Wall -march=i386 -I./header -I./header/libc   -c -o task/task.o task/task.c
gcc -nostdlib -fomit-frame-pointer -fno-builtin -Wall -march=i386 -I./header -I./header/libc   -c -o task/scheduler.o task/scheduler.c
gcc -nostdlib -fomit-frame-pointer -fno-builtin -Wall -march=i386 -I./header -I./header/libc   -c -o task/tss.o task/tss.c
gcc -nostdlib -fomit-frame-pointer -fno-builtin -Wall -march=i386 -I./header -I./header/libc   -c -o task/semaphore.o task/semaphore.c
gcc -nostdlib -fomit-frame-pointer -fno-builtin -Wall -march=i386 -I./header -I./header/libc   -c -o task/ipc/signal.o task/ipc/signal.c
gcc -nostdlib -fomit-frame-pointer -fno-builtin -Wall -march=i386 -I./header -I./header/libc   -c -o video.o video.c
gcc -nostdlib -fomit-frame-pointer -fno-builtin -Wall -march=i386 -I./header -I./header/libc   -c -o system/kprg.o system/kprg.c
system/kprg.c: In function 'halt':
system/kprg.c:95: warning: passing argument 1 of 'sig_kill' makes integer from p
ointer without a cast
system/kprg.c:97: warning: passing argument 1 of 'sig_kill' makes integer from p
ointer without a cast
gcc -nostdlib -fomit-frame-pointer -fno-builtin -Wall -march=i386 -I./header -I./header/libc   -c -o system/shell.o system/shell.c


ld -Bstatic --oformat binary -okernel.bin kernel.o processore/irq.o processore/idt.o processore/cpuid.o hw/8259.o hw/8253.o hw/keyboard.o hw/clock.o hw/dma.o hw/floppy.o mem/paging.o mem/fismem.o io/io.o libc/stdlib.o libc/bitops.o libc/stdio.o libc/string.o task/task.o task/scheduler.o task/tss.o task/semaphore.o task/ipc/signal.o video.o system/kprg.o system/shell.o -Ttext 0x10000 -Map kernel.map
C:\Djgpp\bin\ld.exe: warning: cannot find entry symbol start; defaulting to 0001
0000
processore/idt.o:idt.c:(.text+0x6d7): undefined reference to `exec_irq'
system/shell.o:shell.c:(.text+0x468): undefined reference to `_memcpy'
make.exe: *** [kernel.bin] Error 1

D:\uos>


----------------------------------------

zacK

  • Beiträge: 216
    • Profil anzeigen
    • http://www.domae.ch
Gespeichert
« Antwort #3 am: 11. November 2005, 13:43 »
due musst den pointer in ein interger casten dort wo die zeilen nummer stehen...

unsigned int integer = (unsigned int) pointer;
Zitat
system/kprg.c:95: warning: passing argument 1 of 'sig_kill' makes integer from p
ointer without a cast
system/kprg.c:97: warning: passing argument 1 of 'sig_kill' makes integer from p
ointer without a cast


dann must du bei allen asembler routinen die in c verlinkt sind einen underscore dafor machen....

gruss

najjannaj

  • Beiträge: 75
    • Profil anzeigen
Gespeichert
« Antwort #4 am: 11. November 2005, 13:57 »
Also das mit dem Pointer war mir schon bewusst, hatte ich nur vergessen ging aber trotzdem! Mir gings um die letzten 2 Fehler die ich mit dem "_" wegbekommen habe, zumindest den "exec_irq" aber ich hab in meinem kompletten Sourcecode keine "memcpy" funktion eingebaut! Hab auch extra alle dateien nochmal nach dem wort durchsucht und nichts gefunden! Warum geht es dann aber unter Linux und unter Windows nicht?? Es bleibt jetzt nur noch der Fehler übrig:

system/shell.o:shell.cTraurig.text+0x468): undefined reference to `_memcpy'


Danke schonmal!

zacK

  • Beiträge: 216
    • Profil anzeigen
    • http://www.domae.ch
Gespeichert
« Antwort #5 am: 11. November 2005, 15:26 »
na irgendwo musst du sie ja haben, sonst würde der compiler nicht mekern.

vieleicht ein extern memcopy(); oder so...

SSJ7Gohan

  • Beiträge: 398
    • Profil anzeigen
Gespeichert
« Antwort #6 am: 11. November 2005, 15:31 »
Doch, der gcc benutzt memcpy für Sachen wie:
char buffer[1024] = "ein string";

Bastel dir halt eine simple memcpy Funktion und es sollte funktionieren.

Legend

  • Beiträge: 635
    • Profil anzeigen
    • http://os.joachimnock.de
Gespeichert
« Antwort #7 am: 12. November 2005, 00:55 »
Ich wollte es grad schreiben und sehe dann wieder das wir mit SSJ7Gohan einen fähigen Entwickler hier haben!  8)
*post*

 

Einloggen