[OE-core] [PATCH v2] init-live: default to initrd shell if image isn't found
Damian, Alexandru
alexandru.damian at intel.com
Tue Dec 18 08:53:29 UTC 2012
Ok, I'll add the print. And re-submit.
Alex
On Mon, Dec 17, 2012 at 9:50 PM, Darren Hart <dvhart at linux.intel.com> wrote:
>
>
> On 12/17/2012 11:21 AM, Damian, Alexandru wrote:
> > IMHO, if the system has to fatal() here, something VERY wrong is going
> on.
> >
> > This isn't your general debug option, this is a last-resort emergency
> > rescue. I suppose that if you need to debug this, the system is so
> > problematic you need to deep-dive into it anyway.
> >
> > I suggest taking it as it is now, and fill in a bugzilla entry about
> > handling it better in initramfs-framework as it should be.
> >
>
> I mentioned the below because it is something I've had to verify on
> several occasions. It is a fairly simple add, and you have the print
> statement there anyway. If you choose to skip the extra output, I
> suppose I can send a patch to add it next time I run into it.
>
> --
> Darren
>
> > Alex
> >
> >
> > On Mon, Dec 17, 2012 at 7:06 PM, Darren Hart <dvhart at linux.intel.com
> > <mailto:dvhart at linux.intel.com>> wrote:
> >
> >
> >
> > On 12/17/2012 04:55 AM, Alex DAMIAN wrote:
> > > From: Alexandru DAMIAN <alexandru.damian at intel.com <mailto:
> alexandru.damian at intel.com>>
> > >
> > > Adds "debugshell" command line parameter for live/install images.
> > >
> > > If the init live fails to find and mount a root-fs image,
> > > dumps to a shell after timeout so that the developer can figure
> > > what's wrong.
> > >
> > > Timeout defaults to 30 seconds, but it can be changed as param
> > > argument.
> > >
> > > Prior art in Ubuntu. Also, leaving a system stale isn't good form.
> > >
> > > Signed-off-by: Alexandru DAMIAN <alexandru.damian at intel.com<mailto:
> alexandru.damian at intel.com>>
> > > ---
> > > meta/recipes-core/initrdscripts/files/init-live.sh | 18
> +++++++++++++++++-
> > > 1 file changed, 17 insertions(+), 1 deletion(-)
> > >
> > > diff --git a/meta/recipes-core/initrdscripts/files/init-live.sh
> b/meta/recipes-core/initrdscripts/files/init-live.sh
> > > index c591f0d..d99a8ea 100644
> > > --- a/meta/recipes-core/initrdscripts/files/init-live.sh
> > > +++ b/meta/recipes-core/initrdscripts/files/init-live.sh
> > > @@ -45,7 +45,13 @@ read_args() {
> > > console_params=$arg
> > > else
> > > console_params="$console_params $arg"
> > > - fi
> > > + fi ;;
> > > + debugshell*)
> > > + if [ -z "$optarg" ]; then
> > > + shelltimeout=30
> > > + else
> > > + shelltimeout=$optarg
> > > + fi
> > > esac
> > > done
> > > }
> > > @@ -75,6 +81,7 @@ early_setup
> > > read_args
> > >
> > > echo "Waiting for removable media..."
> > > +C=0
> > > while true
> > > do
> > > for i in `ls /media 2>/dev/null`; do
> > > @@ -90,6 +97,15 @@ do
> > > if [ "$found" = "yes" ]; then
> > > break;
> > > fi
> > > + # don't wait for more than $shelltimeout seconds, if it's set
> > > + if [ -n "$shelltimeout" ]; then
> > > + echo -n " " $(( $shelltimeout - $C ))
> > > + if [ $C -ge $shelltimeout ]; then
> > > + echo "..."
> > > + fatal "Cannot find root image on media, dropping to
> shell "
> >
> > I'd recommend being explicity about what it is looking for when
> > debugshell is used. Which devices where probed, what was the file it
> > looked for. Save the developer from having to find this script in the
> > repository and look it up.
> >
> > --
> > Darren
> >
> > > + fi
> > > + C=$(( C + 1 ))
> > > + fi
> > > sleep 1
> > > done
> > >
> > >
> >
> > --
> > Darren Hart
> > Intel Open Source Technology Center
> > Yocto Project - Technical Lead - Linux Kernel
> >
> >
>
> --
> Darren Hart
> Intel Open Source Technology Center
> Yocto Project - Technical Lead - Linux Kernel
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openembedded.org/pipermail/openembedded-core/attachments/20121218/fdce385b/attachment-0002.html>
More information about the Openembedded-core
mailing list