aboutsummaryrefslogtreecommitdiff

trimui toolchain Docker image

Installation

With Docker installed and running, make shell builds the toolchain and drops into a shell inside the container. The container's ~/workspace is bound to ./workspace by default. The toolchain is located at /opt/trimui-toolchain inside the container, libraries are in /opt/trimui-toolchain/arm-buildroot-linux-gnueabi/sysroot/usr/lib/.

After building the first time, unless a dependency of the image has changed, make shell will skip building and drop into the shell.

Workflow

  • On your host machine, clone repositories into ./workspace and make changes as usual.
  • In the container shell, find the repository in ~/workspace and build as usual.
  • Optionally, source ~/env-setup.sh in the shell to set common cross-compiling and path variables.

Installing extra packages

To install extra packages into your container, add the ubuntu package names to ./extra_packages.txt, one per line. They will be installed the next time you start a new shell. To keep git from tracking your changes to this file, run git update-index --skip-worktree ./extra_packages.txt.

Adding libraries to the toolchain sysroot

Put files that you want included in the sysroot (libs and headers, you've built, etc.) in ./extras. They will be copied to $SYSROOT/usr as the container is built.

Changing the buildroot configuration

In ~/buildroot:

  • make menuconfig, change options
  • make savedefconfig BR2_DEFCONFIG=../workspace/defconfig

Then, on the host, copy ./workspace/defconfig to ./trimui_config/configs/trimui_defconfig.

Docker for Mac

Docker for Mac has a memory limit that can make the toolchain build fail. Follow these instructions to increase the memory limit.