用grub啟動的非常基本的示例,並要求使用Multiboot 1024 x 768 x 32的32位圖形模式
這樣做的目的是使用grub啟動並請求使用多腳的圖形模式的基本示例,然後執行一些非常基本的繪圖功能。
其中包括無忠誠度字體,以示例使用,因此您可以在操作系統中寫入內容。
這個想法是,它將成為創建自己的操作系統並希望向其添加圖形的人的參考,並希望使用Multiboot為他們弄清楚它,而不是編碼所有必需的步驟。
使用WSL 2在Windows 11中與VirtualBox 7.0和QEMU一起測試並使用QEMU。
MultiBOT通過在啟動可執行文件中的特定偏移量設置特定值來起作用,因此我們要求以下圖形模式:
.set WIDTH , 1024 / * requested width * /
.set HEIGHT , 768 / * requested height * /
.set DEPTH , 32 / * requested depth * /GRUB將讀取這些值並在將執行移交給我們的應用程序之前設置圖形模式,因此,當我們的應用程序啟動時,如果請求模式有效,則將已經處於該模式。
grub還將通過包含圖形模式設置的內容和其他感興趣的值的Multiboot標頭。
FrameBuffer_Addr是您將圖形操作寫入的地方。
值得注意的是,請求有效的圖形模式,在grub菜單[https://askubuntu.com/questions/16042/how-to-to-to-to-to-te-te-te-the-the-glub-menu-at-boot-boot時間] cli cli videoinfo將列出可用且有效的模式。
我建議使用32位圖形,這更簡單,我認為比其他選項更快或更快。在您考慮之前,但是8位圖形將更快地測量它。
基本的8x8字體是在Templeos中使用字體示例創建的。
需要在linux下構建(我嘗試過WLS,但並未創建ISO映像),使腳本將創建ISO,
g++
binutils
libc6-dev-i386
VirtualBox
grub-legacy
xorriso
在VirtualBox安裝ISO引導中創建新的虛擬機
它沒有任何驅動程序,沒有內存管理,沒有鍵盤或鼠標io,也沒有磁盤io,什麼也沒有。
sudo apt安裝gcc g ++使grub-pc bin xorriso
一旦配置了VirtualBox,我就會在較早版本的VirtualBox下創建一個配置文件,並在版本中重新測試7.0
從命令提示符(vboxmanage.exe將為您安裝在其他位置)/mnt/d/virtualbox/vboxmanage.exe startvm satervm multiboot