Skip to content

federicogramos/uefiBootloader

Repository files navigation

Bootloader UEFI para procesadores Intel x86-64

Uso

./build.sh genera la imagen /img/x64_arq.img (entre otras).

./run.sh corre en qemu la imagen /img/x64_arq.qcow2 (puede usar argumento "-c cant_cores" default = 1)

El repositorio tiene en /extern/kernel.bin un payload de SO para probar rapidamente, el cual usa cuando se hace el armado.

Booteo en pc fisica

Copiar la imagen raw a un pendrive usando dd.

sudo dd if=./img/x64_arq.img of=</dev/sda> status=progress

Referencias y documentacion

Codigo

Asm

Pure64 loader

Simple Assembly UEFI Application - Can't Exit Boot Services El el ultimo posteo (pagina 1) tiene codigo ejemplo en asm.

UEFI codigo

UEFI bootloader para extraer ideas Va directo a usar GOP, no revisa EDID.

Cpp

Implementacion C++ con UEFI boot services Ver /boot/src/boot.cpp

C implemented loader

Documentos

Pagina oficial de la especificacion UEFI

EFI Specification Version 1.10

EFI Specification Version 2.8

Repositorio EDKII con los protocolos

APIC

Info extra varia

Buen resumen de todo lo necesario para uso de UEFI

Introduction to UEFI Util lectura para introducirse en el tema.

VESA osdev.org Informacion VESA en general: breve historia, vbe_info_structure, vbe_mode_info_structure, codigo asm para una funcion vbe_set_mode.

VESA delorie.com Informacion de bajo nivel para setear VESA.

VESA kernel.org Informacion especifica de Linux acerca de VESA.

PE format microsoft.com Encabezado y sus partes en detalle.

PE format osdev.org Menos detalle que el anterior, pero buenas referencias al fondo de la pagina. Algunos links rotos.

GOP

cpuid web 1

cpuid web 2

shell-storm.org Paginacion: linda tabla que indica flags y modos.

Other nice paging web

x86asm.net Info en general de caracteristicas Intel.

ftp.gnu.org Some reference for ld scripts.

Info no demasiado relevante

pdf de UEFI plugfest

aeb.win.tue.nl Scancode different sets reference.

basicinputoutput.com Me fui un poco por las ramas, pero linda tabla con comandos varios para mouse, led, teclado. Tiene otros posteos interesantes, dejo la referencia porque luego quiero darle una mirada a otros posteos.

Info en espera

i386-stub.c ftp.gnu.org Para driver debug en pc fisica. i386-stub.c

About

UEFI bootloader for Intel processors (transparent UEFI + BIOS compatibillity in process...)

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published