Contoh yang sangat mendasar dari booting dengan grub, dan meminta mode grafis 32bit dengan multiboot 1024 x 768 x 32
Tujuan dari ini adalah sampel dasar menggunakan boot grub dan meminta mode grafis dengan multiboot, dan kemudian melakukan beberapa fungsi gambar yang sangat mendasar.
Termasuk adalah font bebas loyalitas, dengan contoh penggunaan sehingga Anda dapat menulis hal -hal untuk disaring di OS Anda.
Idenya adalah bahwa itu akan menjadi referensi bagi orang -orang yang telah membuat OS mereka sendiri dan ingin menambahkan grafik ke dalamnya, dan ingin menggunakan multiboot untuk mencari tahu mereka alih -alih mengkode semua langkah yang diperlukan mereka sendiri.
Diuji dan bekerja dengan VirtualBox 7.0 dan QEMU di Windows 11 menggunakan WSL 2.
Multiboot berfungsi dengan mengatur nilai spesifik pada offset tertentu dalam file boot yang dapat dieksekusi, jadi kami meminta mode grafis dengan yang berikut:
.set WIDTH , 1024 / * requested width * /
.set HEIGHT , 768 / * requested height * /
.set DEPTH , 32 / * requested depth * /Grub akan membaca nilai -nilai itu dan mengatur mode grafik sebelum menyerahkan eksekusi ke aplikasi kami, jadi ketika aplikasi kami dimulai, jika mode yang diminta valid, itu sudah dalam mode itu.
Grub juga akan melewati header multiboot yang berisi apa mode grafis diatur ke dan nilai -nilai minat lainnya.
Framebuffer_Addr adalah tempat Anda akan menulis operasi grafis Anda.
Hal-hal yang perlu diperhatikan, minta mode grafis yang valid, di menu grub [https://askubuntu.com/questions/16042/how-to-get-to-the-grub-menu-at-boot-time] CLI videoinfo akan mencantumkan mode yang tersedia dan valid.
Saya akan merekomendasikan bekerja dengan grafik 32bit itu lebih sederhana dan saya akan berpikir secepat atau lebih cepat dari opsi lain. Sebelum Anda berpikir tetapi grafik 8bit akan lebih cepat mengukurnya.
Font 8x8 dasar dibuat di Templeos menggunakan contoh font.
Perlu dibangun di bawah Linux (saya mencoba WLS tetapi tidak membuat gambar ISO) Skrip Make akan membuat ISO,
g++
binutils
libc6-dev-i386
VirtualBox
grub-legacy
xorriso
Buat mesin virtual baru di virtualbox pasang boot ISO
Tidak ada driver untuk apa pun, tidak ada manajemen memori, tidak ada keyboard atau mouse io, bukan disk io, tidak ada.
sudo apt instal gcc g ++ buat grub-pc-bin xorriso
Setelah VirtualBox dikonfigurasi, ada profil yang saya buat di bawah versi VirtualBox sebelumnya dan baru saja diuji ulang di 7.0 dalam rilis
Dari prompt perintah (vboxmanage.exe akan diinstal di lokasi yang berbeda untuk Anda) /mnt/d/virtualbox/vboxmanage.exe startvm multiboot