[oe] [meta-initramfs][PATCH] linux-yocto-tiny-kexecboot: revert Yocto specific console check

Andrea Adami andrea.adami at gmail.com
Sun Feb 28 22:50:24 UTC 2016


On Sun, Feb 28, 2016 at 11:42 PM, Andrea Adami <andrea.adami at gmail.com> wrote:
> Revert Yocto-specific : "check console device file on fs when booting".
> Fix kernel panic at boot because of the missing /dev/console.
>
> Signed-off-by: Andrea Adami <andrea.adami at gmail.com>
> ---
>  .../revert-check-console.patch                     | 47 ++++++++++++++++++++++
>  .../linux/linux-yocto-tiny-kexecboot_4.4.bb        |  2 +
>  2 files changed, 49 insertions(+)
>  create mode 100644 meta-initramfs/recipes-kernel/linux/linux-yocto-tiny-kexecboot/revert-check-console.patch
>
> diff --git a/meta-initramfs/recipes-kernel/linux/linux-yocto-tiny-kexecboot/revert-check-console.patch b/meta-initramfs/recipes-kernel/linux/linux-yocto-tiny-kexecboot/revert-check-console.patch
> new file mode 100644
> index 0000000..5e5e8d9
> --- /dev/null
> +++ b/meta-initramfs/recipes-kernel/linux/linux-yocto-tiny-kexecboot/revert-check-console.patch
> @@ -0,0 +1,47 @@
> +From a74e0bf51adcc867b73fc44050eb9bde985c9cba Mon Sep 17 00:00:00 2001
> +From: Andrea Adami <andrea.adami at gmail.com>
> +Date: Sun, 28 Feb 2016 01:09:19 +0100
> +Subject: [PATCH] main.c: revert check on console device
> +
> +Fix kernel panic because of the missing /dev/console.
> +
> +Revert Yocto-specific : "check console device file on fs when booting".
> +
> +The initramfs used in this kernel needs to be of the smallest possible
> +size so we save a few kb by deploying an empty /dev which is populated
> +after boot by the init (kexecboot checks and recreates the devices
> +with or without devtmpfs).
> +
> +Signed-off-by: Andrea Adami <andrea.adami at gmail.com>
> +---
> + init/main.c | 7 -------
> + 1 file changed, 7 deletions(-)
> +
> +diff --git a/init/main.c b/init/main.c
> +index d191d2a..9e64d70 100644
> +--- a/init/main.c
> ++++ b/init/main.c
> +@@ -976,7 +976,6 @@ static int __ref kernel_init(void *unused)
> +
> + static noinline void __init kernel_init_freeable(void)
> + {
> +-      struct stat console_stat;
> +       /*
> +        * Wait until kthreadd is all set-up.
> +        */
> +@@ -1008,12 +1007,6 @@ static noinline void __init kernel_init_freeable(void)
> +
> +       do_basic_setup();
> +
> +-      /* Use /dev/console to infer if the rootfs is setup properly */
> +-      if (sys_newlstat((char __user *) "/dev/console", (struct stat __user *) &console_stat)
> +-                      || !S_ISCHR(console_stat.st_mode)) {
> +-              panic("/dev/console is missing or not a character device!\nPlease ensure your rootfs is properly configured\n");
> +-      }
> +-
> +       /* Open the /dev/console on the rootfs, this should never fail */
> +       if (sys_open((const char __user *) "/dev/console", O_RDWR, 0) < 0)
> +               pr_err("Warning: unable to open an initial console.\n");
> +--
> +1.9.1
> +
> diff --git a/meta-initramfs/recipes-kernel/linux/linux-yocto-tiny-kexecboot_4.4.bb b/meta-initramfs/recipes-kernel/linux/linux-yocto-tiny-kexecboot_4.4.bb
> index e6c6d9d..e3c7144 100644
> --- a/meta-initramfs/recipes-kernel/linux/linux-yocto-tiny-kexecboot_4.4.bb
> +++ b/meta-initramfs/recipes-kernel/linux/linux-yocto-tiny-kexecboot_4.4.bb
> @@ -1,6 +1,8 @@
>  require recipes-kernel/linux/linux-yocto-tiny_${PV}.bb
>  SUMMARY = "Yocto tiny kernel embedding a minimalistic kexecboot initramfs"
>
> +SRC_URI += "file://revert-check-on-console-device.patch"
> +
>  PACKAGES = ""
>  PROVIDES = ""
>
> --
> 1.9.1
>

Please ignore this one. Missing rename...sob
V2 following

Sorry
Andrea



More information about the Openembedded-devel mailing list