用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