All of lore.kernel.org
 help / color / mirror / Atom feed
From: Samuel Thibault <samuel.thibault@ens-lyon.org>
To: The development of GNU GRUB <grub-devel@gnu.org>
Subject: Re: [PATCH,HURD] Fix grub-probe with userland partition support
Date: Tue, 24 Apr 2012 19:13:58 +0200	[thread overview]
Message-ID: <20120424171358.GT4433@type.famille.thibault.fr> (raw)
In-Reply-To: <4F96A85D.3040303@gmail.com>

Vladimir 'φ-coder/phcoder' Serbinenko, le Tue 24 Apr 2012 15:19:25 +0200, a écrit :
> On 24.04.2012 14:42, Samuel Thibault wrote:
> > Vladimir 'φ-coder/phcoder' Serbinenko, le Tue 24 Apr 2012 11:55:33 +0200, a écrit :
> >> They have iso9660 spanning through
> >> the whole disk but all of the disk other than the first sector is
> >> in some kind of partition table to avoid it being accidentally
> >> overwritten.  So even though the file itself is inside a partition, we
> >> want the whole disk.
> > The partition itself can not be mounted?
> No, since it contains FS structures at wrong offset.

Ok.

> >> Also if file is 0-sized, sparse, compressed or encrypted it won't have
> >> blocklist and this approach would fail, possibly even with out-of-range
> >> array access.
> > Other than 0-sized would work, the eventual storage would still be on
> > the partition.
> completely sparse just has a size and not backed by any storage.

That's included in "0-size" in my head :)

> > 0-sized indeed poses problems.
> >
> >> I'm surprised that Hurd doesn't offer a way to just ask "What does this
> >> filesystem translator consume?"
> > Because the whole point of the Hurd is to let the user have access
> > to more powerful ways.  A file can reside inside an iso file, which
> > is stored in an ext2fs, which is stored in a file,
> So much GRUB can handle.

But how to express that to GRUB? grub_guess_root_devices only returns
a series of alternative paths.  See below.

> We don't handle loopback automatically right now since it's not clear
> whether it's a loopback for VM or loopback used on host.

You'd need to know which files to open anyway. You don't want to browse
all filesystems for that :) So the OS-specific function has to tell you.

> >  using the user's
> > own translator with no constraint on the naming convention, etc. etc.
> For these ones we're limited at what GRUB can. grub-probe is used for 2
> purposes:
> 1) Determining the device for root, its FS and UUID
> 2) Determining the GRUB environment on boot.
> The first is used in grub-mkconfig and if Hurd is so much more flexible
> 10_hurd.in may need to be adjusted accordingly.

Sure.

> As for the second, we're limited to what GRUB can do and so it won't be
> possible to have /boot on translator from hyperspace.

Sure.  But it can be something expressed in a complex way by the user,
which can actually be reached by GRUB.  That said, as I said earlier, we
can ask the user to refrain himself when it's about /boot.

> > But we generally don't want to impose any syntax here, it could actually
> > be
> >
> > /opt/my/own/translator xyz
> >
> > I guess we'll have to impose some syntax anyway for whatever contains
> > /boot, so that grub can open it itself.
> There should be a standartised way to get this information for any
> conventional FS, otherwise it makes porting programs which use this
> information much more difficult and in most cases results in dirty
> workarounds.

So far, I've mostly seen GRUB really needing that information.

Samuel


  reply	other threads:[~2012-04-24 17:14 UTC|newest]

Thread overview: 38+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-04-22 18:24 [PATCH,HURD] Fix grub-probe with userland partition support Samuel Thibault
2012-04-23  8:52 ` Vladimir 'φ-coder/phcoder' Serbinenko
2012-04-23  9:40   ` Samuel Thibault
2012-04-23 10:45     ` Vladimir 'φ-coder/phcoder' Serbinenko
2012-04-23 11:06       ` Samuel Thibault
2012-04-23 11:17         ` Vladimir 'φ-coder/phcoder' Serbinenko
2012-04-23 21:26           ` Samuel Thibault
2012-04-23 23:34             ` Samuel Thibault
2012-04-24  8:55               ` Vladimir 'φ-coder/phcoder' Serbinenko
2012-04-24  9:00                 ` Samuel Thibault
2012-04-24  9:12                   ` Vladimir 'φ-coder/phcoder' Serbinenko
2012-04-24  9:16                     ` Samuel Thibault
2012-04-24  9:26                       ` Vladimir 'φ-coder/phcoder' Serbinenko
2012-04-24  9:36                         ` Samuel Thibault
2012-04-24  9:38                           ` Samuel Thibault
2012-04-24  9:44                             ` Vladimir 'φ-coder/phcoder' Serbinenko
2012-04-24  9:49                               ` Samuel Thibault
2012-04-24  9:04               ` Vladimir 'φ-coder/phcoder' Serbinenko
2012-04-24  9:19                 ` Samuel Thibault
2012-04-24  9:55                   ` Vladimir 'φ-coder/phcoder' Serbinenko
2012-04-24 12:42                     ` Samuel Thibault
2012-04-24 13:19                       ` Vladimir 'φ-coder/phcoder' Serbinenko
2012-04-24 17:13                         ` Samuel Thibault [this message]
2012-04-24 20:14                           ` Vladimir 'φ-coder/phcoder' Serbinenko
2012-04-24 22:21                             ` Samuel Thibault
2012-04-24 22:31                               ` Vladimir 'φ-coder/phcoder' Serbinenko
2012-04-24 22:39                                 ` Samuel Thibault
2012-04-24 22:46                                   ` Vladimir 'φ-coder/phcoder' Serbinenko
2012-04-24 23:52                                 ` Samuel Thibault
2012-04-24 23:57                                   ` Vladimir 'φ-coder/phcoder' Serbinenko
2012-04-25  0:27                                     ` Samuel Thibault
2012-04-25  8:36                                       ` Vladimir 'φ-coder/phcoder' Serbinenko
2012-04-25  9:37                                         ` Samuel Thibault
2012-04-27 18:45                                           ` Vladimir 'φ-coder/phcoder' Serbinenko
2012-04-30 18:58                                             ` Samuel Thibault
2012-05-01 13:12                                               ` Vladimir 'φ-coder/phcoder' Serbinenko
2012-05-03 21:42                                               ` Vladimir 'φ-coder/phcoder' Serbinenko
2012-04-23  9: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=20120424171358.GT4433@type.famille.thibault.fr \
    --to=samuel.thibault@ens-lyon.org \
    --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.