Building Anduril with Docker

What was the command you used to run it?

docker run --rm --pull=always -v E:\light_fw\tk\anduril-2023-12-17:/src -it siterelenby/anduril-builder:debian avr32dd20-devkit

It works after manually installing the DFPs.
This will save me a lot of time, thank you so much @wolfgirl42

1 Thank

Running it with dfp as its argument (instead of avr32dd20-devkit) should download and install the DFP.

But I thought that @wolfgirl42’s image already includes it.

1 Thank

I tried that but it didn’t work (I don’t remember the error/not on my pc right now)

edit : /src/bin/dfp-install.sh: 22: wget: not found

The current version didn’t bundle them, I just made a minimalistic image based on debian with TK’s versions.

@thefreeman building image again with DFP dependencies. Sorry for the confusion there, I already had the DFP installed when I tested the docker image, looks like. Should be able to run the DFP install with the new version, might take 10-15 mins from this post to appear on docker hub, then just run it again and it’ll get the new version.

Moving forward it might be easiest to bundle the DFP with the docker image, I guess, unless we agree to standardise on a libc version that doesn’t need it.

1 Thank

Unfortunately avr-libc is pretty much unmaintained, with the last commit 1.5 years ago. In theory it should support the DD series, in practice it hasn’t worked for me so far. I think there are some differences in the definitions between DFP and avr-libc and if @ToyKeeper uses the avr-libc versions, it might compile fine.

1 Thank

Indeed, thanks :+1:

I see it hasn’t been touched in several years, is it still working well?

I am looking at ways to compile anduril and also test them in IDE more comfortable to edit and test at the same time.

Thanks for your work.

Use Wolfgirl’s docker image : Building Anduril with Docker - #58 by wolfgirl42

3 Thanks

It has been touched quite recently (not in the master branch). But no new release yet. I wanted to tune it a little more and ideally get consensus on a specific environment.

2 Thanks

Yeah, it’s definitely something we should standardise.

Right now there are two different tags of my fork of the docker builder: latest is the one that is built on Alpine Linux and uses a specific gcc version that produced some of the smallest image sizes and based on @SammysHP 's version with some additional QOL and error checking, and debian is based on Debian and is a reproduction of ToyKeeper’s specific build environment in terms of package versions, which I created to troubleshoot some issues building for avr32dd20.

1 Thank

Its already done ages ago, It calls Windows!

Atmel Studio hasn’t been updated since 2022. Seems like eternity … maybe its ded? I kinda wonder if this was inevitable since Microchip bought Atmel. Have you tried MPLAB X IDE (which runs on Linux / Windoze / Mac).

What do you mean no updates? It supports all MCUs.

1 Thank

Thats installer, but database is updatable. Maybe latter ill try MPLAB but at quick look its similar. But yes its good that it can run on all platforms. Everyone can use it on any PC.

i.e. in terms of different compiler and libc versions, because different compiler versions will apply different optimisation strategies, as well as different libc versions having different MCU compatibility.

Thanks for providing this resource, I’ve been using this docker container for all builds and haven’t had to worry about dependencies.

Combined with docker-machine on an older version of mac os (12) it’s running great.

I still haven’t got Docker working on my windows laptop, but I have managed to build and flash with a somewhat streamlined toolchain on Windows. I have the following installed:

MINGW/MSYS2
AVR8 toolchain from Microchip (in system PATH)
Avrdude
Your choice of Git or GitHub Desktop.

With these installed I was able to build using the makefile in the MINGW bash terminal, then flash using Avrdude in powershell (AVRDUDESS is currently having a disagreement with the port the CH340 flasher is on, my C232HM cable works fine)