Merge pull request #1 from gnoutchd/master

Automated builds, code_reset
This commit is contained in:
NIN101 2015-04-05 12:23:17 +02:00
commit 1a602fa5d6
54 changed files with 475 additions and 3270 deletions

View File

@ -1,3 +1,15 @@
=======================
1.1-gnoutchd 2015-04-??
NEW code_reset (can reset the security lock code)
NEW cfdisk, pg, setterm, ul
(these utilities were left out of previous builds in part because
ncurses was disabled at the time that the util-linux package was built)
NEW nano syntax highlighting files updated
NEW kernel rebuilt
REMOVED depmod, iconv, locale support
DEVELOP Kernel and roofs builds now fully automated with buildroot
1.1 2013-06-30 1.1 2013-06-30
============== ==============
FIX Correclty detach ubifs (thx, Pali) FIX Correclty detach ubifs (thx, Pali)

60
HACKING Normal file
View File

@ -0,0 +1,60 @@
====================
RescueOS build HOWTO
These instructions are for folks who want to modify RescueOS and make their
own images. If you just want to use RescueOS on your N900, you'll want to
get one of the prebuilt images and look at 'documentation.txt' for usage
info.
RescueOS images are modified buildroot images. This source distribution is
just a collection of config files, patches, etc. that configure and customize
buildroot builds.
You'll need a GNU/Linux system to host the build. You'll need 'git' and
'quilt' to checkout the RescueOS source and apply our buildroot patches,
respectively. Once that's done, you'll also need to satisfy buildroot's
prerequisites; we'll address that later.
These files are meant to be used with version 2013.02 of buildroot. (Ports to
newer versions are welcome.)
Start by unpacking the RescueOS and buildroot sources into separate
directories. We recommend putting the two directories next to each other under
a common parent directory:
$ mkdir rescueos-build
$ cd rescueos-build
Use git to checkout the RescueOS source. It will go into a subdirectory named
'N900_RescueOS'.
$ git clone <rescueos repository url>
Fetch, verify, and unpack the buildroot source. It will end up in a
subdirectory named 'buildroot-2013.02'.
$ wget http://www.buildroot.org/downloads/buildroot-2013.02.tar.bz2
$ wget http://www.buildroot.org/downloads/buildroot-2013.02.tar.bz2.sign
$ gpg --recv-keys B025BA8B59C36319
$ gpg --verify buildroot-2013.02.tar.bz2.sign
$ tar --extract --bzip --file buildroot-2013.02.tar.bz2
Buildroot's prerequisites are documented in the "System requirements" section
of the buildroot manual ('buildroot-2013.02/docs/manual/manual.html'). Install them if necessary.
Now apply our buildroot patches with quilt.
$ cd buildroot-2013.02
$ QUILT_PATCHES=../N900_RescueOS/buildroot-patches quilt push -a
Point buildroot to the RescueOS configuration:
$ make defconfig BR2_DEFCONFIG=../N900_RescueOS/buildrootconfig
Invoke buildroot to build RescueOS:
$ make
Buildroot will download and build a whole bunch of packages, starting with the
cross-compiling toolchain. When it's done, kernel and cramfs images will be
left in 'buildroot-2013.02/output/images'.

View File

@ -0,0 +1,42 @@
Avoid GCC 4.6 segfaults
Buildroot's attempt to build a GCC 4.6.x cross-compilation toolchain might fail
with something like
/some/path/buildroot-2013.02/output/toolchain/gcc-4.6.3/libgcc/../gcc/libgcc2.c: In function __negdi2:
/some/path/buildroot-2013.02/output/toolchain/gcc-4.6.3/libgcc/../gcc/libgcc2.c:72:1: internal compiler error: Segmentation fault
This patch is revision 191605 for GCC 4.7.x
(<https://gcc.gnu.org/viewcvs/gcc?view=revision&revision=191605>). Applying it
to 4.6.x seems to prevent this crash.
Save this file as
buildroot-2013.02/toolchain/gcc/4.6.3/999-ira-int.patch
to have buildroot apply this patch to GCC 4.6.x source before trying to build
it.
See also <https://gcc.gnu.org/ml/gcc-help/2014-03/msg00049.html>
Index: buildroot-2013.02/toolchain/gcc/4.6.3/999-ira-int.patch
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ buildroot-2013.02/toolchain/gcc/4.6.3/999-ira-int.patch 2015-03-29 00:09:28.000000000 -0400
@@ -0,0 +1,18 @@
+--- gcc-4_7-branch/gcc/ira-int.h 2012/09/21 09:19:39 191604
++++ gcc-4_7-branch/gcc/ira-int.h 2012/09/21 10:08:35 191605
+@@ -1138,8 +1138,13 @@
+ ira_allocno_object_iter_cond (ira_allocno_object_iterator *i, ira_allocno_t a,
+ ira_object_t *o)
+ {
+- *o = ALLOCNO_OBJECT (a, i->n);
+- return i->n++ < ALLOCNO_NUM_OBJECTS (a);
++ int n = i->n++;
++ if (n < ALLOCNO_NUM_OBJECTS (a))
++ {
++ *o = ALLOCNO_OBJECT (a, n);
++ return true;
++ }
++ return false;
+ }
+
+ /* Loop over all objects associated with allocno A. In each

View File

@ -0,0 +1,13 @@
Index: buildroot-2013.02/package/linux-firmware/linux-firmware.mk
===================================================================
--- buildroot-2013.02.orig/package/linux-firmware/linux-firmware.mk 2015-03-29 19:37:39.000000000 -0400
+++ buildroot-2013.02/package/linux-firmware/linux-firmware.mk 2015-03-29 19:40:20.000000000 -0400
@@ -4,7 +4,7 @@
#
#############################################################
-LINUX_FIRMWARE_VERSION = 65a5163b8bb77bd7759efa3ca780867fcaed89b0
+LINUX_FIRMWARE_VERSION = 76b366df2afdde9811fdd5fc128d1779e26e7be7
LINUX_FIRMWARE_SITE = http://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git
LINUX_FIRMWARE_SITE_METHOD = git

View File

@ -0,0 +1,33 @@
Index: buildroot-2013.02/package/linux-firmware/Config.in
===================================================================
--- buildroot-2013.02.orig/package/linux-firmware/Config.in 2013-02-28 16:48:28.000000000 -0500
+++ buildroot-2013.02/package/linux-firmware/Config.in 2015-03-29 19:48:36.000000000 -0400
@@ -71,6 +71,11 @@
help
Realtek 8712
+config BR2_PACKAGE_LINUX_FIRMWARE_TI_WL1251
+ bool "TI wl1251"
+ help
+ Firmware files for wl1251 WLAN module
+
config BR2_PACKAGE_LINUX_FIRMWARE_TI_WL127X
bool "TI wl127X"
help
Index: buildroot-2013.02/package/linux-firmware/linux-firmware.mk
===================================================================
--- buildroot-2013.02.orig/package/linux-firmware/linux-firmware.mk 2015-03-29 19:40:20.000000000 -0400
+++ buildroot-2013.02/package/linux-firmware/linux-firmware.mk 2015-03-29 19:45:47.000000000 -0400
@@ -57,6 +57,12 @@
LINUX_FIRMWARE_FILES_$(BR2_PACKAGE_LINUX_FIRMWARE_MWIFIEX_SD8787) += \
mrvl/sd8787_uapsta.bin LICENCE.Marvell
+# wl1251
+LINUX_FIRMWARE_FILES_$(BR2_PACKAGE_LINUX_FIRMWARE_TI_WL1251) += \
+ ti-connectivity/wl1251-fw.bin \
+ ti-connectivity/wl1251-nvs.bin \
+ LICENCE.ti-connectivity
+
# wl127x
LINUX_FIRMWARE_FILES_$(BR2_PACKAGE_LINUX_FIRMWARE_TI_WL127X) += \
ti-connectivity/wl1271-fw-2.bin \

View File

@ -0,0 +1,19 @@
Index: buildroot-2013.02/package/nano/nano.mk
===================================================================
--- buildroot-2013.02.orig/package/nano/nano.mk 2015-03-31 20:35:07.000000000 -0400
+++ buildroot-2013.02/package/nano/nano.mk 2015-03-31 21:29:58.000000000 -0400
@@ -18,10 +18,14 @@
define NANO_INSTALL_TARGET_CMDS
$(INSTALL) -m 0755 $(@D)/src/nano $(TARGET_DIR)/usr/bin/nano
+ mkdir -p $(TARGET_DIR)/usr/share/nano
+ $(INSTALL) -t $(TARGET_DIR)/usr/share/nano -m 0644 \
+ $(@D)/doc/syntax/*.nanorc
endef
define NANO_UNINSTALL_TARGET_CMDS
rm -f $(TARGET_DIR)/usr/bin/nano
+ rm -rf $(TARGET_DIR)/usr/share/nano
endef
$(eval $(autotools-package))

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"

6
buildroot-patches/series Normal file
View File

@ -0,0 +1,6 @@
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

File diff suppressed because it is too large Load Diff

View File

@ -1,7 +1,7 @@
# #
# Automatically generated make config: don't edit # Automatically generated make config: don't edit
# Busybox version: 1.19.3 # Busybox version: 1.21.0
# Sun Oct 30 22:37:23 2011 # Mon Mar 30 15:58:20 2015
# #
CONFIG_HAVE_DOT_CONFIG=y CONFIG_HAVE_DOT_CONFIG=y
@ -42,6 +42,7 @@ CONFIG_FEATURE_CLEAN_UP=y
CONFIG_FEATURE_UTMP=y CONFIG_FEATURE_UTMP=y
CONFIG_FEATURE_WTMP=y CONFIG_FEATURE_WTMP=y
CONFIG_FEATURE_PIDFILE=y CONFIG_FEATURE_PIDFILE=y
CONFIG_PID_FILE_PATH="/var/run"
CONFIG_FEATURE_SUID=y CONFIG_FEATURE_SUID=y
CONFIG_FEATURE_SUID_CONFIG=y CONFIG_FEATURE_SUID_CONFIG=y
CONFIG_FEATURE_SUID_CONFIG_QUIET=y CONFIG_FEATURE_SUID_CONFIG_QUIET=y
@ -54,7 +55,7 @@ CONFIG_FEATURE_HAVE_RPC=y
# #
# Build Options # Build Options
# #
CONFIG_STATIC=y # CONFIG_STATIC is not set
# CONFIG_PIE is not set # CONFIG_PIE is not set
# CONFIG_NOMMU is not set # CONFIG_NOMMU is not set
# CONFIG_BUILD_LIBBUSYBOX is not set # CONFIG_BUILD_LIBBUSYBOX is not set
@ -62,7 +63,10 @@ CONFIG_STATIC=y
# CONFIG_FEATURE_SHARED_BUSYBOX is not set # CONFIG_FEATURE_SHARED_BUSYBOX is not set
CONFIG_LFS=y CONFIG_LFS=y
CONFIG_CROSS_COMPILER_PREFIX="" CONFIG_CROSS_COMPILER_PREFIX=""
CONFIG_SYSROOT=""
CONFIG_EXTRA_CFLAGS="" CONFIG_EXTRA_CFLAGS=""
CONFIG_EXTRA_LDFLAGS=""
CONFIG_EXTRA_LDLIBS=""
# #
# Debugging Options # Debugging Options
@ -92,7 +96,8 @@ CONFIG_PREFIX="./_install"
# CONFIG_FEATURE_SYSTEMD is not set # CONFIG_FEATURE_SYSTEMD is not set
CONFIG_FEATURE_RTMINMAX=y CONFIG_FEATURE_RTMINMAX=y
CONFIG_PASSWORD_MINLEN=6 CONFIG_PASSWORD_MINLEN=6
CONFIG_MD5_SIZE_VS_SPEED=2 CONFIG_MD5_SMALL=1
CONFIG_SHA3_SMALL=1
CONFIG_FEATURE_FAST_TOP=y CONFIG_FEATURE_FAST_TOP=y
CONFIG_FEATURE_ETC_NETWORKS=y CONFIG_FEATURE_ETC_NETWORKS=y
CONFIG_FEATURE_USE_TERMIOS=y CONFIG_FEATURE_USE_TERMIOS=y
@ -101,6 +106,7 @@ CONFIG_FEATURE_EDITING_MAX_LEN=1024
# CONFIG_FEATURE_EDITING_VI is not set # CONFIG_FEATURE_EDITING_VI is not set
CONFIG_FEATURE_EDITING_HISTORY=255 CONFIG_FEATURE_EDITING_HISTORY=255
CONFIG_FEATURE_EDITING_SAVEHISTORY=y CONFIG_FEATURE_EDITING_SAVEHISTORY=y
# CONFIG_FEATURE_EDITING_SAVE_ON_EXIT is not set
CONFIG_FEATURE_REVERSE_SEARCH=y CONFIG_FEATURE_REVERSE_SEARCH=y
CONFIG_FEATURE_TAB_COMPLETION=y CONFIG_FEATURE_TAB_COMPLETION=y
# CONFIG_FEATURE_USERNAME_COMPLETION is not set # CONFIG_FEATURE_USERNAME_COMPLETION is not set
@ -140,6 +146,7 @@ CONFIG_FEATURE_CPIO_P=y
CONFIG_GUNZIP=y CONFIG_GUNZIP=y
CONFIG_GZIP=y CONFIG_GZIP=y
CONFIG_FEATURE_GZIP_LONG_OPTIONS=y CONFIG_FEATURE_GZIP_LONG_OPTIONS=y
CONFIG_GZIP_FAST=0
CONFIG_LZOP=y CONFIG_LZOP=y
# CONFIG_LZOP_COMPR_HIGH is not set # CONFIG_LZOP_COMPR_HIGH is not set
# CONFIG_RPM2CPIO is not set # CONFIG_RPM2CPIO is not set
@ -173,11 +180,13 @@ CONFIG_DATE=y
CONFIG_FEATURE_DATE_ISOFMT=y CONFIG_FEATURE_DATE_ISOFMT=y
# CONFIG_FEATURE_DATE_NANO is not set # CONFIG_FEATURE_DATE_NANO is not set
CONFIG_FEATURE_DATE_COMPAT=y CONFIG_FEATURE_DATE_COMPAT=y
CONFIG_HOSTID=y
CONFIG_ID=y CONFIG_ID=y
CONFIG_GROUPS=y CONFIG_GROUPS=y
CONFIG_TEST=y CONFIG_TEST=y
CONFIG_FEATURE_TEST_64=y CONFIG_FEATURE_TEST_64=y
CONFIG_TOUCH=y CONFIG_TOUCH=y
CONFIG_FEATURE_TOUCH_SUSV3=y
CONFIG_TR=y CONFIG_TR=y
CONFIG_FEATURE_TR_CLASSES=y CONFIG_FEATURE_TR_CLASSES=y
CONFIG_FEATURE_TR_EQUIV=y CONFIG_FEATURE_TR_EQUIV=y
@ -220,7 +229,6 @@ CONFIG_FOLD=y
CONFIG_FSYNC=y CONFIG_FSYNC=y
CONFIG_HEAD=y CONFIG_HEAD=y
CONFIG_FEATURE_FANCY_HEAD=y CONFIG_FEATURE_FANCY_HEAD=y
CONFIG_HOSTID=y
CONFIG_INSTALL=y CONFIG_INSTALL=y
CONFIG_FEATURE_INSTALL_LONG_OPTIONS=y CONFIG_FEATURE_INSTALL_LONG_OPTIONS=y
CONFIG_LN=y CONFIG_LN=y
@ -257,6 +265,7 @@ CONFIG_SEQ=y
CONFIG_SHA1SUM=y CONFIG_SHA1SUM=y
CONFIG_SHA256SUM=y CONFIG_SHA256SUM=y
CONFIG_SHA512SUM=y CONFIG_SHA512SUM=y
CONFIG_SHA3SUM=y
CONFIG_SLEEP=y CONFIG_SLEEP=y
CONFIG_FEATURE_FANCY_SLEEP=y CONFIG_FEATURE_FANCY_SLEEP=y
CONFIG_FEATURE_FLOAT_SLEEP=y CONFIG_FEATURE_FLOAT_SLEEP=y
@ -304,7 +313,7 @@ CONFIG_FEATURE_AUTOWIDTH=y
CONFIG_FEATURE_HUMAN_READABLE=y CONFIG_FEATURE_HUMAN_READABLE=y
# #
# Common options for md5sum, sha1sum, sha256sum, sha512sum # Common options for md5sum, sha1sum, sha256sum, sha512sum, sha3sum
# #
CONFIG_FEATURE_MD5_SHA1_SUM_CHECK=y CONFIG_FEATURE_MD5_SHA1_SUM_CHECK=y
@ -369,7 +378,6 @@ CONFIG_FEATURE_VI_SETOPTS=y
CONFIG_FEATURE_VI_SET=y CONFIG_FEATURE_VI_SET=y
CONFIG_FEATURE_VI_WIN_RESIZE=y CONFIG_FEATURE_VI_WIN_RESIZE=y
CONFIG_FEATURE_VI_ASK_TERMINAL=y CONFIG_FEATURE_VI_ASK_TERMINAL=y
CONFIG_FEATURE_VI_OPTIMIZE_CURSOR=y
CONFIG_AWK=y CONFIG_AWK=y
CONFIG_FEATURE_AWK_LIBM=y CONFIG_FEATURE_AWK_LIBM=y
# CONFIG_CMP is not set # CONFIG_CMP is not set
@ -461,6 +469,7 @@ CONFIG_DELUSER=y
# CONFIG_FEATURE_DEL_USER_FROM_GROUP is not set # CONFIG_FEATURE_DEL_USER_FROM_GROUP is not set
CONFIG_GETTY=y CONFIG_GETTY=y
CONFIG_LOGIN=y CONFIG_LOGIN=y
# CONFIG_LOGIN_SESSION_AS_CHILD is not set
# CONFIG_PAM is not set # CONFIG_PAM is not set
CONFIG_LOGIN_SCRIPTS=y CONFIG_LOGIN_SCRIPTS=y
CONFIG_FEATURE_NOLOGIN=y CONFIG_FEATURE_NOLOGIN=y
@ -469,6 +478,7 @@ CONFIG_PASSWD=y
CONFIG_FEATURE_PASSWD_WEAK_CHECK=y CONFIG_FEATURE_PASSWD_WEAK_CHECK=y
CONFIG_CRYPTPW=y CONFIG_CRYPTPW=y
# CONFIG_CHPASSWD is not set # CONFIG_CHPASSWD is not set
CONFIG_FEATURE_DEFAULT_PASSWD_ALGO="des"
CONFIG_SU=y CONFIG_SU=y
CONFIG_FEATURE_SU_SYSLOG=y CONFIG_FEATURE_SU_SYSLOG=y
CONFIG_FEATURE_SU_CHECKS_SHELLS=y CONFIG_FEATURE_SU_CHECKS_SHELLS=y
@ -487,14 +497,14 @@ CONFIG_LSATTR=y
# Linux Module Utilities # Linux Module Utilities
# #
CONFIG_MODINFO=y CONFIG_MODINFO=y
CONFIG_MODPROBE_SMALL=y # CONFIG_MODPROBE_SMALL is not set
CONFIG_FEATURE_MODPROBE_SMALL_OPTIONS_ON_CMDLINE=y # CONFIG_FEATURE_MODPROBE_SMALL_OPTIONS_ON_CMDLINE is not set
CONFIG_FEATURE_MODPROBE_SMALL_CHECK_ALREADY_LOADED=y # CONFIG_FEATURE_MODPROBE_SMALL_CHECK_ALREADY_LOADED is not set
# CONFIG_INSMOD is not set CONFIG_INSMOD=y
# CONFIG_RMMOD is not set CONFIG_RMMOD=y
# CONFIG_LSMOD is not set CONFIG_LSMOD=y
# CONFIG_FEATURE_LSMOD_PRETTY_2_6_OUTPUT is not set # CONFIG_FEATURE_LSMOD_PRETTY_2_6_OUTPUT is not set
# CONFIG_MODPROBE is not set CONFIG_MODPROBE=y
# CONFIG_FEATURE_MODPROBE_BLACKLIST is not set # CONFIG_FEATURE_MODPROBE_BLACKLIST is not set
# CONFIG_DEPMOD is not set # CONFIG_DEPMOD is not set
@ -508,9 +518,9 @@ CONFIG_FEATURE_MODPROBE_SMALL_CHECK_ALREADY_LOADED=y
# CONFIG_FEATURE_INSMOD_LOADINKMEM is not set # CONFIG_FEATURE_INSMOD_LOADINKMEM is not set
# CONFIG_FEATURE_INSMOD_LOAD_MAP is not set # CONFIG_FEATURE_INSMOD_LOAD_MAP is not set
# CONFIG_FEATURE_INSMOD_LOAD_MAP_FULL is not set # CONFIG_FEATURE_INSMOD_LOAD_MAP_FULL is not set
# CONFIG_FEATURE_CHECK_TAINTED_MODULE is not set CONFIG_FEATURE_CHECK_TAINTED_MODULE=y
# CONFIG_FEATURE_MODUTILS_ALIAS is not set CONFIG_FEATURE_MODUTILS_ALIAS=y
# CONFIG_FEATURE_MODUTILS_SYMBOLS is not set CONFIG_FEATURE_MODUTILS_SYMBOLS=y
CONFIG_DEFAULT_MODULES_DIR="/lib/modules" CONFIG_DEFAULT_MODULES_DIR="/lib/modules"
CONFIG_DEFAULT_DEPMOD_FILE="modules.dep" CONFIG_DEFAULT_DEPMOD_FILE="modules.dep"
@ -518,6 +528,12 @@ CONFIG_DEFAULT_DEPMOD_FILE="modules.dep"
# Linux System Utilities # Linux System Utilities
# #
# CONFIG_BLOCKDEV is not set # CONFIG_BLOCKDEV is not set
CONFIG_MDEV=y
CONFIG_FEATURE_MDEV_CONF=y
CONFIG_FEATURE_MDEV_RENAME=y
CONFIG_FEATURE_MDEV_RENAME_REGEXP=y
CONFIG_FEATURE_MDEV_EXEC=y
CONFIG_FEATURE_MDEV_LOAD_FIRMWARE=y
# CONFIG_REV is not set # CONFIG_REV is not set
CONFIG_ACPID=y CONFIG_ACPID=y
CONFIG_FEATURE_ACPID_COMPAT=y CONFIG_FEATURE_ACPID_COMPAT=y
@ -561,12 +577,6 @@ CONFIG_IPCS=y
CONFIG_LOSETUP=y CONFIG_LOSETUP=y
# CONFIG_LSPCI is not set # CONFIG_LSPCI is not set
# CONFIG_LSUSB is not set # CONFIG_LSUSB is not set
CONFIG_MDEV=y
CONFIG_FEATURE_MDEV_CONF=y
CONFIG_FEATURE_MDEV_RENAME=y
CONFIG_FEATURE_MDEV_RENAME_REGEXP=y
CONFIG_FEATURE_MDEV_EXEC=y
CONFIG_FEATURE_MDEV_LOAD_FIRMWARE=y
CONFIG_MKSWAP=y CONFIG_MKSWAP=y
CONFIG_FEATURE_MKSWAP_UUID=y CONFIG_FEATURE_MKSWAP_UUID=y
CONFIG_MORE=y CONFIG_MORE=y
@ -608,9 +618,11 @@ CONFIG_FEATURE_VOLUMEID_EXT=y
CONFIG_FEATURE_VOLUMEID_BTRFS=y CONFIG_FEATURE_VOLUMEID_BTRFS=y
CONFIG_FEATURE_VOLUMEID_REISERFS=y CONFIG_FEATURE_VOLUMEID_REISERFS=y
CONFIG_FEATURE_VOLUMEID_FAT=y CONFIG_FEATURE_VOLUMEID_FAT=y
CONFIG_FEATURE_VOLUMEID_EXFAT=y
CONFIG_FEATURE_VOLUMEID_HFS=y CONFIG_FEATURE_VOLUMEID_HFS=y
CONFIG_FEATURE_VOLUMEID_JFS=y CONFIG_FEATURE_VOLUMEID_JFS=y
CONFIG_FEATURE_VOLUMEID_XFS=y CONFIG_FEATURE_VOLUMEID_XFS=y
CONFIG_FEATURE_VOLUMEID_NILFS=y
CONFIG_FEATURE_VOLUMEID_NTFS=y CONFIG_FEATURE_VOLUMEID_NTFS=y
CONFIG_FEATURE_VOLUMEID_ISO9660=y CONFIG_FEATURE_VOLUMEID_ISO9660=y
CONFIG_FEATURE_VOLUMEID_UDF=y CONFIG_FEATURE_VOLUMEID_UDF=y
@ -618,6 +630,7 @@ CONFIG_FEATURE_VOLUMEID_LUKS=y
CONFIG_FEATURE_VOLUMEID_LINUXSWAP=y CONFIG_FEATURE_VOLUMEID_LINUXSWAP=y
CONFIG_FEATURE_VOLUMEID_CRAMFS=y CONFIG_FEATURE_VOLUMEID_CRAMFS=y
CONFIG_FEATURE_VOLUMEID_ROMFS=y CONFIG_FEATURE_VOLUMEID_ROMFS=y
CONFIG_FEATURE_VOLUMEID_SQUASHFS=y
CONFIG_FEATURE_VOLUMEID_SYSV=y CONFIG_FEATURE_VOLUMEID_SYSV=y
CONFIG_FEATURE_VOLUMEID_OCFS2=y CONFIG_FEATURE_VOLUMEID_OCFS2=y
CONFIG_FEATURE_VOLUMEID_LINUXRAID=y CONFIG_FEATURE_VOLUMEID_LINUXRAID=y
@ -729,7 +742,7 @@ CONFIG_PING=y
# CONFIG_PING6 is not set # CONFIG_PING6 is not set
CONFIG_FEATURE_FANCY_PING=y CONFIG_FEATURE_FANCY_PING=y
# CONFIG_WHOIS is not set # CONFIG_WHOIS is not set
# CONFIG_FEATURE_IPV6 is not set CONFIG_FEATURE_IPV6=y
# CONFIG_FEATURE_UNIX_LOCAL is not set # CONFIG_FEATURE_UNIX_LOCAL is not set
# CONFIG_FEATURE_PREFER_IPV4_ADDRESS is not set # CONFIG_FEATURE_PREFER_IPV4_ADDRESS is not set
# CONFIG_VERBOSE_RESOLUTION_ERRORS is not set # CONFIG_VERBOSE_RESOLUTION_ERRORS is not set
@ -831,6 +844,7 @@ CONFIG_FEATURE_TRACEROUTE_VERBOSE=y
# CONFIG_FEATURE_TRACEROUTE_USE_ICMP is not set # CONFIG_FEATURE_TRACEROUTE_USE_ICMP is not set
CONFIG_TUNCTL=y CONFIG_TUNCTL=y
CONFIG_FEATURE_TUNCTL_UG=y CONFIG_FEATURE_TUNCTL_UG=y
# CONFIG_UDHCPC6 is not set
# CONFIG_UDHCPD is not set # CONFIG_UDHCPD is not set
# CONFIG_DHCPRELAY is not set # CONFIG_DHCPRELAY is not set
# CONFIG_DUMPLEASES is not set # CONFIG_DUMPLEASES is not set
@ -877,6 +891,7 @@ CONFIG_FEATURE_MIME_CHARSET=""
# Process Utilities # Process Utilities
# #
# CONFIG_IOSTAT is not set # CONFIG_IOSTAT is not set
CONFIG_LSOF=y
# CONFIG_MPSTAT is not set # CONFIG_MPSTAT is not set
# CONFIG_NMETER is not set # CONFIG_NMETER is not set
# CONFIG_PMAP is not set # CONFIG_PMAP is not set
@ -884,6 +899,13 @@ CONFIG_FEATURE_MIME_CHARSET=""
CONFIG_PSTREE=y CONFIG_PSTREE=y
# CONFIG_PWDX is not set # CONFIG_PWDX is not set
# CONFIG_SMEMCAP is not set # CONFIG_SMEMCAP is not set
CONFIG_TOP=y
CONFIG_FEATURE_TOP_CPU_USAGE_PERCENTAGE=y
CONFIG_FEATURE_TOP_CPU_GLOBAL_PERCENTS=y
CONFIG_FEATURE_TOP_SMP_CPU=y
CONFIG_FEATURE_TOP_DECIMALS=y
CONFIG_FEATURE_TOP_SMP_PROCESS=y
CONFIG_FEATURE_TOPMEM=y
CONFIG_UPTIME=y CONFIG_UPTIME=y
CONFIG_FEATURE_UPTIME_UTMP_SUPPORT=y CONFIG_FEATURE_UPTIME_UTMP_SUPPORT=y
CONFIG_FREE=y CONFIG_FREE=y
@ -898,18 +920,12 @@ CONFIG_FEATURE_PIDOF_OMIT=y
# CONFIG_PKILL is not set # CONFIG_PKILL is not set
CONFIG_PS=y CONFIG_PS=y
CONFIG_FEATURE_PS_WIDE=y CONFIG_FEATURE_PS_WIDE=y
CONFIG_FEATURE_PS_LONG=y
# CONFIG_FEATURE_PS_TIME is not set # CONFIG_FEATURE_PS_TIME is not set
# CONFIG_FEATURE_PS_ADDITIONAL_COLUMNS is not set # CONFIG_FEATURE_PS_ADDITIONAL_COLUMNS is not set
# CONFIG_FEATURE_PS_UNUSUAL_SYSTEMS is not set # CONFIG_FEATURE_PS_UNUSUAL_SYSTEMS is not set
# CONFIG_RENICE is not set # CONFIG_RENICE is not set
# CONFIG_BB_SYSCTL is not set # CONFIG_BB_SYSCTL is not set
CONFIG_TOP=y
CONFIG_FEATURE_TOP_CPU_USAGE_PERCENTAGE=y
CONFIG_FEATURE_TOP_CPU_GLOBAL_PERCENTS=y
CONFIG_FEATURE_TOP_SMP_CPU=y
CONFIG_FEATURE_TOP_DECIMALS=y
CONFIG_FEATURE_TOP_SMP_PROCESS=y
CONFIG_FEATURE_TOPMEM=y
CONFIG_FEATURE_SHOW_THREADS=y CONFIG_FEATURE_SHOW_THREADS=y
CONFIG_WATCH=y CONFIG_WATCH=y
@ -1004,6 +1020,7 @@ CONFIG_FEATURE_SYSLOGD_READ_BUFFER_SIZE=0
CONFIG_FEATURE_IPC_SYSLOG_BUFFER_SIZE=0 CONFIG_FEATURE_IPC_SYSLOG_BUFFER_SIZE=0
# CONFIG_LOGREAD is not set # CONFIG_LOGREAD is not set
# CONFIG_FEATURE_LOGREAD_REDUCED_LOCKING is not set # CONFIG_FEATURE_LOGREAD_REDUCED_LOCKING is not set
# CONFIG_FEATURE_KMSG_SYSLOG is not set
# CONFIG_KLOGD is not set # CONFIG_KLOGD is not set
# CONFIG_FEATURE_KLOGD_KLOGCTL is not set # CONFIG_FEATURE_KLOGD_KLOGCTL is not set
# CONFIG_LOGGER is not set # CONFIG_LOGGER is not set

View File

@ -6,6 +6,7 @@ notable:
mounting maemo / mounting maemo /
EMMC access(can mount maemo home and MyDocs partition) EMMC access(can mount maemo home and MyDocs partition)
Lock code reset
WiFi support WiFi support
USB mass-storage mode USB mass-storage mode
USB networking USB networking
@ -44,9 +45,11 @@ anyway, correct?
-fsck file system checks -fsck file system checks
-Resetting the lock code (without reflashing)
-and more... -and more...
Booting the initrd Booting RescueOS
~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~
Note: You can not store persistent data in / as everything happens in RAM. Of Note: You can not store persistent data in / as everything happens in RAM. Of
course, it becomes possible when you mount the EMMC or sd card on the course, it becomes possible when you mount the EMMC or sd card on the
@ -55,10 +58,40 @@ corresponding mountpoint.
Note: It comes without any promises and without any warranty. Therefore you Note: It comes without any promises and without any warranty. Therefore you
are doing everything at your own risk. are doing everything at your own risk.
flasher-3.5 -k 2.6.37 -n initrd.img -l -b"rootdelay root=/dev/ram0" To load RescueOS onto an N900, you'll need a USB data cable, a PC, and one of
the following flashers:
wait for "suitable device not found..." and connect the N900 to your - 0xFFFF - the Open Free Fiasco Firmware Flasher
Linux box through USB. Free/open source, but only runs on GNU/Linux.
Packaged for Ubuntu and Debian as '0xffff':
http://packages.ubuntu.com/source/0xffff
https://packages.debian.org/sid/0xffff
Discussion: http://talk.maemo.org/showthread.php?t=87996
Source repo: https://github.com/pali/0xFFFF
- maemo_flasher v3.5 - the original proprietary flasher from Nokia
Windows, MacOS, GNU/Linux
Official distribution site is gone. Archive copies at:
https://web.archive.org/web/20131117084237/http://skeiron.org/tablets-dev/maemo_dev_env_downloads/
Documentation:
http://wiki.maemo.org/Documentation/Maemo_5_Developer_Guide/Development_Environment/Maemo_Flasher-3.5
Switch the N900 completely off. If it is plugged into a charger, a PC, or
anything else by its USB port, unplug it and wait about 10 seconds to give the
charger software time to shut down. Don't connect it to the PC just yet.
Startup the flasher and get it ready to load RescueOS. For 0xFFFF, the
incantation is:
0xFFFF -m kernel:zImage -m initfs:rootfs.cramfs -l -b 'rootdelay root=/dev/ram0'
For maemo_flasher, it's:
flasher-3.5 -k zImage -n rootfs.cramfs -l -b"rootdelay root=/dev/ram0"
You'll get a message like "suitable device not found...", but the flasher
should block and wait. Now connect the N900 to the PC with the data cable; the
flasher should detect the device, upload RescueOS, launch it, and then exit.
~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~
@ -77,6 +110,11 @@ This scripts mounts the maemo root to /mnt/maemo.
/rescueOS/umount-maemo-root.sh /rescueOS/umount-maemo-root.sh
Lock code reset
---------------
code_reset
# This will set the lock code back to the default ('12345').
USB Networking USB Networking
------------- -------------
/rescueOS/usbnetworking-enable.sh /rescueOS/usbnetworking-enable.sh

View File

@ -1,9 +0,0 @@
# /etc/fstab: static file system information.
#
# <file system> <mount pt> <type> <options> <dump> <pass>
/dev/root / ext2 rw,noauto 0 1
proc /proc proc defaults 0 0
devpts /dev/pts devpts defaults,gid=5,mode=620 0 0
tmpfs /dev/shm tmpfs mode=0777 0 0
tmpfs /tmp tmpfs defaults 0 0
sysfs /sys sysfs defaults 0 0

View File

@ -1 +0,0 @@
rescueos

View File

@ -1 +0,0 @@
root:$1$6WxBQ9E9$xc/J67N0/3N1HAsGkVur..:0:0:root:/root:/bin/bash

1
fs-overlay/etc/resolv.conf Symbolic link
View File

@ -0,0 +1 @@
/run/resolv.conf

View File

View File

View File

View File

View File

View File

View File

View File

View File

View File

View File

View File

@ -4,7 +4,6 @@ ermsg()
echo $1 echo $1
exit exit
} }
ls /lib/firmware/ | grep wl1251 > /dev/null || ermsg "Firmware not found. Copy wl1251-fw.bin, wl1251-nvs.bin from maemo.".
[ -e /run/wlan.conf ] || ermsg "Yeah, please run wpa_passphrase [essid] [password ] > /run/wlan.conf first." [ -e /run/wlan.conf ] || ermsg "Yeah, please run wpa_passphrase [essid] [password ] > /run/wlan.conf first."
modprobe wl1251_spi modprobe wl1251_spi
#Works for my router, probably for yours too, if not, then not :-) #Works for my router, probably for yours too, if not, then not :-)

View File

@ -33,14 +33,12 @@ case "$1" in
done done
fi fi
echo "Recreating $RESOLV_CONF" echo "Setting $RESOLV_CONF"
echo -n > $RESOLV_CONF-$$ [ -n "$domain" ] && echo "search $domain" >> $RESOLV_CONF
[ -n "$domain" ] && echo "search $domain" >> $RESOLV_CONF-$$
for i in $dns ; do for i in $dns ; do
echo " Adding DNS server $i" echo " Adding DNS server $i"
echo "nameserver $i" >> $RESOLV_CONF-$$ echo "nameserver $i" >> $RESOLV_CONF
done done
mv $RESOLV_CONF-$$ $RESOLV_CONF
;; ;;
esac esac

View File

@ -1 +0,0 @@
/sbin/mkfs.cramfs -b 4096 -n n900rescueinitrd rinitrd/ initrd.img

View File

@ -0,0 +1,36 @@
From 4dc2cc73fa172892f817440877565018aa2f07c9 Mon Sep 17 00:00:00 2001
From: Felipe Balbi <balbi@ti.com>
Date: Wed, 2 Oct 2013 08:00:48 -0500
Subject: [PATCH] net: wireless: wl1251: update firmware path
Backported from 9f55c6201354183345fa06c6986668d159b6507f
TI firmwares are located under ti-connectivity
directory. Update path to make sure driver can
find and load firmware blob.
Signed-off-by: Felipe Balbi <balbi@ti.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Backported-by: Daniel Gnoutcheff <daniel@gnoutcheff.name>
---
drivers/net/wireless/wl1251/wl1251.h | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/net/wireless/wl1251/wl1251.h b/drivers/net/wireless/wl1251/wl1251.h
index a7f98a7..f705b5d 100644
--- a/drivers/net/wireless/wl1251/wl1251.h
+++ b/drivers/net/wireless/wl1251/wl1251.h
@@ -425,8 +425,8 @@ void wl1251_disable_interrupts(struct wl1251 *wl);
#define CHIP_ID_1271_PG10 (0x4030101)
#define CHIP_ID_1271_PG20 (0x4030111)
-#define WL1251_FW_NAME "wl1251-fw.bin"
-#define WL1251_NVS_NAME "wl1251-nvs.bin"
+#define WL1251_FW_NAME "ti-connectivity/wl1251-fw.bin"
+#define WL1251_NVS_NAME "ti-connectivity/wl1251-nvs.bin"
#define WL1251_POWER_ON_SLEEP 10 /* in miliseconds */
--
1.9.1

File diff suppressed because it is too large Load Diff

17
post-build.sh Executable file
View File

@ -0,0 +1,17 @@
#!/bin/bash
set -e
target="$1"
delfiles="
$target/etc/init.d/rcK
$target/etc/init.d/S20urandom
$target/etc/init.d/S40network
$target/etc/securetty"
for file in $delfiles ; do
[ ! -e "$file" ] || rm "$file"
done
[ ! -e "$target/usr/share/getopt" ] || rm -r "$target/usr/share/getopt"