我一直在線上學習一個教程,並構建了一個保存爲boot.bin
的512字節引導程序。如何在Linux中創建一個用於QEMU的圖像文件?
我也有第二階段的引導程序編譯並保存爲2ndstage.bin
。
我的引導程序是這樣編寫的,第二階段不必直接位於內存中的第一階段之後,因爲它通過文件名搜索它。
我如何在Linux中將兩個bin文件合併到某種文件(可能是一個映像)中,我可以使用QEMU來運行我的引導加載程序?
我一直在線上學習一個教程,並構建了一個保存爲boot.bin
的512字節引導程序。如何在Linux中創建一個用於QEMU的圖像文件?
我也有第二階段的引導程序編譯並保存爲2ndstage.bin
。
我的引導程序是這樣編寫的,第二階段不必直接位於內存中的第一階段之後,因爲它通過文件名搜索它。
我如何在Linux中將兩個bin文件合併到某種文件(可能是一個映像)中,我可以使用QEMU來運行我的引導加載程序?
使用dd if=/dev/zero of=image.raw bs=1M count=50
創建原始磁盤映像文件這將使50兆字節的映像文件不爲零。
如果你想塊設備,而不是一個文件進行操作,就可以回送掛載image.raw作爲塊設備(讀取losetup
手冊頁)
可以使用常規的FDISK分區的文件或迴環設備或sfdisk公用程序。然後,您可以使用其他dd
選項(請參閱手冊頁)或其他選項將bin文件放入磁盤映像的正確位置。
之後,如果您創建了環回設備,請取消環回設備,然後使用image.raw文件作爲磁盤設備啓動qemu/qemu-kvm會話。如果你正確地啓動了bootloader,qemu bios會啓動它。