If a developer is interested to contribute towards Whonix on Mac M1 (ARM) support, this forum thread can be used.
This forum thread is for developers only.
The latest best development news is still:
Which if merged would be super helpful for Whonix on Mac M1 (ARM) support. Even if not merged (soon), if there was a Whonix for Mac M1 (ARM) maintainer, I would accept carrying a mini fork of grml-debootstrap in derivative-maker help-steps folder.
Other than that, I am not aware of any contributor working on Whonix for Mac M1 (ARM) support. So no progress should be expected until that changes.
These are essential for Whonix as these define the VM settings such as these being linked together and other potentially security (or usability) related settings.
Today I pulled 17.1.1.5-developers-only and built two UTM packages for Intel_AMD64 that run great on my Intel Hackintosh via QEMU in UTM. I did have to change the version in packages/kicksecure/tb-updater/usr/share/tb-updater/tbb_hardcoded_version to get the build to work, seems Tor doesnāt keep old versions on their server unfortunately. But I anyway see this is fixed upstream and I could have also used --tb open.
I did this rather than trying with arm64 first because Iām mainly working from my desktop these days, and after a busy period in life had some time to explore contributing to Whonix again.
I pushed some WIP changes to my fork of libvirt-dist: GitHub - GavinPacini/whonix-libvirt at feat/utm-intel-amd64 - Iām successfully running the Intel_AMD64 versions of these configs. I havenāt tested the new arm64 configs just yet, but they should work as the diff is really just upgrading the config format for versions of UTM >=4. Iām testing out cross-compiling arm64 builds from my Intel machine, but itās taking a long time to build. Iāll pull my changes onto my M1 Mac soon to test them there.
UTM filenames now includes .arm64. Wonāt this require derivative-maker changes in help-steps/variables under source_utm_file?
If not too much work, could you please also provide (update the existing) plist files for Kicksecure? Thatās useful to not have too many special cases for the build script and could be useful for testing / comparison too.
Git commits show youāre ahead by 1 commit but also behind, missing out on a few changes since. Could later lead to merge conflicts.
Good point, I should have realized the diff was super small, my bad. Iāve gone ahead and updated my libvirt-dist and derivative-maker PRs to use a template file and sed so that we can just have one file for each flavor. I canāt find a way to get UTM to fill them in unfortunately.
I am not a huge fan of sed string manipulation (helper-scriptsās str_replace is a bit better but besides the point) but I guess in this case both solutions (duplicate files with almost same content) versus string are both non-ideal with string manipulation being the better option so thatās an improvement.
I hear you, me neither but in this case felt fine considering we shouldnāt need to change these files / strings often. If we do, Iād say we call an XML parser which lets us target the specific element we want to change, or go back to two files.
As an aside, I canāt build master right now. Seems to be that some packages depend on debhelper (>= 13.11.6). But, the most recent stabledebhelper is 13.11.4. Do you use the backport or testing source? Or am I missing something else? Thanks!
I didnāt get this on the most recent tag 17.1.1.5-developers-only.
Iāve installed version 13.11.8~bpo12+1 of debhelper on my build machine, but still no luck. I also tried make_use_cowbuilder=true ./derivative-maker --flavor whonix-gateway-xfce --target utm --arch arm64 --repo true --allow-uncommitted true --allow-untagged true.
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:
The following packages have unmet dependencies:
builddeps:/build/apparmor-profile-dist_8.9-1.dsc : Depends: debhelper (>= 13.11.6) but 13.11.4 is to be installed
I think I need to change the version of debhelper somewhere else but frankly not sure how.
Got a tar archive which once decompressed had the .utm package. A simple double click opened it and it booted perfectly in UTM.
What would we need to do next to get builds downloadable for users?
A cool distribution method could be the utm:// scheme. You can see an example of it on UTMās gallery here: Debian 10.4 (Custom i3) | UTM
The āOpen in UTMā button links to utm://downloadVM?url=https://github.com/utmapp/vm-downloads/releases/download/debian-10.4/debian-10.4-i3-arm64-utm.zip and we could have something very similar for Whonix Workstation and Gateway on the Whonix website so that itās really a one (or two) click install.