two environments:
git clone https://github.com/mnakada/atomcam_tools
cd atomcam_tools
make
then wait a long time for the development environment to compile and complete.
After its complete, run docker-compose up -d to start the docker instance.
To resume the instance, get the container ID from docker ps, and use docker exec -it <container_Id> /bin/bash
the following is translated from: https://github.com/mnakada/atomcam_tools/blob/71a1214f83a92704221cedcf5101e12ba40f2f38/build.md?plain=1#L200
In the Docker environment, / src is mapped to atomcam_tools /.
Below, basically the commands in Docker are executed from the following Directory.
root@ac0375635c01: / atomtools # cd / atomtools / build / buildroot -2016.02
rootfs uses gcc in Docker in a glibc environment. Gcc is also generated during build. gcc prefix is ** / atomtools / build / buildroot-2016.02 / output / host / usr / bin / mipsel-ingenic-linux-gnu-** is.
ATOM Cam's original system camera app iCamera_app is built in the uClibc environment.
Therefore, uClibc environment is required to build libcallback.so for hack of iCamera_app, so it is cloned separately. ** / atomtools / build / mips-gcc472-glibc216-64bit / bin / mips-linux-uclibc-gnu-** using.
When changing the config of initramfs and kernel
root @ ac0375635c01: / atomtools # make linux-rebuild
root@ac0375635c01: / atomtools # cp output / images / uImage.lzma /src
Will be built with and copied to atomcam_tools /.
If you modify the files in rootfs or the menuconfig of busybox
root@ac0375635c01: / atomtools # make
root@ac0375635c01: / atomtools # cp output / images / rootfs.ext2 /src
Will be built with and copied to atomcam_tools /.
Copy it to the SD Card with the names factory_t31_ZMC6tiIDQN and rootfs_hack.ext2 respectively.
If you change the package included in rootfs
root @ ac0375635c01: / atomtools # make menuconfig
root @ ac0375635c01: / atomtools # make
Will build rootfs.
For individual package rebuilds
root @ ac0375635c01: / atomtools # make < package > -rebuild
When changing settings such as busybox commands
root @ ac0375635c01: / atomtools # make busybox-menuconfig
root @ ac0375635c01: / atomtools # make
Will build rootfs.
When changing kernel settings
root @ ac0375635c01: / atomtools # make linux-menuconfig
root @ ac0375635c01: / atomtools # make linux-rebuild
Will generate uImage.lzma.
download https://buildroot.org/downloads/buildroot-2022.05.tar.xz
run make menuconfig
options should be:
Target Options:
Build Options:
Toolchain
Custom Kernel Headers Series
Target packages
Whatever packages you want!
Then select exit, save changes, and then run make and your compiled programs should be in output/target/usr/