cfig
067cab9406
additional boot signature support and others
...
Issue #90 : support magisk-modified uncompressed ramdisk
3 years ago
cfig
0a342363de
partially spupport boot signature
...
Android 12: 4K boot signature
Android 13: 16K boot signature
3 years ago
cfig
3df4ec6fc1
Issue #87 : refine "clear" task
...
Please use "gradle clear" instead of "gradle clean".
3 years ago
cfig
2d8c39b797
Issue #88 , Issue #75 : ignore empty bootSig in boot V4
...
Issue #88 : Android 12 has empty bootSig, while Android 13 doesn't, so we
ignore this part duing re-packing
Issue #75 : allow duplicated entry in CPIO
Also: replace slf4j-simple with logback
3 years ago
cfig
b701884df2
Issue #86 : fix vrt vendor_boot issues
...
- support vendor_boot "board" filed
- fix unpack problem when vrt is enabled
- add test case
- upgrade to kotlin 1.6.21
3 years ago
cfig
f716e34d6d
Issue #84 : support misc.img
...
Actions:
unpack
pack
pull
flash
Signed-off-by: cfig <yuyezhong@gmail.com>
3 years ago
cfig
54be7a4fae
Issue #83 : support boot.img w/o ramdisk
3 years ago
cfig
78105c6b72
Issue #83 : support init_boot.img
3 years ago
cfig
1dd865adf4
support OTA payload.bin
...
- unpack: supported
- pack & others: Not Available
3 years ago
cfig
2d7e164da5
progressive refactor: using cc.cfig.io.Struct from mavenCentral()
3 years ago
cfig
3ae5d567e3
vendor_boot: allow null bootconfig
3 years ago
cfig
b3246f6474
update module versions
3 years ago
cfig
41b216e840
Struct3: retire legacy Struct3
3 years ago
cfig
19632ce235
helper: massive refinement
3 years ago
cfig
5cef10203b
Issue #79 : add "gradle clean" command
3 years ago
cfig
7a783acb27
Issue #75 : do not alllow duplicated fsconfig when packing cpio
3 years ago
cfig
a358bd6a7b
Issue #71 : refine dtbo unpack/pack
...
dtbo unpack:
save image info
decompile dtb to dts and yaml dts
print summary
dtbo pack:
compile dts to dtb
print summary
boot v0-v4 pack:
print summary
3 years ago
cfig
1e2592c1c4
routine mass checkin
...
- VirtualABMsg: read and parse VAB info from misc
- Clear some detekt warnings
- dtbo: supress warnings
3 years ago
cfig
62bc8004c4
update gradle/kotlin
...
gradle 7.2
kotlin plugin: 1.5.30
3 years ago
cfig
6c07824ca4
Issue #67 : support boot/vendor_boot headerVersion downgrade from 4 to 3
...
boot: correct header size, trim bootSignature
vendor_boot: correct header size, trim vrt
3 years ago
Rover12421
041a12606f
fix FileNotFoundException / add ignore file list ( #68 )
...
* fix FileNotFoundException
magisk patch boot, ramdisk add backup file don't create(add) parent dir
* add git ignore file
add ignore file list :
boot.img*
local.properties
3 years ago
CallMESuper
2928ee9084
Lzma early than lz4.
...
* when user try to unpack image which ramdisk compressed with lzma, lz4 -t $IMAGE_FILE will return like 'Successfully decoded 13601602 bytes'. However in this case, tools cannot read entry and throw Exception.
4 years ago
cfig
9a94d2a16e
boot v4: fix bug "avbtool not found"
4 years ago
cfig
b8dd19be1e
Issue #55 : fully support boot V4
...
v3 -> v4 changelog:
- boot signature for GKI
4 years ago
cfig
b274b358e5
Issue #55 : fully support vendor boot V4
...
v3 -> v4 changelog:
- vendor ramdisk table
- bootconfig
Fix bugs:
- unpack: vrt postion calculation
4 years ago
cfig
9dcf014a39
kotlin: upgrade to 1.5
4 years ago
cfig
66c264b504
Feature: add AVB verification status for boot v0-v2
4 years ago
cfig
1cc54f4592
add license header for each source file
...
This doesn't affect use of the software in any means under the terms of
Apache License
4 years ago
cfig
6a7d3793fb
upgrade gradle to 7.0
4 years ago
cfig
852ee928c7
squashed update
...
aosp: mkdtboimg,mkbootimg
test: Issue #59
parser: support boot-debug and vendor_boot-debug
4 years ago
cfig
577b970811
Issue #59 : support clear V3 boot images
4 years ago
cfig
82c614a8f1
doc: ADT3 on Android S is compatible
...
also add reboot/shutdown flow
4 years ago
cfig
8a42f31167
add prompt message for Issue #58
4 years ago
cfig
ec13a2d926
Issue #57 : allocate proper buffer size for BootV2/V3 images
...
use the maxOf(image size, 64MB)
4 years ago
cfig
85c26a361d
Fix #54 : support boot.img vbmeta blob flag
4 years ago
cfig
3658f7248e
file perm bug when unpack cpio
...
when some directory has mode 000, it becomes unwritable,
fix it with mode owner+rwx
4 years ago
cfig
e6ed2d7b96
cpio: fix special perms bug
...
also add dispol to decompile sepolicy binary file
4 years ago
cfig
71fcc9b26e
boot v4: unpack
...
boot:
boot signature
vendor boot:
vendor ramdisk table
boot config
TODO:
pack (later when AOSP gets stable)
4 years ago
cfig
e2583777a0
partial support of boot/vendor_boot v4
4 years ago
cfig
e66477ce65
fully support @verify
...
ChainDesc: verify public key and all
{ChainDesc|HashDesc|HashTreeDesc} inside
HashDesc: verify hash
HashTreeDesc: verify whole hash tree and root hash
4 years ago
cfig
2d5a7b7019
migrate travis to actions
4 years ago
cfig
a67ff9e4db
lzma checking may crash, move to last
4 years ago
cfig
c46398dbb7
vbmeta.img: verify during unpacking
4 years ago
cfig
31be98dc60
support lzma/xz ramdisk
...
Issue 52
4 years ago
cfig
6c662a54da
lots of stuff
...
- extract helper for more projects
- kotlin 1.4.31
- gradle 6.8.3
- vendor_boot flash/pull
- fix comanion vbmeta update: boot.img, vendor_boot.img
- refine libavb
4 years ago
cfig
50273a9085
use mavenCentral in light of JCenter shutdown
4 years ago
cfig
b108110dbd
first version compatible with Windows 10
4 years ago
cfig
df147f9325
abort() if not Java 9+
4 years ago
cfig
4e9d60db1a
cpio: replace mkbootfs with java CPIO
...
reimplement android mkbootfs with pure java, features include:
unpack:
- using commons.compress
- save cpio entry info on unpacking, and reload it on packing, this is
called 'exact-matching'
pack: using new code with the help of commons.compress
- for newly added ramdisk file, its file mode falls back to
'pattern-matching'
- for newly added ramdisk file that doesn't match any pattern, it will
use default file mode, 'default'
integration test:
- enable strict cpio checking
4 years ago
cfig
9e30b56015
Fix KernelCmdlineDescriptor type error in kotlin 1.4
...
also: add pull.py to pull boot and vbmeta from device
upgrade to kotlin 1.4.20
4 years ago
cfig
30a5a0cbad
unify helpers and remove codacy
4 years ago
cfig
ea73a704b3
be tolerant in checking osVersion
4 years ago
cfig
ddd1ad5ef2
mass update
...
dependent modules:
aosp update
kotlin: 1.4.0 -> 1.4.10
unify helpers between projects
commons.compress 1.20
bbootimage:
fix page size error in vendor_boot
supress compile warnings
lz4:
change lz4 compress parameter if lz4 is not up-to-date
use external lz4 to decompress kernel for Ubuntu <=18.04
cpio:
use java cpio to decompress ramdisk
add skipcpio to read contatenate cpio
4 years ago
cfig
fed5daeeba
extensive lz4 ramdisk support
4 years ago
cfig
15921efa2d
support lz4 compressed ramdisk
...
support lz4: Fix #43
other enhancements:
avbtool: v1.1: for BootV2 before Android 11
avbtool: v1.2: for BootV2(Android 11+), Vendor Boot, BootV3
fix VB1.0 parsing error
travis: osx xcode12.2, macOS 10.15.7, jdk 14.0.2
4 years ago
cfig
55e7e3957f
add system_other and system_ext as known images
...
Android 11 adds system_ext
4 years ago
cfig
bb5c217e4e
travis: multi platform tests
4 years ago
cfig
a39b870033
kotlin: upgrade to 1.4.0
...
travis: upgrade to Ubuntu 20.04 Focal
4 years ago
cfig
4bce4a0f39
fix dtbo support
...
- fix dtbo support with correct file path
- refine README
5 years ago
cfig
3111fc1eba
mass update
...
support super.img
add 'pull' task
clean up obsolete makefiles
5 years ago
cfig
125418c99d
Squashed commit of the following:
...
1. libsparse: update form AOSP
* commit a386482f1d2e29e893a59289f71ccdc715472514
| Author: Woody Lin <woodylin@google.com>
| Date: Wed May 13 20:50:54 2020 +0800
|
| libsparse: Limit block size to 64 MB
...
| Change-Id: Ic4edb963a3d99f718d7630aba3f351729a84e994
2. mkbootfs: update from AOSP
* commit 6ad4d0a601485475645ddd1b23181a4c31754977
| Author: Tom Cherry <tomcherry@google.com>
| Date: Wed Mar 4 13:35:28 2020 -0800
|
| Remove EXCLUDE_FS_CONFIG_STRUCTURES
...
| Change-Id: I5ba2541cd1045c22486140649c90db39163081fd
2.1 mkbootfs: add mkbootfs for (Android <= 10) and (Android 11)
3. avb: update from 1.1 to 1.2
libavb and avbtool
* commit 23dbe6ec9b8734aea9812e1ecd3af47e88d6360a
| Author: Thiébaud Weksteen <tweek@google.com>
| Date: Fri May 15 15:52:02 2020 +0200
|
| Enable Android.bp format validation hook
| ...
| Change-Id: I3496b43093aa7f7633ca64e587e128c45b534601
5 years ago
cfig
716e8363ff
initial GKI images support
...
- boot.img header v3
- vendor_boot.img
5 years ago
cfig
b21e856754
eliminate meaningless non-zero values of ramdisk_offset
...
- Fix: issue #38
- sync change of
https://android-review.googlesource.com/c/platform/system/tools/mkbootimg/+/1087679
- also change integrationTest
5 years ago
cfig
e47b10e013
build tool update
...
kotlin 1.3.61 to 1.3.71
gradle 6.0.1 to 6.3
replase @Experimental with @OptIn
5 years ago
cfig
ff7021e2db
test: add more tests for android 10 coral
5 years ago
cfig
75af56ad57
packing of boot.img with avbtool now supports property descriptors
...
now avbtool can pack exactly the same boot.img.signed as our Signer
if it has only prop-desc and hash-desc
5 years ago
cfig
40a31fd655
generalize command recognization/invocation
...
Now we can directly call "java -jar bbootimg.jar".
Also add hidden command '@footer' in BootImgParser
5 years ago
cfig
67667c803c
refine avbVerifier; fix AuthBlob bug
...
1. AuthBlob bug: if change algorithm_type from 0 to non-zero values,
auth_blob should not be empty
2. avbVerifier:
move key file to config/pubkey
add gradle task "v1/v2" to verify normal/recovery flow
5 years ago
cfig
e5b03661f8
add "avbVerifier" to emulate boot time AVB flow
...
In memory of Dr. Li:
He who holds the firewood for the masses,
is the one who freezes to death in wind and snow.
5 years ago
cfig
ef02d54a78
move all org.juit.Assert to kotlin assert
5 years ago
cfig
0d0484248d
cleanup Struct3 to remove dependency of org.junit.Assert
...
also force using of python2 for avbtool
5 years ago
cfig
c1d4133f79
first update in 2020
...
update gradle managed modules
update gradle to 6
refactor directory for aosp modules
5 years ago
cfig
bf7defd434
bundle {boot.img, vbmeta.img}
6 years ago
cfig
bcf3c2e2b4
mkbootfs: revert 'cpp-application'
...
use legacy 'c' and 'cpp' plugin for MacOS comapatibility
6 years ago
cfig
b8aba9992e
add 'flash' task for vbmeta/boot
6 years ago
cfig
1bcf9389a0
squashed commit
...
update gradle to 5.6
dtbo parser: force use of python 2.7
add android libsparse utils
add sparse image parser: {system|vendor|product}.img
travis: upgrade to bionic(18.04 LTS)
6 years ago
cfig
af7de300d2
change recoveryDtboOffset calculation in accordance with AOSP
...
although google's algorithm is not good enough
6 years ago
cfig
79b84baf68
mass update
...
builder:
kotlin 1.3.41
bootloader_message:
reboot rescue
reboot fastboot
mkbootimg
update mkbootimg from AOSP master
modify our header packer accordingly
avbtool:
update from commit 9d3646515bf0b5f09d8bdbe0b844c7eefa0c0802
Tue May 14 15:30:37 2019 -0400
remote java
6 years ago
cfig
c3bb4fb356
support vbmeta_{system|vendor|product}.img etc
...
For newly added dynamic partition related features
6 years ago
cfig
c6db6eaf11
clean up warnings
6 years ago
cfig
f03315b08a
add dtbo.img parser
...
also refactor some code structure
6 years ago
cfig
3c6ad3de94
feature enhancements
...
1. print unpack summary
2. try to extract kernel version/config if possible
6 years ago
cfig
1e6b340912
update "misc" partition r/w operations
6 years ago
cfig
32139203e7
fix several critial bug
...
details
- code refine
"In Kotlin 1.3, it is now possible to capture the when subject into variable"
- fix gradle version checking bug: now we can handle versions like "5.4-rc-1" and "5.4"
- removed unwanted import of "UnImplNode"
- add Struct3 doc
6 years ago
cfig
c7e46c537d
fix type issue in PropertyDescriptor
6 years ago
cfig
a7be076e77
using newly added kotlin.(UInt|ULong|UByte) since 1.3
...
add 'Reboot' function tests
add "Struct3" to replace "Struct" with new kotlin types
6 years ago
cfig
fac31f1526
mass update
...
update avbtool from upstream
update kotlin to 1.3.20
support boot image header v2
add integration test
6 years ago
cfig
b4f5a2b5b3
fix issue #3 : packing error when "algorithm_type = 0"
6 years ago
cfig
ec32a3750a
update README and misc refine
6 years ago
CallMESuper
482ab1f998
fix: add back chainPartitionDescriptor
...
Due to the lack of this field, NX606J cannot boot ..
6 years ago
zhangjian
7b6fea2ffb
Signer: correct command with avb2.0 signing
6 years ago
cfig
5657d736c2
support chained partition descriptor (tag=4)
6 years ago
cfig
f2c276cc9d
upgrade build
...
kotlin 1.2.61 -> 1.3.10
gradle 4 -> 5
6 years ago
cfig
3c93bcf5ff
replace AOSP bouncycastle with upstream bcprov-jdk15on:1.57
...
- use jcenter bcprov/bcprokix, also remove original security provider
signature to make it workable
- other misc refactoration
7 years ago
cfig
4f598e07cf
Update README.md
7 years ago
cfig
6505fea379
add 'pull' task
...
WIP: add initrc parser test to analyze system boot sequence
7 years ago
cfig
1f7476d884
enhancement: support PropertyDescriptor; support flashing vbmeta.img
7 years ago
cfig
ec00936463
use javax.crypto.Cipher for raw signing
...
- using Cipher "RSA/ECB/NoPadding" to do raw sign
- also add .gitignore
7 years ago
cfig
02be1f4b9e
use commons-codec Hex instead of BC Hex
7 years ago
cfig
f21e851abd
support add_hash_footer
7 years ago