Я следовал "Mike OS Guide", чтобы создать свой собственный ядро, и у меня все заработало. Но затем я просмотрел множество руководств в Интернете по созданию загрузочного сектора в NASM
, который загружает main
функцию из скомпилированного объекта C
. Я пробовал компилировать и связывать со всеми видами установок GCC:
x86_64-pc-linux-
arm-uclinux-elf-
arm-agb-elf-
arm-elf-
arm-apple-darwin10-
powerpc-apple-darwin10-
i686-apple-darwin10-
i586-pc-linux-
i386-elf-
Все они терпят неудачу, как только я помещаю их на дискету, как я делаю с MikeOS
bootstrap. Я пробовал различные руководства на http://www.osdever.net/, например здесь, и я пробовал http://wiki.osdev.org/Bare_Bones, но ни один из них не работает при попытке компиляции на Mac, но я не устал от настоящего Linux машины пока нет. Но мне было интересно, как я могу получить начальную загрузку при сборке вызовов функции C
и объединить их в рабочий файл ядра, а затем загрузить его на дискету, а затем на ISO, как в учебнике MikeOS
. Или мне просто сделать kernel.bin
и загрузить syslinux
? Может ли кто-нибудь дать мне совет, как заставить все это работать в среде разработки Mac? У меня есть сборы через macports и homebrew, так что это помогает. Кто-нибудь последовательно это делал?
ИЗМЕНИТЬ Вот мой загрузочный сектор.
Я просто хочу знать, как перейти к функции extern
из C
и связать ее.