From: "Grégoire Sutre" <gregoire.sutre@gmail.com>
To: The development of GNU GRUB <grub-devel@gnu.org>
Subject: Multiboot's boot_device field specification + implementation bug
Date: Tue, 26 Jan 2010 00:37:40 +0100 [thread overview]
Message-ID: <4B5E2B44.2060106@gmail.com> (raw)
Hi,
I'm trying to understand the specification of the multiboot boot_device
field. How should this information be interpreted by a kernel that uses
a native (non-DOS) disk label? For instance, if the MBI passed to the
NetBSD kernel says part1=5 and part2=part3=0xFF, does this mean:
- 6th partition in the NetBSD disk-label, or
- 6th partition in the DOS disk label (MBR)?
The specification says that part1 specifies the top-level partition
number. However there may be several top-level disk-labels. For
instance: take a disk with a DOS disk-label (in the MBR) but without any
UFS partition in it, and install a NetBSD disk-label on the disk. The
NetBSD disk-label will be written in the second sector of the disk, and
both disk-labels will be independent and top-level. For a NetBSD
kernel, the top-level disklabel will be the NetBSD one, and for other
kernels the top-level disk-label may be the DOS one.
On a related note, experiments with the multiboot example kernel show
that setting root in GRUB has an impact on the value of the boot_device
field:
(a) set root=(hd1,2,a) ; multiboot /mbtest ; boot
--> boot_device = 0x810100ff
(b) multiboot (hd1,2,a)/mbtest ; boot
--> boot_device = 0x8000ffff
According to the spec, (a) is correct but (b) is wrong. It looks like
the boot_device field of MBI is set using the value of $root.
Best regards,
Grégoire
next reply other threads:[~2010-01-25 23:37 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-01-25 23:37 Grégoire Sutre [this message]
2010-01-26 20:10 ` Multiboot's boot_device field specification + implementation bug Grégoire Sutre
2010-02-11 3:07 ` Vladimir 'φ-coder/phcoder' Serbinenko
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4B5E2B44.2060106@gmail.com \
--to=gregoire.sutre@gmail.com \
--cc=grub-devel@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.