Witam czy ktoś będzie w stanie mi pomóc chodzi mianowicie o własnego kernel'a .
Nie mogę go skompilować pokazuje mi file not recognized: File format not recognized
Może ktoś spróbuje skompilować u siebie .
Dodam że ma Windows 64-bit i może to jest źródłem problemów.
Nie mogę skompilować kernel'a który skacze do funkcji napisanej w C
ale taki który skacze do funkcji w asm działa bezproblemowo.
Kod przesyłam w załączniku.
problemem jest linijka
nasm -f aout loader.asm -o loader.o
w której jako format wyjściowy ustawiono aout
. jednak linker ld.exe
z pakietu MinGW nie obsługuje tego (starożytnego) formatu.
możesz popróbować z innymi, np. elf
albo win32
, ale wtedy inne błedy wyskakują.
nie wiem jak to naprawić (poza może użyciem jakiejś staaarej wersji linkera, która jeszcze miała obsługę aout
.
Możesz mieć rację zaraz sprawdze co u mnie pokazuje .
Mam jeszcze pytanie czy nie ma ktoś kodu który skacze do funkcji jądra w C czy czegoś podobnego np jakiegoś bootloadera który jest zgodny ze standardem multiboot
Gdyby ktoś wiedział co zrobić gdy ld.exe wywala taki błąd
ld: cannot perform PE operations on non PE output file 'kernel.bin'.
To proszę by odpisał i zdradził mi jakieś rozwiązanie tego problemu :)