簡體   English   中英

在QEMU上使用multiboot和floppy

[英]Using both multiboot and floppy with QEMU

我正在嘗試開發一個操作系統。 我已經完成了OSDev的Barebones教程 ,但仍然存在多重啟動問題。

據我所知,當我按照教程創建多重啟動圖像時,我有一個ELF格式的二進制文件。 當我指定-kernel選項時,QEMU將此ELF可執行文件加載到內存中。 所以我在內存中有一個可執行程序,它有一個入口點。 它有一些功能和庫。 記憶中沒有別的東西。 還沒有軟盤或磁盤映像,我可以從中讀取或寫入扇區。 這主要是因為我沒有在這方面向QEMU指明任何內容。

但是,我想要實現的是在QEMU加載我的ELF可執行文件之后,我希望有一個磁盤或軟盤架構,我可以從中讀取或寫入扇區。 我還想從中加載一些用戶程序,或者在其上設置文件系統。 到目前為止,我認為是這樣的:

qemu-system-i386 -kernel myKernel.bin -fda myDisk.image

或許,我應該拿我的myKernel.bin文件,用零填充它,直到它對齊到512字節,然后將剩下的磁盤映像附加到它。

我的問題是如何使用QEMU實現此功能。 在深入編寫磁盤驅動程序之前,我需要知道這樣的任務是否可行。 如果不可能,我可以采取不同的方法,但這些是我現在的想法。 我已經調查了-initrd ,這不是我想要的。 我也不想讓QEMU將任何文件加載到RAM中。 相反,我想自己操縱磁盤映像。 有關如何做到這一點的任何建議?

除非你編寫了某種加載器,否則你不需要軟盤映像和多引導內核。 -kernel標志與grub類似,它比從虛擬媒體加載要快得多。 這是多少Linux內核和驅動程序開發人員測試他們的代碼,而不是每次都創建一個虛擬媒體圖像。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM