topjohnwu
50710c72ad
Cleanup magiskinit code
2021-10-26 00:35:55 -07:00
topjohnwu
770b28ca30
Build on API 21 headers
2021-10-20 03:17:42 -07:00
topjohnwu
de2306bd12
Proper incremental builds
...
Auto generate flag.h for precise rebuilding
2021-09-07 19:35:28 -07:00
LoveSy
8079d456ab
Use std::map instead
2021-08-29 03:27:15 -07:00
vvb2060
acf166cf9d
Support oplus.fstab
2021-08-29 03:27:15 -07:00
LoveSy
0dad06cdfe
Fix meizu compatibility
2021-08-28 21:03:12 -07:00
LoveSy
f89f08833e
Generic parsing methods
2021-08-28 20:50:17 -07:00
vvb2060
79e8962854
Support bootconfig
...
https://android-review.googlesource.com/c/platform/system/core/+/1615298
2021-08-28 20:50:17 -07:00
vvb2060
0783f3d5b6
Fix mount rules dir
...
close #4006
2021-03-13 21:10:02 -08:00
topjohnwu
501bc9f438
Restore init from backup rather than symlink
...
Because of course Samsung don't follow AOSP norms.
I mean, why would they?
2021-02-13 16:43:06 -08:00
topjohnwu
3e479726ec
Fix legacy rootfs devices
2021-01-25 00:19:10 -08:00
topjohnwu
d2bc2cfcf8
Install both 32 and 64 bit binaries
2021-01-18 12:37:08 -08:00
topjohnwu
5a71998b4e
Stop embedding magisk in magiskinit
2021-01-18 04:25:26 -08:00
topjohnwu
42278f12ff
Fix typo in init daemon
2021-01-18 04:13:54 -08:00
topjohnwu
04c53c3578
Legacy SAR: use a simpler method to detect is_two_stage
2021-01-15 02:44:40 -08:00
topjohnwu
51bc27a869
Avoid F2FS like a plague
2021-01-15 02:24:11 -08:00
topjohnwu
71b083794c
Maintain global mount list
2021-01-14 21:14:54 -08:00
topjohnwu
b100d0c503
Revert DTB fstab changes
2021-01-14 19:48:00 -08:00
topjohnwu
76061296c9
Let MagiskBoot handle dtb fstab patching
2021-01-14 06:20:12 -08:00
topjohnwu
1860e5d133
Dynamically find libselinux.so path
2021-01-13 19:41:57 -08:00
topjohnwu
f2cb3c38fe
Update mmap implementation
...
Always map memory as writable, but private when read-only
2021-01-12 22:50:55 -08:00
topjohnwu
d2acd59ea8
Minor code refactoring
2021-01-12 00:07:48 -08:00
topjohnwu
f9bde347bc
Convert indentation to spaces
...
The tab war is lost
2020-12-30 22:11:24 -08:00
Billy Laws
947a7d6a2f
Support rootwait cmdline parameter on legacy SAR
...
On devices where the primary storage is slow to probe it makes sense to
wait forever for the system partition to mount, this emulates the
kernel's behaviour when waiting for rootfs on SAR if the rootwait
parameter is supplied.
This issue was encountered with some SD cards on the Nintendo Switch.
2020-12-30 16:43:28 -08:00
topjohnwu
8e61080a4a
Preparation for hiding isolated processes
2020-12-30 15:55:53 -08:00
vvb2060
c5b452f369
Get boot config properly
...
https://android.googlesource.com/platform/system/core/+/refs/tags/android-11.0.0_r16/fs_mgr/fs_mgr_boot_config.cpp#93
2020-12-19 15:55:33 -08:00
topjohnwu
eee7f097e3
Make post-fs-data scripts block at most 35 secs
2020-12-17 16:54:53 -08:00
topjohnwu
aabe2696fe
Cleanup implementations
2020-12-06 03:07:47 -08:00
topjohnwu
ae0d605310
Make sure patch_rootdir does not cause crashes
2020-12-06 02:19:57 -08:00
topjohnwu
2a694596b5
Better error handling and logging
2020-12-05 10:23:49 -08:00
topjohnwu
ff0a76606e
Detect 2SI after system_root mount on legacy SAR
2020-12-04 03:06:21 -08:00
topjohnwu
e0afbb647b
Minor changes
2020-11-13 02:31:54 -08:00
topjohnwu
89fff4830b
Mount proper system_root mirror in magiskd
2020-11-03 00:37:08 -08:00
topjohnwu
16e4c67992
Significantly broaden sepolicy.rule compatibility
...
Previously, Magisk uses persist or cache for storing modules' custom
sepolicy rules. In this commit, we significantly broaden its
compatibility and also prevent mounting errors.
The persist partition is non-standard and also critical for Snapdragon
devices, so we prefer not to use it by default.
We will go through the following logic to find the best suitable
non-volatile, writable location to store and load sepolicy.rule files:
Unencrypted data -> FBE data unencrypted dir -> cache -> metadata -> persist
This should cover almost all possible cases: very old devices have
cache partitions; newer devices will use FBE; latest devices will use
metadata FBE (which guarantees a metadata parition); and finally,
all Snapdragon devices have the persist partition (as a last resort).
Fix #3179
2020-11-02 23:20:38 -08:00
topjohnwu
0feab753fb
Fix coding errors and minor changes
2020-10-28 04:17:34 -07:00
Leorize
d0b6318b90
init/mount: support for dm-verity verified root
...
This commit adds support for kernel initialized dm-verity on legacy SAR
devices.
Tested on a Pixel 2 XL with a kernel patch to initialize mappings
specified via the `dm=` kernel parameter even when an initramfs is used.
2020-10-27 03:47:50 -07:00
topjohnwu
966e23b846
magiskinit code tidy-up
2020-10-26 20:46:15 -07:00
topjohnwu
0499588107
Support androidboot.fstab_suffix cmdline flag
...
Fix #3187
2020-10-08 03:04:12 -07:00
topjohnwu
4fd04e62af
Remove compressed ramdisk support
...
It is causing more issues than it addresses
2020-09-24 02:49:09 -07:00
topjohnwu
c61ec2465f
Rename function to be more descriptive
2020-09-04 06:21:25 -07:00
topjohnwu
fd5ad91d26
Proper 2SI detection
2020-09-04 06:06:03 -07:00
topjohnwu
5c4c391f94
Fix typo causing rootfs device bootloops
...
Fix #3134
2020-09-04 04:43:46 -07:00
topjohnwu
61599059d5
Fix typo for SAR first stage init
2020-09-03 19:17:25 -07:00
topjohnwu
f32a29911b
Properly detect 2SI init
...
Fix #2994
2020-09-02 21:20:15 -07:00
topjohnwu
b73d5753f2
Minor code cleanups
2020-09-02 02:49:32 -07:00
classic-gentleman
0ed524f173
Test for NVIDIA/Tegra partition naming scheme first
...
Fixes https://github.com/topjohnwu/Magisk/issues/3014
2020-07-24 00:26:51 -07:00
topjohnwu
1e2f776b83
Move logging.hpp
2020-06-17 01:17:28 -07:00
topjohnwu
2f824f59dc
Better logging system
...
Use C++ magic to strip out debug logs at compile time
2020-06-01 04:15:37 -07:00
topjohnwu
599ee57d39
Simplify sepolicy rules
2020-05-25 02:30:39 -07:00
topjohnwu
d4baae411b
Modernize magiskpolicy
2020-05-21 06:48:02 -07:00