Grub로 부팅하는 매우 기본적인 예, Multiboot 1024 x 768 x 32로 32 비트 그래픽 모드를 요청합니다.
이것의 목적은 Grub Boot를 사용하고 Multiboot가있는 그래픽 모드를 요청한 다음 매우 기본적인 드로잉 기능을 수행하는 기본 샘플입니다.
충성도 무료 글꼴이 포함되어 있으며 예제를 사용하므로 OS에서 스크린에 물건을 쓸 수 있습니다.
아이디어는 자신의 OS를 생성하고 그래픽을 추가하고자하는 사람들을위한 참조가 될 것이며, Multiboot를 사용하여 필요한 모든 단계를 코딩하는 대신 파악하고자합니다.
WSL 2를 사용하여 Windows 11에서 Virtualbox 7.0 및 QEMU를 테스트하고 작업합니다.
Multiboot는 부팅 실행 파일의 특정 오프셋에서 특정 값을 설정하여 작동하므로 다음과 함께 그래픽 모드를 요청합니다.
.set WIDTH , 1024 / * requested width * /
.set HEIGHT , 768 / * requested height * /
.set DEPTH , 32 / * requested depth * /Grub은 해당 값을 읽고 응용 프로그램에 실행을 수행하기 전에 그래픽 모드를 설정하므로 응용 프로그램이 시작되면 요청 된 모드가 유효하면 해당 모드에 이미 있습니다.
Grub은 또한 그래픽 모드가 설정된 내용 및 기타 관심 값을 포함하는 멀티 봇 헤더를 통과합니다.
Framebuffer_addr는 그래픽 작업을 작성하는 곳입니다.
Grub 메뉴 [https://askubuntu.com/questions/16042/how-to-get-to-get-tothe-gub-menu-at-boot-time]에서 유효한 그래픽 모드 videoinfo 요청하십시오.
32 비트 그래픽으로 작업하는 것이 단순하고 다른 옵션보다 빠르거나 빠르게 생각했을 것입니다. 생각하기 전에 8 비트 그래픽이 더 빠르게 측정됩니다.
기본 8x8 글꼴은 Fonted 예제를 사용하여 Templeos에서 생성되었습니다.
Linux에서 구축해야합니다 (WLS를 시도했지만 ISO 이미지를 생성하지 않음) Make Script는 ISO를 생성합니다.
g++
binutils
libc6-dev-i386
VirtualBox
grub-legacy
xorriso
Virtualbox Mount iso boot에서 새 가상 머신 생성
그것은 아무것도, 메모리 관리, 키보드 또는 마우스 IO, 디스크 IO, 아무것도 없음에 대한 드라이버가 없습니다.
sudo apt gcc g ++ Grub-PC-Bin Xorriso를 설치하십시오
VirtualBox가 구성되면 이전 버전의 VirtualBox에서 작성한 프로필이 있으며 릴리스에서 7.0으로 다시 테스트되었습니다.
명령 프롬프트에서 (vboxmanage.exe는 다른 위치에 설치됩니다) /mnt/d/virtualbox/vboxmanage.exe startvm multiboot