crDroid 12.9 (Unofficial)
General
I compiled crDroid for the SHIFTphone 8!Prerequisites
- unlocked bootloader (using this guide)
- (for the initial installation, a PC with fastboot configured according to this guide)
Download
https://drive.google.com/file/d/1y0gwSSORGadyGVrVlH-ciIl1rzLSoGU-/view?usp=sharingInstallation
Extract Payload
- extract the payload.bin file form the downloaded crDroidAndroid-[...]-otter-v12.[...].zip
- download payload-dumper-go from here
- put the payload-dumper-go executable in the same folder as the payload.bin
- execute
payload-dumper-go payload.bin
Flash Partitions
- reboot the device into bootloader mode
- check if the driver is correctly installed and the device is detected using
fastboot devices
this will wipe all your data 
inside the folder where the extracted images reside, execute these commands
Code:fastboot flash super super_empty.img fastboot flash abl_a abl.img fastboot flash aop_a aop.img fastboot flash bluetooth_a bluetooth.img fastboot flash boot_a boot.img fastboot flash cpucp_a cpucp.img fastboot flash devcfg_a devcfg.img fastboot flash dsp_a dsp.img fastboot flash dtbo_a dtbo.img fastboot flash featenabler_a featenabler.img fastboot flash hyp_a hyp.img fastboot flash imagefv_a imagefv.img fastboot flash keymaster_a keymaster.img fastboot flash modem_a modem.img fastboot flash multiimgoem_a multiimgoem.img fastboot flash qupfw_a qupfw.img fastboot flash qweslicstore_a qweslicstore.img fastboot flash shrm_a shrm.img fastboot flash tz_a tz.img fastboot flash uefisecapp_a uefisecapp.img fastboot flash vbmeta_a vbmeta.img fastboot flash vbmeta_system_a vbmeta_system.img fastboot flash vendor_boot_a vendor_boot.img fastboot flash xbl_config_a xbl_config.img fastboot flash xbl_a xbl.img fastboot flash abl_b abl.img fastboot flash aop_b aop.img fastboot flash bluetooth_b bluetooth.img fastboot flash boot_b boot.img fastboot flash cpucp_b cpucp.img fastboot flash devcfg_b devcfg.img fastboot flash dsp_b dsp.img fastboot flash dtbo_b dtbo.img fastboot flash featenabler_b featenabler.img fastboot flash hyp_b hyp.img fastboot flash imagefv_b imagefv.img fastboot flash keymaster_b keymaster.img fastboot flash modem_b modem.img fastboot flash multiimgoem_b multiimgoem.img fastboot flash qupfw_b qupfw.img fastboot flash qweslicstore_b qweslicstore.img fastboot flash shrm_b shrm.img fastboot flash tz_b tz.img fastboot flash uefisecapp_b uefisecapp.img fastboot flash vbmeta_b vbmeta.img fastboot flash vbmeta_system_b vbmeta_system.img fastboot flash vendor_boot_b vendor_boot.img fastboot flash xbl_config_b xbl_config.img fastboot flash xbl_b xbl.img fastboot format:ext4 metadata fastboot format:f2fs userdata fastboot --set-active=a fastboot reboot recovery pause
Update
Just flash the OTA ZIP in the recoverySource
- Device Tree - https://github.com/LineageOS/android_device_shift_otter/tree/lineage-23.2
- Kernel - https://github.com/LineageOS/android_kernel_shift_qcm6490/tree/lineage-23.2
- Blobs - https://github.com/TheMuppets/proprietary_vendor_shift_otter/tree/lineage-23.2
- Manifest - https://github.com/crdroidandroid/android/tree/16.0
Building
To compile it yourself you just have to follow these simple steps (and need a beefy PC)
- install Ubuntu (you can use Windows On Linux 2)
- execute the following commands
- install programs
Code:sudo apt install repo bc bison build-essential ccache curl flex g++-multilib gcc-multilib git git-lfs gnupg gperf imagemagick lib32ncurses-dev lib32readline-dev lib32z1-dev liblz4-tool libncurses6 libncurses-dev libsdl1.2-dev libssl-dev libwxgtk3.2-dev libxml2 libxml2-utils lzop pngcrush rsync schedtool squashfs-tools xsltproc zip zlib1g-dev -y - configure git
Code:git config --global user.email "you@example.com" git config --global user.name "Your Name" git lfs install git config --global trailer.changeid.key "Change-Id" - configure ccache
Code:rm ~/.cache/ccache mkdir -p ~/.cache/ccache/tmp echo export USE_CCACHE=1 >> ~/.bashrc echo export CCACHE_EXEC=/usr/bin/ccache >> ~/.bashrc echo export CPU_SSE42=false >> ~/.bashrc ccache -M 50G - configure working directory (note that mine residents in the folder /home/android/shift8, change accordingly)
Code:mkdir -p /home/android/shift8/crdroid cd /home/android/shift8/crdroid repo init -u https://github.com/crdroidandroid/android.git -b 16.0 --git-lfs --no-clone-bundle mkdir -p /home/android/shift8/crdroid/.repo/local_manifests cat <<EOF >>/home/android/shift8/crdroid/.repo/local_manifests/otter.xml <?xml version="1.0" encoding="UTF-8"?> <manifest> <project path="device/shift/otter" remote="github" name="LineageOS/android_device_shift_otter" revision="lineage-23.2" /> <project path="kernel/shift/qcm6490" remote="github" name="LineageOS/android_kernel_shift_qcm6490" revision="lineage-23.2" /> <project path="vendor/shift/otter" remote="github" name="TheMuppets/proprietary_vendor_shift_otter" revision="lineage-23.2" /> </manifest> EOF repo sync --current-branch -j8 --force-sync --force-checkout --force-remove-dirty --prune --auto-gc - optional - increase SWAP size (to 80GB) to prevent out of memory crashes
Code:sudo -s swapoff -a rm /swapfile fallocate -l 80G /swapfile chmod 600 /swapfile mkswap /swapfile swapon /swapfile
- install programs
- build! (and fix the incorrect ARCH_VARIANT before it)
Code:git -C ./device/shift/otter reset --hard HEAD git -C ./device/shift/otter clean -d --force sed -i 's/TARGET_2ND_ARCH_VARIANT := armv8-a/TARGET_2ND_ARCH_VARIANT := armv8-2a/' "./device/shift/otter/BoardConfig.mk" source build/envsetup.sh brunch otter
Zuletzt bearbeitet: