W NASM-ie służy temu komenda %include "plik.inc"
dzieki
Cześć to znowu ja ...
Mam teraz taki kod (patrz załącznik)
Czy może mi ktoś podpowiedzieć jak zrobić by bootloader uruchomił funkcje kernel'a w C
Nikt nie wie ???
Najprościej będzie użyć GRUBa jak już wcześniej ci sugerowano, ale jeżeli upierasz się przy własnym bootloaderze to polecam zrobić to tak:
Skompiluj swój kernel do formatu ELF. Skopiuj powstały plik na dyskietkę (chociaż FAT16 sugeruje dysk...). W bootloaderze musisz napisać obsługę FATa (http://wiki.osdev.org/FAT to powinno ci się przydać), a następnie załadować plik ELF (http://wiki.osdev.org/ELF#Loading_ELF_Binaries) i skoczyć do odczytanego z nagłówka entry pointa.
Chociaż szczerze mówiąc wątpię, żeby ci się to udało.
we wcześniejszych postach jest kod bootloader z FAT16 ale nie chce on odnaleźć pliku z kernelem
Specyfikacja FAT12/16/32 jest do pobrania ze strony Microsoftu. Polecam tego się trzymać.
Ja już mam bootlader z FAT16 ale nie chce on działać więc porzuciłem pomysł z FAT16 (na razie oczywiście)
Na pewno musi istnieć sposób by kodzie asm kazać wywołać funkcję kernela z C ale nie mam pojęcia jak to zrobić
Na pewno musi istnieć sposób by kodzie asm kazać wywołać funkcję kernela z C ale nie mam pojęcia jak to zrobić
Skompilować oba pliki do jakiegoś formatu obsługującego relokacje, a potem zlinkować statycznie kernel z tym plikiem *.asm do zwykłego pliku binarnego.
dawno już znalazłem prosty bootloader który ma ładować kernel ale nie potrafię go skompilować czy może ktoś pomóc
ewentualnie mogę dać kod i to co udało mi się uzyskać.
https://github.com/luksow/OS/tree/0x04
Czy może mi podać ktoś źródła jakiegoś prostego systemu / bootloaddera z FAT16/32 lub sam bootloader .
Szukałem już jakiegoś prostego kernela ale wszystkie jakie znalazłem wymagały GRUB'a a ja bym wolał by bootloader był w asm'ie tak bym mógłe przejrzeć kod.