Add code_reset

Package up a utility (and the library it depends on) that can reset the
N900's lock code.  Useful if a device is locked and you've forgotten the
code.
This commit is contained in:
Daniel Gnoutcheff 2015-03-31 17:18:45 -04:00
parent ce4f0c200a
commit ad284287e9
5 changed files with 139 additions and 0 deletions

View File

@ -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
+ (<http://maemo.org/packages/view/code-reset/>)
+
+ (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))

View File

@ -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
+ (<https://github.com/community-ssu/libcal>)
+
+ (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"

View File

@ -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

View File

@ -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

View File

@ -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