NAND flash is very likely to contain bad blocks.
Currently, mtd and therefore sysupgrade fails when it encounters a single bad block, potentially leaving an unbootable system.
This patch allows the mtd utility to skip bad blocks in NAND flash and complete sysupgrade successfully.
Patch by: Matthew Redfearn <matt.redfearn@nxp.com>
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
SVN-Revision: 40021
use the fd handover api of ubus to transfer log data
the uci option log_buffer_size can be used to override the default size of 16k
Signed-off-by: John Crispin <blogic@openwrt.org>
SVN-Revision: 39898
Reorder BuildPackage calls, as libubox needs to come first for ABI
version handling to work
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
SVN-Revision: 39722
- fix CMakeFile to support rpcd out of tree builds
- fix a possible file descriptor leak in the session deserialization code
- add uci.state call which is equivalent to uci -P /var/state get ...
- make uci.changes "config" argument optional to allow listing all deltas in one go
- fix inverted check in uci.commit and uci.revert, resulting in eroorneous permission denied responses
- only trigger config change events if libuci was able to parse the config
- rename misleading "commit" argument of uci.apply to the more appropriate name "rollback"
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
SVN-Revision: 39224
Upstream development now takes place in a git repository which was clone
from the old svn repository. Switch the source location to the git tree
using the commit that corresponds to the old svn r618 revision.
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
SVN-Revision: 39153
The instance_config_move() function in the procd instance managing code is
missing a blobmsg_list_move() call to update the tracked file items with the
newly calculated checksums in case of a file change.
Without that change, services are always reloaded after the first change to
a tracked file regardless of whether there are any subsequent changes or not.
Add a missing instance of blobmsg_list_free() as well.
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
SVN-Revision: 39132
* fix up the order of respawn parameters for ubus
* add a event broadcast function
* add debug level handover between preinit and main process
* make the service running trigger be queued directly after the service was startetd
* Allow process respawning forever
Signed-off-by: John Crispin <blogic@openwrt.org>
SVN-Revision: 38868
move log service from procd to ubox
some debloating on procd
the preinit part of procd is now also a seperate binary
Signed-off-by: John Crispin <blogic@openwrt.org>
SVN-Revision: 38822
The current implementation of mtd will not append the backup
file created by sysupgrade to the correct partition, as mtd will append
the data to first jffs2 partition it finds. As the kernel is also
stored on a jffs2 partition (which resides before the overlay
partition), the data will be appended to this partition.
To fix this problem, a new option
-s <number> skip the first n bytes when appending data to the jffs2 partiton, defaults to "0"
is added to mtd.
Signed-off-by: Peter Wagner <tripolar@gmx.at>
SVN-Revision: 38807
swapon/swapoff are no longer provided by swap-utils; they are provided
by block-mount instead.
Signed-off-by: Nathan Hintz <nlhintz@hotmail.com>
SVN-Revision: 38795
The jffs2_ready() function in mount_root.c checks
the presence of various JFFS2 markers at the start
of a given MTD device. The function works on NOR
flashes because JFFS2 puts 'cleanmarker' nodes at
the start of freshly erased blocks.
However if jffs2 is used on a MTD device emulated
by the gluebi layer, the 'cleanmarker' nodes are
not present and the jffs2_ready() function fails.
Update the code to handle jffs2 correctly even on
MTD devices emulated by the gluebi layer.
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 38654
Fixes issues with UBIFS file system when due to unclean shutdown files would
end up with size 0. Furthermore, few style fixes are included too.
Signed-off-by: Luka Perkov <luka@openwrt.org>
SVN-Revision: 38410
The kmodloader executable disregarded the global directory prefix in
scan_module_folder() leading to a broken extroot for non-builtin modules.
Update to current git head to fix the prefix handling again.
SVN-Revision: 38392
This is to work around issues with package list generators creating
empty fields in some environments.
Based on a patch by Paul Selkrik <pselkrik@isc.org>
Signed-off-by: Steven Barth <steven@midlink.org>
SVN-Revision: 38390
Add package signing key and certificate configuration options to the
"Image configuration" submenu. If enabled, the Packages.gz list will
be signed as file Packages.sig. The passphrase for the signing key can
be sourced from a file or entered by the user. The signing certificate
is automatically added to the firmware image if opkg-smime is selected.
Signed-off-by: Evan Hunt <each@isc.org>
Signed-off-by: Steven Barth <steven@midlink.org>
SVN-Revision: 38284
After this change, "rmmod" and "modinfo" works even if the user gives
the file name spelling instead of the kernel internal one, so that e.g.
"rmmod nls_iso8859-1.ko" and "rmmod nls_iso8859_1" will both succeed.
SVN-Revision: 38252
Instead of canonicalizing module names in the internal avl tree simpyl use a
custom strcmp() variant for the avl tree key comparisation. The custom comperator
simply treats dashes and underscores the same, so "nls_iso8859-15" is equal to
"nls-iso8859-15".
This allows us to simplify the code considerably and makes manual "modprobe"
invocations more forgiving when looking up the given module name.
SVN-Revision: 38248
Changes include:
* removing unused variables
* replacing spaces with tabs where appropriate
* more consistency with variable declarations
Signed-off-by: Luka Perkov <luka@openwrt.org>
SVN-Revision: 38142
- recalculate session ACLs on reload
- support negative access group expressions in /etc/config/rpcd
- prevent destryoing the default session
- use "ubus_rpc_session" attribute as session identifier to enforce JSON-RPC proxy security
SVN-Revision: 37961
- introduces persistent null session to allow access to procedures without login
- implements session.login procedure to support user logins via json-rpc
SVN-Revision: 37941
- adds support for service triggering on config commit
- adds uci transaction support
- adds daemon reload support without loosing session data
- exports headers for use by external plugins
- drops LuCI2 in favor to an out of tree plugin
SVN-Revision: 37921