[bug #63499] multiboot information structure has color_info offset by 2 bytes

Jason Youngberg <[email protected]>
Newsgroups gmane.comp.boot-loaders.grub.bugs
Message-ID <[email protected]>
URL:
  <https://savannah.gnu.org/bugs/?63499>

                 Summary: multiboot information structure has color_info
offset by 2 bytes
                 Project: GNU GRUB
               Submitter: jasonyoungberg
               Submitted: Sat 10 Dec 2022 01:19:58 AM UTC
                Category: Booting
                Severity: Major
                Priority: 5 - Normal
              Item Group: Software Error
                  Status: None
                 Privacy: Public
             Assigned to: None
         Originator Name: 
        Originator Email: 
             Open/Closed: Open
                 Release: other
                 Release: 
         Discussion Lock: Any
         Reproducibility: Every Time
         Planned Release: None


    _______________________________________________________

Follow-up Comments:


-------------------------------------------------------
Date: Sat 10 Dec 2022 01:19:58 AM UTC By: Jason Youngberg <jasonyoungberg>
Inside the multiboot information structure
<https://www.gnu.org/software/grub/manual/multiboot/multiboot.html#Boot-information-format>,
the 
color_type color_info
<https://www.gnu.org/software/grub/manual/multiboot/multiboot.html#Boot-modules:~:text=color_type%20is%20defined%20as%20follows>
bytes seem to be offset by 2 bytes.

I would expect values of {16,8,8,8,0,8}, but those bytes are found at 112
(0x70), instead of 110 (0x6E) as stated in the docs.

Here is a memory dump of the multiboot information structure:

00010000: 67 12 00 00  7f 02 00 00  80 fb 01 00  ff ff ff e0
00010010: 78 00 01 00  00 00 00 00  00 00 00 00  0a 00 00 00
00010020: 28 00 00 00  34 01 01 00  09 00 00 00  90 00 00 00
00010030: a4 00 01 00  00 00 00 00  00 00 00 00  00 00 00 00
00010040: 7c 00 01 00  00 00 00 00  00 00 00 00  00 00 00 00
00010050: 00 00 00 00  00 00 00 00  00 00 00 fd  00 00 00 00
00010060: 60 09 00 00  20 03 00 00  58 02 00 00  18 01 00 00
00010070: 10 08 08 08  00 08 00 00  00 66 89 43  47 52 55 42


I created my iso with the commmand 'grub-mkrescue -o os.iso .tmp'
I tested it using 'qemu-system-i386 -cdrom os.iso'

This is my multiboot header:

.set ALIGN,    1<<0 # align loaded modules on page boundaries
.set MEMINFO,  1<<1 # provide memory map
.set VIDINFO,  1<<2 # provide video information
.set FLAGS,    ALIGN | MEMINFO | VIDINFO
.set MAGIC,    0x1BADB002
.set CHECKSUM, -(MAGIC + FLAGS)

# Multiboot header
.section .multiboot
.align 4
.long MAGIC
.long FLAGS
.long CHECKSUM

.long 0, 0, 0, 0, 0
.long 0             # Set graphics mode
.long 0, 0, 0       # Width, height, depth

# ...


I'm using grub version 2.06-2, and qemu version 6.2.0.







    _______________________________________________________

Reply to this item at:

  <https://savannah.gnu.org/bugs/?63499>

_______________________________________________
Message sent via Savannah
https://savannah.gnu.org/
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.