From: Robert Millan <rmh@aybabtu.com>
To: grub-devel@gnu.org
Subject: my plan for Multiboot 2
Date: Mon, 7 Dec 2009 16:08:31 +0100 [thread overview]
Message-ID: <20091207150831.GA8047@thorin> (raw)
Hi,
We have an obvious problem with the Multiboot 2 loader: It's in
severe bitrot. Nobody complains because nobody uses it, which is
understandable given that nobody programs for MB2, because it's not
ready (both in spec and in implementation), and we don't improve it
because nobody complains, etc. You get the point :-)
I think the approach that was taken has proven wrong. It might have
worked with more manpower, but our time resources are scarce and we have
other priorities. In my opinion, as things stand now it is best if
Multiboot 2 is developed by piggybacking on Multiboot 1 rather than as an
isolated effort. This idea is twofold: both in spec and in implementation.
Here's my plan for Multiboot:
- Release Multiboot 1 as a standalone package, with no modifications. I will
do this soon when I find some free time (and I think Vladimir had some
cleanup done to the package that isn't yet merged).
- Release a new revision of Multiboot 1, with only modifications that don't
alter the spec. I.e. GRUB Legacy continues to be compliant, and we don't
change the signature. These modifications would basically cope with the
fact that Multiboot 1 is also usable on non-BIOS platforms, take advantage
of modern 64-bit types to define equivalent structures, resolve some
ambiguities, etc.
- Release a new version of Multiboot 1, with only the modifications necessary
for it to support non-i386 CPUs. In principle, it should be possible to do
this without affecting the i386 definitions. Hence GRUB Legacy continues
to be compliant.
- Make loader/i386/multiboot.c CPU-independant, to the extent that this is
possible. The idea is that the most amount of code that can be reasonably
shared, should be.
- Release a new version of Multiboot, based on Multiboot 1, this time
contemplating changes that break compatibility. Proposed changes must
be accompanied with a patch for our loader before they're committed to
the spec. The Multiboot 2 draft in the wiki is a good source of ideas
for improvements, although not necessarily the only one.
- Repeat last step untill we're satisfied with the result and can dub it
as "Multiboot 2".
--
Robert Millan
The DRM opt-in fallacy: "Your data belongs to us. We will decide when (and
how) you may access your data; but nobody's threatening your freedom: we
still allow you to remove your data and not access it at all."
next reply other threads:[~2009-12-07 15:08 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-12-07 15:08 Robert Millan [this message]
2009-12-07 16:53 ` my plan for Multiboot 2 Samuel Thibault
2009-12-09 21:50 ` Robert Millan
2009-12-09 21:51 ` Vladimir 'φ-coder/phcoder' Serbinenko
2009-12-09 22:03 ` Robert Millan
2009-12-09 22:17 ` Vladimir 'φ-coder/phcoder' Serbinenko
2009-12-10 1:01 ` Robert Millan
2009-12-10 7:06 ` BVK Chaitanya
2009-12-13 8:13 ` Bogdan
2009-12-13 22:16 ` Vladimir 'φ-coder/phcoder' Serbinenko
2009-12-24 21:07 ` Robert Millan
2009-12-24 21:11 ` Robert Millan
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=20091207150831.GA8047@thorin \
--to=rmh@aybabtu.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.