Ładowanie pliku - FAT16

0

W NASM-ie służy temu komenda %include "plik.inc"

0

dzieki

0

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

0

Nikt nie wie ???

0

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.

0

we wcześniejszych postach jest kod bootloader z FAT16 ale nie chce on odnaleźć pliku z kernelem

0

Specyfikacja FAT12/16/32 jest do pobrania ze strony Microsoftu. Polecam tego się trzymać.

0

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ć

0

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.

0

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

0

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.

1 użytkowników online, w tym zalogowanych: 0, gości: 1