summaryrefslogtreecommitdiff
path: root/meta-phosphor/recipes-core/busybox
diff options
context:
space:
mode:
authorBrad Bishop <bradleyb@fuzziesquirrel.com>2018-08-31 13:25:51 +0300
committerBrad Bishop <bradleyb@fuzziesquirrel.com>2018-09-06 14:44:12 +0300
commitff075f6ee795a590b244d70a90cc312ba1f2d83d (patch)
treea617790bdbfdeef960665ba0242e1f0c93e5301a /meta-phosphor/recipes-core/busybox
parent3e4da38c127bb7e7641adc2fc41f4c33744cb918 (diff)
downloadopenbmc-ff075f6ee795a590b244d70a90cc312ba1f2d83d.tar.xz
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 <bradleyb@fuzziesquirrel.com>
Diffstat (limited to 'meta-phosphor/recipes-core/busybox')
-rw-r--r--meta-phosphor/recipes-core/busybox/busybox/0001-Stop-watchdog-first-on-startup.patch63
-rw-r--r--meta-phosphor/recipes-core/busybox/busybox/busybox.cfg6
-rw-r--r--meta-phosphor/recipes-core/busybox/busybox/flash.cfg4
-rw-r--r--meta-phosphor/recipes-core/busybox/busybox/mountpoint.cfg1
-rw-r--r--meta-phosphor/recipes-core/busybox/busybox_%.bbappend5
5 files changed, 79 insertions, 0 deletions
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 <spinler@us.ibm.com>
+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 <spinler@us.ibm.com>
+---
+ 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"