diff --git a/sp-oops-extract.patches/sp-oops-extract-50.patch b/sp-oops-extract.patches/sp-oops-extract-50.patch
new file mode 100644
index 0000000..b72df34
--- /dev/null
+++ b/sp-oops-extract.patches/sp-oops-extract-50.patch
@@ -0,0 +1,9 @@
+diff --aruN a/Makefile b/Makefile
+--- a/Makefile
++++ b/Makefile
+@@ -12,4 +12,5 @@ distclean: clean
+	for i in $(SUBDIRS); do $(MAKE) -C $$i distclean; done
+
+ install:
++	mkdir -p $(BIN)
+	install src/sp-oops-extract $(BIN)
diff --git a/sp-oops-extract.patches/sp-oops-extract-51.patch b/sp-oops-extract.patches/sp-oops-extract-51.patch
new file mode 100644
index 0000000..d8e301f
--- /dev/null
+++ b/sp-oops-extract.patches/sp-oops-extract-51.patch
@@ -0,0 +1,9 @@
+diff --aruN a/src/Makefile b/src/Makefile
+--- a/src/Makefile
++++ b/src/Makefile
+@@ -9,4 +9,4 @@
+	$(RM) $(TARGETS)
+
+ sp-oops-extract: oopslog.c
+-	gcc -Wall -s -o $@ $^
++	$(CC) -Wall -s -o $@ $^
diff --git a/sp-oops-extract.patches/sp-oops-extract-52.patch b/sp-oops-extract.patches/sp-oops-extract-52.patch
new file mode 100644
index 0000000..689013d
--- /dev/null
+++ b/sp-oops-extract.patches/sp-oops-extract-52.patch
@@ -0,0 +1,107 @@
+diff '--exclude=*~' -Nurp sp-oops-extract-0.0.7.orig/src/oopslog.c sp-oops-extract-0.0.7/src/oopslog.c
+Index: sp-oops-extract-0.0.7/src/oopslog.c
+===================================================================
+--- sp-oops-extract-0.0.7.orig/src/oopslog.c	2017-04-05 16:31:18.973231119 -0700
++++ sp-oops-extract-0.0.7/src/oopslog.c	2017-04-05 16:31:18.965231155 -0700
+@@ -37,11 +37,18 @@
+ #include <linux/fs.h>
+ #include <err.h>
+ #include <stdint.h>
++#include <stdlib.h>
++#include <limits.h>
+ 
+-#define OOPS_PAGE_SIZE 4096
++#define DEFAULT_OOPS_PAGE_SIZE 4096
++#define OOPS_PAGE_SIZE_ENV "OOPS_PAGE_SIZE"
++#define OOPS_RECORD_SIZE_PATH "/sys/module/mtdoops/parameters/record_size"
++#define INVALID_OOPS_PAGE_SIZE ULONG_MAX
+ 
+ #define MEMGETINFO                _IOR('M', 1, struct mtd_info_user)
+ 
++unsigned long OOPS_PAGE_SIZE = DEFAULT_OOPS_PAGE_SIZE;
++
+ struct mtd_info_user {
+ 	uint8_t type;
+ 	uint32_t flags;
+@@ -55,6 +62,72 @@
+ 	uint32_t eccsize;
+ };
+ 
++static unsigned long init_oops_page_size_from_env(void)
++{
++	char *from_env = getenv(OOPS_PAGE_SIZE_ENV);
++	char *endptr = NULL;
++	unsigned long val = INVALID_OOPS_PAGE_SIZE;
++
++	if (!from_env) {
++		return val;
++	}
++
++	errno = 0;
++	val = strtoul(from_env, &endptr, 0);
++	if (from_env == endptr) {
++		// invalid value. Ignore it.
++		val = INVALID_OOPS_PAGE_SIZE;
++	} else if (val == ULONG_MAX && errno == ERANGE) {
++		// invalid value. Ignore it.
++		val = INVALID_OOPS_PAGE_SIZE;
++	} else {
++		// good read, using value.
++	}
++
++	return val;
++}
++
++static unsigned long init_oops_page_size_from_module(void)
++{
++	FILE *fp = fopen(OOPS_RECORD_SIZE_PATH, "r");
++	unsigned long val = INVALID_OOPS_PAGE_SIZE;
++	int items;
++
++	if (!fp) {
++		return INVALID_OOPS_PAGE_SIZE;
++	}
++
++	items = fscanf(fp, "%lu", &val);
++	fclose(fp);
++	if (items != 1) {
++		val = INVALID_OOPS_PAGE_SIZE;
++	}
++
++	return val;
++}
++
++// Set OOPS_PAGE_SIZE value from either environment (OOPS_PAGE_SIZE)
++// or from the kernel module parameter.
++static void init_oops_page_size(void)
++{
++	unsigned long val;
++
++	val = init_oops_page_size_from_env();
++
++	if (val == INVALID_OOPS_PAGE_SIZE) {
++		val = init_oops_page_size_from_module();
++	}
++
++	if (val != INVALID_OOPS_PAGE_SIZE) {
++		OOPS_PAGE_SIZE = val;
++	}
++
++	fprintf(stderr, "Using OOPS_PAGE_SIZE=%lu\n", val);
++	if ((OOPS_PAGE_SIZE % 4096) != 0) {
++		fprintf(stderr, "Warning: OOPS_PAGE_SIZE is supposed to be a multiple of 4096\n");
++	}
++}
++
+ static int try_to_check_for_bad_blocks(void) {
+ 	/* FIXME
+ 	 * Checking for bad blocks should be implemented here.
+@@ -83,6 +156,8 @@
+ 
+ 	device = argv[1];
+ 
++	init_oops_page_size();
++
+ 	buf = malloc(OOPS_PAGE_SIZE);
+ 	if (!buf) {
+ 		err(-1, "Unable to allocate memory");
diff --git a/sp-oops-extract.tar.gz b/sp-oops-extract.tar.gz
new file mode 100644
index 0000000..aa655c1
--- /dev/null
+++ b/sp-oops-extract.tar.gz
Binary files differ
diff --git a/sp-oops-extract.url b/sp-oops-extract.url
new file mode 100644
index 0000000..19cee8f
--- /dev/null
+++ b/sp-oops-extract.url
@@ -0,0 +1 @@
+http://repository.maemo.org/pool/maemo5.0/free/s/sp-oops-extract/sp-oops-extract_0.0.7-1.tar.gz
diff --git a/sp-oops-extract.version b/sp-oops-extract.version
new file mode 100644
index 0000000..5a5831a
--- /dev/null
+++ b/sp-oops-extract.version
@@ -0,0 +1 @@
+0.0.7
