From ad284287e904efd403dd6c4b4da8536b6ac2cd1f Mon Sep 17 00:00:00 2001 From: Daniel Gnoutcheff Date: Tue, 31 Mar 2015 17:18:45 -0400 Subject: [PATCH] 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. --- buildroot-patches/pkg-maemo-code-reset.patch | 51 +++++++++++++ buildroot-patches/pkg-maemo-libcal.patch | 77 ++++++++++++++++++++ buildroot-patches/series | 2 + buildrootconfig | 1 + documentation.txt | 8 ++ 5 files changed, 139 insertions(+) create mode 100644 buildroot-patches/pkg-maemo-code-reset.patch create mode 100644 buildroot-patches/pkg-maemo-libcal.patch 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