Whonix for arm64 / Raspberry Pi (RPi)

Related:

Progress on Whonix for arm64 (but none for RPi) was made. If interested in Whonix for arm64, subscribe to Whonix on Mac M1 (ARM) - User Support (still unsupported at time of writing). Forum title includes mac but the pull request being discussed in generic for arm64. Unspecific to mac.

2 Likes

Has anyone made any progress on creating a whonix gateway on a raspberry pi 4? I want to route all my network traffic through a whonix gateway on a raspberry pi.

https://forums.whonix.org/t/whonix-for-arm64-raspberry-pi-rpi/1788/166

1 Like

If there are any updates these should/would be posted here in this open ticket.

1 Like

Okay, i successfully build 100GB sparse --raw “firmware” and i have 16GB sd-card for my RPi3B. What’s next?
“virt-df -h” says that the real size of firmware is ~4Gb
I tried to reduce the size of the firmware, but it didn’t work. System won’t start
guestfish

add Whonix.raw
run
list-filesystems
/dev/sda1: ext4
e2fsck-f /dev/sda1
resize2fs-size /dev/sda1 10G
e2fsck-f /dev/sda1
quit
qemu-img resize --shrink -f raw Whonix.raw 14G
There are options?

“There is some build option to decrease the disk size (need to look it up)”, which option?

https://github.com/Whonix/Whonix/blob/master/help-steps/variables
I found this: VMSIZE=“100G”

--vmsize 20G

(Search the Source Code)

Am i right, to build image for RPi3B i need to do next steps:

sudo apt install git time curl apt-cacher-ng lsb-release fakeroot dpkg-dev fasttrack-archive-keyring
wget https://whonix.org/derivative.asc
gpg --import derivative.asc
git clone --depth=1 --branch 16.0.4.2-developers-only --jobs=4 --recurse-submodules --shallow-submodules https://gitlab.com/whonix/Whonix.git
cd Whonix
git verify-tag 16.0.4.2-developers-only
git checkout --recurse-submodules -b 16.0.4.2-developers-only
git status
sudo ./whonix_build --target raw --flavor whonix-gateway-rpi --build --arch arm64 --kernel linux-image-arm64 --headers linux-headers-arm64 --vmsize 14G

And then i burn that raw in my sd card?

That might work.

It’s still:

Okay, I’ve written the image to the SD card using: dd if=Whonix.raw of=/dev/sdX
The problem is that I still get a black screen

Raspbian runs stably under the same conditions. My 16GB SD card has the following sections:
/dev/sda

  • unnalocated 2.00MiB
  • /dev/sda1 14GiB (used 2.10 GiB), flags: boot
  • unnalocated 875.00MiB

Something is wrong, where is the FAT32 first-stage bootloader?
https://forums.whonix.org/t/whonix-for-arm64-raspberry-pi-rpi/1788/150?u=raspi

Only option:
Generic Bug Reproduction
i.e. how would one debug a black screen issue on Debian?

The system assembled using your own instructions does not contain the necessary to run first-stage bootloader. As you know, the initialization process of a regular ARM64 processor is different from the RPi… Nothing needs to be debugged, it’s just that at the moment your instructions for assembling the system are out of date and require serious improvement in terms of /boot
P.S. I see this issue was already discussed with Algernon in August 2018, and there did the file go? https://github.com/Whonix/Whonix/blob/master/build-steps.d/2375_build_rpi_fs

It turns out that you stopped supporting RPi due to the lack of maintainers?
https://github.com/Whonix/Whonix/commit/ebcd1dda74ad06c28a094bd28919d40bc8286fed

Indeed.

That’s why I posted this link:

RPI support would need to be added here:
https://github.com/Whonix/Whonix/blob/master/build-steps.d/2375_build-arm64-fs

It will either be contributed or won’t be happening. I guess chances of this being contributed are slim as there’s no progress for a long time.

Maybe I can combine 2375_build-arm64-fs with the old 2375_build_rpi_fs…
https://github.com/Whonix/Whonix/blob/c3ff386af77c16d2e5d4f5a8c53fcfa61d5bf164/build-steps.d/2375_build_rpi_fs

1 Like

@raspi I was able to build with zero errors. Yay.

But It can’t boot…
I mounted the sd card and noticed in fstab that there is only /proc and /dev/cdrom, is that normal?? No boot or root mountpoint? also in /boot/firmware/cmdline, root=/dev/mapper/loop0p1?? Should I change that?