topjohnwu
5203886f0b
Revert to old find boot order
2019-04-04 20:01:59 -04:00
topjohnwu
91da1cf817
Make on_install happen earlier to allow more customization
2019-03-31 15:37:12 -04:00
topjohnwu
1cd45b53b1
Support recovery based Magisk
...
Some devices (mainly new Samsung phones we're talking here...) using
A only system-as-root refuse to load ramdisk when booted with boot
no matter what we do. With many A only system-as-root devices, even
though their boot image is kernel only, we can still be able to add
a ramdisk section into the image and force the kernel to use it as
rootfs. However the bootloader on devices like the S10 simply does
not load anything within boot image into memory other than the kernel.
This gives as the only option is to install Magisk on the recovery
partition. This commits adds proper support for these kind of scenarios.
2019-03-30 00:49:48 -04:00
topjohnwu
1c09b3642f
Properly setup update flag in module installer
2019-03-27 22:20:39 -04:00
topjohnwu
a199b0ace1
Use ZIPFILE instead of ZIP
...
The tool zip reads , we don't want it
2019-03-23 20:49:16 -04:00
topjohnwu
2f2108e4e8
Fix typo in module installer
2019-03-23 05:28:43 -04:00
topjohnwu
f9ae4ab475
Add base Magisk module installer script
2019-03-23 04:27:36 -04:00
topjohnwu
b7e2e972c7
Support boot_img_hdr_v2
2019-03-13 16:51:22 -04:00
topjohnwu
7f08c06943
Remove unnecessary '--' from magiskboot actions
2019-03-07 18:07:23 -05:00
topjohnwu
14ae29d907
Support Android Q new init setup
2019-03-03 06:35:25 -05: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
63b18246d8
Add compressed ramdisk support
2019-02-24 20:39:01 -05:00
topjohnwu
6ca8db2f0c
Welcome to the 64 bit world!
...
Close #854
2019-02-24 08:13:27 -05:00
topjohnwu
3356d7b6ff
More friendly to obscure/outdated custom recoveries
...
Close #1049
2019-02-24 04:45:47 -05:00
topjohnwu
86f778c0aa
Group unsupported formats into the same code
2019-02-24 02:30:04 -05:00
topjohnwu
defbbdfe21
Update scripts
2019-02-24 02:11:11 -05:00
HemanthJabalpuri
10613686ed
Fix bootloop when removing system SuperSU in <5.0
2019-02-18 03:31:16 -05:00
topjohnwu
1321f097b8
Remove usage of magisk.img
...
Mounting ext4 images causes tons of issues, such as unmountable with broken F2FS drivers.
Resizing is also very complicated and does not work properly on all devices.
Each step in either measuring free space, resizing, and shrinking the image is a
point of failure, and either step's failure could cause the module system completely broken.
The new method is to directly store modules into /data/adb/modules, and for module installation
on boot /data/adb/modules_update. Several compatibility layers has been done: the new path is
bind mounted to the old path (/sbin/.magisk/img), and the helper functions in util_functions.sh
will now transparently make existing modules install to the new location without any changes.
MagiskHide is also updated to unmount module files stored in this new location.
2019-02-12 02:14:57 -05:00
topjohnwu
ab47b717b1
Reorganize scripts
2019-02-11 17:14:07 -05:00
vvb2060
e05cdc83f3
fix extract_bb
2019-02-11 02:35:04 -05:00
Erfan Abdi
6698c189fc
Support non-ext4 filesystem for vendor and system
...
Signed-off-by: Erfan Abdi <erfangplus@gmail.com>
2019-02-07 00:45:30 -05:00
topjohnwu
6ee08b6717
Temporary remove API 16 support
2019-02-03 16:42:16 -05:00
topjohnwu
c7301a5161
Better support for low API levels
2019-02-03 09:50:49 -05:00
topjohnwu
62acc17e42
Support API 16 (Android 4.1)
...
Because why not
2019-02-02 05:06:13 -05:00
topjohnwu
858216796a
Allow API 17 installation
2019-01-20 18:17:24 -05:00
Ivan Kutepov
6ea42a35a9
Fix reqSizeM check in mount_magisk_img function
2019-01-17 10:19:59 -05:00
topjohnwu
23e5188422
Update scripts
...
1. Update build.py to use f-strings
2. Directly append busybox binaries to update-binary
3. Remove b64xz
2019-01-15 08:32:18 -05:00
Zackptg5
0a64a7e5d4
Update util_functions.sh
...
Eliminates `cat: write error`
2019-01-13 13:17:45 -05:00
topjohnwu
0be158afa1
Official KitKat support
2018-12-28 16:03:23 +08:00
topjohnwu
8d210b5e37
Enhance EMUI 9 user experience
2018-12-25 01:08:46 +08:00
topjohnwu
3c6c0e6700
Support EMUI 9.0
2018-12-24 21:36:37 +08:00
topjohnwu
8b4008798f
Add backward compat paths
2018-12-05 20:10:59 -05:00
topjohnwu
fd4faf59b8
Use tr for replacing whitespace to newline
...
Close #824
2018-12-05 20:07:15 -05:00
Pzqqt
1cff08ce5d
Fix possible error block counts
...
Add "-k" parameter to force the unit to 1024 bytes.
2018-12-05 12:53:06 -05:00
topjohnwu
0784448c69
Remove /.backup folder on start
2018-11-20 05:24:40 -05:00
topjohnwu
96b93bd876
Add function to find manager APK
...
Close #673
2018-11-15 03:12:31 -05:00
topjohnwu
376e7977f0
Deprecate path /sbin/.core, switch to /sbin/.magisk
...
Symlink is preserved for backwards compatibility
2018-11-15 01:36:03 -05:00
topjohnwu
83ae66daea
Change stock boot image SHA1 backup method
2018-11-15 00:33:20 -05:00
topjohnwu
d7d80d3fc1
Update encryption detection for determining default flags
2018-10-20 17:10:35 -04:00
topjohnwu
dd9ddd2019
Remove unnecessary instruction from Defex hexpatch
...
Close #489
2018-10-20 00:28:09 -04:00
topjohnwu
e1a65276b9
Switch to general Samsung defex patch
...
Should be future proof unless code changes
2018-10-17 03:17:24 -04:00
topjohnwu
3f87f6aee3
Fix output in Magisk Manager if no root exists
2018-09-20 16:21:22 -04:00
topjohnwu
04bcd145d3
Add a.a alias to BootSigner
2018-09-20 15:37:59 -04:00
topjohnwu
70d3b24338
Keep dm/avb-verity when device is using system_root_image
...
Close #512
2018-08-29 00:40:14 -04:00
topjohnwu
8664e9d19b
Update scripts
2018-08-28 22:03:12 -04:00
topjohnwu
f6aae2b048
Add hexpatch to remove Samsung defex in kernel
...
Close #499
2018-08-26 22:38:13 -04:00
topjohnwu
a46c6252c6
Detect insufficient partition size
...
Close #388
2018-08-11 15:56:12 +08:00
topjohnwu
5c1886c8f5
Update scripts
2018-08-10 18:59:14 +08:00
topjohnwu
6add682705
Remove high compression mode
2018-08-10 03:49:25 +08:00
topjohnwu
a63696836c
Proper addon.d-v2 support
2018-08-03 22:40:49 +08:00
topjohnwu
bb25edc09e
Use own busybox for get_outfd
2018-08-03 04:25:00 +08:00
topjohnwu
169c0fe4af
Stop use clashing names
2018-08-03 03:43:02 +08:00
topjohnwu
0ef026c610
Remove system root when running addon.d
2018-07-20 00:37:38 +08:00
topjohnwu
90379eeb35
Detect ramdisk partition
...
Because Huawei, fix #400
2018-07-19 17:48:51 +08:00
topjohnwu
ef62272df7
Small adjustments to prevent seccomp errors
2018-07-10 02:44:58 +08:00
topjohnwu
c3b473e4bc
Fix get_outfd in embedded mode
2018-07-07 17:48:05 +08:00
topjohnwu
c3a6179a21
Update scripts
2018-07-05 17:29:13 +08:00
topjohnwu
4de51d93ef
Tweak info when installing
2018-07-04 23:46:16 +08:00
topjohnwu
70243d7a47
Add fallback to parse block from fstabs
2018-07-03 18:28:44 +08:00
topjohnwu
b5b8c4b725
First find blocks by-name, then fallback to parsing sysfs
2018-07-03 02:57:57 +08:00
topjohnwu
d149af9628
Fix bootloop when upgrading from older Magisk
2018-07-01 14:58:31 +08:00
topjohnwu
3283439fd4
New uninstaller
2018-06-27 06:00:01 +08:00
topjohnwu
c8216f9bc5
Fix uninstaller
2018-06-26 22:41:03 +08:00
Jat
d1a7372bd2
fix a bug when $ABILONG is arm64-v8a
2018-06-26 05:03:07 +08:00
topjohnwu
7265450e2e
Precise free space calculation for magisk.img
...
1. Introduce new applet: imgtool for better separation from the main program
2. Actually mount the image and check statvfs for free space in the image
This shall eliminate any possible module installation failure from image resizing issues.
2018-06-22 06:18:06 +08:00
topjohnwu
daf9b019c6
More elaborate bb_setup
2018-06-21 16:39:10 +08:00
topjohnwu
14eebd582f
Source addon.d script from data
2018-06-21 11:54:21 +08:00
topjohnwu
9a8eeacee8
Fix output of addon.d, and add support for addon.d-v2
2018-06-21 10:53:49 +08:00
topjohnwu
45b0bf5bc5
Remove unnecessary variable
2018-06-21 01:48:46 +08:00
topjohnwu
88db822c43
Get device blocks with sysfs
2018-06-21 01:37:08 +08:00
John Wu
c0ca99f4b4
Make sure APK exists before signing AVB 1.0
...
Check all possible APK locations before actually running the verification
2018-06-19 14:19:38 -07:00
XiNGRZ
196f15d240
Fix survival script for AVB 1.0 signed boot image
2018-06-19 14:19:38 -07:00
topjohnwu
835ece5469
Update default flag logic, fix S9/S9+ DTB patches
2018-06-18 01:40:56 +08:00
topjohnwu
d93fc67a75
Improve detecting device status
2018-06-17 17:59:24 +08:00
topjohnwu
3f83919e09
Fix bootloops when flashing Magisk after data wipe on FBE devices
2018-06-11 02:26:18 +08:00
topjohnwu
72a5b83544
Support patching dtb placed in extra section (S9/S9+)
2018-06-10 20:36:18 +08:00
topjohnwu
274efb49e7
Fix modules installation error
2018-06-03 17:01:10 +08:00
topjohnwu
9b445d89a1
Add extract feature to update-binary
2018-05-13 14:26:28 +08:00
topjohnwu
25703c1750
Do not force LD_LIBRARY_PATH in recovery
2018-05-06 01:49:01 +08:00
topjohnwu
fc9d4034a9
Fix installation in custom recoveries
2018-04-29 14:04:18 +08:00
topjohnwu
a2c1b024f3
Use 32-bit binaries only
2018-04-22 14:13:27 +08:00
topjohnwu
9e737df534
Update high compression mode detection logic
2018-03-10 15:55:55 +08:00
topjohnwu
a94fa81195
Support non skip_initramfs device with slot suffix
2018-02-14 00:57:52 +08:00
topjohnwu
6728445542
Support separate ramdisk images
2018-02-10 03:34:13 +08:00
topjohnwu
10ed299c78
Detect recovery on FBE devices with no DE access
2018-02-10 03:31:00 +08:00
topjohnwu
e5c3183025
Update scripts
2018-01-01 16:46:28 +08:00
topjohnwu
d8bb3af06b
Miscellaneous
2017-12-29 04:25:30 +08:00
topjohnwu
74da6e1dc0
Support new 1500 template
2017-12-26 03:23:58 +08:00
topjohnwu
f7b4935677
Add recommend KEEPVERITY and KEEPFORCEENCRYPT flags
2017-12-21 15:42:03 +08:00
topjohnwu
a3c49de6a5
Refactor magiskboot
2017-12-21 03:36:18 +08:00
topjohnwu
4db0ad32f0
Fix install scripts
2017-12-18 03:08:53 +08:00
topjohnwu
8ca1e43533
Move all /data files into /data/adb
2017-12-16 04:42:16 +08:00
topjohnwu
bd01c314dc
Change database location
2017-12-12 03:04:55 +08:00
topjohnwu
942c870981
Properly handle KEEPVERITY and HIGHCOMP
2017-12-07 04:20:27 +08:00
topjohnwu
baff9256c5
Dynamic patch verity and forceencrypt flag
2017-12-07 03:21:13 +08:00
topjohnwu
9f6a27c20d
Add high compression ramdisk support
2017-12-06 12:51:16 +08:00
topjohnwu
d8b8adb88c
Fix is_mounted function
2017-11-22 22:22:29 +08:00
topjohnwu
bc21a1fb71
Update internal paths
2017-11-22 16:04:24 +08:00
topjohnwu
3bc31374ac
Fix issue of touch command on Android 5.0
2017-11-20 04:13:51 +08:00
topjohnwu
32ee8e462c
Properly and fully support dtbo patching
2017-11-15 05:48:31 +08:00
topjohnwu
912c188b53
Add dtbo.img patch support
2017-11-11 01:33:50 +08:00
topjohnwu
b438cc9335
Remove unnecessary monogisk
2017-11-10 00:54:54 +08:00
topjohnwu
1d3d30fa45
Get potential slot info
2017-11-09 03:05:25 +08:00
topjohnwu
e710848345
Unify Magisk configuration
...
Introduce monogisk tool
2017-11-06 06:22:45 +08:00
topjohnwu
a831110816
Add boot signing to installation
2017-10-31 17:05:24 +08:00
topjohnwu
bb7099376b
Improve daemon startup and log management
2017-10-11 02:26:28 +08:00
topjohnwu
03c8d716cc
Introduce Invincible Mode: Self recover service
2017-10-08 22:00:22 +08:00
topjohnwu
c215447405
Fix Pixel C installation
2017-10-07 22:08:10 +08:00
topjohnwu
dbfe49c56f
Unlock blocks before flashing boot image
2017-09-28 00:54:01 +08:00
topjohnwu
98e21f9f5b
Update uninstaller
2017-09-27 15:26:21 +08:00
topjohnwu
9cb1cf756f
Update scripts
2017-09-26 20:21:43 +08:00
topjohnwu
9b4ae8fcc5
Adjust scripts
2017-09-16 03:48:58 +08:00
topjohnwu
a1a2c52409
Patch sepolicy at boot time
2017-09-16 01:32:09 +08:00
topjohnwu
590e7f7724
Proper support for Magisk Manager installation
2017-09-15 18:02:25 +08:00
Shaka Huang
4d61e5e319
Fix error generating binary for x86
...
fix typo
Signed-off-by: Shaka Huang <shakalaca@gmail.com>
2017-09-14 14:33:37 -05:00
topjohnwu
e5e34797a8
Patch fstab from dtb
2017-09-15 02:52:53 +08:00
topjohnwu
518f3d229f
Slight adjustments to scripts
2017-09-13 15:51:45 +08:00
topjohnwu
46c91f923d
Update scripts to support Pixel (XL)
2017-09-13 04:08:50 +08:00
topjohnwu
cd5f5d702f
Fix stock image dump not stored correctly
2017-09-13 04:08:44 +08:00
topjohnwu
0eb79e5acd
Update scripts
2017-09-06 23:33:46 +08:00
topjohnwu
cd8dd65a65
chcon on Android 5.0 doesn't support -h options
2017-09-05 21:44:53 +08:00
topjohnwu
50c56f8b50
Simplify flash scripts
2017-09-05 21:44:22 +08:00
topjohnwu
9e9f8ca8f3
Restore cwd
2017-09-02 23:28:17 +08:00
topjohnwu
f63af0601c
Support Magisk Manager boot image file patch
2017-08-31 03:08:09 +08:00
topjohnwu
9522255e3a
Proper magisk manual injection support
2017-08-17 03:46:01 +08:00
topjohnwu
6eb7c0b5d6
Add new util functions for new template version
2017-08-12 23:15:39 +08:00
topjohnwu
750872cc37
Add boot actions
2017-08-12 17:03:31 +08:00
topjohnwu
d6547f0701
Fix installer options not read properly
2017-08-04 23:49:22 +08:00
topjohnwu
eae611c54d
Add b64xz to handle busybox decode/decompress in scripts
2017-08-02 18:25:24 +08:00
topjohnwu
b37bad35c2
Fuse busybox into update-binary and remove from Magisk Manager APK
2017-08-02 02:22:33 +08:00
topjohnwu
cb70eebb08
Update scripts
2017-07-31 03:03:52 +08:00
topjohnwu
b13eb3fd40
Force start logd ASAP
2017-07-25 05:33:25 +08:00
topjohnwu
b7986a351c
Overcome some quirks in Android Lollipop
2017-07-25 05:33:25 +08:00
topjohnwu
ce87591c62
Fix unable to get SHA1 value issue
2017-07-25 02:40:26 +08:00
topjohnwu
25c289ad3e
Fix typo in uninstaller
2017-07-19 03:24:07 +08:00
topjohnwu
7f7dda9ec2
Update uninstaller
2017-07-19 02:22:07 +08:00
topjohnwu
a87ad35a50
Check Android version before actually doing anything
...
Close #233
2017-07-14 01:13:49 +08:00
topjohnwu
c4d7001489
Fix Pixel C flashing errors
...
Use return values instead of creating a file to indicate a chromeos image
Fix #264
2017-07-13 02:14:10 +08:00
topjohnwu
d27d04783f
Add version info into util_functions
2017-07-11 01:54:11 +08:00
topjohnwu
3d43c3c5bc
Update scripts
2017-07-10 00:17:34 +08:00
topjohnwu
bf42fce17e
Update boot patch method and scripts
2017-07-03 01:19:15 +08:00
topjohnwu
2a86bc8695
Update scripts
2017-06-24 23:39:24 +09:00
topjohnwu
9430ed66cd
Add addon.d survival script
2017-06-19 00:15:44 +08:00
topjohnwu
96f8efc27a
Several small fixes
2017-06-16 15:27:28 +08:00
topjohnwu
a90e8b6112
Only use binaries/libs in /system
2017-06-16 04:09:36 +08:00
topjohnwu
1e877808bc
Fix link errors for flash scripts
2017-06-13 00:46:20 +08:00
topjohnwu
4e801788d7
Fix shared library linking error
2017-06-11 01:40:08 +08:00
topjohnwu
6c0ba66f17
Add excessive logging for debug mode
2017-06-08 03:25:15 +08:00
topjohnwu
17684ed8a8
Fix uninstaller and build with 'all'
2017-06-04 00:04:58 +08:00
topjohnwu
e780c76c93
Massive build script refactor
2017-06-03 20:31:02 +08:00