Introduction
Duo's default SDK is built based on buildroot and is used to generate Duo's firmware. The SDK mainly contains the following parts:
- u-boot: 2021.10
- linux kernel: 5.10.4
- buildroot: 2021.05
- opensbi: 89182b2
Source code: github
SDK Directory Structure
├── build // compilation scripts and board configs
├── build.sh // one-click compilation script
├── buildroot-2021.05 // buildroot source code
├── freertos // freertos system
├── fsbl // fsbl firmware in prebuilt form
├── install // temporary images stored here
├── isp_tuning // camera effect parameters
├── linux_5.10 // linux kernel
├── middleware // self-developed multimedia framework
├── device // configuration files for milkv
├── opensbi // opensbi library
├── out // final image for SD card
├── ramdisk // prebuilt ramdisk
└── u-boot-2021.10 // u-boot source code
The current SDK does not support the ARM core of Duo256M and DuoS. If you need to use the ARM core, you can temporarily refer to this repositories:
duo-build: https://github.com/milkv-duo/duo-buildroot-sdk-v2
Build image
Prepare the Compilation Environment. Using a local Ubuntu system, the officially supported compilation environment is Ubuntu Jammy 22.04.x amd64
only!
If you are using other Linux distributions, we strongly recommend that you use the Docker environment to compile to reduce the probability of compilation errors.
The following describes the compilation methods in the two environments.