All of lore.kernel.org
 help / color / mirror / Atom feed
* 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.