From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S969136AbdEYNor (ORCPT ); Thu, 25 May 2017 09:44:47 -0400 Received: from mail-pf0-f178.google.com ([209.85.192.178]:34557 "EHLO mail-pf0-f178.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751600AbdEYNoo (ORCPT ); Thu, 25 May 2017 09:44:44 -0400 Date: Thu, 25 May 2017 21:44:30 +0800 From: Leo Yan To: Leo Yan Cc: Yury Norov , Rob Landley , Andrew Morton , "linux-kernel@vger.kernel.org" , Prarit Bhargava , Yang Shi , Rasmus Villemoes , Kees Cook , Emese Revfy , Petr Mladek , Fabian Frederick , john.stultz@linaro.org, Daniel Thompson Subject: Re: Patch 0727d35de ("Make initramfs honor CONFIG_DEVTMPFS_MOUNT") breaks boot Message-ID: <20170525134430.GA23912@leoy-ThinkPad-T440> References: <20170522120550.ekrq6ipfmkdtlxjo@yury-N73SV> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.21 (2010-09-15) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The previous email was rejected by LKML. So resend again. On Thu, May 25, 2017 at 09:39:32PM +0800, Leo Yan wrote: > Hi Rob, Yury, > > On Mon, May 22, 2017 at 8:05 PM, Yury Norov > wrote: > > > Hi Rob, > > > > I found that next-20170522 fails to boot on arm64 machine with the > > following log: > > [...] > > [4.179509] Freeing unused kernel memory: 1088K > > Loading, please wait... > > mount: mounting udev on /dev failed: Device or resource busy > > W: devtmpfs not available, falling back to tmpfs for /dev > > Couldn't get a file descriptor referring to the console > > Begin: Loading essential drivers ... done. > > Begin: Running /scripts/init-premount ... done. > > Begin: Mounting root file system ... Begin: Running > > /scripts/local-top ... done. > > chvt: can't open console > > Gave up waiting for root device. Common problems: > > - Boot args (cat /proc/cmdline) > > - Check rootdelay= (did the system wait long enough?) > > - Check root= (did the system wait for the right device?) > > - Missing modules (cat /proc/modules; ls /dev) > > chvt: can't open console > > ALERT! /dev/sda does not exist. Dropping to a shell! > > Couldn't get a file descriptor referring to the console > > > > > > BusyBox v1.21.1 (Ubuntu 1:1.21.0-1ubuntu1) built-in shell (ash) > > Enter 'help' for a list of built-in commands. > > > > (initramfs) > > > > Bisect points to your patch (attached below). If I revert it, everything > > becomes fine. If you need to know something more about my environment, > > feel free to ask me. > > > > At my side, I also can reproduce this failure on Hikey board with Debian > rootfs, > finally the debian rootfs cannot be mounted successfully, the booting log > is: > http://termbin.com/akar > > From the log, the failures are exactly same with Yury's reporting: > mount: mounting udev on /dev failed: Device or resource busy > ... > ALERT! /dev/disk/by-partlabel/system does not exist. Dropping to a > shell! > > After applied this patch, the kernel mounts mount devtmpfs on '/dev', then > later > udev cannot mount again for devfs. Finally cannot find rootfs path from > '/dev/disk/by-partlabel/system'. So after I comment out below sentence, the > rootfs can boot up again. > > diff --git a/init/main.c b/init/main.c > index 9ec09ff..2ea93d1 100644 > --- a/init/main.c > +++ b/init/main.c > @@ -1050,8 +1050,8 @@ static noinline void __init kernel_init_freeable(void) > ramdisk_execute_command = NULL; > prepare_namespace(); > } else if (IS_ENABLED(CONFIG_DEVTMPFS_MOUNT)) { > - sys_mkdir("/dev", 0755); > - devtmpfs_mount("/dev"); > + //sys_mkdir("/dev", 0755); > + //devtmpfs_mount("/dev"); > } > > /* Open the /dev/console on the rootfs, this should never fail */ > > Thanks, > Leo Yan