Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

363 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

1. Official reference

2. How to start

2.1 Build in Docker

sudo ./docker_build.sh sg2002_recamera_emmc

If you want to run the build script without sudo (recommended for convenience):

  1. Ensure Docker is installed and the daemon is running.
  2. Add your user to the docker group:
    sudo usermod -aG docker "$USER"
    # re-login OR run:
    newgrp docker
    docker info | grep -i 'server version'
  3. Then run without sudo:
    ./docker_build.sh sg2002_recamera_emmc

Temporary (not persistent) alternative if you cannot modify groups:

sudo setfacl -m user:$(id -un):rw /var/run/docker.sock

Rootless Docker (optional): follow official guide https://docs.docker.com/engine/security/rootless/ then run the same script (no sudo needed).

Troubleshooting:

  • Permission denied: ensure group change took effect (new shell) and groups shows docker.
  • Cannot connect to the Docker daemon: start service (sudo systemctl start docker) or rootless service (systemctl --user start docker).

2.2 Build in Dev Containers

Please refer to Dev Containers for more details.

2.3 Build in Host

2.3.1 Install Dependencies

  • Recommended OS: Ubuntu 20.04 LTS

  • Recommended C/C++: GCC/G++ >= 11.4.0

  • Recommended cmake: 3.31.2

  • Recommended minimum free space: 30 GB

  • Install dependencies

    sudo add-apt-repository ppa:ubuntu-toolchain-r/test
    sudo apt update
    sudo apt-get install -y pkg-config build-essential ninja-build automake autoconf libtool wget curl git libssl-dev bc squashfs-tools android-sdk-libsparse-utils \
        jq tclsh scons parallel ssh-client tree python3-dev python3-pip device-tree-compiler libssl-dev ssh cpio \
        squashfs-tools fakeroot flex bison mtools gcc-11 g++-11 libbz2-dev \
        android-sdk-ext4-utils python3-distutils slib libncurses5 rsync
    sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-11 60
    sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-11 60
    pip install cmake jinja2
  • Check evironment

    $ cmake --version
    cmake version 3.31.2
    
    $ gcc --version
    gcc (Ubuntu 11.4.0-2ubuntu1~20.04) 11.4.0
    
    $ g++ --version
    g++ (Ubuntu 11.4.0-2ubuntu1~20.04) 11.4.0

2.3.2 Checkout code

  • Clone the Repository

    git clone https://github.com/Seeed-Studio/reCamera.git -b sg200x-reCamera
    cd reCamera
    git submodule init
    git submodule update --depth 1
  • Update Submodules (optional)

    ./scripts/repo_clone.sh --gitpull external/subtree.xml

2.3.3 Build

  • Location of the ${project}_defconfig

    ls external/configs/
    sg2002_recamera_emmc_defconfig  sg2002_recamera_sd_defconfig  sg2002_xiao_sd_defconfig
  • Building the Project

    make ${project}

    Example:

    make sg2002_recamera_emmc
  • Location of the Build Targets

    ls -l output/${project}/install/soc_${project}/${project}

    Example:

    cd output/sg2002_recamera_emmc/install/soc_sg2002_recamera_emmc/
    ls -l *.zip
    sg2002_reCamera_0.0.1_emmc_ota.zip
    sg2002_reCamera_0.0.1_emmc_recovery.zip
    sg2002_reCamera_0.0.1_emmc_sd_compat.zip
    sg2002_reCamera_0.0.1_emmc.zip

2.4 Flashing

  • Booting from eMMC (Example: sg2002_reCamera_0.0.1_emmc.zip)

    • Install windows driver: CviUsbDownloadInstallDriver.zip
    • Unzip the CviBurn_v2.0_cli_windows.zip package.
    • Unzip the package generated by Section 2.3, for example: ./output/sg2002_recamera_emmc/install/soc_sg2002_recamera_emmc/sg2002_reCamera_0.0.1_emmc.zip
    • Execute the following command in Windows (use [-m xx:xx:xx:xx:xx:xx] to configure the Ethernet MAC address): usb_dl.exe -c cv181x -s linux -i ..\sg2002_reCamera_0.0.1_emmc [-m xx:xx:xx:xx:xx:xx]
  • SD Card recovery (Example: sg2002_reCamera_0.0.1_emmc_recovery.zip)

    • Use balenaEtcher to flash the sg2002_reCamera_0.0.1_emmc_recovery.zip file into the SD card.
    • Then insert the SD card into the board, and power on. It will automatically burn image into emmc.
  • Booting from SD Card (Example: sg2002_reCamera_0.0.1_emmc_sd_compat.zip)

    • Use balenaEtcher to flash the sg2002_reCamera_0.0.1_emmc_sd_compat.zip file into the SD card.
    • Then insert the SD card into the board, and power on. The board will booting from SD card.
  • OTA (Example: sg2002_reCamera_0.0.1_emmc_ota.zip)

    • This image is specifically designed for OTA updates via the WebUI.

Releases

Packages

Used by

Contributors

Languages