Build system
a build system is a framework for producing full os disk images for various supported hardware platforms it consists of build scripts and several github repositories containing os components such as the bootloader, linux kernel, patches, packages, and more the output of the build system is a disk image file that can be written to a microsd card or flashed directly to a device's internal flash memory via usb using rockchip’s built in maskrom mode disk images include two linux kernels (mainline kernel 7 0 and bsp kernel 6 1), between which you can switch from the terminal or via the u boot menu you can either download a prebuilt os image from our public build server docid\ isvwirz7zz0je7grahigs or build your own image locally docid\ tem3oaprttfsdvuinbejc os disk image build flow the os images are built using scripts from the flipperone linux build scripts https //github com/flipperdevices/flipperone linux build scripts repository these scripts fetch sources from multiple additional repositories, compile the code, and assemble the resulting artifacts into full disk images for all supported boards os disk image build flow diagram the build system flow consists of steps required for building a full disk image from scratch build the u boot bootloader image it includes rockchip rk3576 binaries, trusted firmware for arm, and open source upstream u boot sources each supported board needs a separate u boot image get & compile the mainline linux kernel we use the latest release (7 0 0 as of now) fork sources from linus torvalds with some of our patches not yet in mainline get & compile the bsp linux kernel this kernel (6 1 118 for now) includes rockchip's kernel sources, the dts (device tree source) file for each supported board, and our patches for the bsp kernel build the full disk images it uses debos to build the image that includes all of the above, and drops in some extra testing scripts (temperature monitoring and tests for power consumption, cpu, gpu, network, and disk i/o performance) the flipper os image files are stored in the out/images directory os image file naming os disk image build flow diagram the os image filename consists of several parts let’s break them down using the example above debian — indicates that the image is based on the debian linux distribution 4096 — the data block size in bytes it can be either 512 for sd card and emmc images, or 4096 for ufs images nanopi m5 — the target name of the board for which the image is built a list of supported target names can be found on the supported boards docid 5zr6i3iehbjbwmr3n9bd page build — a keyword indicating that the following value represents the build id 1034 — the build id it consists of a sequential build number and an optional textual label, such as test dp , test interconnect , etc each disk image is accompanied by a bmap file that contains a map of the used data blocks using the img gz image together with the bmap file speeds up the flashing process by skipping unused blocks public build server the official os build server web interface is available at https //linux images flipp dev/ https //linux images flipp dev/ we use buildbot as our continuous integration (ci) framework to automate the build process this web interface allows you to monitor the status of os image builds os buildbot the images produced by each build are uploaded to a public web server, where they can be downloaded https //dl linux images flipp dev/full img/ https //dl linux images flipp dev/full img/ os build list each build is stored in a separate directory, where the directory name matches the build id by default, buildbot monitors each of the git repositories labeled with a ⚡ icon on the image build diagram for any changes (by polling them every 5 minutes), and rebuilds any components affected by a change
Have a question?
Our support team and an awesome community will get you an answer in a flash. Please leave your questions in English.
To ask a question or participate in discussions, you'll need to authenticate first.