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
topjohnwu
120668c7bc
Revise dtb commands CLI
2019-09-20 03:53:58 -04:00
topjohnwu
d81ccde569
Pretty print dtb content
2019-09-20 03:05:14 -04:00
topjohnwu
53de6da26c
Only print relevant info according to header version
2019-09-17 05:11:09 -04:00
topjohnwu
3e30ccdeee
Make parsing behaves according to header
...
Close #1778 . Close #1848
2019-09-17 05:01: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
e8d900c58e
Fix typo
2019-06-15 18:12:12 -07:00
topjohnwu
a6241ae912
Fix magiskboot unpack option parsing
2019-06-15 16:15:12 -07:00
osm0sis
ee407472cf
magiskboot: allow forcing no recompression on ramdisk.cpio
...
- when input image had a compressed ramdisk magiskboot had no way to force the repack with the uncompressed ramdisk.cpio since it does not formally recognize cpio as its own format, so add a switch to support forcing repacking to any possible ramdisk format regardless of input image
2019-06-10 21:57:39 -07:00
osm0sis
f341f3b2dd
magiskboot: accept forcing recognized but unsupported format compression
...
- when input image had a different supported format (e.g. gzip) magiskboot would not accept a manually compressed ramdisk or kernel in an unsupported format (e.g. lzop) despite being able to recognize it, so instead would double compress using whatever the input format was, breaking the image with, in effect, a ramdisk.cpio.lzo.gz
2019-06-10 21:56:51 -07:00
Ian Macdonald
8513946e09
'magiskboot hexpatch' will exit with status 1 when nothing patched.
2019-06-10 21:41:40 -07:00
osm0sis
bf58205b0a
magiskboot: be clear lzop is not a supported compression format
...
- keep detection and always display detected format type to fascilitate external support
2019-05-30 20:31:24 -07:00
osm0sis
b79d1bcded
magiskboot: clean up remaining unneeded ELF detection bits
...
- default for no format match is UNSUPP_RET (unsupported) so there is no needed to explicitly detect ELF still
2019-05-21 02:49:19 -07:00
Chris Renshaw
17e234f9d5
magiskboot: fix bootimg hdr v2 checksum generation
...
- new AOSP dtb section was missing from HASH_update
2019-05-21 02:49:19 -07:00
osm0sis
2ff5d9606b
magiskboot: add support for remaining Nook HD pre-image loaders
2019-05-19 17:38:41 -07:00
osm0sis
b0d6de783e
Correct magiskboot help
2019-05-09 20:28:48 -07:00
topjohnwu
00a9f18a1e
Build with -Wall
2019-04-29 21:26:43 -04:00
topjohnwu
e784212283
Update tools docs
2019-03-28 04:54:06 -04:00
topjohnwu
b7e2e972c7
Support boot_img_hdr_v2
2019-03-13 16:51:22 -04:00
topjohnwu
a57a94040e
Update some format magics
2019-03-08 00:47:15 -05:00
topjohnwu
1bde78d121
Rename patch_level -> os_patch_level
2019-03-07 21:59:03 -05:00
topjohnwu
bbd014ad1b
More saftey checks and improvements
2019-03-07 21:49:47 -05:00
topjohnwu
1287372f5a
Support patching header in magiskboot
2019-03-07 21:32:01 -05:00
topjohnwu
bbe4b69c8d
Fix LZ4FEncoder constructor
2019-03-07 19:58:59 -05:00
topjohnwu
7f08c06943
Remove unnecessary '--' from magiskboot actions
2019-03-07 18:07:23 -05:00
topjohnwu
0442d6d509
Only compress kernel and ramdisk if input not compressed
2019-03-07 07:24:20 -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
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
16ec37a226
Fix compression without outname
2019-02-24 17:45:08 -05:00
topjohnwu
c84023bdc2
Fix crashes when removing verity_key
2019-02-24 04:29:15 -05:00
topjohnwu
86f778c0aa
Group unsupported formats into the same code
2019-02-24 02:30:04 -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
75939047d1
Fix bugs in compression
2019-02-23 04:51:13 -05:00
topjohnwu
2d7f130d2c
Introduce Java-like OutputStream
2019-02-23 04:51:13 -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
69d10b747a
Directly use FDT headers for detection
2019-02-21 05:24:05 -05:00
topjohnwu
da3394f34e
Move image parsing out of header searching
2019-02-21 05:08:38 -05:00
topjohnwu
b4c2a9f49f
More macro magic
2019-02-21 04:14:52 -05:00
topjohnwu
7cee77f57a
Some C++ magic to make code cleaner
2019-02-21 02:54:37 -05:00
topjohnwu
f28bd1972f
Adjust LZ4F block size
2019-02-21 00:52:47 -05:00
topjohnwu
0f92d1de1b
Fix bzip2 decompression
2019-02-20 20:53:54 -05:00
topjohnwu
e59c5c8780
Modernize compress and decompress
2019-02-20 20:49:26 -05:00
kirill9617
86d8026301
Update format.h
...
GZIP magic is \x1f\x8b\x08 not \x1f\x8b\x08\x00
2019-02-20 03:53:41 -05:00