Index: kernel/genarch/include/genarch/multiboot/multiboot.h
===================================================================
--- kernel/genarch/include/genarch/multiboot/multiboot.h	(revision c5429fedb8216659204bbbdba42d7f5a845e4dda)
+++ kernel/genarch/include/genarch/multiboot/multiboot.h	(revision 1edd6d0c4201fd549dcce1ac7154c0ee7d6ab4c9)
@@ -39,16 +39,23 @@
 #include <genarch/multiboot/multiboot_info_struct.h>
 
-#define MULTIBOOT_HEADER_MAGIC  0x1badb002
-#define MULTIBOOT_HEADER_FLAGS  0x00010003
+#define MULTIBOOT_HEADER_MAGIC       0x1badb002
+#define MULTIBOOT_HEADER_FLAGS       0x00010007
+#define MULTIBOOT_HEADER_FLAGS_NOFB  0x00010003
 
 #define MULTIBOOT_LOADER_MAGIC  0x2badb002
 
-#define MULTIBOOT_INFO_FLAGS_MEM	0x01
-#define MULTIBOOT_INFO_FLAGS_BOOT	0x02
-#define MULTIBOOT_INFO_FLAGS_CMDLINE	0x04
-#define MULTIBOOT_INFO_FLAGS_MODS	0x08
-#define MULTIBOOT_INFO_FLAGS_SYMS1	0x10
-#define MULTIBOOT_INFO_FLAGS_SYMS2	0x20
-#define MULTIBOOT_INFO_FLAGS_MMAP	0x40
+#define MULTIBOOT_INFO_FLAGS_MEM               0x0001
+#define MULTIBOOT_INFO_FLAGS_BOOT              0x0002
+#define MULTIBOOT_INFO_FLAGS_CMDLINE           0x0004
+#define MULTIBOOT_INFO_FLAGS_MODS              0x0008
+#define MULTIBOOT_INFO_FLAGS_SYMS_AOUT         0x0010
+#define MULTIBOOT_INFO_FLAGS_SYMS_ELF          0x0020
+#define MULTIBOOT_INFO_FLAGS_MMAP              0x0040
+#define MULTIBOOT_INFO_FLAGS_DRIVES            0x0080
+#define MULTIBOOT_INFO_FLAGS_CONFIG_TABLE      0x0100
+#define MULTIBOOT_INFO_FLAGS_BOOT_LOADER_NAME  0x0200
+#define MULTIBOOT_INFO_FLAGS_APM               0x0400
+#define MULTIBOOT_INFO_FLAGS_VBE               0x0800
+#define MULTIBOOT_INFO_FLAGS_FB                0x1000
 
 #ifndef __ASSEMBLER__
Index: kernel/genarch/include/genarch/multiboot/multiboot_info_struct.h
===================================================================
--- kernel/genarch/include/genarch/multiboot/multiboot_info_struct.h	(revision c5429fedb8216659204bbbdba42d7f5a845e4dda)
+++ kernel/genarch/include/genarch/multiboot/multiboot_info_struct.h	(revision 1edd6d0c4201fd549dcce1ac7154c0ee7d6ab4c9)
@@ -30,15 +30,43 @@
 #define KERN_MULTIBOOT_INFO_STRUCT_H_
 
-#define MULTIBOOT_INFO_OFFSET_FLAGS        0x00
-#define MULTIBOOT_INFO_OFFSET_MEM_LOWER    0x04
-#define MULTIBOOT_INFO_OFFSET_MEM_UPPER    0x08
-#define MULTIBOOT_INFO_OFFSET_BOOT_DEVICE  0x0c
-#define MULTIBOOT_INFO_OFFSET_CMD_LINE     0x10
-#define MULTIBOOT_INFO_OFFSET_MODS_COUNT   0x14
-#define MULTIBOOT_INFO_OFFSET_MODS_ADDR    0x18
-#define MULTIBOOT_INFO_OFFSET_SYMS         0x1c
-#define MULTIBOOT_INFO_OFFSET_MMAP_LENGTH  0x2c
-#define MULTIBOOT_INFO_OFFSET_MMAP_ADDR    0x30
-#define MULTIBOOT_INFO_SIZE                0x34
+#define MULTIBOOT_INFO_OFFSET_FLAGS               0x00
+#define MULTIBOOT_INFO_OFFSET_MEM_LOWER           0x04
+#define MULTIBOOT_INFO_OFFSET_MEM_UPPER           0x08
+#define MULTIBOOT_INFO_OFFSET_BOOT_DEVICE         0x0c
+#define MULTIBOOT_INFO_OFFSET_CMD_LINE            0x10
+#define MULTIBOOT_INFO_OFFSET_MODS_COUNT          0x14
+#define MULTIBOOT_INFO_OFFSET_MODS_ADDR           0x18
+#define MULTIBOOT_INFO_OFFSET_SYMS                0x1c
+#define MULTIBOOT_INFO_OFFSET_MMAP_LENGTH         0x2c
+#define MULTIBOOT_INFO_OFFSET_MMAP_ADDR           0x30
+#define MULTIBOOT_INFO_OFFSET_DRIVES_LENGTH       0x34
+#define MULTIBOOT_INFO_OFFSET_DRIVES_ADDR         0x38
+#define MULTIBOOT_INFO_OFFSET_CONFIG_TABLE        0x3c
+#define MULTIBOOT_INFO_OFFSET_BOOT_LOADER_NAME    0x40
+#define MULTIBOOT_INFO_OFFSET_APM_TABLE           0x44
+#define MULTIBOOT_INFO_OFFSET_VBE_CONTROL_INFO    0x48
+#define MULTIBOOT_INFO_OFFSET_VBE_MODE_INFO       0x4c
+#define MULTIBOOT_INFO_OFFSET_VBE_MODE            0x50
+#define MULTIBOOT_INFO_OFFSET_VBE_INTERFACE_SEG   0x52
+#define MULTIBOOT_INFO_OFFSET_VBE_INTERFACE_OFF   0x54
+#define MULTIBOOT_INFO_OFFSET_VBE_INTERFACE_LEN   0x56
+#define MULTIBOOT_INFO_OFFSET_FRAMEBUFFER_ADDR    0x58
+#define MULTIBOOT_INFO_OFFSET_FRAMEBUFFER_PITCH   0x60
+#define MULTIBOOT_INFO_OFFSET_FRAMEBUFFER_WIDTH   0x64
+#define MULTIBOOT_INFO_OFFSET_FRAMEBUFFER_HEIGHT  0x68
+#define MULTIBOOT_INFO_OFFSET_FRAMEBUFFER_BPP     0x6c
+#define MULTIBOOT_INFO_OFFSET_FRAMEBUFFER_TYPE    0x6d
+
+#define MULTIBOOT_INFO_OFFSET_FRAMEBUFFER_PALETTE_ADDR          0x6e
+#define MULTIBOOT_INFO_OFFSET_FRAMEBUFFER_PALETTE_NUM_COLORS    0x72
+
+#define MULTIBOOT_INFO_OFFSET_FRAMEBUFFER_RED_FIELD_POSITION    0x6e
+#define MULTIBOOT_INFO_OFFSET_FRAMEBUFFER_RED_MASK_SIZE         0x6f
+#define MULTIBOOT_INFO_OFFSET_FRAMEBUFFER_GREEN_FIELD_POSITION  0x70
+#define MULTIBOOT_INFO_OFFSET_FRAMEBUFFER_GREEN_MASK_SIZE       0x71
+#define MULTIBOOT_INFO_OFFSET_FRAMEBUFFER_BLUE_FIELD_POSITION   0x72
+#define MULTIBOOT_INFO_OFFSET_FRAMEBUFFER_BLUE_MASK_SIZE        0x73
+
+#define MULTIBOOT_INFO_SIZE                0x76
 
 #ifndef __ASSEMBLER__
@@ -57,4 +85,35 @@
 	uint32_t mmap_length;
 	uint32_t mmap_addr;
+	uint32_t drives_length;
+	uint32_t drives_addr;
+	uint32_t config_table;
+	uint32_t boot_loader_name;
+	uint32_t apm_table;
+	uint32_t vbe_control_info;
+	uint32_t vbe_mode_info;
+	uint16_t vbe_mode;
+	uint16_t vbe_interface_seg;
+	uint16_t vbe_interface_off;
+	uint16_t vbe_interface_len;
+	uint64_t framebuffer_addr;
+	uint32_t framebuffer_pitch;
+	uint32_t framebuffer_width;
+	uint32_t framebuffer_height;
+	uint8_t framebuffer_bpp;
+	uint8_t framebuffer_type;
+	union {
+		struct {
+			uint32_t framebuffer_palette_addr;
+			uint32_t framebuffer_palette_num_colors;
+		} __attribute__((packed));
+		struct {
+			uint8_t framebuffer_red_field_position;
+			uint8_t framebuffer_red_mask_size;
+			uint8_t framebuffer_green_field_position;
+			uint8_t framebuffer_green_mask_size;
+			uint8_t framebuffer_blue_field_position;
+			uint8_t framebuffer_blue_mask_size;
+		} __attribute__((packed));
+	} __attribute__((packed));
 } __attribute__((packed)) multiboot_info_t;
 
