# BPI-M2C SDK Detailed setup/process record: `QUBOT_SETUP_RECORD.md` The complete checked-out SDK source is under `source_sync_rls_25c/`. All former `repo` projects are committed as normal directories in this monorepo. Source selected from the validated local workspace: - Local reference: `/media/pi/SMCI/bpi/unisoc/sync-20260524/source_sync_rls_25c` - Manifest URL: `https://git.unisoc.com/gerrit/platform/cus-manifest` - Manifest branch: `bananapi/unc_linux_rls_25c` - Manifest file: `default.xml` - Build target: `uis7885_2h10+wayland+wayland+sec+uboot22 userdebug` The target above matches the local BPI-M2C PAC build that produced: `out/target/product/uis7885-2h10/cp_sign/QOGIRN6PRO_UIS7885_2H10_SEC/uis7885_2h10+wayland+wayland+sec+uboot22-userdebug-native_QOGIRN6PRO_UIS7885_2H10_SEC.pac` ## Setup ```bash cd BPI-M2C ./scripts/install_unisoc_deps_ubuntu2204.sh ``` ## Download or update source ```bash cd BPI-M2C ./scripts/sync_rls25c.sh ``` The script runs `repo init` and `repo sync` with the same manifest branch and file used by the local `sync-20260524` workspace. If the local validated source is copied with rsync first, the same script can still be used later to update the tree. ## Build Foreground build: ```bash cd BPI-M2C ./scripts/build_bpi_m2c_rls25c.sh ``` Detached build: ```bash cd BPI-M2C ./scripts/start_build_bpi_m2c_rls25c.sh ``` Detached sync followed by build: ```bash cd BPI-M2C ./scripts/start_sync_then_build_bpi_m2c_rls25c.sh ``` Logs are written under: `logs/` ## Notes - Keep the checkout on a filesystem with ample free space; full builds are large. - The build uses `/usr/bin/python` for the Halo TA signing step. Python 3 and `Crypto.Signature` are required.