Commit Graph

33 Commits

Author SHA1 Message Date
topjohnwu 02dc1172be Revert DTB patches to in-place binary patches
Since we no longer need to add new properties in the device tree, and
all the patches we do removes strings, we can just directly patch
the flat device tree in-place, ignoring basically all the higher level
DTB structure and format to accomplish 100% compatibility.
2020-05-05 01:03:09 -07:00
topjohnwu a0998009c1 Small native code reorganization 2020-03-09 01:50:30 -07:00
Zackptg5 d19f65ce4a Ignore twrp fstabs 2019-12-28 13:47:05 +08:00
topjohnwu af060b3132 General QoL changes 2019-12-13 00:37:06 -05:00
topjohnwu 01253f050a Use smart pointers 2019-11-23 04:57:52 -05:00
topjohnwu d26d804cc2 Migrate to generic stream implementation 2019-11-21 06:08:02 -05:00
topjohnwu 3d4081d0af Fix patch verity and forceencrypt 2019-09-26 03:14:56 -04:00
topjohnwu 947dae4900 Rename classes and small adjustments 2019-09-25 23:55:39 -04:00
topjohnwu 0fcd0de0d1 Fix potential crash when traversing cpio entries 2019-09-22 06:15:19 -04:00
topjohnwu 0e5a113a0c Support patching mnt_point in fstab in dtb 2019-09-22 04:17:15 -04:00
topjohnwu a1ccd44013 Change MagiskBoot patch behavior
Use environment variables to toggle configurations for patching ramdisk
2019-09-21 05:55:23 -04:00
topjohnwu 4d91e50d6d Update dtb patch to not use in-place modification 2019-09-21 05:30:04 -04:00
osm0sis a48c4f9e05 magiskboot: don't clobber /overlay with cpio restore anymore
- Magisk "dirty" flashes would remove the /overlay directory which might have been put there by a custom kernel or other mod
- this is a leftover from when Magisk itself used /overlay for placing init.magisk.rc, so just remove this file specifically and leave the rest intact
2019-06-27 18:59:54 -04:00
topjohnwu 00a9f18a1e Build with -Wall 2019-04-29 21:26:43 -04:00
topjohnwu e72c6685ed Support A only System-as-root Devices
Most Chinese devices (and supposedly Galaxy S10) running Android Pie
is using system-as-root without A/B partition.

https://source.android.com/devices/bootloader/system-as-root#about-system-as-root

According to the docs above, these devices will have a ramdisk block
with size 0 in their boot images. Since magiskinit can run independently
on system-as-root devices, we simply just create an empty ramdisk with
magiskinit added as init.

Huge thanks to @vvb2060 for the heads up and original PR.
Close #980, close #1102
2019-02-28 05:46:36 -05:00
topjohnwu c9fa8118d1 Some code adjustments 2019-02-24 23:09:34 -05:00
topjohnwu 63b18246d8 Add compressed ramdisk support 2019-02-24 20:39:01 -05:00
topjohnwu c84023bdc2 Fix crashes when removing verity_key 2019-02-24 04:29:15 -05:00
topjohnwu 340bac7e42 Add decompression command 2019-02-23 16:53:51 -05:00
topjohnwu 4a398642b8 Set mode in constructor 2019-02-23 15:22:11 -05:00
topjohnwu 9c89e56c56 Add ramdisk compression option 2019-02-23 15:04:15 -05:00
topjohnwu f7ae72a36c Move CPIO to libutils 2019-02-23 02:42:26 -05:00
topjohnwu 391783e268 Introduce mmap based CPIO class 2019-02-23 02:23:24 -05:00
topjohnwu 6f12c08204 Use ordered map to store CPIO entries 2019-02-22 22:53:20 -05:00
topjohnwu cb8fe70734 Modernize CPIO code 2019-02-22 02:56:18 -05:00
topjohnwu 71ecbb3af3 Clean/refactor includes 2019-02-10 03:57:51 -05:00
topjohnwu 3e4c12cf56 Migrate to STL 2019-01-19 23:59:37 -05:00
topjohnwu 1fae89cbb6 Add new cpio command: "exists", to magiskboot 2018-12-05 20:27:48 -05:00
topjohnwu 83ae66daea Change stock boot image SHA1 backup method 2018-11-15 00:33:20 -05:00
topjohnwu 8745c7884e Rename Array to Vector
Finally get rid of the C style vector, rename the template class to its proper name
2018-11-08 05:03:59 -05:00
topjohnwu 7c12bf7fa1 Modernize code base 2018-11-07 02:10:38 -05:00
topjohnwu 6add02702b Fix bug in MagiskBoot 2018-10-26 17:02:07 -04:00
topjohnwu fc8a3c5fb4 Migrate MagiskBoot to C++ 2018-10-24 22:23:14 -04:00