2011-12-21 34 views
3

我想通過自己編寫一個引導加載程序來啓動linux內核,但不知道如何加載內核。Bootstrapping linux

所有人都說使用int 13h從硬盤加載扇區到內存。 其中扇區應該加載?加載扇區後應該做些什麼? 請分享一個簡單的引導加載程序的代碼Linux內核,如果你能....

當引導加載器搜索,我們只能看到如何使世界你好引導程序,只打印的hello world或使用匯編語言的類似消息....沒有更多可以看到...

什麼是內核入口點?有人說start()函數需要被調用......但是怎麼做?

+1

「how to bootstrap linux」found [this](http://linuxgazette.net/issue70/ghosh.html),看起來很有希望。 – 2011-12-21 16:18:03

回答

1

關於切入點:

在Linux源代碼的文件文檔/ 86/boot.txt的題目是 「在Linux/x86的引導協議」。它解釋了調用內核的當前過程,包括引導和內存初始化時CPU必須使用的模式。

關於磁盤扇區:

該文件解釋後在引導過程中已裝入壓縮的內核從磁盤到內存中。我想(但我不確定)每個引導加載程序都有自己的方式來查找與內核映像相對應的磁盤扇區,並且他們的第二階段(512 MB的MBR通常是不夠的)以及它自己的方式來存儲這些扇區信息。