[yocto] [PATCH][linux-yocto] mount_root: clarify error messages for when no rootfs found (V2)

Darren Hart dvhart at linux.intel.com
Wed Nov 16 08:00:02 PST 2011



On 11/16/2011 07:51 AM, Bruce Ashfield wrote:
> On 11-11-16 10:45 AM, Darren Hart wrote:
>>
>>
>> On 11/15/2011 09:36 PM, Bruce Ashfield wrote:
>>> On 11-11-15 3:19 PM, Darren Hart wrote:
>>>> The following is a modified version the patch at:
>>>
>>> Works for me as well, I'll update the variant in the yocto kernel
>>> trees, while we wait to see if anyone upstream has any interest.
>>
>> I we can't get it upstream, I'd argue we drop this. As Paul said, it is
>> cosmetic. When people see this error, the only place they'll find help
> 
> I have no plans to drop this. It's a value add, and simply
> because not everyone wants it, doesn't mean we let it go.
> 
> We can carry it and try again if it doesn't make it upstream.
> 
>> is here on the yocto list. They should be able to debug the kernel with
>> all the Linux Kernel resources out there. Having custom kernel messages
>> for Yocto prevents that.
> 
> I disagree.

With which part? That they should be able to use all the available
resources? Or that custom kernel messages restrict where they can get
help? I don't see how you can really argue against either of those...

--
Darren

> 
> Bruce
> 
>>
>> --
>> Darren
>>
>>>
>>> Bruce
>>>
>>>>
>>>> meta/cfg/kernel-cache/patches/boot/mount_root-clarify-error-messages-for-when-no-rootfs.patch
>>>>
>>>> in the linux-yocto-3.0 git repository. This version adds KERN_EMERG
>>>> so that even using loglevel=1 at boot, the end user will see:
>>>>
>>>> [    0.217462] VFS: Unable to mount root fs on unknown-block(8,2)
>>>> [    0.223457] User configuration error - no valid root filesystem found
>>>> [    0.230057] Kernel panic - not syncing: Invalid configuration from end user preg
>>>> [    0.238992] Pid: 1, comm: swapper Not tainted 3.0.4-yocto-standard+ #2
>>>> [    0.245691] Call Trace:
>>>> [    0.248218]  [<c04eddbc>] ? 0xc04eddbc
>>>> [    0.252071]  [<c05549ad>] ? 0xc05549ad
>>>> [    0.255928]  [<c05549fa>] ? 0xc05549fa
>>>> [    0.259790]  [<c0554623>] ? 0xc0554623
>>>> [    0.263650]  [<c0554b1c>] ? 0xc0554b1c
>>>> [    0.267497]  [<c055472a>] ? 0xc055472a
>>>> [    0.271344]  [<c04f0df6>] ? 0xc04f0df6
>>>>
>>>> Instead of just:
>>>>
>>>> [    0.230057] Kernel panic - not syncing: Invalid configuration from end user preg
>>>> ...
>>>>
>>>> Which is arguably no better than what this patch originally attempted to address.
>>>>
>>>> Paul, has this patch been sent upstream for inclusion? I don't see it in Linus' tree.
>>>>
>>>> Thanks,
>>>>
>>>> Darren
>>>>
>>>> ----------------------
>>>>
>>>> To an end user who doesn't really know linux that well, a
>>>> message like:
>>>>
>>>>     Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)
>>>>
>>>> may just look like cryptic computer speak indicating some
>>>> deep and complex problem, instead of the reality that they
>>>> have a simple local configuration problem.  Ideally it would
>>>> be nice to not use the misleading "panic" at all, but since
>>>> various panic notifiers are historically expecting to be
>>>> called when there is no valid rootfs, we can't change that.
>>>>
>>>> So instead, this tries to make it 100% clear to folks of
>>>> any background that it is an end user configuration issue.
>>>>
>>>> V2: Use KERN_EMERG so the printk context isn't lost when using loglevel
>>>>
>>>> Signed-off-by: Paul Gortmaker<paul.gortmaker at windriver.com>
>>>> Signed-off-by: Darren Hart<dvhart at linux.intel.com>
>>>> ---
>>>>    init/do_mounts.c |    8 ++++++--
>>>>    1 files changed, 6 insertions(+), 2 deletions(-)
>>>>
>>>> diff --git a/init/do_mounts.c b/init/do_mounts.c
>>>> index bb008d0..d24b8c7 100644
>>>> --- a/init/do_mounts.c
>>>> +++ b/init/do_mounts.c
>>>> @@ -270,7 +270,9 @@ retry:
>>>>    		printk("DEBUG_BLOCK_EXT_DEVT is enabled, you need to specify "
>>>>    		       "explicit textual name for \"root=\" boot option.\n");
>>>>    #endif
>>>> -		panic("VFS: Unable to mount root fs on %s", b);
>>>> +		printk(KERN_EMERG "VFS: Unable to mount root fs on %s\n", b);
>>>> +		printk(KERN_EMERG "User configuration error - no valid root filesystem found\n");
>>>> +		panic("Invalid configuration from end user prevents continuing");
>>>>    	}
>>>>
>>>>    	printk("List of all partitions:\n");
>>>> @@ -282,7 +284,9 @@ retry:
>>>>    #ifdef CONFIG_BLOCK
>>>>    	__bdevname(ROOT_DEV, b);
>>>>    #endif
>>>> -	panic("VFS: Unable to mount root fs on %s", b);
>>>> +	printk(KERN_EMERG "VFS: Unable to mount root fs on %s\n", b);
>>>> +	printk(KERN_EMERG "User configuration error - no valid root filesystem found\n");
>>>> +	panic("Invalid configuration from end user prevents continuing");
>>>>    out:
>>>>    	putname(fs_names);
>>>>    }
>>>
>>
> 

-- 
Darren Hart
Intel Open Source Technology Center
Yocto Project - Linux Kernel



More information about the yocto mailing list