[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#795833: initramfs-tools: add mountroot failure support to allow meaningful messages and recovery attempts



On Mon, 17 Aug 2015 10:52:14 +0100 Andy Whitcroft <apw@ubuntu.com> wrote:
> Package: initramfs-tools
> Version: 0.120
> Severity: normal
> 
> Allow hooks to supply specific root mount failure handlers.  These can
> both report more specific failure reasons, and in some cases may even be
> able to attempt recovery.  This is useful for more complex scenarios
> such as LVM and mdadm setups.
> 
> We use this in Ubuntu to allow augmented lvm2 and mdadm hooks to recover
> failed raids and the like.
> 
> NOTE: that the splash handling here may well be Ubuntu specific.

Thanks for your patch.

Can you explain why this was implemented by extending existing scripts
rather than by adding a new phase (possibly with stamp files to control
what they do)?

[...]
> --- a/scripts/functions
> +++ b/scripts/functions
[...]
> +# Run failure hooks.
> +# When a failure hook exits "1", it has not done anything to correct the
> +# system.  Exiting "0" means that something has been attempted to resolve
> +# the lack of a root filesystem.
> +# Hooks are run in lexigraphical order, and are responsible for removing
> +# themselves if they should not re-run in a later cycle.  When one exits
> +# "0", the stack is stopped, so the caller can return to the main rootfs
> +# wait loop.

'Hook' is reserved for build-time scripts, so use 'script' here.

> +try_failure_hooks()
> +{
> +	local hook
> +
> +	# Disable usplash so text from hooks can be seen
> +	if [ -x /sbin/usplash_write ]; then
> +		/sbin/usplash_write "QUIT"
> +	fi
> +	chvt 1
> +	if [ -x /bin/plymouth ] && plymouth --ping; then
> +		/bin/plymouth hide-splash > /dev/null 2>&1
> +	fi
[...]

This bit can be handled by 'panic' scripts once #602331 is fixed
(currently pending).

Ben.

-- 
Ben Hutchings
I'm always amazed by the number of people who take up solipsism because
they heard someone else explain it. - E*Borg on alt.fan.pratchett

Attachment: signature.asc
Description: This is a digitally signed message part


Reply to: