Building Anduril with Docker

stat: can’t stat ‘build-all.sh’: No such file or directory

Is /652/anduril2 the absolute path to the flashlight-firmware directory (which contains alexvh, bin, DrJones, dthoang, …)? I don’t know how files are accessed in Windows/WSL.

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