Questions tagged [multiboot]

GNU Multiboot is a specification of the interactions between bootloaders and kernels. It is designed to ease the writing of kernels and to create a richer interface for a just booted kernel than the raw BIOS interfaces.

GNU Multiboot is a specification of the interactions between bootloaders and kernels. it is designed to ease the writing of kernels and to create a richer interface for a just booted kernel then the raw BIOS interfaces. It is used by a number of kernels, including:

  • L4
  • Xen
  • GNU Hurd
  • ESXi
  • Linux
  • BSD

The main bootloader that implements it is GNU GRUB, which is also the reference implementation.

66 questions
2
votes
1 answer

NASM and clang/LLVM generating different object files

I'm trying to make a simple kernel with multiboot. I got the multiboot header working in NASM, but now I'm trying to rewrite it in GNU AS syntax. I think problem is that clang (as on MacOS) is placing the multiboot header at a different address…
Michael M.
  • 10,486
  • 9
  • 18
  • 34
2
votes
1 answer

CPU Reset (CPU 0) and triple-fault when setting SS register to 0 in bootloader

I am attempting to create a custom operating system (for educational purposes) for which I am also creating the bootloader (multiboot 2). I am attempting to create a 64-bit system. After entering long mode, I want to "clean up" by loading all data…
2
votes
1 answer

Multiboot 1 Boot Information total size

Is there a quick and reliable way find out the total size of the Multiboot 1 boot information in memory? Just to clarify: I'm not asking about the size of the structure pointed to by the value in the EBX register, I'm asking about the total size of…
ajxs
  • 3,347
  • 2
  • 18
  • 33
2
votes
1 answer

Do modern computers boot in real mode or virtual real mode?

So I was reading about the processor modes and came to know that virtual real mode allows a real mode application e.g. DOS application such as BIOS program to run within a protected mode operating system. So my question is do the current systems…
Abhinav Sharma
  • 147
  • 2
  • 9
2
votes
1 answer

Using .word 65535 causes QEMU to reboot

I have an assembly program that is used in my OS to run after GRUB, and I'm having a strange problem where .word 65535 causes QEMU to reboot and I can't figure out why. I have done some testing and I have figured out what line causes the problem…
Menotdan
  • 130
  • 1
  • 11
2
votes
1 answer

Assembly: boot loader for custom OS keyboard support

I have a working simple custom OS (doesn't do much for now :D). Right now i'm using an assembly file (boot.s) that has no keyboard support. The assembly file (boot.s): # set magic number to 0x1BADB002 to identified by bootloader .set MAGIC, …
2
votes
1 answer

GNU GRUB Gives "error: unsupported tag: 0xc" for Multiboot2

I tried to use the following code for the header of a Multiboot2 compliant kernel, but when I tried the multiboot2 command in grub, it gave the following error message: error: unsupported tag: 0xc My Multiboot2 header is defined as: section…
2
votes
1 answer

Can GRUB load an ELF file without a multiboot header?

I have always assumed that this is not the case, however, an FAQ for a tutorial I have read recently implies that it is: Why the multiboot header? Wouldn't a pure ELF file be loadable by GRUB anyway? GRUB is capable of loading a variety of formats.…
elaforma
  • 652
  • 1
  • 9
  • 29
2
votes
1 answer

Booting custom kernel in Grub2

I want to boot a custom kernel with Grub2. I used old (grub 1) multiboot header: .set flags, 0x0 .set magic, 0x1badb002 .set checksum, -(magic + flags) .align 4 .long magic .long flags .long checksum ... movl %eax, magic But it doesn't work with…
Vanzef
  • 453
  • 1
  • 5
  • 17
2
votes
1 answer

Ubuntu boot menu

I recently installed ubuntu next to windows. When starting up, a multi boot menu from Ubuntu popped up. Now I had to reinstall Windows and the multi boot menu is gone. Only windows starts up. Is there a way to reinstall this Ubuntu menu? (there were…
Lieven Cardoen
  • 25,140
  • 52
  • 153
  • 244
1
vote
0 answers

How to print pixels in 1024x768x32 resolution (OS Development)?

So, I recently got into operating system development a while ago, and I've made some good progress. I'm working in assembly language, C, and C++, with C++ as the language of my main kernel and drivers. Also, I'm using Grub2 as my bootloader. I've…
1
vote
0 answers

Why does mboot.c32 not allocate a framebuffer during boot?

When booting with the multiboot standard you can request the multiboot-compliant boot loader to allocate a framebuffer to write to using the second bit in the multiboot header. However, when I do this and try to boot via cdrom with mboot.c32 using…
gloewe
  • 11
  • 2
1
vote
1 answer

Converting kernel image from ELF to PE

I am using Msys to build a home brew kernel that I wrote under Linux. Linux used ELF for its binary format and Msys uses PE. I have the source setup to allow it to be booted by Grub using the Multiboot spec. At the end of the build, I get some…
Frank Miller
  • 499
  • 1
  • 7
  • 19
1
vote
1 answer

multiboot2 header comes "too late" in ELF file (to large offset), even if it is the very first section

The multiboot2 header can't be found in my final ELF, because inside the binary file it stands at offset 0x334e0, but the multiboot2 spec tells only the first 32KiB, i.e. 0x8000 bytes, are checked. Therefore it comes "too late". I don't know how I…
phip1611
  • 5,460
  • 4
  • 30
  • 57
1
vote
0 answers

Control the OS selection Menu from other Host

I have two PCs. PC (let’s say PCA) and PC (let’s say PCB): PCA – Only one OS installed -> win10 PCB – Two OS’s installed -> win10 and Free DOS. During the PC boot the OS selection menu appear. The main board of that PC support the Intel AMT…
darwoz
  • 11
  • 2