Skip to main content

Building a Mixtile OS Image

The Mixtile OS image sources are public, and one script builds any combination of board, distribution and edition. This page covers Edge 2; the same repository builds the other supported boards.

What you need​

  • An x86_64 computer running Ubuntu 24.04, with root access
  • An internet connection: the build downloads the kernel, U-Boot and all packages
note

The build host must be x86_64. Building on the board itself is not supported.

Install the build dependencies​

Host PC
sudo apt-get update
sudo apt-get install -y --no-install-recommends \
ca-certificates curl wget git file xz-utils zstd bzip2 patch lsb-release \
dctrl-tools mmdebstrap arch-test qemu-user-static binfmt-support \
debian-archive-keyring ubuntu-keyring gpg gpg-agent dirmngr apt-utils \
build-essential debhelper devscripts dpkg-dev fakeroot quilt \
gcc-aarch64-linux-gnu bc bison flex libssl-dev libelf-dev dwarves kmod \
cpio rsync python3 python3-dev python3-setuptools python3-pyelftools \
python-is-python3 swig libpython3-dev u-boot-tools device-tree-compiler \
libfdt-dev libgnutls28-dev uuid-dev parted fdisk gdisk dosfstools \
e2fsprogs uuid-runtime util-linux udev

Get the sources​

Host PC
git clone https://github.com/mixtile-rockchip/mixtile-os.git
cd mixtile-os

Build​

Host PC
sudo ./build.sh --board=mixtile-edge2 --suite=noble --flavor=server

All three options are required to build an image. To list the values an option accepts, pass help to it, for example:

Host PC
sudo ./build.sh --suite=help
OptionValues
--boardmixtile-edge2 for Edge 2. The same repository also builds mixtile-blade3 and mixtile-core3588e.
--suitenoble (Ubuntu 24.04 LTS), resolute (Ubuntu 26.04 LTS), bookworm (Debian 12), trixie (Debian 13)
--flavorserver, desktop

Additional flags:

FlagWhat it does
-c, --cleanRemove the existing build/ directory and build again from the start
-v, --verbosePrint every command as it runs
-h, --helpShow all options

sudo ./build.sh --help also lists options that build only the kernel, U-Boot or the root filesystem. They build parts of the image and are not needed to build a complete image.

What the image contains​

For Edge 2, the build uses the Rockchip vendor Linux 6.1 kernel, with the device tree rk3568-mixtile-edge2, and U-Boot for the mixtile-edge2-rk3568 target. The board configuration is config/boards/mixtile-edge2.sh in the repository.

Output​

The image and its checksum are written to images/. They are named <distribution>-<version>-<flavor>-arm64-mixtile-edge2.img.xz, the same as the published releases. For the command above:

images/ubuntu-24.04-server-arm64-mixtile-edge2.img.xz
images/ubuntu-24.04-server-arm64-mixtile-edge2.img.xz.sha256

A log of each build is kept in build/logs/.

Extract the archive and write it to the board as described in Flashing an OS Image.