diff --git a/buildroot-patches/pkg-maemo-code-reset.patch b/buildroot-patches/pkg-maemo-code-reset.patch
new file mode 100644
index 0000000..244e48a
--- /dev/null
+++ b/buildroot-patches/pkg-maemo-code-reset.patch
@@ -0,0 +1,51 @@
+Index: buildroot-2013.02/package/Config.in
+===================================================================
+--- buildroot-2013.02.orig/package/Config.in 2015-03-31 16:47:43.000000000 -0400
++++ buildroot-2013.02/package/Config.in 2015-03-31 16:48:41.000000000 -0400
+@@ -250,6 +250,7 @@
+ source "package/lshw/Config.in"
+ source "package/lsuio/Config.in"
+ source "package/lvm2/Config.in"
++source "package/maemo-code-reset/Config.in"
+ source "package/mdadm/Config.in"
+ source "package/media-ctl/Config.in"
+ source "package/memtester/Config.in"
+Index: buildroot-2013.02/package/maemo-code-reset/Config.in
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ buildroot-2013.02/package/maemo-code-reset/Config.in 2015-03-31 16:47:43.000000000 -0400
+@@ -0,0 +1,11 @@
++config BR2_PACKAGE_MAEMO_CODE_RESET
++ bool "maemo-code-reset"
++ select BR2_PACKAGE_MAEMO_LIBCAL
++ help
++ Reset the lock code of a Nokia N900.
++
++ Derived from the Mameo code-reset package
++ ()
++
++ (This is a RescueOS-specific package inserted by patching; see
++ N900_RescueOS/buildroot-patches/pkg-maemo-code-reset.patch)
+Index: buildroot-2013.02/package/maemo-code-reset/maemo-code-reset.mk
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ buildroot-2013.02/package/maemo-code-reset/maemo-code-reset.mk 2015-03-31 16:47:43.000000000 -0400
+@@ -0,0 +1,18 @@
++#
++# maemo-code-reset
++#
++
++MAEMO_CODE_RESET_VERSION = 0.1
++MAEMO_CODE_RESET_SOURCE = code-reset_$(MAEMO_CODE_RESET_VERSION).tar.gz
++MAEMO_CODE_RESET_SITE = http://repository.maemo.org/extras-devel/pool/fremantle/free/source/c/code-reset/
++MAEMO_CODE_RESET_DEPENDENCIES = maemo-libcal
++
++define MAEMO_CODE_RESET_BUILD_CMDS
++ $(TARGET_CC) -lcrypt -lcal $(@D)/code_reset.c -o $(@D)/code_reset
++endef
++
++define MAEMO_CODE_RESET_INSTALL_TARGET_CMDS
++ $(INSTALL) -D -m 0755 $(@D)/code_reset $(TARGET_DIR)/usr/sbin
++endef
++
++$(eval $(generic-package))
diff --git a/buildroot-patches/pkg-maemo-libcal.patch b/buildroot-patches/pkg-maemo-libcal.patch
new file mode 100644
index 0000000..a4730e9
--- /dev/null
+++ b/buildroot-patches/pkg-maemo-libcal.patch
@@ -0,0 +1,77 @@
+Index: buildroot-2013.02/package/Config.in
+===================================================================
+--- buildroot-2013.02.orig/package/Config.in 2015-03-31 16:22:39.000000000 -0400
++++ buildroot-2013.02/package/Config.in 2015-03-31 17:12:47.000000000 -0400
+@@ -457,6 +457,7 @@
+ source "package/libusb/Config.in"
+ source "package/libusb-compat/Config.in"
+ source "package/libv4l/Config.in"
++source "package/maemo-libcal/Config.in"
+ source "package/mtdev/Config.in"
+ source "package/neardal/Config.in"
+ source "package/pcsc-lite/Config.in"
+Index: buildroot-2013.02/package/maemo-libcal/Config.in
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ buildroot-2013.02/package/maemo-libcal/Config.in 2015-03-31 16:22:39.000000000 -0400
+@@ -0,0 +1,13 @@
++config BR2_PACKAGE_MAEMO_LIBCAL
++ bool "maemo-libcal"
++ help
++ Maemo devices (such as the Nokia N900) have a "calibration" storage
++ area where various bits of configuration data are kept. CAL is a
++ Maemo-specific C API for reading and writing this data.
++
++ This package installs a free-software reimplementation of this API
++ from the Community SSU project
++ ()
++
++ (This is a RescueOS-specific package inserted by patching; see
++ N900_RescueOS/buildroot-patches/pkg-maemo-libcal.patch)
+Index: buildroot-2013.02/package/maemo-libcal/maemo-libcal.mk
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ buildroot-2013.02/package/maemo-libcal/maemo-libcal.mk 2015-03-31 16:22:39.000000000 -0400
+@@ -0,0 +1,26 @@
++#
++# maemo-libcal
++#
++
++MAEMO_LIBCAL_VERSION = d4c5fd9293ddb693c9b032b4c084cd0343b3ea26
++MAEMO_LIBCAL_SITE = https://github.com/community-ssu/libcal.git
++MAEMO_LIBCAL_SITE_METHOD = git
++MAEMO_LIBCAL_INSTALL_STAGING = YES
++
++define MAEMO_LIBCAL_BUILD_CMDS
++ $(MAKE) $(TARGET_CONFIGURE_OPTS) -C $(@D) all
++endef
++
++define MAEMO_LIBCAL_INSTALL_STAGING_CMDS
++ $(MAKE) DESTDIR="$(STAGING_DIR)" -C $(@D) install
++endef
++
++define MAEMO_LIBCAL_INSTALL_TARGET_CMDS
++ $(MAKE) DESTDIR="$(TARGET_DIR)" -C $(@D) install
++endef
++
++define MAEMO_LIBCAL_CLEAN_CMDS
++ -$(MAKE) -C $(@D) clean
++endef
++
++$(eval $(generic-package))
+Index: buildroot-2013.02/package/maemo-libcal/maemo-libcal-fix-makefile.patch
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ buildroot-2013.02/package/maemo-libcal/maemo-libcal-fix-makefile.patch 2015-03-31 17:01:15.000000000 -0400
+@@ -0,0 +1,11 @@
++diff -ur libcal.orig/Makefile libcal/Makefile
++--- libcal.orig/Makefile 2015-03-31 16:59:00.000000000 -0400
+++++ libcal/Makefile 2015-03-31 16:59:45.000000000 -0400
++@@ -12,5 +12,5 @@
++ install -m 644 cal.h "$(DESTDIR)/usr/include/"
++ install -m 644 libcal.pc "$(DESTDIR)/usr/lib/pkgconfig/"
++ install -m 755 libcal.so.1.0.0 "$(DESTDIR)/usr/lib/"
++- ln -s libcal.so.1.0.0 "$(DESTDIR)/usr/lib/libcal.so.1"
++- ln -s libcal.so.1.0.0 "$(DESTDIR)/usr/lib/libcal.so"
+++ ln -sf libcal.so.1.0.0 "$(DESTDIR)/usr/lib/libcal.so.1"
+++ ln -sf libcal.so.1.0.0 "$(DESTDIR)/usr/lib/libcal.so"
diff --git a/buildroot-patches/series b/buildroot-patches/series
index ffd17d4..0437a94 100644
--- a/buildroot-patches/series
+++ b/buildroot-patches/series
@@ -2,3 +2,5 @@ gcc46-avoid-segfault.patch
linux-firmware-version-bump.patch
linux-firmware-wl1251.patch
nano-add-syntax-highlighting.patch
+pkg-maemo-libcal.patch
+pkg-maemo-code-reset.patch
diff --git a/buildrootconfig b/buildrootconfig
index f575cae..8f2e42c 100644
--- a/buildrootconfig
+++ b/buildrootconfig
@@ -25,6 +25,7 @@ BR2_PACKAGE_E2FSPROGS=y
BR2_PACKAGE_LINUX_FIRMWARE=y
BR2_PACKAGE_LINUX_FIRMWARE_TI_WL1251=y
BR2_PACKAGE_I2C_TOOLS=y
+BR2_PACKAGE_MAEMO_CODE_RESET=y
BR2_PACKAGE_LIBARCHIVE=y
BR2_PACKAGE_LZO=y
BR2_PACKAGE_ZLIB=y
diff --git a/documentation.txt b/documentation.txt
index c018326..31d93ec 100644
--- a/documentation.txt
+++ b/documentation.txt
@@ -6,6 +6,7 @@ notable:
mounting maemo /
EMMC access(can mount maemo home and MyDocs partition)
+Lock code reset
WiFi support
USB mass-storage mode
USB networking
@@ -44,6 +45,8 @@ anyway, correct?
-fsck file system checks
+-Resetting the lock code (without reflashing)
+
-and more...
Booting the initrd
@@ -77,6 +80,11 @@ This scripts mounts the maemo root to /mnt/maemo.
/rescueOS/umount-maemo-root.sh
+Lock code reset
+---------------
+code_reset
+# This will set the lock code back to the default ('12345').
+
USB Networking
-------------
/rescueOS/usbnetworking-enable.sh