[英]How to make an bootable iso(not cd or flash drive) for testing your own boot loader?
我正在嘗試編寫一個啟動加載程序(hello world sort)。 我正在使用Bochs進行模擬(平台Linux-Ubuntu)。 但我無法為我的二進制文件制作可引導的iso。 雖然在教程中使用了VFD(虛擬軟盤)但它適用於Windows平台。 這是我的bootloader代碼(僅用於測試)
;*********************************************
; Boot1.asm
; - A Simple Bootloader for testing if cd is booting or not
;
; Operating Systems Development Tutorial
;*********************************************
[BITS 16] ;tell the assembler that its a 16 bit code
[ORG 0x7C00] ;Origin, tell the assembler that where the code will
Start:
cli ; Clear all Interrupts
hlt ; halt the system
times 510 - ($-$$) db 0 ; We have to be 512 bytes. Clear the rest of the bytes with 0
dw 0xAA55 ; Boot Signature
我嘗試在Ubuntu上使用ISO。 它將二進制文件轉換為ISO但不轉換為可引導的ISO。 Bochs顯示錯誤“cd is el eltorito”,我用Google搜索並發現它是可引導ISO的標准。我必須添加其他東西以使其可引導。 我已經在最后添加了啟動簽名。 任何人都可以建議一個可靠的應用程序來在Ubuntu上制作可啟動的ISO嗎? 我的工作因此而陷入困境......或者我很確定很多人必須參與Linux平台上的操作系統開發。 你們怎么測試?
我用Unetbootin和我的bootloader程序iso制作了一個可啟動的閃存驅動器。 切換到虛擬盒並扭曲一點從pendrive啟動,但仍然顯示它是不可啟動的。 我想有人說得對,你需要在操作系統開發方面有很大的耐心。
:phew最后我的bootloader程序運行了...
我使用虛擬軟盤映像在虛擬機上啟動我的程序。 以下是有人在努力解決問題的步驟。
1.創建具有引導加載程序的boot.asm。
2.用nasm編譯。 nasm -f bin boot.asm -o boot.bin。
3.sudo mkfs.msdos -C / home / username /floppy.img 1440
4.sudo chown username ./floppy.img。 鏈接文字
5.與dd復制。 dd if =。/ boot.bin =。/ floppy.img。
6.運行VirtualBox並選擇floppy.img作為新虛擬機中的啟動設備。
PS:您也可以將floppy.img附加到設備“loop”並將其安裝為真正的軟盤。
在所有存儲位置/檢索方法中,CD-ROM / El-Torito是奇怪的(並且不要讓我開始使用Mac CDROM文件系統混合)
使用Floppy,Harddisk / USB或PXE-TFTP,只需將對象代碼寫入第一個扇區,或者在tftp的情況下,只需下載並執行即可。 這些都不容易。
試試WinISO,它對我來說非常適合。
一個非常簡單的腳本將在linux中執行此操作,如下所示: -
rm -f disk_images/myos.iso
mkisofs -quiet -V 'MYOS' -input-charset iso8859-1 -o disk_images/myos.iso -b myos.flp disk_images/ || exit
軟盤驅動器如下: -
nasm -f bin -o boot.bin boot.asm
dd if=boot.bin of=floppy.img count=1 bs=512 //for the bootloader
和
dd if=boot.bin of=floppy.img skip seek=1 count=1339 //assuming a 1.44Mb floppy
然后你有文件系統
mkdosfs (or whatever system you want ) -C floppy.img 1440
如果您需要Windows的幫助,請告訴我:)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.