From: "Yoshinori K. Okuji" <okuji@enbug.org>
To: The development of GRUB 2 <grub-devel@gnu.org>
Subject: Re: Transparent decompression with file system filter
Date: Sun, 13 Jan 2008 21:53:32 +0100 [thread overview]
Message-ID: <200801132153.32895.okuji@enbug.org> (raw)
In-Reply-To: <ca0f59980801131216t1637633ao5f0af7e2bc4f532e@mail.gmail.com>
On Sunday 13 January 2008 21:16, Bean wrote:
> > - If you want to support, for example, an ecrypted and compressed file,
> > in the current implementation, each hook must try other hooks
> > recursively. I believe that this should be done at grub_file_open_ex
> > rather than at every hook. Is there any pitfall with this way?
>
> currently, at most one hook is applied to one file, recursive hook can
> be messy. but we can add a priority value, this would allow the hooks
> to be apply in a particular order.
In reality, the user can do both encryption+compression and
compression+encryption, thus I don't think we can put priorities a priori.
> > - There are some cases where the user wants to skip some decoding
> > features (i.e. decryptions and decompressions). For instance, gunzip does
> > not make sense for initrd, since the linux kernel performs this. But if
> > the user uses other compression algorithms (e.g. LZMA), GRUB must
> > decompress it before transferring control to the kernel. Or, in the case
> > of Multiboot modules, an OS image might want to keep compressed modules
> > as they are, but have GRUB to decrypt them, if they are encrypted. How
> > does the user select which hooks should be applied (from the viewpoint of
> > UI)?
>
> i think this can be controlled by variables, for example, we can use
> filehook.gzip to control whether or not to use gzip, etc.
Using variables has too much side effect. For example:
grub> set something=foo,bar
grub> command
Since the value of the variable is applied to all files the command opens, it
can lead to undesired results. Even if it is a rare case that a command wants
to open multiple files differently, I don't think this is really clean.
The traditional approach in GRUB is to specify options to a command. For
example, --no-decompression. Then, the command hardcodes where the options
are applied. As long as the combinations of such options fulfill all
(realistic) use cases, this approach works quite well.
But it is a nightmare to specify all possibilities, such
as --no-gunzip, --no-bunzip2, and so on. So my feeling is that we need a kind
of categorization in hooks. For example, gzio belongs to "compression". Once
this is done, I think it would be good enough for Multiboot.
For other boot protocols (such as Linux), I think loaders would require
hardcoding more specific filtering (such as excluding only gzip). If hooks
are named, we might be able to use the same trick as for grub_dprintf.
Okuji
prev parent reply other threads:[~2008-01-13 20:53 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-08-03 16:06 Transparent decompression with file system filter Bean
2007-11-10 17:33 ` Marco Gerards
2007-11-14 6:34 ` Bean
2007-11-14 19:29 ` Vesa Jääskeläinen
2007-11-15 10:53 ` Jan C. Kleinsorge
2007-11-18 11:40 ` Marco Gerards
2007-11-19 8:02 ` Bean
2007-11-19 10:23 ` Bean
2007-12-31 16:59 ` Bean
2007-12-31 18:40 ` Robert Millan
2007-12-31 18:54 ` Bean
2008-01-02 23:19 ` Yoshinori K. Okuji
2008-01-03 8:49 ` Bean
2008-01-03 11:35 ` Robert Millan
2008-01-03 12:53 ` Bean
2008-01-03 13:20 ` Robert Millan
2008-01-03 15:53 ` Vesa Jääskeläinen
2008-01-05 1:29 ` Yoshinori K. Okuji
2008-01-05 6:30 ` Bean
2008-01-05 10:39 ` Yoshinori K. Okuji
2008-01-05 11:04 ` Bean
2008-01-13 7:38 ` Bean
2008-01-13 19:51 ` Yoshinori K. Okuji
2008-01-13 20:16 ` Bean
2008-01-13 20:53 ` Yoshinori K. Okuji [this message]
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=200801132153.32895.okuji@enbug.org \
--to=okuji@enbug.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.