* Avoiding best-effort
@ 2010-07-10 7:11 Samuel Thibault
2010-07-20 13:50 ` Vladimir 'φ-coder/phcoder' Serbinenko
0 siblings, 1 reply; 2+ messages in thread
From: Samuel Thibault @ 2010-07-10 7:11 UTC (permalink / raw)
To: grub-devel
Hello,
There's a concern with the way grub menu entries work: even if a command
fails, grub continues with others, like bash's "best-effort" way. This
leads to difficult-to-diagnose results: say for instance
multiboot /boot/mykernel
module /boot/initrd
module /boot/inittask
and initrd is too big for the memory for instance. The actual error
message that the user will be able to read is "rd0: no such device",
because grub will silently ignore the initrd load failure.
It'd be better to at least have a way to show the actual error. I've
talked a bit with phcoder, the kind of solutions we've come with are
- "set -e" command, to disable best-effort
- shell-like "&&" to chain commands only if they succeed
- introduce a small delay when printing error messages, to keep best
effort while still showing the actual grub error.
Thoughts?
Samuel
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: Avoiding best-effort
2010-07-10 7:11 Avoiding best-effort Samuel Thibault
@ 2010-07-20 13:50 ` Vladimir 'φ-coder/phcoder' Serbinenko
0 siblings, 0 replies; 2+ messages in thread
From: Vladimir 'φ-coder/phcoder' Serbinenko @ 2010-07-20 13:50 UTC (permalink / raw)
To: grub-devel
[-- Attachment #1: Type: text/plain, Size: 1740 bytes --]
On 07/10/2010 09:11 AM, Samuel Thibault wrote:
> Hello,
>
> There's a concern with the way grub menu entries work: even if a command
> fails, grub continues with others, like bash's "best-effort" way. This
> leads to difficult-to-diagnose results: say for instance
>
> multiboot /boot/mykernel
> module /boot/initrd
> module /boot/inittask
>
> and initrd is too big for the memory for instance. The actual error
> message that the user will be able to read is "rd0: no such device",
> because grub will silently ignore the initrd load failure.
>
> It'd be better to at least have a way to show the actual error. I've
> talked a bit with phcoder, the kind of solutions we've come with are
>
> - "set -e" command, to disable best-effort
>
I think this is a possibility. set -e must be limited to current
menuentry. Also it's out of the question to touch internal "set" for
this. You need either a separate command (shopt ?) or use priorities.
But set -e must not be imposed on user by default because target machine
may be a server and a small error shouldn't interrupt server booting.
> - shell-like "&&" to chain commands only if they succeed
> - introduce a small delay when printing error messages, to keep best
> effort while still showing the actual grub error.
>
This would be good independently of interrupting execution. Wait must be
right before executing implied "boot" command. It should also not take
into account the progress echos.
> Thoughts?
>
> Samuel
>
> _______________________________________________
> Grub-devel mailing list
> Grub-devel@gnu.org
> http://lists.gnu.org/mailman/listinfo/grub-devel
>
>
--
Regards
Vladimir 'φ-coder/phcoder' Serbinenko
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 294 bytes --]
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2010-07-20 13:50 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-07-10 7:11 Avoiding best-effort Samuel Thibault
2010-07-20 13:50 ` Vladimir 'φ-coder/phcoder' Serbinenko
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.