2016-03-17
introducing REPIT2, a major rewrite:
- supports multiple devices with device-specific code isolated in hierarchically-structured device handler files.
- added support for other S2 exynos-based devices: i777, n7000, d710 and sc02c.
- added support for i9100g, the omap-based S2.
- added support for janice, the GT-I9070 S Advance a.k.a. S2 Lite.
- supports 'shuffled' partitions, where the physical storage order of partitions differs from the numeric order.
- supports several 'heaps' per device, each being a set of partitions that REPIT can manage independently.
- added support for pluggable file system/partition type handlers.
- added FS-dependent support for crypto footers. (they are required to support encryption on some devices.)
- added crypto footer support to the ext4 file system handler.
- added the raw partition type: raw partitions are opaque to REPIT and can neither be resized nor wiped; only moving them is supported. (they allow the creation of larger heaps where the contents of some of its partitions cannot be understood by REPIT.)
- supports non-configurable partitions in heaps (for 'dangerous' partitions that should always be treated as raw).
- added auto-detection of usable block device area.
- disables swap during operation (if the swapoff command is available).
- detects adb sideloading and fails with a proper explanation if it is used. (sideloading hides the package filename and thus the filename-based configuration is lost.)
- unmounts the external sdcard to avoid locking issues.
- per heap configurable partition alignment, size granularity, and min keyword size.
- configurable partition data move chunk size to support low memory devices.
- configurable block device sector size.
- added the device-dump tool to create reports of unsupported devices and facilitate porting.