Page 1 of 1

Grub2 error: unsupported tag 0x8

Posted: Sun Jan 05, 2014 10:32 pm
by Axey
Translator Google troll: Portuguese to English ... ****

Guys, I'm starting my studies in 64-bit kernel
and made a copy of the kernel http://wiki.osdev.org/64-bit_Higher_Hal ... ith_GRUB_2

I have 2 problems:
1: the grub error: unsupported tag 0x8
2: the kernel does not boot on my pc, I recorded the pendrive with the DD (linux command)
my pendrive (for example) was on the / dev/sdb1

$ Qemu-system-x86_64 / dev/sdb1 grub and runs (however the error tag)
my pc seems catching

:oops: :oops: :oops: :oops: :oops: :oops:

Re: Grub2 error: unsupported tag 0x8

Posted: Mon Jan 06, 2014 3:55 am
by xenos
Some more info would be good. Which GRUB version are you using? What is the full output that GRUB is showing?

BTW, apparently you're not the first one with this problem:
http://forum.osdev.org/viewtopic.php?f=1&p=219743

Re: Grub2 error: unsupported tag 0x8

Posted: Mon Jan 06, 2014 9:10 am
by Axey
XenOS wrote:Some more info would be good. Which GRUB version are you using? What is the full output that GRUB is showing?

BTW, apparently you're not the first one with this problem:
http://forum.osdev.org/viewtopic.php?f=1&p=219743
Sorry for english

i'm using grub 2.00-13ubuntu3
the full output from grub2:
error: unsupported tag: 0x8
error: you need to load the kernel first
grub.cfg

default=0
timeout=10
menuentry "AxeyOS" {
multiboot2 /boot/kernel.sys
boot
}

I have studied the code and have no idea of the cause of the problem
unless grub
I will give a studied in grub 2 code

EDIT:
Image
EDIT:
I am also curious to know why my computer will not boot from
Thanks

Re: Grub2 error: unsupported tag 0x8

Posted: Sat Jan 25, 2014 12:53 am
by windows8
Just now I got the problem,too!
I have read The Multiboot Specification version 1.6,but nothing is found.

The wiki has this code:

Code: Select all

	; End Of Tags
	DW	0, 0
	DD	8
The multiboo specification has this code:

Code: Select all

.short MULTIBOOT_HEADER_TAG_END
.short 0
.long 8
I changed them to these:

Code: Select all

	; End Of Tags
	DW	0, 0
	DD	0

Code: Select all

.short MULTIBOOT_HEADER_TAG_END
.short 0
.long 0
It works!!!! :D But I don't know why it can work. :?:

EDIT: Maybe I found the problem, GRUB2 need an align8 between two tags:

Code: Select all

multibootHeader:
.long 0xe85250d6
.long 0
.long multibootHeaderEnd - multibootHeader
.long -(0xe85250d6 + 0 + multibootHeaderEnd - multibootHeader)

.word 2,1
.long 24
.long multibootHeader
.long multibootHeaderEnd
.long multibootLoadEnd
.long multibootAllEnd

.align 8

.word 3,1
.long 12
.long _start

.align 8

.word 5,1
.long 20
.long 1024
.long 768
.long 32

.align 8

.word 0,0
.long 8
multibootHeaderEnd:
If I delete the '.align 8',this code can't work! Am I right??

Re: Grub2 error: unsupported tag 0x8

Posted: Sat Jan 25, 2014 4:33 am
by jnc100
Agreed. The current version of grub 2 expects tags to be aligned on multiples of 8 bytes (link - MULTIBOOT_TAG_ALIGN is separately defined to be 8 in include/multiboot2.h, regardless of architecture).

This is in contradiction to version 1.6 of the Multiboot specification which states that tags are padded on 'u_virt' size, where u_virt is the size of the target architecture virtual address size - 4 for i386 protected mode ('0' in the architecture field in the header as in the wiki article).

I have made the appropriate changes to the wiki article.

Regards,
John.