Commit Graph

72 Commits (8a42f31167507f22cf36bc509633ecdb93aa7008)

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