Commit Graph

77 Commits (1cc54f4592f573c0e0a767c49ba27383dd025065)

Author SHA1 Message Date
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