Custom Bootloader
Make sure you have the bootloader unlocked or you will get soft brick!
Thanks to Roger Ortiz for developing the payload for our bootloader!
The custom bootloader protects the device from Hard Brick by preventing critical operations such as flashing the preloader and locking the bootloader without restoring the original firmware.
In addition, it extends the functionality by adding new options for customizing and managing the system.
Features​
- Blocks
fastboot flash preloader
- Removes orange state
- Spoofs verified state to green
- Block
fastboot flashing lock
- Adds
fastboot oem help
- Adds
fastboot oem hexdump
Install​
Prebuild images​
ChouChou v0.2
ChouChou v0.1
$ fastboot flash lk chouchou-UHA34.29-10.img
Manually build​
- Download your current firmware archive from lolinet
- Clone repository chouchou
- Transfer the
lk.img
file from the firmware archive to the directorychouchou
- Install dependencies
$ sudo pacman -S arm-none-eabi-newlib arm-none-eabi-gcc
- Build payload
$ cd payload; make; cd ..
- Patch stock lk
$ python3 patch_lk.py lk.img payload/build/payload.bin
base: 0x4c400000, size: 1072864, name: lk
payload injection point at 0x4c4f6400
0x4c427638 (pivot) bl 0x4c4f6400 (payload)
Writing 2238304 bytes to lk.img-patched... - Flash custom lk
$ fastboot flash lk lk.img-patched
Troubleshooting​
No image on the screen after flashing ChouChou​
In some regions, due to incompatibility between DTBO and LK, the screen may not display an image. To fix this, you need to flash the stock firmware from a compatible region (e.g. RETEU) via fastboot.
Some ChouChou functions do not work correctly​
On some firmware versions, not all ChouChou functions may not work correctly, as the offsets change with each update. However, the key mechanisms that prevent Hard Brick devices always remain working.
If you want to fix incompatibilities, you need to manually update the offsets and make a new build manually.