Closed 0cwa closed 2 months ago
I've tried a few times and, I've successfully installed it. But it seems like it only downloads the OTA, and not the install
export C_INCLUDE_PATH=/usr/lib/gcc/x86_64-redhat-linux/14/include export DEVICE_NAME=bramble export ADDITIONALS_ROOT=true export UPDATE_CHANNEL=stable export MAGISK_PREINIT=sda15
➜ PixeneOS git:(main) ✗ source env ➜ PixeneOS git:(main) ✗ src/main.sh GrapheneOS OTA target: `bramble-ota_update-2024080600` GrapheneOS OTA URL: https://releases.grapheneos.org/bramble-ota_update-2024080600.zip Constructing URL for `avbroot` as `avbroot` is non-existent at `.tmp`... URL for `avbroot`: https://github.com/chenxiaolong/avbroot/releases/download/v3.5.0/avbroot-3.5.0-x86_64-unknown-linux-gnu.zip Downloading `avbroot`... Extracting and granting permissions for `avbroot`... replace .tmp/tools/avbroot/LICENSE? [y]es, [n]o, [A]ll, [N]one, [r]ename: Cleaning up... `avbroot` downloaded. Verifying `avbroot`... Tool avbroot is a directory in `.tmp`. Verified. Constructing URL for `afsr` as `afsr` is non-existent at `.tmp`... URL for `afsr`: https://github.com/chenxiaolong/afsr/releases/download/v1.0.0/afsr-1.0.0-x86_64-unknown-linux-gnu.zip Downloading `afsr`... Extracting and granting permissions for `afsr`... replace .tmp/tools/afsr/afsr? [y]es, [n]o, [A]ll, [N]one, [r]ename: Cleaning up... `afsr` downloaded. Verifying `afsr`... Tool afsr is a directory in `.tmp`. Verified. `alterinstaller.zip` file already exists in `.tmp/modules`. `custota.zip` file already exists in `.tmp/modules`. Constructing URL for `custota-tool` as `custota-tool` is non-existent at `.tmp`... URL for `custota-tool`: https://github.com/chenxiaolong/Custota/releases/download/v4.8/custota-tool-4.8-x86_64-unknown-linux-gnu.zip Downloading `custota-tool`... Extracting and granting permissions for `custota-tool`... replace .tmp/tools/custota-tool/custota-tool? [y]es, [n]o, [A]ll, [N]one, [r]ename: Cleaning up... `custota-tool` downloaded. Verifying `custota-tool`... Tool custota-tool is a directory in `.tmp`. Verified. `msd.zip` file already exists in `.tmp/modules`. `bcr.zip` file already exists in `.tmp/modules`. `oemunlockonboot.zip` file already exists in `.tmp/modules`. Constructing URL for `my-avbroot-setup` as `my-avbroot-setup` is non-existent at `.tmp`... URL for `my-avbroot-setup`: https://github.com/chenxiaolong/my-avbroot-setup Downloading `my-avbroot-setup`... fatal: destination path '.tmp/tools/my-avbroot-setup' already exists and is not an empty directory. `my-avbroot-setup` downloaded. Verifying `my-avbroot-setup`... Tool my-avbroot-setup is a directory in `.tmp`. Verified. Downloading `magisk`... curl: option : blank argument where content is expected curl: try 'curl --help' for more information `magisk` downloaded. Verifying `magisk.apk`... Tool `magisk.apk` found and verified. GrapheneOS OTA target: `bramble-ota_update-2024080600` GrapheneOS OTA URL: https://releases.grapheneos.org/bramble-ota_update-2024080600.zip OTA is already downloaded in: `.tmp/bramble-ota_update-2024080600.zip` Magisk is enabled. Modifying the setup script... The script is not run from the `my-avbroot-setup` directory. Searching for the directory... [notice] A new release of pip is available: 23.3.2 -> 24.2 [notice] To update, run: pip install --upgrade pip Decoding keys from base64... Error decoding base64 for AVB_BASE64 Error decoding base64 for CERT_OTA_BASE64 Error decoding base64 for OTA_BASE64 Decoded keys from base64. Patching OTA... [*] Verifying OTA: .tmp/bramble-ota_update-2024080600.zip 0.000s INFO Verifying whole-file signature 0.919s INFO Verifying payload 2.596s INFO Extracting partition images to temporary directory 2.596s INFO Extracting from the payload: abl, aop, boot, devcfg, dtbo, featenabler, hyp, keymaster, modem, product, qupfw, system, system_ext, tz, uefisecapp, vbmeta, vendor, vendor_boot, xbl, xbl_config 10.825s INFO Successfully extracted OTA 10.825s INFO Verifying partition hashes 12.126s INFO Checking ramdisk's otacerts.zip 12.270s INFO Verifying AVB signatures 12.271s INFO vbmeta has a signed vbmeta header 12.271s INFO Verifying hash descriptor for: vendor_boot 12.271s INFO Verifying hash descriptor for: dtbo 12.271s INFO Verifying hash tree descriptor for: product 12.271s INFO Verifying hash tree descriptor for: system_ext 12.271s INFO Verifying hash tree descriptor for: system 12.271s INFO Verifying hash descriptor for: boot 12.271s INFO Verifying hash tree descriptor for: vendor 17.028s INFO Signatures are all valid! [*] Unpacking OTA: .tmp/bramble-ota_update-2024080600.zip 0.001s INFO Extracting from the payload: abl, aop, boot, devcfg, dtbo, featenabler, hyp, keymaster, modem, product, qupfw, system, system_ext, tz, uefisecapp, vbmeta, vendor, vendor_boot, xbl, xbl_config 8.514s INFO Successfully extracted OTA [*] Unpacking AVB image: /tmp/tmpr5825h80/images/system.img 0.479s INFO Verifying hash tree descriptor [*] Unpacking filesystem: /tmp/tmpr5825h80/system/raw.img [*] Unpacking AVB image: /tmp/tmpr5825h80/images/vendor.img 0.297s INFO Verifying hash tree descriptor [*] Unpacking filesystem: /tmp/tmpr5825h80/vendor/raw.img [*] Unpacking AVB image: /tmp/tmpr5825h80/images/vendor_boot.img 0.014s INFO Verifying hash descriptor [*] Unpacking boot image: /tmp/tmpr5825h80/vendor_boot/raw.img [*] Unpacking CPIO archive: /tmp/tmpr5825h80/vendor_boot/ramdisk.img.0 [*] Verifying SSH signature: .tmp/modules/custota.zip Good "file" signature for trusted with ED25519 key SHA256:Ct0HoRyrFLrnF9W+A/BKEiJmwx7yWkgaW/JvghKrboA [*] Injecting Custota: .tmp/modules/custota.zip [*] Adding RegularFile filesystem entry: /system/etc/permissions/privapp-permissions-com.chiller3.custota.xml [*] Adding RegularFile filesystem entry: /system/etc/sysconfig/config-com.chiller3.custota.xml [*] Adding Directory filesystem entry: /system/priv-app/com.chiller3.custota [*] Adding RegularFile filesystem entry: /system/priv-app/com.chiller3.custota/app-release.apk [*] Adding Custota SELinux rules: /tmp/tmpr5825h80/vendor/fs_tree/etc/selinux/precompiled_sepolicy [*] Adding Custota SELinux rules: /tmp/tmpr5825h80/vendor_boot/cpio_tree/sepolicy [*] Adding Custota seapp context: /tmp/tmpr5825h80/system/fs_tree/system/etc/selinux/plat_seapp_contexts [*] Verifying SSH signature: .tmp/modules/msd.zip Good "file" signature for trusted with ED25519 key SHA256:Ct0HoRyrFLrnF9W+A/BKEiJmwx7yWkgaW/JvghKrboA [*] Injecting MSD: .tmp/modules/msd.zip [*] Adding Directory filesystem entry: /system/priv-app/com.chiller3.msd [*] Adding RegularFile filesystem entry: /system/priv-app/com.chiller3.msd/app-release.apk [*] Adding RegularFile filesystem entry: /system/bin/msd-tool [*] Adding MSD SELinux rules: /tmp/tmpr5825h80/vendor/fs_tree/etc/selinux/precompiled_sepolicy [*] Adding MSD SELinux rules: /tmp/tmpr5825h80/vendor_boot/cpio_tree/sepolicy [*] Adding MSD seapp context: /tmp/tmpr5825h80/system/fs_tree/system/etc/selinux/plat_seapp_contexts [*] Adding RegularFile filesystem entry: /system/etc/init/msd_daemon.rc [*] Verifying SSH signature: .tmp/modules/bcr.zip Good "file" signature for trusted with ED25519 key SHA256:Ct0HoRyrFLrnF9W+A/BKEiJmwx7yWkgaW/JvghKrboA [*] Injecting BCR: .tmp/modules/bcr.zip [*] Adding RegularFile filesystem entry: /system/etc/permissions/privapp-permissions-com.chiller3.bcr.xml [*] Adding Directory filesystem entry: /system/priv-app/com.chiller3.bcr [*] Adding RegularFile filesystem entry: /system/priv-app/com.chiller3.bcr/app-release.apk [*] Adding RegularFile filesystem entry: /system/etc/init/bcr_remove_hard_restrictions.rc [*] Verifying SSH signature: .tmp/modules/oemunlockonboot.zip Good "file" signature for trusted with ED25519 key SHA256:Ct0HoRyrFLrnF9W+A/BKEiJmwx7yWkgaW/JvghKrboA [*] Injecting OEMUnlockOnBoot: .tmp/modules/oemunlockonboot.zip [*] Adding RegularFile filesystem entry: /system/bin/oemunlockonboot.apk [*] Adding RegularFile filesystem entry: /system/etc/init/oemunlockonboot.rc [*] Verifying SSH signature: .tmp/modules/alterinstaller.zip Good "file" signature for trusted with ED25519 key SHA256:Ct0HoRyrFLrnF9W+A/BKEiJmwx7yWkgaW/JvghKrboA [*] Injecting AlterInstaller: .tmp/modules/alterinstaller.zip [*] Adding RegularFile filesystem entry: /system/bin/alterinstaller.apk [*] Adding RegularFile filesystem entry: /system/etc/init/alterinstaller_backup.rc [*] Adding RegularFile filesystem entry: /system/etc/init/alterinstaller_exec.rc [*] Packing filesystem: /tmp/tmpr5825h80/system/raw.img [*] Packing AVB image: /tmp/tmpr5825h80/images/system.img 2.949s INFO Leaving AVB header unsigned [*] Packing filesystem: /tmp/tmpr5825h80/vendor/raw.img [*] Packing AVB image: /tmp/tmpr5825h80/images/vendor.img 1.749s INFO Leaving AVB header unsigned [*] Packing CPIO archive: /tmp/tmpr5825h80/vendor_boot/ramdisk.img.0 [*] Packing boot image: /tmp/tmpr5825h80/vendor_boot/raw.img [*] Packing AVB image: /tmp/tmpr5825h80/images/vendor_boot.img 0.048s INFO Leaving AVB header unsigned [*] Patching OTA with replaced images: system, vendor, vendor_boot: .tmp/bramble-ota_update-2024080600.patched.zip 0.001s INFO Replacing zip entry: META-INF/com/android/otacert 0.001s INFO Copying zip entry: apex_info.pb 0.001s INFO Copying zip entry: care_map.pb 0.001s INFO Patching zip entry: payload.bin 0.001s INFO Extracting from original payload: vbmeta 0.002s INFO Opening external image: vendor_boot: "/tmp/tmpr5825h80/images/vendor_boot.img" 0.002s INFO Opening external image: vendor: "/tmp/tmpr5825h80/images/vendor.img" 0.002s INFO Opening external image: system: "/tmp/tmpr5825h80/images/system.img" 0.002s INFO Extracting from original payload: boot 0.149s INFO Patching boot images: boot, vendor_boot 0.516s INFO Patching system image: system 3.372s INFO Patched otacerts.zip offsets in system: [572162048..572164003] 3.372s INFO Patching vbmeta images: vbmeta 3.387s INFO Compressing full image: vbmeta 3.389s INFO Compressing full image: vendor 3.389s INFO Needs updated CoW size estimate: vendor 20.628s INFO Compressing full image: system 20.628s INFO Needs updated CoW size estimate: system 51.061s INFO Compressing full image: vendor_boot 52.385s INFO Generating new OTA payload 55.775s INFO Patching zip entry: payload_properties.txt 55.775s INFO Generating new OTA metadata 55.788s INFO Verifying metadata offsets 55.789s INFO Successfully patched OTA [*] Generating Custota csig: .tmp/bramble-ota_update-2024080600.patched.zip.csig Verifying OTA signature... Device name: bramble Fingerprint: google/bramble/bramble:14/UP1A.231105.001.B2/2024080600:user/release-keys Security patch: 2023-12-01 Wrote: ".tmp/bramble-ota_update-2024080600.patched.zip.csig" [*] Generating Custota update info: .tmp/bramble.json Updated: ".tmp/bramble.json" Cleanup is disabled. Exiting... ➜ PixeneOS git:(main) ✗ cd .tmp ➜ .tmp git:(main) ✗ adb reboot bootloader error: no devices/emulators found ➜ .tmp git:(main) ✗ adb shell su -c 'dmesg | grep libfs_avb' /system/bin/sh: su: inaccessible or not found ➜ .tmp git:(main) ✗ adb reboot bootloader ➜ .tmp git:(main) ✗ avbroot ota extract \ --input ./bramble-ota_update-2024080600.patched.zip \ --directory extracted \ --fastboot --all 0.001s INFO Extracting from the payload: abl, aop, boot, devcfg, dtbo, featenabler, hyp, keymaster, modem, product, qupfw, system, system_ext, tz, uefisecapp, vbmeta, vendor, vendor_boot, xbl, xbl_config 8.484s INFO Successfully extracted OTA ➜ .tmp git:(main) ✗ sudo su Place your finger on the fingerprint reader Failed to match fingerprint Place your finger on the fingerprint reader bash: EXPORT: command not found (base) [root@fedora .tmp]# ANDROID_PRODUCT_OUT=extracted fastboot flashall --skip-reboot -------------------------------------------- Bootloader Version...: b5-0.6-10489838 ^C (base) [root@fedora .tmp]# ANDROID_PRODUCT_OUT=extracted fastboot flashall --skip-reboot < waiting for any device > -------------------------------------------- Bootloader Version...: b5-0.6-10489838 Baseband Version.....: g7250-00264-230619-B-10346159 Serial Number........: 0A051JECB17876 -------------------------------------------- Checking 'product' OKAY [ 0.070s] Setting current slot to 'a' OKAY [ 0.154s] Sending 'boot_a' (98304 KB) OKAY [142.366s] Writing 'boot_a' OKAY [ 0.579s] Sending 'dtbo_a' (16384 KB) OKAY [ 23.822s] Writing 'dtbo_a' OKAY [ 0.219s] Sending 'vbmeta_a' (8 KB) OKAY [ 0.140s] Writing 'vbmeta_a' OKAY [ 0.079s] Sending 'vendor_boot_a' (98304 KB) OKAY [142.386s] Writing 'vendor_boot_a' OKAY [ 0.575s] Rebooting into fastboot OKAY [ 0.070s] < waiting for any device > Resizing 'product_a' OKAY [ 0.006s] Sending sparse 'product_a' 1/3 (262112 KB) OKAY [ 8.372s] Writing 'product_a' OKAY [ 1.245s] Sending sparse 'product_a' 2/3 (262140 KB) OKAY [ 8.212s] Writing 'product_a' OKAY [ 1.274s] Sending sparse 'product_a' 3/3 (63368 KB) OKAY [ 1.998s] Writing 'product_a' OKAY [ 0.358s] Resizing 'system_a' OKAY [ 0.006s] Sending sparse 'system_a' 1/6 (262108 KB) OKAY [ 8.367s] Writing 'system_a' OKAY [ 1.261s] Sending sparse 'system_a' 2/6 (262124 KB) OKAY [ 8.223s] Writing 'system_a' OKAY [ 1.323s] Sending sparse 'system_a' 3/6 (262112 KB) OKAY [ 8.223s] Writing 'system_a' OKAY [ 1.330s] Sending sparse 'system_a' 4/6 (262100 KB) OKAY [ 8.231s] Writing 'system_a' OKAY [ 1.285s] Sending sparse 'system_a' 5/6 (262140 KB) OKAY [ 8.214s] Writing 'system_a' OKAY [ 1.263s] Sending sparse 'system_a' 6/6 (33880 KB) OKAY [ 1.081s] Writing 'system_a' OKAY [ 0.218s] Resizing 'system_ext_a' OKAY [ 0.005s] Sending sparse 'system_ext_a' 1/2 (262120 KB) OKAY [ 8.359s] Writing 'system_ext_a' OKAY [ 1.287s] Sending sparse 'system_ext_a' 2/2 (251068 KB) OKAY [ 7.997s] Writing 'system_ext_a' OKAY [ 1.196s] Resizing 'vendor_a' OKAY [ 0.044s] Sending sparse 'vendor_a' 1/4 (262100 KB) OKAY [ 8.331s] Writing 'vendor_a' OKAY [ 1.298s] Sending sparse 'vendor_a' 2/4 (262104 KB) OKAY [ 8.223s] Writing 'vendor_a' OKAY [ 1.297s] Sending sparse 'vendor_a' 3/4 (250876 KB) OKAY [ 7.880s] Writing 'vendor_a' OKAY [ 1.222s] Sending sparse 'vendor_a' 4/4 (12336 KB) OKAY [ 0.391s] Writing 'vendor_a' OKAY [ 0.144s] Finished. Total time: 453.528s (base) [root@fedora .tmp]# fastboot reboot Rebooting OKAY [ 0.001s] Finished. Total time: 0.151s (base) [root@fedora .tmp]# ANDROID_PRODUCT_OUT=extracted fastboot flashall --skip-reboot^C (base) [root@fedora .tmp]# adb reboot recovery (base) [root@fedora .tmp]# ls bramble.json keys bramble-ota_update-2024080600.patched.zip modules bramble-ota_update-2024080600.patched.zip.csig signatures bramble-ota_update-2024080600.zip tools extracted (base) [root@fedora .tmp]# exit ➜ .tmp git:(main) ✗ adb sideload bramble-ota_update-2024080600.patched.zip Total xfer: 2.00x ➜ .tmp git:(main) ✗ adb shell su -c 'dmesg | grep libfs_avb' /system/bin/sh: su: inaccessible or not found
➜ PixeneOS git:(main) ✗ src/main.sh GrapheneOS OTA target: `bramble-ota_update-2024080600` GrapheneOS OTA URL: https://releases.grapheneos.org/bramble-ota_update-2024080600.zip Constructing URL for `avbroot` as `avbroot` is non-existent at `.tmp`... URL for `avbroot`: https://github.com/chenxiaolong/avbroot/releases/download/v3.6.0/avbroot-3.6.0-x86_64-unknown-linux-gnu.zip Downloading `avbroot`... Extracting and granting permissions for `avbroot`... Cleaning up... `avbroot` downloaded. Verifying `avbroot`... Tool avbroot is a directory in `.tmp`. Verified. Constructing URL for `afsr` as `afsr` is non-existent at `.tmp`... URL for `afsr`: https://github.com/chenxiaolong/afsr/releases/download/v1.0.0/afsr-1.0.0-x86_64-unknown-linux-gnu.zip Downloading `afsr`... Extracting and granting permissions for `afsr`... Cleaning up... `afsr` downloaded. Verifying `afsr`... Tool afsr is a directory in `.tmp`. Verified. Constructing URL for `alterinstaller` as `alterinstaller` is non-existent at `.tmp`... URL for `alterinstaller`: https://github.com/chenxiaolong/alterinstaller/releases/download/v2.0/alterinstaller-2.0-release.zip Downloading `alterinstaller`... `alterinstaller` downloaded. Verifying `alterinstaller`... Tool `alterinstaller.zip` found and verified. Constructing URL for `custota` as `custota` is non-existent at `.tmp`... URL for `custota`: https://github.com/chenxiaolong/custota/releases/download/v4.8/custota-4.8-release.zip Downloading `custota`... `custota` downloaded. Verifying `custota`... Tool `custota.zip` found and verified. Constructing URL for `custota-tool` as `custota-tool` is non-existent at `.tmp`... URL for `custota-tool`: https://github.com/chenxiaolong/Custota/releases/download/v4.8/custota-tool-4.8-x86_64-unknown-linux-gnu.zip Downloading `custota-tool`... Extracting and granting permissions for `custota-tool`... Cleaning up... `custota-tool` downloaded. Verifying `custota-tool`... Tool custota-tool is a directory in `.tmp`. Verified. Constructing URL for `msd` as `msd` is non-existent at `.tmp`... URL for `msd`: https://github.com/chenxiaolong/msd/releases/download/v1.2/msd-1.2-release.zip Downloading `msd`... `msd` downloaded. Verifying `msd`... Tool `msd.zip` found and verified. Constructing URL for `bcr` as `bcr` is non-existent at `.tmp`... URL for `bcr`: https://github.com/chenxiaolong/bcr/releases/download/v1.69/bcr-1.69-release.zip Downloading `bcr`... `bcr` downloaded. Verifying `bcr`... Tool `bcr.zip` found and verified. Constructing URL for `oemunlockonboot` as `oemunlockonboot` is non-existent at `.tmp`... URL for `oemunlockonboot`: https://github.com/chenxiaolong/oemunlockonboot/releases/download/v1.1/oemunlockonboot-1.1-release.zip Downloading `oemunlockonboot`... `oemunlockonboot` downloaded. Verifying `oemunlockonboot`... Tool `oemunlockonboot.zip` found and verified. Constructing URL for `my-avbroot-setup` as `my-avbroot-setup` is non-existent at `.tmp`... URL for `my-avbroot-setup`: https://github.com/chenxiaolong/my-avbroot-setup Downloading `my-avbroot-setup`... Cloning into '.tmp/tools/my-avbroot-setup'... remote: Enumerating objects: 24, done. remote: Counting objects: 100% (24/24), done. remote: Compressing objects: 100% (17/17), done. remote: Total 24 (delta 16), reused 15 (delta 7), pack-reused 0 (from 0) Receiving objects: 100% (24/24), 25.07 KiB | 611.00 KiB/s, done. Resolving deltas: 100% (16/16), done. `my-avbroot-setup` downloaded. Verifying `my-avbroot-setup`... Tool my-avbroot-setup is a directory in `.tmp`. Verified. Downloading `magisk`... curl: option : blank argument where content is expected curl: try 'curl --help' for more information `magisk` downloaded. Verifying `magisk.apk`... Tool `magisk.apk` found and verified. GrapheneOS OTA target: `bramble-ota_update-2024080600` GrapheneOS OTA URL: https://releases.grapheneos.org/bramble-ota_update-2024080600.zip Downloading OTA from: https://releases.grapheneos.org/bramble-ota_update-2024080600.zip... Please be patient while the download happens. OTA downloaded to: `.tmp/bramble-ota_update-2024080600.zip` Magisk is enabled. Modifying the setup script... The script is not run from the `my-avbroot-setup` directory. Searching for the directory... Virtual environment not found in path ./.tmp/tools/my-avbroot-setup. Creating... [notice] A new release of pip is available: 23.3.2 -> 24.2 [notice] To update, run: pip install --upgrade pip Python module `tomlkit` is required to run this script. Installing... Collecting tomlkit Using cached tomlkit-0.13.2-py3-none-any.whl.metadata (2.7 kB) Using cached tomlkit-0.13.2-py3-none-any.whl (37 kB) Installing collected packages: tomlkit Successfully installed tomlkit-0.13.2 [notice] A new release of pip is available: 23.3.2 -> 24.2 [notice] To update, run: pip install --upgrade pip Decoding keys from base64... Error decoding base64 for AVB_BASE64 Error decoding base64 for CERT_OTA_BASE64 Error decoding base64 for OTA_BASE64 Decoded keys from base64. Extracting official keys... 0.001s INFO Extracting from the payload: abl, aop, boot, devcfg, dtbo, featenabler, hyp, keymaster, modem, product, qupfw, system, system_ext, tz, uefisecapp, vbmeta, vendor, vendor_boot, xbl, xbl_config 9.335s INFO Successfully extracted OTA Archive: .tmp/bramble-ota_update-2024080600.zip signed by SignApk extracting: .tmp/extracted/ota/META-INF/com/android/metadata extracting: .tmp/extracted/ota/META-INF/com/android/metadata.pb extracting: .tmp/extracted/ota/apex_info.pb extracting: .tmp/extracted/ota/care_map.pb extracting: .tmp/extracted/ota/payload.bin extracting: .tmp/extracted/ota/payload_properties.txt inflating: .tmp/extracted/ota/META-INF/com/android/otacert Patching OTA... [*] Verifying OTA: .tmp/bramble-ota_update-2024080600.zip 0.000s INFO Verifying whole-file signature 0.965s INFO Verifying payload 2.647s INFO Extracting partition images to temporary directory 2.647s INFO Extracting from the payload: abl, aop, boot, devcfg, dtbo, featenabler, hyp, keymaster, modem, product, qupfw, system, system_ext, tz, uefisecapp, vbmeta, vendor, vendor_boot, xbl, xbl_config 12.222s INFO Successfully extracted OTA 12.222s INFO Verifying partition hashes 13.466s INFO Checking ramdisk's otacerts.zip 13.598s INFO Verifying AVB signatures 13.599s INFO vbmeta has a signed vbmeta header 13.599s INFO Verifying hash tree descriptor for: system 13.599s INFO Verifying hash tree descriptor for: system_ext 13.599s INFO Verifying hash descriptor for: dtbo 13.599s INFO Verifying hash descriptor for: vendor_boot 13.599s INFO Verifying hash descriptor for: boot 13.599s INFO Verifying hash tree descriptor for: vendor 13.599s INFO Verifying hash tree descriptor for: product 18.284s INFO Signatures are all valid! [*] Unpacking OTA: .tmp/bramble-ota_update-2024080600.zip 0.001s INFO Extracting from the payload: abl, aop, boot, devcfg, dtbo, featenabler, hyp, keymaster, modem, product, qupfw, system, system_ext, tz, uefisecapp, vbmeta, vendor, vendor_boot, xbl, xbl_config 9.928s INFO Successfully extracted OTA [*] Unpacking AVB image: /tmp/tmpes0s2o5z/images/system.img 0.495s INFO Verifying hash tree descriptor [*] Unpacking filesystem: /tmp/tmpes0s2o5z/system/raw.img [*] Unpacking AVB image: /tmp/tmpes0s2o5z/images/vendor.img 0.335s INFO Verifying hash tree descriptor [*] Unpacking filesystem: /tmp/tmpes0s2o5z/vendor/raw.img [*] Unpacking AVB image: /tmp/tmpes0s2o5z/images/vendor_boot.img 0.012s INFO Verifying hash descriptor [*] Unpacking boot image: /tmp/tmpes0s2o5z/vendor_boot/raw.img [*] Unpacking CPIO archive: /tmp/tmpes0s2o5z/vendor_boot/ramdisk.img.0 [*] Verifying SSH signature: .tmp/modules/custota.zip Good "file" signature for trusted with ED25519 key SHA256:Ct0HoRyrFLrnF9W+A/BKEiJmwx7yWkgaW/JvghKrboA [*] Injecting Custota: .tmp/modules/custota.zip [*] Adding RegularFile filesystem entry: /system/etc/permissions/privapp-permissions-com.chiller3.custota.xml [*] Adding RegularFile filesystem entry: /system/etc/sysconfig/config-com.chiller3.custota.xml [*] Adding Directory filesystem entry: /system/priv-app/com.chiller3.custota [*] Adding RegularFile filesystem entry: /system/priv-app/com.chiller3.custota/app-release.apk [*] Adding Custota SELinux rules: /tmp/tmpes0s2o5z/vendor/fs_tree/etc/selinux/precompiled_sepolicy [*] Adding Custota SELinux rules: /tmp/tmpes0s2o5z/vendor_boot/cpio_tree/sepolicy [*] Adding Custota seapp context: /tmp/tmpes0s2o5z/system/fs_tree/system/etc/selinux/plat_seapp_contexts [*] Verifying SSH signature: .tmp/modules/msd.zip Good "file" signature for trusted with ED25519 key SHA256:Ct0HoRyrFLrnF9W+A/BKEiJmwx7yWkgaW/JvghKrboA [*] Injecting MSD: .tmp/modules/msd.zip [*] Adding Directory filesystem entry: /system/priv-app/com.chiller3.msd [*] Adding RegularFile filesystem entry: /system/priv-app/com.chiller3.msd/app-release.apk [*] Adding RegularFile filesystem entry: /system/bin/msd-tool [*] Adding MSD SELinux rules: /tmp/tmpes0s2o5z/vendor/fs_tree/etc/selinux/precompiled_sepolicy [*] Adding MSD SELinux rules: /tmp/tmpes0s2o5z/vendor_boot/cpio_tree/sepolicy [*] Adding MSD seapp context: /tmp/tmpes0s2o5z/system/fs_tree/system/etc/selinux/plat_seapp_contexts [*] Adding RegularFile filesystem entry: /system/etc/init/msd_daemon.rc [*] Verifying SSH signature: .tmp/modules/bcr.zip Good "file" signature for trusted with ED25519 key SHA256:Ct0HoRyrFLrnF9W+A/BKEiJmwx7yWkgaW/JvghKrboA [*] Injecting BCR: .tmp/modules/bcr.zip [*] Adding RegularFile filesystem entry: /system/etc/permissions/privapp-permissions-com.chiller3.bcr.xml [*] Adding Directory filesystem entry: /system/priv-app/com.chiller3.bcr [*] Adding RegularFile filesystem entry: /system/priv-app/com.chiller3.bcr/app-release.apk [*] Adding RegularFile filesystem entry: /system/etc/init/bcr_remove_hard_restrictions.rc [*] Verifying SSH signature: .tmp/modules/oemunlockonboot.zip Good "file" signature for trusted with ED25519 key SHA256:Ct0HoRyrFLrnF9W+A/BKEiJmwx7yWkgaW/JvghKrboA [*] Injecting OEMUnlockOnBoot: .tmp/modules/oemunlockonboot.zip [*] Adding RegularFile filesystem entry: /system/bin/oemunlockonboot.apk [*] Adding RegularFile filesystem entry: /system/etc/init/oemunlockonboot.rc [*] Verifying SSH signature: .tmp/modules/alterinstaller.zip Good "file" signature for trusted with ED25519 key SHA256:Ct0HoRyrFLrnF9W+A/BKEiJmwx7yWkgaW/JvghKrboA [*] Injecting AlterInstaller: .tmp/modules/alterinstaller.zip [*] Adding RegularFile filesystem entry: /system/bin/alterinstaller.apk [*] Adding RegularFile filesystem entry: /system/etc/init/alterinstaller_backup.rc [*] Adding RegularFile filesystem entry: /system/etc/init/alterinstaller_exec.rc [*] Packing filesystem: /tmp/tmpes0s2o5z/system/raw.img [*] Packing AVB image: /tmp/tmpes0s2o5z/images/system.img 3.713s INFO Leaving AVB header unsigned [*] Packing filesystem: /tmp/tmpes0s2o5z/vendor/raw.img [*] Packing AVB image: /tmp/tmpes0s2o5z/images/vendor.img 2.017s INFO Leaving AVB header unsigned [*] Packing CPIO archive: /tmp/tmpes0s2o5z/vendor_boot/ramdisk.img.0 [*] Packing boot image: /tmp/tmpes0s2o5z/vendor_boot/raw.img [*] Packing AVB image: /tmp/tmpes0s2o5z/images/vendor_boot.img 0.058s INFO Leaving AVB header unsigned [*] Patching OTA with replaced images: system, vendor, vendor_boot: .tmp/bramble-ota_update-2024080600.patched-dirty.zip 0.001s INFO Replacing zip entry: META-INF/com/android/otacert 0.001s INFO Copying zip entry: apex_info.pb 0.001s INFO Copying zip entry: care_map.pb 0.001s INFO Patching zip entry: payload.bin 0.002s INFO Opening external image: vendor: "/tmp/tmpes0s2o5z/images/vendor.img" 0.002s INFO Opening external image: system: "/tmp/tmpes0s2o5z/images/system.img" 0.002s INFO Extracting from original payload: boot 0.164s INFO Extracting from original payload: vbmeta 0.164s INFO Opening external image: vendor_boot: "/tmp/tmpes0s2o5z/images/vendor_boot.img" 0.164s INFO Patching boot images: boot, vendor_boot 0.546s INFO Patching system image: system 3.748s INFO Patched otacerts.zip offsets in system: [572162048..572164003] 3.748s INFO Patching vbmeta images: vbmeta 3.763s INFO Compressing full image: vbmeta 3.765s INFO Compressing full image: vendor_boot 5.476s INFO Compressing full image: system 5.476s INFO Needs updated CoW size estimate: system 42.497s INFO Compressing full image: vendor 42.497s INFO Needs updated CoW size estimate: vendor 59.896s INFO Generating new OTA payload 63.238s INFO Patching zip entry: payload_properties.txt 63.238s INFO Generating new OTA metadata 63.251s INFO Verifying metadata offsets 63.252s INFO Successfully patched OTA [*] Generating Custota csig: .tmp/bramble-ota_update-2024080600.patched-dirty.zip.csig Verifying OTA signature... Device name: bramble Fingerprint: google/bramble/bramble:14/UP1A.231105.001.B2/2024080600:user/release-keys Security patch: 2023-12-01 Wrote: ".tmp/bramble-ota_update-2024080600.patched-dirty.zip.csig" [*] Generating Custota update info: .tmp/bramble.json Created: ".tmp/bramble.json" Cleanup is disabled. Exiting...
Regarding Magisk not being installed.
This is a known issue. A fix will be added soon.
I've tried a few times and, I've successfully installed it. But it seems like it only downloads the OTA, and not the install
My env
export C_INCLUDE_PATH=/usr/lib/gcc/x86_64-redhat-linux/14/include export DEVICE_NAME=bramble export ADDITIONALS_ROOT=true export UPDATE_CHANNEL=stable export MAGISK_PREINIT=sda15
Complete Logs
➜ PixeneOS git:(main) ✗ source env ➜ PixeneOS git:(main) ✗ src/main.sh GrapheneOS OTA target: `bramble-ota_update-2024080600` GrapheneOS OTA URL: https://releases.grapheneos.org/bramble-ota_update-2024080600.zip Constructing URL for `avbroot` as `avbroot` is non-existent at `.tmp`... URL for `avbroot`: https://github.com/chenxiaolong/avbroot/releases/download/v3.5.0/avbroot-3.5.0-x86_64-unknown-linux-gnu.zip Downloading `avbroot`... Extracting and granting permissions for `avbroot`... replace .tmp/tools/avbroot/LICENSE? [y]es, [n]o, [A]ll, [N]one, [r]ename: Cleaning up... `avbroot` downloaded. Verifying `avbroot`... Tool avbroot is a directory in `.tmp`. Verified. Constructing URL for `afsr` as `afsr` is non-existent at `.tmp`... URL for `afsr`: https://github.com/chenxiaolong/afsr/releases/download/v1.0.0/afsr-1.0.0-x86_64-unknown-linux-gnu.zip Downloading `afsr`... Extracting and granting permissions for `afsr`... replace .tmp/tools/afsr/afsr? [y]es, [n]o, [A]ll, [N]one, [r]ename: Cleaning up... `afsr` downloaded. Verifying `afsr`... Tool afsr is a directory in `.tmp`. Verified. `alterinstaller.zip` file already exists in `.tmp/modules`. `custota.zip` file already exists in `.tmp/modules`. Constructing URL for `custota-tool` as `custota-tool` is non-existent at `.tmp`... URL for `custota-tool`: https://github.com/chenxiaolong/Custota/releases/download/v4.8/custota-tool-4.8-x86_64-unknown-linux-gnu.zip Downloading `custota-tool`... Extracting and granting permissions for `custota-tool`... replace .tmp/tools/custota-tool/custota-tool? [y]es, [n]o, [A]ll, [N]one, [r]ename: Cleaning up... `custota-tool` downloaded. Verifying `custota-tool`... Tool custota-tool is a directory in `.tmp`. Verified. `msd.zip` file already exists in `.tmp/modules`. `bcr.zip` file already exists in `.tmp/modules`. `oemunlockonboot.zip` file already exists in `.tmp/modules`. Constructing URL for `my-avbroot-setup` as `my-avbroot-setup` is non-existent at `.tmp`... URL for `my-avbroot-setup`: https://github.com/chenxiaolong/my-avbroot-setup Downloading `my-avbroot-setup`... fatal: destination path '.tmp/tools/my-avbroot-setup' already exists and is not an empty directory. `my-avbroot-setup` downloaded. Verifying `my-avbroot-setup`... Tool my-avbroot-setup is a directory in `.tmp`. Verified. Downloading `magisk`... curl: option : blank argument where content is expected curl: try 'curl --help' for more information `magisk` downloaded. Verifying `magisk.apk`... Tool `magisk.apk` found and verified. GrapheneOS OTA target: `bramble-ota_update-2024080600` GrapheneOS OTA URL: https://releases.grapheneos.org/bramble-ota_update-2024080600.zip OTA is already downloaded in: `.tmp/bramble-ota_update-2024080600.zip` Magisk is enabled. Modifying the setup script... The script is not run from the `my-avbroot-setup` directory. Searching for the directory... [notice] A new release of pip is available: 23.3.2 -> 24.2 [notice] To update, run: pip install --upgrade pip Decoding keys from base64... Error decoding base64 for AVB_BASE64 Error decoding base64 for CERT_OTA_BASE64 Error decoding base64 for OTA_BASE64 Decoded keys from base64. Patching OTA... [*] Verifying OTA: .tmp/bramble-ota_update-2024080600.zip 0.000s INFO Verifying whole-file signature 0.919s INFO Verifying payload 2.596s INFO Extracting partition images to temporary directory 2.596s INFO Extracting from the payload: abl, aop, boot, devcfg, dtbo, featenabler, hyp, keymaster, modem, product, qupfw, system, system_ext, tz, uefisecapp, vbmeta, vendor, vendor_boot, xbl, xbl_config 10.825s INFO Successfully extracted OTA 10.825s INFO Verifying partition hashes 12.126s INFO Checking ramdisk's otacerts.zip 12.270s INFO Verifying AVB signatures 12.271s INFO vbmeta has a signed vbmeta header 12.271s INFO Verifying hash descriptor for: vendor_boot 12.271s INFO Verifying hash descriptor for: dtbo 12.271s INFO Verifying hash tree descriptor for: product 12.271s INFO Verifying hash tree descriptor for: system_ext 12.271s INFO Verifying hash tree descriptor for: system 12.271s INFO Verifying hash descriptor for: boot 12.271s INFO Verifying hash tree descriptor for: vendor 17.028s INFO Signatures are all valid! [*] Unpacking OTA: .tmp/bramble-ota_update-2024080600.zip 0.001s INFO Extracting from the payload: abl, aop, boot, devcfg, dtbo, featenabler, hyp, keymaster, modem, product, qupfw, system, system_ext, tz, uefisecapp, vbmeta, vendor, vendor_boot, xbl, xbl_config 8.514s INFO Successfully extracted OTA [*] Unpacking AVB image: /tmp/tmpr5825h80/images/system.img 0.479s INFO Verifying hash tree descriptor [*] Unpacking filesystem: /tmp/tmpr5825h80/system/raw.img [*] Unpacking AVB image: /tmp/tmpr5825h80/images/vendor.img 0.297s INFO Verifying hash tree descriptor [*] Unpacking filesystem: /tmp/tmpr5825h80/vendor/raw.img [*] Unpacking AVB image: /tmp/tmpr5825h80/images/vendor_boot.img 0.014s INFO Verifying hash descriptor [*] Unpacking boot image: /tmp/tmpr5825h80/vendor_boot/raw.img [*] Unpacking CPIO archive: /tmp/tmpr5825h80/vendor_boot/ramdisk.img.0 [*] Verifying SSH signature: .tmp/modules/custota.zip Good "file" signature for trusted with ED25519 key SHA256:Ct0HoRyrFLrnF9W+A/BKEiJmwx7yWkgaW/JvghKrboA [*] Injecting Custota: .tmp/modules/custota.zip [*] Adding RegularFile filesystem entry: /system/etc/permissions/privapp-permissions-com.chiller3.custota.xml [*] Adding RegularFile filesystem entry: /system/etc/sysconfig/config-com.chiller3.custota.xml [*] Adding Directory filesystem entry: /system/priv-app/com.chiller3.custota [*] Adding RegularFile filesystem entry: /system/priv-app/com.chiller3.custota/app-release.apk [*] Adding Custota SELinux rules: /tmp/tmpr5825h80/vendor/fs_tree/etc/selinux/precompiled_sepolicy [*] Adding Custota SELinux rules: /tmp/tmpr5825h80/vendor_boot/cpio_tree/sepolicy [*] Adding Custota seapp context: /tmp/tmpr5825h80/system/fs_tree/system/etc/selinux/plat_seapp_contexts [*] Verifying SSH signature: .tmp/modules/msd.zip Good "file" signature for trusted with ED25519 key SHA256:Ct0HoRyrFLrnF9W+A/BKEiJmwx7yWkgaW/JvghKrboA [*] Injecting MSD: .tmp/modules/msd.zip [*] Adding Directory filesystem entry: /system/priv-app/com.chiller3.msd [*] Adding RegularFile filesystem entry: /system/priv-app/com.chiller3.msd/app-release.apk [*] Adding RegularFile filesystem entry: /system/bin/msd-tool [*] Adding MSD SELinux rules: /tmp/tmpr5825h80/vendor/fs_tree/etc/selinux/precompiled_sepolicy [*] Adding MSD SELinux rules: /tmp/tmpr5825h80/vendor_boot/cpio_tree/sepolicy [*] Adding MSD seapp context: /tmp/tmpr5825h80/system/fs_tree/system/etc/selinux/plat_seapp_contexts [*] Adding RegularFile filesystem entry: /system/etc/init/msd_daemon.rc [*] Verifying SSH signature: .tmp/modules/bcr.zip Good "file" signature for trusted with ED25519 key SHA256:Ct0HoRyrFLrnF9W+A/BKEiJmwx7yWkgaW/JvghKrboA [*] Injecting BCR: .tmp/modules/bcr.zip [*] Adding RegularFile filesystem entry: /system/etc/permissions/privapp-permissions-com.chiller3.bcr.xml [*] Adding Directory filesystem entry: /system/priv-app/com.chiller3.bcr [*] Adding RegularFile filesystem entry: /system/priv-app/com.chiller3.bcr/app-release.apk [*] Adding RegularFile filesystem entry: /system/etc/init/bcr_remove_hard_restrictions.rc [*] Verifying SSH signature: .tmp/modules/oemunlockonboot.zip Good "file" signature for trusted with ED25519 key SHA256:Ct0HoRyrFLrnF9W+A/BKEiJmwx7yWkgaW/JvghKrboA [*] Injecting OEMUnlockOnBoot: .tmp/modules/oemunlockonboot.zip [*] Adding RegularFile filesystem entry: /system/bin/oemunlockonboot.apk [*] Adding RegularFile filesystem entry: /system/etc/init/oemunlockonboot.rc [*] Verifying SSH signature: .tmp/modules/alterinstaller.zip Good "file" signature for trusted with ED25519 key SHA256:Ct0HoRyrFLrnF9W+A/BKEiJmwx7yWkgaW/JvghKrboA [*] Injecting AlterInstaller: .tmp/modules/alterinstaller.zip [*] Adding RegularFile filesystem entry: /system/bin/alterinstaller.apk [*] Adding RegularFile filesystem entry: /system/etc/init/alterinstaller_backup.rc [*] Adding RegularFile filesystem entry: /system/etc/init/alterinstaller_exec.rc [*] Packing filesystem: /tmp/tmpr5825h80/system/raw.img [*] Packing AVB image: /tmp/tmpr5825h80/images/system.img 2.949s INFO Leaving AVB header unsigned [*] Packing filesystem: /tmp/tmpr5825h80/vendor/raw.img [*] Packing AVB image: /tmp/tmpr5825h80/images/vendor.img 1.749s INFO Leaving AVB header unsigned [*] Packing CPIO archive: /tmp/tmpr5825h80/vendor_boot/ramdisk.img.0 [*] Packing boot image: /tmp/tmpr5825h80/vendor_boot/raw.img [*] Packing AVB image: /tmp/tmpr5825h80/images/vendor_boot.img 0.048s INFO Leaving AVB header unsigned [*] Patching OTA with replaced images: system, vendor, vendor_boot: .tmp/bramble-ota_update-2024080600.patched.zip 0.001s INFO Replacing zip entry: META-INF/com/android/otacert 0.001s INFO Copying zip entry: apex_info.pb 0.001s INFO Copying zip entry: care_map.pb 0.001s INFO Patching zip entry: payload.bin 0.001s INFO Extracting from original payload: vbmeta 0.002s INFO Opening external image: vendor_boot: "/tmp/tmpr5825h80/images/vendor_boot.img" 0.002s INFO Opening external image: vendor: "/tmp/tmpr5825h80/images/vendor.img" 0.002s INFO Opening external image: system: "/tmp/tmpr5825h80/images/system.img" 0.002s INFO Extracting from original payload: boot 0.149s INFO Patching boot images: boot, vendor_boot 0.516s INFO Patching system image: system 3.372s INFO Patched otacerts.zip offsets in system: [572162048..572164003] 3.372s INFO Patching vbmeta images: vbmeta 3.387s INFO Compressing full image: vbmeta 3.389s INFO Compressing full image: vendor 3.389s INFO Needs updated CoW size estimate: vendor 20.628s INFO Compressing full image: system 20.628s INFO Needs updated CoW size estimate: system 51.061s INFO Compressing full image: vendor_boot 52.385s INFO Generating new OTA payload 55.775s INFO Patching zip entry: payload_properties.txt 55.775s INFO Generating new OTA metadata 55.788s INFO Verifying metadata offsets 55.789s INFO Successfully patched OTA [*] Generating Custota csig: .tmp/bramble-ota_update-2024080600.patched.zip.csig Verifying OTA signature... Device name: bramble Fingerprint: google/bramble/bramble:14/UP1A.231105.001.B2/2024080600:user/release-keys Security patch: 2023-12-01 Wrote: ".tmp/bramble-ota_update-2024080600.patched.zip.csig" [*] Generating Custota update info: .tmp/bramble.json Updated: ".tmp/bramble.json" Cleanup is disabled. Exiting... ➜ PixeneOS git:(main) ✗ cd .tmp ➜ .tmp git:(main) ✗ adb reboot bootloader error: no devices/emulators found ➜ .tmp git:(main) ✗ adb shell su -c 'dmesg | grep libfs_avb' /system/bin/sh: su: inaccessible or not found ➜ .tmp git:(main) ✗ adb reboot bootloader ➜ .tmp git:(main) ✗ avbroot ota extract \ --input ./bramble-ota_update-2024080600.patched.zip \ --directory extracted \ --fastboot --all 0.001s INFO Extracting from the payload: abl, aop, boot, devcfg, dtbo, featenabler, hyp, keymaster, modem, product, qupfw, system, system_ext, tz, uefisecapp, vbmeta, vendor, vendor_boot, xbl, xbl_config 8.484s INFO Successfully extracted OTA ➜ .tmp git:(main) ✗ sudo su Place your finger on the fingerprint reader Failed to match fingerprint Place your finger on the fingerprint reader bash: EXPORT: command not found (base) [root@fedora .tmp]# ANDROID_PRODUCT_OUT=extracted fastboot flashall --skip-reboot -------------------------------------------- Bootloader Version...: b5-0.6-10489838 ^C (base) [root@fedora .tmp]# ANDROID_PRODUCT_OUT=extracted fastboot flashall --skip-reboot < waiting for any device > -------------------------------------------- Bootloader Version...: b5-0.6-10489838 Baseband Version.....: g7250-00264-230619-B-10346159 Serial Number........: 0A051JECB17876 -------------------------------------------- Checking 'product' OKAY [ 0.070s] Setting current slot to 'a' OKAY [ 0.154s] Sending 'boot_a' (98304 KB) OKAY [142.366s] Writing 'boot_a' OKAY [ 0.579s] Sending 'dtbo_a' (16384 KB) OKAY [ 23.822s] Writing 'dtbo_a' OKAY [ 0.219s] Sending 'vbmeta_a' (8 KB) OKAY [ 0.140s] Writing 'vbmeta_a' OKAY [ 0.079s] Sending 'vendor_boot_a' (98304 KB) OKAY [142.386s] Writing 'vendor_boot_a' OKAY [ 0.575s] Rebooting into fastboot OKAY [ 0.070s] < waiting for any device > Resizing 'product_a' OKAY [ 0.006s] Sending sparse 'product_a' 1/3 (262112 KB) OKAY [ 8.372s] Writing 'product_a' OKAY [ 1.245s] Sending sparse 'product_a' 2/3 (262140 KB) OKAY [ 8.212s] Writing 'product_a' OKAY [ 1.274s] Sending sparse 'product_a' 3/3 (63368 KB) OKAY [ 1.998s] Writing 'product_a' OKAY [ 0.358s] Resizing 'system_a' OKAY [ 0.006s] Sending sparse 'system_a' 1/6 (262108 KB) OKAY [ 8.367s] Writing 'system_a' OKAY [ 1.261s] Sending sparse 'system_a' 2/6 (262124 KB) OKAY [ 8.223s] Writing 'system_a' OKAY [ 1.323s] Sending sparse 'system_a' 3/6 (262112 KB) OKAY [ 8.223s] Writing 'system_a' OKAY [ 1.330s] Sending sparse 'system_a' 4/6 (262100 KB) OKAY [ 8.231s] Writing 'system_a' OKAY [ 1.285s] Sending sparse 'system_a' 5/6 (262140 KB) OKAY [ 8.214s] Writing 'system_a' OKAY [ 1.263s] Sending sparse 'system_a' 6/6 (33880 KB) OKAY [ 1.081s] Writing 'system_a' OKAY [ 0.218s] Resizing 'system_ext_a' OKAY [ 0.005s] Sending sparse 'system_ext_a' 1/2 (262120 KB) OKAY [ 8.359s] Writing 'system_ext_a' OKAY [ 1.287s] Sending sparse 'system_ext_a' 2/2 (251068 KB) OKAY [ 7.997s] Writing 'system_ext_a' OKAY [ 1.196s] Resizing 'vendor_a' OKAY [ 0.044s] Sending sparse 'vendor_a' 1/4 (262100 KB) OKAY [ 8.331s] Writing 'vendor_a' OKAY [ 1.298s] Sending sparse 'vendor_a' 2/4 (262104 KB) OKAY [ 8.223s] Writing 'vendor_a' OKAY [ 1.297s] Sending sparse 'vendor_a' 3/4 (250876 KB) OKAY [ 7.880s] Writing 'vendor_a' OKAY [ 1.222s] Sending sparse 'vendor_a' 4/4 (12336 KB) OKAY [ 0.391s] Writing 'vendor_a' OKAY [ 0.144s] Finished. Total time: 453.528s (base) [root@fedora .tmp]# fastboot reboot Rebooting OKAY [ 0.001s] Finished. Total time: 0.151s (base) [root@fedora .tmp]# ANDROID_PRODUCT_OUT=extracted fastboot flashall --skip-reboot^C (base) [root@fedora .tmp]# adb reboot recovery (base) [root@fedora .tmp]# ls bramble.json keys bramble-ota_update-2024080600.patched.zip modules bramble-ota_update-2024080600.patched.zip.csig signatures bramble-ota_update-2024080600.zip tools extracted (base) [root@fedora .tmp]# exit ➜ .tmp git:(main) ✗ adb sideload bramble-ota_update-2024080600.patched.zip Total xfer: 2.00x ➜ .tmp git:(main) ✗ adb shell su -c 'dmesg | grep libfs_avb' /system/bin/sh: su: inaccessible or not found
After I loaded the variables directly into declarations.sh (I also flashed this in both fastboot and with sideload)
➜ PixeneOS git:(main) ✗ src/main.sh GrapheneOS OTA target: `bramble-ota_update-2024080600` GrapheneOS OTA URL: https://releases.grapheneos.org/bramble-ota_update-2024080600.zip Constructing URL for `avbroot` as `avbroot` is non-existent at `.tmp`... URL for `avbroot`: https://github.com/chenxiaolong/avbroot/releases/download/v3.6.0/avbroot-3.6.0-x86_64-unknown-linux-gnu.zip Downloading `avbroot`... Extracting and granting permissions for `avbroot`... Cleaning up... `avbroot` downloaded. Verifying `avbroot`... Tool avbroot is a directory in `.tmp`. Verified. Constructing URL for `afsr` as `afsr` is non-existent at `.tmp`... URL for `afsr`: https://github.com/chenxiaolong/afsr/releases/download/v1.0.0/afsr-1.0.0-x86_64-unknown-linux-gnu.zip Downloading `afsr`... Extracting and granting permissions for `afsr`... Cleaning up... `afsr` downloaded. Verifying `afsr`... Tool afsr is a directory in `.tmp`. Verified. Constructing URL for `alterinstaller` as `alterinstaller` is non-existent at `.tmp`... URL for `alterinstaller`: https://github.com/chenxiaolong/alterinstaller/releases/download/v2.0/alterinstaller-2.0-release.zip Downloading `alterinstaller`... `alterinstaller` downloaded. Verifying `alterinstaller`... Tool `alterinstaller.zip` found and verified. Constructing URL for `custota` as `custota` is non-existent at `.tmp`... URL for `custota`: https://github.com/chenxiaolong/custota/releases/download/v4.8/custota-4.8-release.zip Downloading `custota`... `custota` downloaded. Verifying `custota`... Tool `custota.zip` found and verified. Constructing URL for `custota-tool` as `custota-tool` is non-existent at `.tmp`... URL for `custota-tool`: https://github.com/chenxiaolong/Custota/releases/download/v4.8/custota-tool-4.8-x86_64-unknown-linux-gnu.zip Downloading `custota-tool`... Extracting and granting permissions for `custota-tool`... Cleaning up... `custota-tool` downloaded. Verifying `custota-tool`... Tool custota-tool is a directory in `.tmp`. Verified. Constructing URL for `msd` as `msd` is non-existent at `.tmp`... URL for `msd`: https://github.com/chenxiaolong/msd/releases/download/v1.2/msd-1.2-release.zip Downloading `msd`... `msd` downloaded. Verifying `msd`... Tool `msd.zip` found and verified. Constructing URL for `bcr` as `bcr` is non-existent at `.tmp`... URL for `bcr`: https://github.com/chenxiaolong/bcr/releases/download/v1.69/bcr-1.69-release.zip Downloading `bcr`... `bcr` downloaded. Verifying `bcr`... Tool `bcr.zip` found and verified. Constructing URL for `oemunlockonboot` as `oemunlockonboot` is non-existent at `.tmp`... URL for `oemunlockonboot`: https://github.com/chenxiaolong/oemunlockonboot/releases/download/v1.1/oemunlockonboot-1.1-release.zip Downloading `oemunlockonboot`... `oemunlockonboot` downloaded. Verifying `oemunlockonboot`... Tool `oemunlockonboot.zip` found and verified. Constructing URL for `my-avbroot-setup` as `my-avbroot-setup` is non-existent at `.tmp`... URL for `my-avbroot-setup`: https://github.com/chenxiaolong/my-avbroot-setup Downloading `my-avbroot-setup`... Cloning into '.tmp/tools/my-avbroot-setup'... remote: Enumerating objects: 24, done. remote: Counting objects: 100% (24/24), done. remote: Compressing objects: 100% (17/17), done. remote: Total 24 (delta 16), reused 15 (delta 7), pack-reused 0 (from 0) Receiving objects: 100% (24/24), 25.07 KiB | 611.00 KiB/s, done. Resolving deltas: 100% (16/16), done. `my-avbroot-setup` downloaded. Verifying `my-avbroot-setup`... Tool my-avbroot-setup is a directory in `.tmp`. Verified. Downloading `magisk`... curl: option : blank argument where content is expected curl: try 'curl --help' for more information `magisk` downloaded. Verifying `magisk.apk`... Tool `magisk.apk` found and verified. GrapheneOS OTA target: `bramble-ota_update-2024080600` GrapheneOS OTA URL: https://releases.grapheneos.org/bramble-ota_update-2024080600.zip Downloading OTA from: https://releases.grapheneos.org/bramble-ota_update-2024080600.zip... Please be patient while the download happens. OTA downloaded to: `.tmp/bramble-ota_update-2024080600.zip` Magisk is enabled. Modifying the setup script... The script is not run from the `my-avbroot-setup` directory. Searching for the directory... Virtual environment not found in path ./.tmp/tools/my-avbroot-setup. Creating... [notice] A new release of pip is available: 23.3.2 -> 24.2 [notice] To update, run: pip install --upgrade pip Python module `tomlkit` is required to run this script. Installing... Collecting tomlkit Using cached tomlkit-0.13.2-py3-none-any.whl.metadata (2.7 kB) Using cached tomlkit-0.13.2-py3-none-any.whl (37 kB) Installing collected packages: tomlkit Successfully installed tomlkit-0.13.2 [notice] A new release of pip is available: 23.3.2 -> 24.2 [notice] To update, run: pip install --upgrade pip Decoding keys from base64... Error decoding base64 for AVB_BASE64 Error decoding base64 for CERT_OTA_BASE64 Error decoding base64 for OTA_BASE64 Decoded keys from base64. Extracting official keys... 0.001s INFO Extracting from the payload: abl, aop, boot, devcfg, dtbo, featenabler, hyp, keymaster, modem, product, qupfw, system, system_ext, tz, uefisecapp, vbmeta, vendor, vendor_boot, xbl, xbl_config 9.335s INFO Successfully extracted OTA Archive: .tmp/bramble-ota_update-2024080600.zip signed by SignApk extracting: .tmp/extracted/ota/META-INF/com/android/metadata extracting: .tmp/extracted/ota/META-INF/com/android/metadata.pb extracting: .tmp/extracted/ota/apex_info.pb extracting: .tmp/extracted/ota/care_map.pb extracting: .tmp/extracted/ota/payload.bin extracting: .tmp/extracted/ota/payload_properties.txt inflating: .tmp/extracted/ota/META-INF/com/android/otacert Patching OTA... [*] Verifying OTA: .tmp/bramble-ota_update-2024080600.zip 0.000s INFO Verifying whole-file signature 0.965s INFO Verifying payload 2.647s INFO Extracting partition images to temporary directory 2.647s INFO Extracting from the payload: abl, aop, boot, devcfg, dtbo, featenabler, hyp, keymaster, modem, product, qupfw, system, system_ext, tz, uefisecapp, vbmeta, vendor, vendor_boot, xbl, xbl_config 12.222s INFO Successfully extracted OTA 12.222s INFO Verifying partition hashes 13.466s INFO Checking ramdisk's otacerts.zip 13.598s INFO Verifying AVB signatures 13.599s INFO vbmeta has a signed vbmeta header 13.599s INFO Verifying hash tree descriptor for: system 13.599s INFO Verifying hash tree descriptor for: system_ext 13.599s INFO Verifying hash descriptor for: dtbo 13.599s INFO Verifying hash descriptor for: vendor_boot 13.599s INFO Verifying hash descriptor for: boot 13.599s INFO Verifying hash tree descriptor for: vendor 13.599s INFO Verifying hash tree descriptor for: product 18.284s INFO Signatures are all valid! [*] Unpacking OTA: .tmp/bramble-ota_update-2024080600.zip 0.001s INFO Extracting from the payload: abl, aop, boot, devcfg, dtbo, featenabler, hyp, keymaster, modem, product, qupfw, system, system_ext, tz, uefisecapp, vbmeta, vendor, vendor_boot, xbl, xbl_config 9.928s INFO Successfully extracted OTA [*] Unpacking AVB image: /tmp/tmpes0s2o5z/images/system.img 0.495s INFO Verifying hash tree descriptor [*] Unpacking filesystem: /tmp/tmpes0s2o5z/system/raw.img [*] Unpacking AVB image: /tmp/tmpes0s2o5z/images/vendor.img 0.335s INFO Verifying hash tree descriptor [*] Unpacking filesystem: /tmp/tmpes0s2o5z/vendor/raw.img [*] Unpacking AVB image: /tmp/tmpes0s2o5z/images/vendor_boot.img 0.012s INFO Verifying hash descriptor [*] Unpacking boot image: /tmp/tmpes0s2o5z/vendor_boot/raw.img [*] Unpacking CPIO archive: /tmp/tmpes0s2o5z/vendor_boot/ramdisk.img.0 [*] Verifying SSH signature: .tmp/modules/custota.zip Good "file" signature for trusted with ED25519 key SHA256:Ct0HoRyrFLrnF9W+A/BKEiJmwx7yWkgaW/JvghKrboA [*] Injecting Custota: .tmp/modules/custota.zip [*] Adding RegularFile filesystem entry: /system/etc/permissions/privapp-permissions-com.chiller3.custota.xml [*] Adding RegularFile filesystem entry: /system/etc/sysconfig/config-com.chiller3.custota.xml [*] Adding Directory filesystem entry: /system/priv-app/com.chiller3.custota [*] Adding RegularFile filesystem entry: /system/priv-app/com.chiller3.custota/app-release.apk [*] Adding Custota SELinux rules: /tmp/tmpes0s2o5z/vendor/fs_tree/etc/selinux/precompiled_sepolicy [*] Adding Custota SELinux rules: /tmp/tmpes0s2o5z/vendor_boot/cpio_tree/sepolicy [*] Adding Custota seapp context: /tmp/tmpes0s2o5z/system/fs_tree/system/etc/selinux/plat_seapp_contexts [*] Verifying SSH signature: .tmp/modules/msd.zip Good "file" signature for trusted with ED25519 key SHA256:Ct0HoRyrFLrnF9W+A/BKEiJmwx7yWkgaW/JvghKrboA [*] Injecting MSD: .tmp/modules/msd.zip [*] Adding Directory filesystem entry: /system/priv-app/com.chiller3.msd [*] Adding RegularFile filesystem entry: /system/priv-app/com.chiller3.msd/app-release.apk [*] Adding RegularFile filesystem entry: /system/bin/msd-tool [*] Adding MSD SELinux rules: /tmp/tmpes0s2o5z/vendor/fs_tree/etc/selinux/precompiled_sepolicy [*] Adding MSD SELinux rules: /tmp/tmpes0s2o5z/vendor_boot/cpio_tree/sepolicy [*] Adding MSD seapp context: /tmp/tmpes0s2o5z/system/fs_tree/system/etc/selinux/plat_seapp_contexts [*] Adding RegularFile filesystem entry: /system/etc/init/msd_daemon.rc [*] Verifying SSH signature: .tmp/modules/bcr.zip Good "file" signature for trusted with ED25519 key SHA256:Ct0HoRyrFLrnF9W+A/BKEiJmwx7yWkgaW/JvghKrboA [*] Injecting BCR: .tmp/modules/bcr.zip [*] Adding RegularFile filesystem entry: /system/etc/permissions/privapp-permissions-com.chiller3.bcr.xml [*] Adding Directory filesystem entry: /system/priv-app/com.chiller3.bcr [*] Adding RegularFile filesystem entry: /system/priv-app/com.chiller3.bcr/app-release.apk [*] Adding RegularFile filesystem entry: /system/etc/init/bcr_remove_hard_restrictions.rc [*] Verifying SSH signature: .tmp/modules/oemunlockonboot.zip Good "file" signature for trusted with ED25519 key SHA256:Ct0HoRyrFLrnF9W+A/BKEiJmwx7yWkgaW/JvghKrboA [*] Injecting OEMUnlockOnBoot: .tmp/modules/oemunlockonboot.zip [*] Adding RegularFile filesystem entry: /system/bin/oemunlockonboot.apk [*] Adding RegularFile filesystem entry: /system/etc/init/oemunlockonboot.rc [*] Verifying SSH signature: .tmp/modules/alterinstaller.zip Good "file" signature for trusted with ED25519 key SHA256:Ct0HoRyrFLrnF9W+A/BKEiJmwx7yWkgaW/JvghKrboA [*] Injecting AlterInstaller: .tmp/modules/alterinstaller.zip [*] Adding RegularFile filesystem entry: /system/bin/alterinstaller.apk [*] Adding RegularFile filesystem entry: /system/etc/init/alterinstaller_backup.rc [*] Adding RegularFile filesystem entry: /system/etc/init/alterinstaller_exec.rc [*] Packing filesystem: /tmp/tmpes0s2o5z/system/raw.img [*] Packing AVB image: /tmp/tmpes0s2o5z/images/system.img 3.713s INFO Leaving AVB header unsigned [*] Packing filesystem: /tmp/tmpes0s2o5z/vendor/raw.img [*] Packing AVB image: /tmp/tmpes0s2o5z/images/vendor.img 2.017s INFO Leaving AVB header unsigned [*] Packing CPIO archive: /tmp/tmpes0s2o5z/vendor_boot/ramdisk.img.0 [*] Packing boot image: /tmp/tmpes0s2o5z/vendor_boot/raw.img [*] Packing AVB image: /tmp/tmpes0s2o5z/images/vendor_boot.img 0.058s INFO Leaving AVB header unsigned [*] Patching OTA with replaced images: system, vendor, vendor_boot: .tmp/bramble-ota_update-2024080600.patched-dirty.zip 0.001s INFO Replacing zip entry: META-INF/com/android/otacert 0.001s INFO Copying zip entry: apex_info.pb 0.001s INFO Copying zip entry: care_map.pb 0.001s INFO Patching zip entry: payload.bin 0.002s INFO Opening external image: vendor: "/tmp/tmpes0s2o5z/images/vendor.img" 0.002s INFO Opening external image: system: "/tmp/tmpes0s2o5z/images/system.img" 0.002s INFO Extracting from original payload: boot 0.164s INFO Extracting from original payload: vbmeta 0.164s INFO Opening external image: vendor_boot: "/tmp/tmpes0s2o5z/images/vendor_boot.img" 0.164s INFO Patching boot images: boot, vendor_boot 0.546s INFO Patching system image: system 3.748s INFO Patched otacerts.zip offsets in system: [572162048..572164003] 3.748s INFO Patching vbmeta images: vbmeta 3.763s INFO Compressing full image: vbmeta 3.765s INFO Compressing full image: vendor_boot 5.476s INFO Compressing full image: system 5.476s INFO Needs updated CoW size estimate: system 42.497s INFO Compressing full image: vendor 42.497s INFO Needs updated CoW size estimate: vendor 59.896s INFO Generating new OTA payload 63.238s INFO Patching zip entry: payload_properties.txt 63.238s INFO Generating new OTA metadata 63.251s INFO Verifying metadata offsets 63.252s INFO Successfully patched OTA [*] Generating Custota csig: .tmp/bramble-ota_update-2024080600.patched-dirty.zip.csig Verifying OTA signature... Device name: bramble Fingerprint: google/bramble/bramble:14/UP1A.231105.001.B2/2024080600:user/release-keys Security patch: 2023-12-01 Wrote: ".tmp/bramble-ota_update-2024080600.patched-dirty.zip.csig" [*] Generating Custota update info: .tmp/bramble.json Created: ".tmp/bramble.json" Cleanup is disabled. Exiting...