From 7183bacd5c866d433467a750e485e6c01af4aafc Mon Sep 17 00:00:00 2001 From: Andrea Adami Date: Sun, 28 Feb 2016 23:51:25 +0100 Subject: linux-yocto-tiny-kexecboot: revert Yocto specific console check 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 Signed-off-by: Martin Jansa --- .../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 0000000000..5e5e8d9f9a --- /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 +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 +--- + 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 2904ab6b35..fed62a9260 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-console.patch" + PACKAGES = "" PROVIDES = "" -- cgit 1.2.3-korg