Как написать загрузчик для загрузки ядра c?

Я изучаю NASM, когда пишу загрузчики. Пока у меня есть загрузчик hello world. Я хочу знать, как связать с ним программу c и загрузить загрузчик в память и начать выполнять функцию точки входа. Мне нужен код NASM, поскольку я NASM n00b. Большое спасибо за помощь.

EDIT: в основном мне нужно знать, как связать программу c, и мне нужен код NASM для tsrat, это функция точки входа. Никаких подводных камней я должен знать?

2 ответов


хотя в этом уроке для C++, его точно такая же процедура (в учебнике перечислены части, которые специфичны для C++, которые являются только статическими ctors & dtors).

когда возникают проблемы в этой области, osdev.org вообще есть ответ или учебник


есть тонны gotchas о загрузке ядра:

вот хороший ресурс http://linuxgazette.net/issue77/krishnakumar.html

Это должно вам начать работу.