topjohnwu
72cf5f3f9f
Temporary disable module bootloop prevention
...
Some devices don't like it, need further tests before pushing to production
2018-08-31 03:23:59 -04:00
topjohnwu
59f78d7dfc
Update to BusyBox 1.29.2
2018-08-13 01:30:15 +08:00
topjohnwu
d8405f0d05
Make recovery installed on on system_root devices normal
2018-08-12 00:16:59 +08:00
topjohnwu
0f34f0033c
Switch to FrankeNDK for building native
2018-08-11 18:46:55 +08:00
topjohnwu
190646d50c
Fix incorrect magisk metadata in ramdisk
2018-08-11 16:31:46 +08:00
topjohnwu
afcb3d8f34
Fix XZ decompression in magiskinit
2018-08-10 15:04:32 +08:00
topjohnwu
d4568aa0a7
Compress binaries and use xz-embedded in magiskinit
2018-08-10 05:57:12 +08:00
topjohnwu
1def9b301b
Use xz-embedded for b64xz
2018-08-10 05:57:11 +08:00
topjohnwu
5bac442b18
Reorganize sources
2018-08-10 03:49:25 +08:00
topjohnwu
6add682705
Remove high compression mode
2018-08-10 03:49:25 +08:00
topjohnwu
8b50d84a05
Hide unnecessary error log
2018-08-09 15:10:00 +08:00
topjohnwu
d3858b81e2
Add new boot service: boot-complete
2018-08-09 14:52:44 +08:00
topjohnwu
bdff9769be
Move remount,ro back to post-fs-data mode
2018-08-09 03:57:29 +08:00
topjohnwu
ada0f93686
Apply all sepolicy patches pre-init
...
Boot services tend to fail in the middle when the kernel loads a sepolicy live.
It seems that moving full patch (allow magisk * * *) to late_start is still not enough to fix service startup failures.
So screw it, apply all patched in magiskinit, which makes sure that all rules are only loaded in a single step.
The only down side is that some OEM with a HUGE set of secontexts (e.g. Samsung) might suffer a slightly longer boot time, which IS the reason why the rules are split to 2 parts in the first place.
2018-08-09 03:20:28 +08:00
topjohnwu
7b5d79d313
Kill all processes using the same UID of the target
...
To workaround OOS embryo optimization
2018-08-08 05:47:58 +08:00
topjohnwu
c38533e0f8
Prevent problematic modules causing device stuck in bootloop
...
If boot failed after 2 times, it will enable core only mode (which disables all modules)
2018-08-07 04:41:48 +08:00
topjohnwu
9159f86a9e
Improvements to system_root devices booting as recovery
2018-08-07 02:20:40 +08:00
topjohnwu
a63696836c
Proper addon.d-v2 support
2018-08-03 22:40:49 +08:00
topjohnwu
46aad00f16
Use buffer on stack
2018-08-03 21:30:44 +08:00
topjohnwu
252afe8932
Use mirror in post-fs-data scripts
2018-08-03 17:09:24 +08:00
topjohnwu
82e8375957
Respect filesystem type when mounting mirrors
...
Close #405
2018-08-03 04:45:07 +08:00
topjohnwu
169c0fe4af
Stop use clashing names
2018-08-03 03:43:02 +08:00
topjohnwu
cd6918e6eb
Stop altering PATH to mirror
2018-08-03 03:38:36 +08:00
topjohnwu
5be035fd44
Try logging a little harder
2018-08-03 01:58:56 +08:00
topjohnwu
f1edc8443c
Make root shell always use dev_pts
...
Close #433
2018-08-02 20:29:18 +08:00
topjohnwu
d9564bd04c
Delay full sepolicy patch loading time
2018-08-02 05:35:01 +08:00
topjohnwu
91818cfa1a
Support compiling split cils via magiskpolicy CLI
2018-07-21 05:12:22 +08:00
topjohnwu
4ffc388491
Allow bootctl to run
2018-07-20 22:22:49 +08:00
topjohnwu
3ae959af95
Do not early mount on symlinks on half Treble devices
...
Fix #399
2018-07-19 17:43:37 +08:00
topjohnwu
e11e88a9c5
Huawei hardcodes the slot suffix, don't append the suffix twice
2018-07-19 03:12:28 +08:00
topjohnwu
7cec8baa55
Merge magiskpolicy into Magisk main repo
2018-07-18 18:45:21 +08:00
topjohnwu
e987db9fb5
Move magiskpolicy sources to native/jni/magiskpolicy
2018-07-18 18:44:43 +08:00
topjohnwu
c603b9084f
Remove magiskpolicy as submodule
2018-07-18 18:43:36 +08:00
topjohnwu
492d6dfcf0
Merge MagiskSU into Magisk main repo
2018-07-18 18:40:13 +08:00
topjohnwu
a3e0f2dcc3
Remove MagiskSU as submodule
2018-07-18 18:40:10 +08:00
topjohnwu
cf211e26f4
Move MagiskSU sources to native/jni/su
2018-07-18 18:23:36 +08:00
topjohnwu
d08f326990
Log fatal errors in debug mode only
2018-07-18 03:25:36 +08:00
topjohnwu
adf95ce3a0
Read fstab from device tree
...
In previous versions, magiskinit will not early mount if /sepolicy is detected. However on OP5/5T latest betas, the devices are fully trebelized,
but for some reason the file /sepolicy still exists, making magiskinit think it is NOT a treble device and doesn't work properly.
So to properly fix this issue, I will have to use the "official" way - check fstab in device trees. Any block mentioned in the fstab in device trees
are supposed to be early mounted. Currently magiskinit will only mount system and vendor even if other partitions exists in the dtb fstab, since other
partitions are not used to construct sepolicy (currently).
These changes can also fix #373 , since we dynamically detect PARTNAME from device trees.
2018-07-18 00:45:10 +08:00
topjohnwu
3c1aca114f
Wrap accept4 since some device does not have it
2018-07-17 06:52:23 +08:00
topjohnwu
18d0fd9d2a
MagiskInit optimizations
2018-07-17 06:18:36 +08:00
topjohnwu
2bde8a1975
EMUI's logcat will change output file's permission and break ADBD
2018-07-16 06:42:36 +08:00
topjohnwu
bf9927c7dd
Sync source with AOSP
2018-07-14 04:34:48 +08:00
topjohnwu
f339a087a2
Let Magisk compile against SDK 16
2018-07-13 22:14:32 +08:00
topjohnwu
1affb91f17
Support compiling against lower SDK
...
Reduce even more size for static binaries
2018-07-13 05:41:29 +08:00
topjohnwu
c6fc0e587e
Support hardlink based proc ns
2018-07-11 23:41:38 +08:00
topjohnwu
7ed2c077de
Support deodexed ROM on Oreo
2018-07-07 01:37:04 +08:00
topjohnwu
1283167595
Maintain our own set of loop devices
2018-07-07 01:32:58 +08:00
topjohnwu
23c2e22910
Update image functions
2018-07-06 22:04:06 +08:00
topjohnwu
f44b2dbd45
Rename log_monitor -> log_daemon
2018-07-06 07:57:18 +08:00
topjohnwu
46ee2c3f4e
Improve handshake between the 2 daemons
2018-07-06 07:51:17 +08:00