我正在开发一个操作系统项目,使用isolinux(syslinux 4.5)作为引导加载程序,使用组织在0x200000的多引导头加载我的内核.
据我所知,内核已经处于32位保护模式.我的问题:有没有更简单的方法来访问BIOS中断?(基本上我想要0x10:D)
加载后,我的内核设置了自己的GDT和IDT条目,并进一步重新映射IRQ.因此,在内核加载并设置VGA/SVGA模式(VBE 2.0模式)后,是否可以跳转到实模式.然后,我将继续我的内核并跳转到保护模式,我使用VBE 2.0物理缓冲区地址写入屏幕?如果有,怎么样?我尝试了很多,但没有成功:(
旁注:我在互联网上搜索了很多,发现syslinux 1.x +提供了_intcall api,我对此并不是100%肯定.请参阅"syslinux 4.5\com32\lib\sys\initcall.c"
我想memtest86用 syslinux 从我的 USB 记忆棒启动。
我已经安装了这些软件包memtest86并将文件memtest86+复制.bin到我的 U 盘上。
我已将条目添加到syslinux.cfg:
LABEL memtest
MENU LABEL Memtest86
KERNEL memtest86.bin
LABEL memtest+
MENU LABEL Memtest86+
KERNEL memtest86+.bin
Run Code Online (Sandbox Code Playgroud)
但这不起作用。当我启动时,我的屏幕上会出现无尽的打印输出:
0104
0104
0104
...
Run Code Online (Sandbox Code Playgroud)
如何memtest86从 USB 记忆棒启动?