Building a software image in a Docker container

wget https://soft.infomir.com/stb/sdk/.docker/operator_utilities.tar.gz
gunzip -c operator_utilities.tar.gz | docker load

Examples of use

rootfs directory and uImage_magXXX.clean, env_magXXX.txt, logo.bmp.gz files - must be placed in the image build directory. For example, 544. If the argument is omitted (e.g., -v «$(pwd)/544/logo_amlogic.bmp.gz:/build/logo.bmp.gz:ro»), the logo will not be installed. If OPERATOR_KEY is not specified, the image will be automatically signed with the public key. The release_tr and release_fn directories specified in the argument (you can specify custom ones) will be created automatically.

First image (transitional) signed by «puplic key».

docker run -it --rm \
    -v "$HOME/.gnupg:/root/.gnupg:ro" \
    -v "$(pwd)/544/uImage_mag544.clean:/build/uImage.clean:ro" \
    -v "$(pwd)/544/rootfs-2.20.11-pub-544:/build/rootfs:ro" \
    -v "$(pwd)/544/env_mag544.txt:/build/env.txt:ro" \
    -v "$(pwd)/544/release_tr:/build/release" \
    -e MODEL=MAG544 \
    -e VERSION=221 \
    -e DESCRIPTION="test_docker_tr" \
    operator-utilities

Second image (final) signed by your «custom key».

docker run -it --rm \
    -v "$HOME/.gnupg:/root/.gnupg:ro" \
    -v "$(pwd)/544/uImage_mag544.clean:/build/uImage.clean:ro" \
    -v "$(pwd)/544/rootfs-2.20.11-pub-544:/build/rootfs:ro" \
    -v "$(pwd)/544/logo_amlogic.bmp.gz:/build/logo.bmp.gz:ro" \
    -v "$(pwd)/544/release_fn:/build/release" \
    -e MODEL=MAG544 \
    -e VERSION=221 \
    -e DESCRIPTION="test_docker_fn" \
    -e OPERATOR_KEY="Your_custom_key_ID" \
    -e CUSTOM_KEY=1 \
    operator-utilities

Archive contents:

.
├── 1.mk_tr.sh
├── 2.mk_fn.sh
└── 544
    ├── env_mag544.txt
    ├── logo_amlogic.bmp.gz
    ├── rootfs-2.20.11-pub-544
    └── uImage_mag544.clean

You simply need to make the necessary changes in rootfs, add your key to the rootfs in /usr/bin, make the necessary changes to the 1.mk_tr.sh and 2.mk_fn.sh scripts, and run them in the order they appear.