blob: 4073e069af244966e301af596e8cbcab8cdb626e [file] [log] [blame]
Franklin Weic5ed45d2019-07-28 15:39:25 -04001Docker build client
2===================
3
4This directory builds a Docker container image for a Rockbox build
Franklin Wei02a69852019-07-21 18:17:37 -04005client with all toolchains except android.
6
7There is a pre-built client available as built1n/rbclient on Docker
8Hub if you would like to avoid having to build all the toolchains. See
Franklin Weic5ed45d2019-07-28 15:39:25 -04009below for how to pull and run it.
Franklin Wei02a69852019-07-21 18:17:37 -040010
Franklin Weic5ed45d2019-07-28 15:39:25 -040011Building from scratch
12=====================
Franklin Wei02a69852019-07-21 18:17:37 -040013
Franklin Weic5ed45d2019-07-28 15:39:25 -0400141. Make sure you have Docker installed and running (i.e. `systemctl
15start docker').
Franklin Wei02a69852019-07-21 18:17:37 -040016
Franklin Weic5ed45d2019-07-28 15:39:25 -0400172. Build the image:
Franklin Wei02a69852019-07-21 18:17:37 -040018
Franklin Weic5ed45d2019-07-28 15:39:25 -040019 docker build . -t myclient
Franklin Wei02a69852019-07-21 18:17:37 -040020
Franklin Weic5ed45d2019-07-28 15:39:25 -040021 This will build the image and tag it as `myclient.' The build process
22 can take several hours, as it downloads and compiles every Rockbox
23 toolchain. Fortunately, Docker will cache intermediate images, saving
24 you work if you must rebuild.
Franklin Wei02a69852019-07-21 18:17:37 -040025
Franklin Weic5ed45d2019-07-28 15:39:25 -0400263. Run your image:
Franklin Wei02a69852019-07-21 18:17:37 -040027
Franklin Weic5ed45d2019-07-28 15:39:25 -040028 docker run -e USER=your username -e PASS=anything -e NAME=clientname \
29 myclient
30
31 This will spin up a build image container in the background.
Franklin Wei02a69852019-07-21 18:17:37 -040032
33 You can also run a bash shell interactively by issuing:
34
Franklin Weic5ed45d2019-07-28 15:39:25 -040035 docker run -it myclient bash
Franklin Wei02a69852019-07-21 18:17:37 -040036
Franklin Weic5ed45d2019-07-28 15:39:25 -040037 This will drop you into a fully-equipped Rockbox development
Franklin Wei02a69852019-07-21 18:17:37 -040038 environment.
39
Franklin Weic5ed45d2019-07-28 15:39:25 -040040Prebuilt image
41==============
Franklin Wei02a69852019-07-21 18:17:37 -040042
Franklin Weic5ed45d2019-07-28 15:39:25 -040043Run:
Franklin Weie499b752019-07-28 15:31:30 -040044
Franklin Weic5ed45d2019-07-28 15:39:25 -040045 docker pull built1n/rbclient
46
47This will download a pre-built image from Docker Hub (fairly large,
48will take some time). You can then use all the commands above, with
49`myclient' replaced with `built1n/rbclient'.