我已經編譯了linux內核2.6.39,我想在BOCHS中模擬它。然後,如何從BOCHS中編譯的內核啓動?
我有一個想法,使一個啓動.ISO文件。但我不知道該怎麼做。如何從Linux內核啓動,當我從源代碼編譯它?
1
A
回答
0
Bochs似乎缺乏直接引導可執行文件的能力,因此您應該先創建虛擬磁盤磁盤映像(tutorial)。然後,你可以設置圖像與kpartx一個循環設備:
# kpartx -a image.img
這將創建/ dev下loopNp1(用N取決於所使用的循環設備,通常爲0)。 現在你可以格式化和安裝它:
# mkfs.ext4 /dev/loopNp1
# mount /dev/loopNp1 /mnt
您可以將您的內核映像(zImage的,bzImage的或類似的),然後複製到的/ mnt /啓動。 但是,爲了使其工作,您還需要一個引導加載程序。您可以輕鬆地安裝grub(如果你已經在使用它在系統上)與
# grub-install --boot-directory=/mnt/boot /dev/loopN
您還需要像
set timeout=0
set default=0 # Set the default menu entry
menuentry "Linux" {
linux /boot/zImage
boot
}
將其放置在/ mnt下的/ boot/grub的一個的grub.cfg。現在我們完成了,卸下所有內容,在你的bochsrc中添加一行,如
ata0-master:type = disk,path = image.img,mode = flat,cylinders = 0,heads = 0,spt = 0,translation (注意:在某些情況下,您可能需要手動指定CHS值),它應該能夠工作(至少在嘗試運行init之前 - 但這是一個不同的問題)。
相關問題
- 1. 編譯我自己的內核(而不是從Linux內核源)
- 2. 從代碼內編譯QT源代碼
- 3. Linux內核源代碼修改和重新編譯
- 4. 從源代碼編譯內核。錯誤解釋。
- 5. 如何從源代碼編譯Android?
- 6. 如何從源代碼編譯VTProlog?
- 7. 如何從源代碼編譯XBMC
- 8. 如何從源代碼編譯P4?
- 9. 如何從源代碼編譯Blender?
- 10. nginx從源代碼編譯
- 11. 如何編譯和啓動Android內核
- 12. 編譯linux內核
- 13. 編譯Linux內核
- 14. 如何在Windows上編譯Linux內核代碼?
- 15. 從我的啓動引導程序啓動Linux內核
- 16. 在linux的內核模式下如何編譯和編譯「Hello World」代碼?
- 17. 如何在ubuntu上編譯Android內核源代碼?
- 18. 如何從源代碼編譯TCL以在tclsh中啓用內存命令
- 19. 如何從內核代碼重新啓動android手機
- 20. 如何在Linux Distro上編譯從Linux到Windows的SFML C++源代碼?
- 21. 從源代碼樹構建Linux內核模塊
- 22. 從源代碼構建Linux內核。沒有出現在〜/ rpmbuild/BUILD
- 23. 如何在編譯Linux內核
- 24. 如何編譯Linux內核模塊
- 25. 閱讀linux內核源代碼
- 26. Linux內核源代碼下載
- 27. Linux。 munlockall()在內核源代碼
- 28. android linux內核版本源代碼
- 29. Linux內核編譯器FriendlyARM
- 30. Linux內核模塊編譯