Erro de Memória no GRUB: Desenvolvendo um SO em Assembly, C++ e outras linguagens"

O Projeto: Um SO Híbrido e Poliglota

Estou desenvolvendo um sistema operacional do zero que utiliza uma arquitetura de build complexa. O objetivo é integrar a performance bruta do Assembly com a flexibilidade do C/C++, tudo orquestrado por scripts em Shell e um Makefile robusto. Além dessas linguagens, o projeto já conta com outras tecnologias que ainda não anunciei publicamente, mas que expandem as capacidades do kernel.
O Obstáculo: “error: out of memory”

Recentemente, ao tentar dar o boot via GRUB, me deparei com um erro persistente que impede o carregamento:

error: out of memory error: you need to load the kernel first

O erro acontece logo após o menu do bootloader, sugerindo que o GRUB não está conseguindo alocar o espaço necessário para o binário do kernel ou não está reconhecendo o Multiboot Header devido ao alinhamento de memória gerado pelo linker.
Detalhes do Ambiente

Linguagens: Assembly (NASM/GAS), C/C++, Shell, Makefile e [Confidencial].

Bootloader: GRUB.

Hardware de desenvolvimento: Setup de alta performance (incluindo uma RTX 5090i e Intel Core i9 10500 para futuras implementações de GPGPU no kernel).

Sintoma: O binário é gerado sem erros de compilação, mas falha na alocação de memória no estágio de boot.

O que já foi verificado

Já revisei as flags básicas do compilador, mas suspeito que o problema resida no script do Linker (linker.ld) ou na forma como o Makefile está organizando as seções .text e .data.

Alguém aqui já lidou com esse erro específico do GRUB em kernels que misturam muitas linguagens e seções de memória customizadas? Toda sugestão sobre alinhamento de página ou estruturação do Multiboot é bem-vinda!

1 curtida

@Ayanami Você sabe como resolver isso?

Estou fazendo o systables do zero e não sei como fazer, mas se você tem algum script de código que possa me ajudar isso deixará as coisas mais fáceis de eu fazer

Ah não não kk eu dei uma curtida porque gostei da ideia do projeto e achei interessante, mals aí :DD

1 curtida