From ff075f6ee795a590b244d70a90cc312ba1f2d83d Mon Sep 17 00:00:00 2001 From: Brad Bishop Date: Fri, 31 Aug 2018 06:25:51 -0400 Subject: meta-phosphor: Move layer content from common/ Adopt a more conventional directory hierarchy. meta-phosphor is still a _long_ way from suitable for hosting on yoctoproject.org but things like this don't help. (From meta-phosphor rev: 471cfcefa74b8c7ceb704cb670e6d915cf27c63b) Change-Id: I3f106b2f6cdc6cec734be28a6090800546f362eb Signed-off-by: Brad Bishop --- .../0001-Stop-watchdog-first-on-startup.patch | 63 ++++++++++++++++++++++ .../recipes-core/busybox/busybox/busybox.cfg | 6 +++ .../recipes-core/busybox/busybox/flash.cfg | 4 ++ .../recipes-core/busybox/busybox/mountpoint.cfg | 1 + .../recipes-core/busybox/busybox_%.bbappend | 5 ++ 5 files changed, 79 insertions(+) create mode 100644 meta-phosphor/recipes-core/busybox/busybox/0001-Stop-watchdog-first-on-startup.patch create mode 100644 meta-phosphor/recipes-core/busybox/busybox/busybox.cfg create mode 100644 meta-phosphor/recipes-core/busybox/busybox/flash.cfg create mode 100644 meta-phosphor/recipes-core/busybox/busybox/mountpoint.cfg create mode 100644 meta-phosphor/recipes-core/busybox/busybox_%.bbappend (limited to 'meta-phosphor/recipes-core/busybox') diff --git a/meta-phosphor/recipes-core/busybox/busybox/0001-Stop-watchdog-first-on-startup.patch b/meta-phosphor/recipes-core/busybox/busybox/0001-Stop-watchdog-first-on-startup.patch new file mode 100644 index 0000000000..7128b8108d --- /dev/null +++ b/meta-phosphor/recipes-core/busybox/busybox/0001-Stop-watchdog-first-on-startup.patch @@ -0,0 +1,63 @@ +From a4c493ae42926ab36fdc805a5da9f0682bb98b45 Mon Sep 17 00:00:00 2001 +From: Matt Spinler +Date: Tue, 13 Jun 2017 15:26:49 -0500 +Subject: [PATCH] Stop watchdog first on startup + +Some watchdog implementations may do things other than issue +a reboot on a watchdog timeout. In this case, there's the +possibility of restarting this program from the state of +the watchdog device not being properly stopped (done by writing +a 'V' and closing the device). Since it wasn't stopped, the +driver may not be able to restart the watchdog when this program +reopens it and starts pinging it. + +To fix this, the code will always first issue the stop when it +starts up. + +Signed-off-by: Matt Spinler +--- + miscutils/watchdog.c | 21 +++++++++++++++++++-- + 1 file changed, 19 insertions(+), 2 deletions(-) + +diff --git a/miscutils/watchdog.c b/miscutils/watchdog.c +index 07ae64e52..223e3c32d 100644 +--- a/miscutils/watchdog.c ++++ b/miscutils/watchdog.c +@@ -53,6 +53,24 @@ static void watchdog_shutdown(int sig UNUSED_PARAM) + _exit(EXIT_SUCCESS); + } + ++static void watchdog_open(const char* device) ++{ ++ static const char magic_value = 'V'; ++ ++ /* If the watchdog driver can do something other than cause a reboot ++ * on a timeout, then it's possible this program may be starting from ++ * a state when the watchdog hadn't been previously stopped with ++ * the magic write followed by a close. In this case the driver may ++ * not start properly, so always do the proper stop first just in case. ++ */ ++ ++ /* Use known fd # - avoid needing global 'int fd' */ ++ xmove_fd(xopen(device, O_WRONLY), 3); ++ write(3, &magic_value, 1); ++ close(3); ++ xmove_fd(xopen(device, O_WRONLY), 3); ++} ++ + int watchdog_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE; + int watchdog_main(int argc, char **argv) + { +@@ -88,8 +106,7 @@ int watchdog_main(int argc, char **argv) + + bb_signals(BB_FATAL_SIGS, watchdog_shutdown); + +- /* Use known fd # - avoid needing global 'int fd' */ +- xmove_fd(xopen(argv[argc - 1], O_WRONLY), 3); ++ watchdog_open(argv[argc - 1]); + + /* WDIOC_SETTIMEOUT takes seconds, not milliseconds */ + htimer_duration = htimer_duration / 1000; +-- +2.11.0 + diff --git a/meta-phosphor/recipes-core/busybox/busybox/busybox.cfg b/meta-phosphor/recipes-core/busybox/busybox/busybox.cfg new file mode 100644 index 0000000000..99e83dbd93 --- /dev/null +++ b/meta-phosphor/recipes-core/busybox/busybox/busybox.cfg @@ -0,0 +1,6 @@ +CONFIG_DEVMEM=y +CONFIG_FEATURE_LS_COLOR_IS_DEFAULT=y +CONFIG_FEATURE_LESS_TRUNCATE=y +CONFIG_FEATURE_LESS_REGEXP=y +CONFIG_WATCHDOG=y +CONFIG_EXPAND=y diff --git a/meta-phosphor/recipes-core/busybox/busybox/flash.cfg b/meta-phosphor/recipes-core/busybox/busybox/flash.cfg new file mode 100644 index 0000000000..39ba10d74f --- /dev/null +++ b/meta-phosphor/recipes-core/busybox/busybox/flash.cfg @@ -0,0 +1,4 @@ +CONFIG_FLASHCP=y +CONFIG_FLASH_LOCK=y +CONFIG_FLASH_UNLOCK=y +CONFIG_FLASH_ERASEALL=y diff --git a/meta-phosphor/recipes-core/busybox/busybox/mountpoint.cfg b/meta-phosphor/recipes-core/busybox/busybox/mountpoint.cfg new file mode 100644 index 0000000000..8b009511ab --- /dev/null +++ b/meta-phosphor/recipes-core/busybox/busybox/mountpoint.cfg @@ -0,0 +1 @@ +CONFIG_MOUNTPOINT=y diff --git a/meta-phosphor/recipes-core/busybox/busybox_%.bbappend b/meta-phosphor/recipes-core/busybox/busybox_%.bbappend new file mode 100644 index 0000000000..e6678fc8a0 --- /dev/null +++ b/meta-phosphor/recipes-core/busybox/busybox_%.bbappend @@ -0,0 +1,5 @@ +FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" +SRC_URI += "file://busybox.cfg" +SRC_URI += "file://flash.cfg" +SRC_URI += "file://mountpoint.cfg" +SRC_URI += "file://0001-Stop-watchdog-first-on-startup.patch" -- cgit v1.2.3