Building Anduril with Docker

It’s not, it’s the relative path to C:\Users\Charles
Now that I put the absolute path it works, thanks for pointing it out.

OK so this is fairly simple way to build Anduril on non Linux systems, with the exception of downloading the source code because the download link on Launchpad still doesn’t work (probably won’t ever at this point), I haven’t tried to install breezy but it looks overly complicated.

Edit : 3 builds failed : noctigon-k9.3-219, noctigon-k9.3-nofet and noctigon-k9.3, but maybe that’s unrelated.
Edit2 : yes they fail on Linux too.

Edit3 : download tarball now works.

Great!

The older Bazaar might be easier to use on Windows.

I have a mirror on GitHub: GitHub - SammysHP/flashlight-firmware: Git mirror of ToyKeeper's flashlight-firmware repository with additional changes
There you can download the source as an archive, for example the anduril2 branch: https://github.com/SammysHP/flashlight-firmware/archive/refs/heads/anduril2.zip

Indeed, these errors are unrelated. ToyKeeper has disabled the build for these targets as they don’t work.

That’s great. I’ll try this on raspbian when I get the chance.

The provided image is x86_64 only. But you can try building an image for ARM yourself as described in the README.

Last time I tried Bazaar explorer it gave some errors (or crashes), still the case.

Your mirror is with your modifications though ? And Gchart is on launchpad too so same problem.

Edit :

There is a typo in the first post there :

My modifications are in separate branches (see here for details). The anduril2 branch is a direct mirror of the upstream branch.

Thanks, fixed!

Ah, that’s great then

Just pointing out that now the download tarball link works on Launchpad: https://bazaar.launchpad.net/~toykeeper/flashlight-firmware/anduril2/files
View revision >download tarball.

3 Thanks

And I’d like to point out that there’s a fork of my image that works slightly different and is also available on Docker Hub:

2 Thanks

Thank you very very much for your tutorial SammysHP.
This is my first time compiling Anduril, I have zero experience in this field, I played with Arduino in the past, maybe that helps a little bit.

I’m using Windows 10.

I’d like to share my experience on this project, a total noobie in this kind of thing, ran into some difficulties, so hopefully this helps other noobies who want to taste the adventure of compiling their own Anduril hex files.




I ran into some trouble (noobie’s habbit :grin:) , basically I didn’t know what I was really doing :sob:. Many many years ago I played with VMware and Linux for a little bit. But now honestly I don’t know anything about this WSL thingy.
Then somehow I was brought here :

Manual installation steps for older versions of WSL

Followed the Steps and then my Docker is good.


This one’s the easiest part of this project :grin:
Thanks so much for your anduril-builder_v1.0_x86_64.tar.xz


This code didn’t work for me :
docker load < anduril-builder_v1.0_x86_64.tar.xz

I even tried
docker load > anduril-builder_v1.0_x86_64.tar.xz
, I was thinking : “maybe the “<” was accidentally inverted or some kind of typo”
:face_with_peeking_eye::face_with_peeking_eye: :face_with_peeking_eye:

Did a little bit of Google search and found something like this :
docker load -i anduril-builder_v1.0_x86_64.tar.xz
This one works on my Windows 10.
I used Powershell btw, not CMD Prompt.
I don’t know whether it’ll work with CMD Prompt or not.


I downloaded the latest version (Revision 657) @ 2023-05-08

It’s not difficult at all.
Thank you so much ToyKeeper for this amazing Anduril


My result :
===== 59 builds succeeded, 3 failed =====

Similar to the freeman’s result I guess


Now I have a bunch of hex files in the folder “spaghetti-monster\anduril”.
But there’s no hex file for Wurkkos TS10?
This is because there’s no cfg and hwdef for TS10, right?
What should I do to create ts10.hex ?
Should I download another “Revision” that contains cfg and hwdef files for TS10? Which Revision?
Or getting individual cfg and hwdef files from somewhere else?

Yes apparently Toykeeper hasn’t added it in her branch, it’s only in Gchart’s : ~gabe/flashlight-firmware/anduril2 : files for revision 631

1 Thank

Yup, exactly the same on my compile :
===== 59 builds succeeded, 3 failed =====
FAILED: noctigon-k9.3-219 noctigon-k9.3-nofet noctigon-k9.3

I don’t have Noctigon flashlight so it’s not a problem for me.

I’ll try Gchart’s branch later. Thanks for the link :+1::+1::+1:

I think I’ve read somewhere in a BLF thread about specifying hex file for a particular flashlight in the compile process. I don’t remember the thread (nor the code).
I mean if we want to create 1 hex file for TS10, instead of 59 files for so many flashlights, how do we do that?

You can add the target at the end of the command, target being what’s after ”cfg-”, you don’t need to type everything, for example :

docker run --rm -v /tmp/flashlight-firmware:/src anduril-builder wurkkos
Will compile all models that start by ”wurkkos”.

1 Thank

For testing I intentionally typed
… anduril-builder wurkkos

Result :
===== 0 builds succeeded, 0 failed =====

… anduril-builder sofirn

===== 3 builds succeeded, 0 failed =====

this is so much fun ! :grin::grin:

with source codes from Gchart’s branch (Rev 631) I get hex files for TS10 and TS25

is there any guidance/tutorial on modifying the cfg file (and/or any other file) to get a hex file with specific characteristic ?
For example, I want to disable/delete Bike Flasher and Lightning Storm from the Strobe Modes, which file should I mod?
What line of codes should I add/subtract/alter before compiling?

1 Thank

Have a look at my fork, it has a lot of modified functionality as well as a compilation of build flags to use to create an image with custom settings, and a few examples.

It’s kind of out of date for the LT1S Pro, I’ve been hacking on the new multichannel firmware to try and reproduce some of my features there and hopefully might have aomethimg worth releasing there by this weekend, but it includes other recent lights like the wurkkos ts10. For more complicated changes, it’s fairly well documented and easy to mod if you know C.

2 Thanks

Hallo,
thank you for your response,
I’ll check that…

I also read this thread

You’ve been very helpful there. I didn’t comment or asking question there, coz most of the time I don’t know what to ask. So I just read.

=====

After being able to Reflash my TS10 and SP10 Pro to Anduril 2, somehow I’ve become motivated to learn about compiling custom hex. I read a lot of threads to learn little by little about compiling Anduril hex file.

I downloaded Atmel Studio 7 but didn’t try to install it.
I found SammysHP’s Docker method here, it works,
so I don’t have the urge to check the Atmel Studio route.

Much like when flashing using USB - TTL adapter, ZFlasher, UPDI,
mine didn’t work without resistor.
Then it works great with additional 3.3k resistor between RX and TX,
so I never tried it with Schottky diode.

1 Thank