diff --git a/busybox.patches/busybox-50.description b/busybox.patches/busybox-50.description
new file mode 100644
index 0000000..3ee154b
--- /dev/null
+++ b/busybox.patches/busybox-50.description
@@ -0,0 +1 @@
+This patch enables support for enabling -fno-strict-aliasing when compiling with GCC greater than or equal to 4.4.
diff --git a/busybox.patches/busybox-50.patch b/busybox.patches/busybox-50.patch
new file mode 100644
index 0000000..08d388e
--- /dev/null
+++ b/busybox.patches/busybox-50.patch
@@ -0,0 +1,12 @@
+diff -aruN a/Makefile.flags b/Makefile.flags
+--- a/Makefile.flags	2010-08-22 01:21:38.000000000 -0700
++++ b/Makefile.flags	2010-10-08 14:45:16.517324148 -0700
+@@ -41,7 +41,7 @@
+ ## and I am unwilling to do crazy gcc specific ({ void *ppp = ...; })
+ ## stuff in macros. This would obfuscate the code too much.
+ ## Maybe try __attribute__((__may_alias__))?
+-#CFLAGS += $(call cc-ifversion, -eq, 0404, -fno-strict-aliasing)
++CFLAGS += $(call cc-ifversion, -ge, 0404, -fno-strict-aliasing)
+ endif
+ # gcc 3.x emits bogus "old style proto" warning on find.c:alloc_action()
+ CFLAGS += $(call cc-ifversion, -ge, 0400, -Wold-style-definition)
diff --git a/busybox.patches/busybox-51.description b/busybox.patches/busybox-51.description
new file mode 100644
index 0000000..5469618
--- /dev/null
+++ b/busybox.patches/busybox-51.description
@@ -0,0 +1,2 @@
+This patch adds support for logging syslog time stamps in Coordinated 
+Universal Time (UTC).
diff --git a/busybox.patches/busybox-51.patch b/busybox.patches/busybox-51.patch
new file mode 100644
index 0000000..6a97363
--- /dev/null
+++ b/busybox.patches/busybox-51.patch
@@ -0,0 +1,70 @@
+diff -aruN a/sysklogd/syslogd.c c/sysklogd/syslogd.c
+--- a/sysklogd/syslogd.c	2011-10-29 04:43:01.000000000 -0700
++++ c/sysklogd/syslogd.c	2012-01-04 10:11:05.921879376 -0800
+@@ -24,6 +24,7 @@
+ //usage:     "\n	-O FILE		Log to FILE (default:/var/log/messages)"
+ //usage:     "\n	-l N		Log only messages more urgent than prio N (1-8)"
+ //usage:     "\n	-S		Smaller output"
++//usage:     "\n	-u		Log time stamps in Coordinated Universal Time (UTC)"
+ //usage:	IF_FEATURE_ROTATE_LOGFILE(
+ //usage:     "\n	-s SIZE		Max size (KB) before rotation (default:200KB, 0=off)"
+ //usage:     "\n	-b N		N rotated logs to keep (default:1, max=99, 0=purge)"
+@@ -205,6 +206,7 @@
+ 	OPTBIT_outfile, // -O
+ 	OPTBIT_loglevel, // -l
+ 	OPTBIT_small, // -S
++	OPTBIT_utc, // -u
+ 	IF_FEATURE_ROTATE_LOGFILE(OPTBIT_filesize   ,)	// -s
+ 	IF_FEATURE_ROTATE_LOGFILE(OPTBIT_rotatecnt  ,)	// -b
+ 	IF_FEATURE_REMOTE_LOG(    OPTBIT_remotelog  ,)	// -R
+@@ -218,6 +220,7 @@
+ 	OPT_outfile     = 1 << OPTBIT_outfile ,
+ 	OPT_loglevel    = 1 << OPTBIT_loglevel,
+ 	OPT_small       = 1 << OPTBIT_small   ,
++	OPT_utc			= 1 << OPTBIT_utc	  ,
+ 	OPT_filesize    = IF_FEATURE_ROTATE_LOGFILE((1 << OPTBIT_filesize   )) + 0,
+ 	OPT_rotatecnt   = IF_FEATURE_ROTATE_LOGFILE((1 << OPTBIT_rotatecnt  )) + 0,
+ 	OPT_remotelog   = IF_FEATURE_REMOTE_LOG(    (1 << OPTBIT_remotelog  )) + 0,
+@@ -226,7 +229,7 @@
+ 	OPT_dup         = IF_FEATURE_SYSLOGD_DUP(   (1 << OPTBIT_dup        )) + 0,
+ 	OPT_cfg         = IF_FEATURE_SYSLOGD_CFG(   (1 << OPTBIT_cfg        )) + 0,
+ };
+-#define OPTION_STR "m:nO:l:S" \
++#define OPTION_STR "m:nO:l:Su" \
+ 	IF_FEATURE_ROTATE_LOGFILE("s:" ) \
+ 	IF_FEATURE_ROTATE_LOGFILE("b:" ) \
+ 	IF_FEATURE_REMOTE_LOG(    "R:" ) \
+@@ -649,10 +652,30 @@
+ 	 || msg[9] != ':' || msg[12] != ':' || msg[15] != ' '
+ 	) {
+ 		time(&now);
+-		timestamp = ctime(&now) + 4; /* skip day of week */
++		if (option_mask32 & OPT_utc)
++			timestamp = asctime(gmtime(&now));
++		else
++			timestamp = asctime(localtime(&now));
++		timestamp += 4; /* skip day of week */
+ 	} else {
+-		now = 0;
+-		timestamp = msg;
++		if (option_mask32 & OPT_utc) {
++			struct tm parsed, local;
++			now = time(NULL);
++			localtime_r(&now, &local);
++			if (strptime(msg, "%h %e %T", &parsed) != NULL) {
++				parsed.tm_gmtoff	= local.tm_gmtoff;
++				parsed.tm_zone		= local.tm_zone;
++				parsed.tm_year		= local.tm_year;
++				parsed.tm_isdst		= local.tm_isdst;
++				now = mktime(&parsed);
++				timestamp = asctime(gmtime(&now)) + 4;
++			} else {
++				timestamp = msg;
++			}
++		} else {
++			now = 0;
++			timestamp = msg;
++		}
+ 		msg += 16;
+ 	}
+ 	timestamp[15] = '\0';
diff --git a/busybox.patches/busybox-52.description b/busybox.patches/busybox-52.description
new file mode 100644
index 0000000..6669c67
--- /dev/null
+++ b/busybox.patches/busybox-52.description
@@ -0,0 +1,2 @@
+This patch adds support for converting and logging the message
+reported timestamp format to yyyy-mm-dd hh:mm:ss.uuuuuu.
diff --git a/busybox.patches/busybox-52.patch b/busybox.patches/busybox-52.patch
new file mode 100644
index 0000000..d12177b
--- /dev/null
+++ b/busybox.patches/busybox-52.patch
@@ -0,0 +1,121 @@
+diff -aruN a/sysklogd/syslogd.c b/sysklogd/syslogd.c
+--- a/sysklogd/syslogd.c	2012-01-04 10:13:07.989873065 -0800
++++ b/sysklogd/syslogd.c	2012-01-04 10:08:05.000000000 -0800
+@@ -165,10 +165,10 @@
+ 	/* ...then copy to parsebuf, escaping control chars */
+ 	/* (can grow x2 max) */
+ 	char parsebuf[MAX_READ*2];
+-	/* ...then sprintf into printbuf, adding timestamp (15 chars),
++	/* ...then sprintf into printbuf, adding timestamp (26 chars),
+ 	 * host (64), fac.prio (20) to the message */
+-	/* (growth by: 15 + 64 + 20 + delims = ~110) */
+-	char printbuf[MAX_READ*2 + 128];
++	/* (growth by: 26 + 64 + 20 + delims = ~121) */
++	char printbuf[MAX_READ*2 + 139];
+ };
+ 
+ static const struct init_globals init_data = {
+@@ -638,47 +638,62 @@
+ 	snprintf(res20, 20, "<%d>", pri);
+ }
+ 
++static struct tm * generate_time(struct timeval *tvp, struct tm *tmp)
++{
++	struct tm *tm;
++
++	gettimeofday(tvp, NULL);
++
++	if (option_mask32 & OPT_utc) {
++		tm = gmtime_r(&tvp->tv_sec, tmp);
++	} else {
++		tm = localtime_r(&tvp->tv_sec, tmp);
++	}
++
++	return tm;
++}
++
+ /* len parameter is used only for "is there a timestamp?" check.
+  * NB: some callers cheat and supply len==0 when they know
+  * that there is no timestamp, short-circuiting the test. */
+ static void timestamp_and_log(int pri, char *msg, int len)
+ {
+-	char *timestamp;
+-	time_t now;
++	char timestamp[27];
++	struct timeval tvnow;
++	struct tm parsed, tmnow, *tmp;
++	size_t n;
+ 
+ 	/* Jan 18 00:11:22 msg... */
+ 	/* 01234567890123456 */
+ 	if (len < 16 || msg[3] != ' ' || msg[6] != ' '
+ 	 || msg[9] != ':' || msg[12] != ':' || msg[15] != ' '
+ 	) {
+-		time(&now);
+-		if (option_mask32 & OPT_utc)
+-			timestamp = asctime(gmtime(&now));
+-		else
+-			timestamp = asctime(localtime(&now));
+-		timestamp += 4; /* skip day of week */
++		tmp = generate_time(&tvnow, &tmnow);
+ 	} else {
+-		if (option_mask32 & OPT_utc) {
+-			struct tm parsed, local;
+-			now = time(NULL);
+-			localtime_r(&now, &local);
+-			if (strptime(msg, "%h %e %T", &parsed) != NULL) {
+-				parsed.tm_gmtoff	= local.tm_gmtoff;
+-				parsed.tm_zone		= local.tm_zone;
+-				parsed.tm_year		= local.tm_year;
+-				parsed.tm_isdst		= local.tm_isdst;
+-				now = mktime(&parsed);
+-				timestamp = asctime(gmtime(&now)) + 4;
++		struct tm local;
++		tvnow.tv_sec = time(NULL);
++		localtime_r(&tvnow.tv_sec, &local);
++		if (strptime(msg, "%h %e %T", &parsed) != NULL) {
++
++			parsed.tm_gmtoff	= local.tm_gmtoff;
++			parsed.tm_zone		= local.tm_zone;
++			parsed.tm_year		= local.tm_year;
++			parsed.tm_isdst		= local.tm_isdst;
++			tvnow.tv_sec = mktime(&parsed);
++			tvnow.tv_usec = 0;
++
++			if (option_mask32 & OPT_utc) {
++				tmp = gmtime_r(&tvnow.tv_sec, &tmnow);
+ 			} else {
+-				timestamp = msg;
++				tmp = &parsed;
+ 			}
+ 		} else {
+-			now = 0;
+-			timestamp = msg;
++			tmp  = generate_time(&tvnow, &tmnow);
+ 		}
+ 		msg += 16;
+ 	}
+-	timestamp[15] = '\0';
++	n = strftime(timestamp, sizeof(timestamp), "%F %T", tmp);
++	snprintf(timestamp + n, sizeof(timestamp) - n, ".%06ld", tvnow.tv_usec);
+ 
+ 	if (option_mask32 & OPT_small)
+ 		sprintf(G.printbuf, "%s %s\n", timestamp, msg);
+@@ -698,7 +713,7 @@
+ 
+ 		for (rule = G.log_rules; rule; rule = rule->next) {
+ 			if (rule->enabled_facility_priomap[facility] & prio_bit) {
+-				log_locally(now, G.printbuf, rule->file);
++				log_locally(tvnow.tv_sec, G.printbuf, rule->file);
+ 				match = 1;
+ 			}
+ 		}
+@@ -713,7 +728,7 @@
+ 			return;
+ 		}
+ #endif
+-		log_locally(now, G.printbuf, &G.logFile);
++		log_locally(tvnow.tv_sec, G.printbuf, &G.logFile);
+ 	}
+ }
+ 
diff --git a/busybox.patches/busybox-53.description b/busybox.patches/busybox-53.description
new file mode 100644
index 0000000..1a12725
--- /dev/null
+++ b/busybox.patches/busybox-53.description
@@ -0,0 +1 @@
+This patch returns busybox to 1.17-era behavior in which default configurations could be specified anywhere, not simply relative to the in-package configs directory.
diff --git a/busybox.patches/busybox-53.patch b/busybox.patches/busybox-53.patch
new file mode 100644
index 0000000..309517a
--- /dev/null
+++ b/busybox.patches/busybox-53.patch
@@ -0,0 +1,12 @@
+diff -aruN a/scripts/kconfig/Makefile b/scripts/kconfig/Makefile
+--- a/scripts/kconfig/Makefile	2011-09-05 19:35:17.000000000 -0700
++++ b/scripts/kconfig/Makefile	2012-01-04 10:28:30.000000000 -0800
+@@ -87,7 +87,7 @@
+ 	$(MTIME_IS_COARSE) && sleep 1
+ 
+ %_defconfig: $(obj)/conf
+-	$(Q)$< -D configs/$@ Config.in
++	$(Q)$< -D $@ Config.in
+ 	$(MTIME_IS_COARSE) && sleep 1
+ 
+ # Help text used by make help
diff --git a/busybox.patches/busybox-54.description b/busybox.patches/busybox-54.description
new file mode 100644
index 0000000..1f7628f
--- /dev/null
+++ b/busybox.patches/busybox-54.description
@@ -0,0 +1 @@
+This patch fixes a memory leak in the rdev applet
diff --git a/busybox.patches/busybox-54.patch b/busybox.patches/busybox-54.patch
new file mode 100644
index 0000000..bb80a35
--- /dev/null
+++ b/busybox.patches/busybox-54.patch
@@ -0,0 +1,16 @@
+diff -Naur a/util-linux/rdev.c b/util-linux/rdev.c
+--- a/util-linux/rdev.c	2011-09-05 19:35:17.000000000 -0700
++++ b/util-linux/rdev.c	2014-10-24 11:41:55.922803554 -0700
+@@ -23,10 +23,11 @@
+ int rdev_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
+ int rdev_main(int argc UNUSED_PARAM, char **argv UNUSED_PARAM)
+ {
+-	char const * const root_device = find_block_device("/");
++	char * const root_device = find_block_device("/");
+ 
+ 	if (root_device != NULL) {
+ 		printf("%s /\n", root_device);
++		free(root_device);
+ 		return EXIT_SUCCESS;
+ 	}
+ 	return EXIT_FAILURE;
diff --git a/busybox.patches/busybox-55.description b/busybox.patches/busybox-55.description
new file mode 100644
index 0000000..b858eba
--- /dev/null
+++ b/busybox.patches/busybox-55.description
@@ -0,0 +1 @@
+This patch fixes the rdev applet for cases where the device associated with the mounted filesystem isn't a /dev device node (i.e: UBIFS, tmpfs, network drive mounts)
diff --git a/busybox.patches/busybox-55.patch b/busybox.patches/busybox-55.patch
new file mode 100644
index 0000000..03067f6
--- /dev/null
+++ b/busybox.patches/busybox-55.patch
@@ -0,0 +1,79 @@
+diff -Naur a/libbb/find_root_device.c b/libbb/find_root_device.c
+--- a/libbb/find_root_device.c	2014-10-27 13:01:18.984487421 -0700
++++ b/libbb/find_root_device.c	2014-10-27 13:36:07.469359713 -0700
+@@ -9,6 +9,15 @@
+ 
+ #include "libbb.h"
+ 
++/* #define DEBUGGING 1 */
++
++#ifdef DEBUGGING
++#define debug(...) do { printf(__VA_ARGS__); } while (0)
++#else
++#define debug(...) ((void)0)
++#endif
++
++
+ /* Find block device /dev/XXX which contains specified file
+  * We handle /dev/dir/dir/dir too, at a cost of ~80 more bytes code */
+ 
+@@ -63,6 +72,46 @@
+ 	return retpath;
+ }
+ 
++#define PROC_MOUNTINFO  "/proc/self/mountinfo"
++/* A major of zero indicates a non-device mount. Use the kernel's show_mountinfo(),
++ * exposed through /proc/self/mountinfo to lookup the device reference. */
++static char *find_device_in_mountinfo(struct arena *ap)
++{
++	char line[1024];
++	char *linePtr;
++	char *retpath = NULL;
++
++	FILE *fp = fopen_for_read(PROC_MOUNTINFO);
++	if (!fp)
++		return NULL;
++
++	debug("Looking for device %u:%u\n", major(ap->dev), minor(ap->dev));
++	while (fgets(line, sizeof(line), fp)) {
++			int mnt_id, parent_mnt_id;
++			unsigned int major, minor;
++			char mnt_typename[1024], mnt_devname[1024];
++
++			linePtr = line;
++			if (sscanf(linePtr, "%i %i %u:%u", &mnt_id, &parent_mnt_id, &major, &minor) != 4) {
++				debug("Couldn't parse line: '%s'\n", line);
++			} else if ((linePtr = strstr(linePtr, " - ")) == NULL) {
++				debug("Couldn't find ' - ': '%s'\n", line);
++			} else if (sscanf(linePtr, " - %s %s ", mnt_typename, mnt_devname) != 2) {
++				debug("Couldn't parse line: '%s'\n", line);
++			} else if ((major(ap->dev) != major) || (minor(ap->dev) != minor)) {
++				debug("Non-matching device %u:%u --> %s\n", major, minor, mnt_devname);
++			} else {
++				debug("Found a match %u:%u --> %s\n", major, minor, mnt_devname);
++				retpath = xstrdup(mnt_devname);
++				break;
++			}
++	}
++
++	fclose(fp);
++
++	return retpath;
++}
++
+ char* FAST_FUNC find_block_device(const char *path)
+ {
+ 	struct arena a;
+@@ -70,6 +119,10 @@
+ 	if (stat(path, &a.st) != 0)
+ 		return NULL;
+ 	a.dev = S_ISBLK(a.st.st_mode) ? a.st.st_rdev : a.st.st_dev;
+-	strcpy(a.devpath, "/dev");
+-	return find_block_device_in_dir(&a);
++	if (major(a.dev) != 0) {
++		strcpy(a.devpath, "/dev");
++		return find_block_device_in_dir(&a);
++	} else {
++		return find_device_in_mountinfo(&a);
++	}
+ }
diff --git a/busybox.patches/busybox-56.description b/busybox.patches/busybox-56.description
new file mode 100644
index 0000000..012fc5b
--- /dev/null
+++ b/busybox.patches/busybox-56.description
@@ -0,0 +1 @@
+Poky 2.0.1 Support
diff --git a/busybox.patches/busybox-56.patch b/busybox.patches/busybox-56.patch
new file mode 100644
index 0000000..23f2337
--- /dev/null
+++ b/busybox.patches/busybox-56.patch
@@ -0,0 +1,11 @@
+diff -Naur a/include/libbb.h b/include/libbb.h
+--- a/include/libbb.h	2011-09-05 19:35:36.000000000 -0700
++++ b/include/libbb.h	2016-09-07 22:07:18.448919508 -0700
+@@ -35,6 +35,7 @@
+ #include <sys/poll.h>
+ #include <sys/ioctl.h>
+ #include <sys/mman.h>
++#include <sys/resource.h>
+ #include <sys/socket.h>
+ #include <sys/stat.h>
+ #include <sys/time.h>
diff --git a/busybox.patches/busybox-57.description b/busybox.patches/busybox-57.description
new file mode 100644
index 0000000..e1f06a5
--- /dev/null
+++ b/busybox.patches/busybox-57.description
@@ -0,0 +1,8 @@
+The upstream (sysklogd) solution to the general issue of inconsistent
+timestamps is to simply discard any timestamp included in messages and to
+generate a new timestamp.  This patch is essentially a port of the relevant
+upstream commit.
+
+Reference:
+Discard any timestamp information found in received syslog messages.
+http://git.infodrom.org/?p=infodrom/sysklogd;a=commitdiff;h=4c09ec0516c08f62b1ed6c55d10424fe2da05808
diff --git a/busybox.patches/busybox-57.patch b/busybox.patches/busybox-57.patch
new file mode 100644
index 0000000..86f5b75
--- /dev/null
+++ b/busybox.patches/busybox-57.patch
@@ -0,0 +1,40 @@
+diff -aruN a/sysklogd/syslogd.c b/sysklogd/syslogd.c
+--- a/sysklogd/syslogd.c	2017-03-07 13:38:44.406178588 -0800
++++ b/sysklogd/syslogd.c	2017-03-07 13:34:40.891055910 -0800
+@@ -665,33 +665,12 @@
+ 
+ 	/* Jan 18 00:11:22 msg... */
+ 	/* 01234567890123456 */
+-	if (len < 16 || msg[3] != ' ' || msg[6] != ' '
++	if (!(len < 16 || msg[3] != ' ' || msg[6] != ' '
+ 	 || msg[9] != ':' || msg[12] != ':' || msg[15] != ' '
+-	) {
+-		tmp = generate_time(&tvnow, &tmnow);
+-	} else {
+-		struct tm local;
+-		tvnow.tv_sec = time(NULL);
+-		localtime_r(&tvnow.tv_sec, &local);
+-		if (strptime(msg, "%h %e %T", &parsed) != NULL) {
+-
+-			parsed.tm_gmtoff	= local.tm_gmtoff;
+-			parsed.tm_zone		= local.tm_zone;
+-			parsed.tm_year		= local.tm_year;
+-			parsed.tm_isdst		= local.tm_isdst;
+-			tvnow.tv_sec = mktime(&parsed);
+-			tvnow.tv_usec = 0;
+-
+-			if (option_mask32 & OPT_utc) {
+-				tmp = gmtime_r(&tvnow.tv_sec, &tmnow);
+-			} else {
+-				tmp = &parsed;
+-			}
+-		} else {
+-			tmp  = generate_time(&tvnow, &tmnow);
+-		}
++	)) {
+ 		msg += 16;
+ 	}
++	tmp = generate_time(&tvnow, &tmnow);
+ 	n = strftime(timestamp, sizeof(timestamp), "%F %T", tmp);
+ 	snprintf(timestamp + n, sizeof(timestamp) - n, ".%06ld", tvnow.tv_usec);
+ 
diff --git a/busybox.tar.bz2 b/busybox.tar.bz2
new file mode 100644
index 0000000..34a1a92
--- /dev/null
+++ b/busybox.tar.bz2
Binary files differ
diff --git a/busybox.url b/busybox.url
new file mode 100644
index 0000000..194e9ca
--- /dev/null
+++ b/busybox.url
@@ -0,0 +1 @@
+http://busybox.net/downloads/busybox-1.19.3.tar.bz2
diff --git a/busybox.version b/busybox.version
new file mode 100644
index 0000000..1b92e58
--- /dev/null
+++ b/busybox.version
@@ -0,0 +1 @@
+1.19.3
