Whonix Linux Installer - Development Discussion

@HulaHoop Can you?

1 Like

Do you know of any alternative command that would fail besides grepping for the string ^Name: <inaccessible!>?

1 Like

Because just know I learned about this option. No technical reason.

1 Like

That is exactly what it does. If either one exists, proceed. If none exist skip.
That section is to detect machines in case of the reimport command.

If none exists, see what comes after check_vm_exists call: import_virtualbox.

1 Like

This was fixed, please take a look and test.
I could not encounter this error locally but I understood why it happened.

1 Like

grass via Whonix Forum:

Do you know of any alternative command that would fail besides grepping for the string ^Name: <inaccessible!>?

No, unfortunately not.

new features:

  • check if kernel modules can be load (or disabled by sysctl)
  • check if only signed kernel modules can be load
  • check modinfo vboxdrv
  • check modprobe vobxdrv
  • better error messages in case kernel modules could not be load

New installer uploaded.

Just now bumped into a corner case on the derivative-maker CI, which however also could happen to users.

Situation: An older kernel 6.1.0-9-amd64 was installed but a newer kernel 6.1.0-13-amd64 was already available in the repository.

Symptom:

Loading new virtualbox-7.0.12 DKMS files...
Building for 6.1.0-9-amd64 6.1.0-13-amd64
Module build for kernel 6.1.0-9-amd64 was skipped since the
kernel headers for this kernel do not seem to be installed.
Building initial module for 6.1.0-13-amd64

This means no kernel modules will be built for the older kernel. This will result in VirtualBox not being startable before reboot. The installer will notice at the end that the module could not be load. (But it doesn’t know yet it was never been built.) VirtualBox will work after reboot because then the newer kernel will run and modules for these could be build.

Potential solutions:

  • A) Attempt to install the kernel headers for the older kernel. Probably not worth it. Might be no longer available in the repository. Potentially insecure. Only “needed” until reboot. (And let’s not bother with snapshot.debian.org.)
  • B) Detect this situation beforehand.

Should we automatically upgrade the kernel? Should we run sudo apt dist-upgrade? This might make more changes than a few users are ready to take.

I think it’s best to just detect it and point that out. The code for that can be quite complex. Maybe can be simplified. See also:

/usr/libexec/systemcheck/check_operating_system.bsh

CI is broken for Fedora builds with --onion. That is because Tor isn’t running inside the CI because Fedora docker image comes without systemd by default.

Maybe dockerhub fedora/systemd-systemd would fix this but how to integrate this into github actions builds.yml?

This was implemented.

Fixed a VirtualBox kernel module already loaded test detection bug.

Uploaded new version just now.

I downloaded the dist-installer-cli. I found that on line 831 the switch case conditional statement executes on the keyword “buntu” instead of “Ubuntu”. Is this on purpose? If it is please put a comment in the code explaining why. Is it because there are distros names “Edubuntu”, “Kubuntu”, “Lubuntu” and “Ubuntu”?

https://twitter.com/homoterrae/status/1727109054978576514

Yes.

Yes. These should all equally work since there’s no significant difference between them context of this installer.

Changes in git:

Fedora 39 not in VirtualBox Fedora Repository

Changes in git:

  • skip --onion test for Fedora on CI because I could not figure out how to start Tor in the Fedora CI image to unbreak the CI
  • install virtualbox-guest-additinos-iso if using Debian fasttrack repository

Changes in git:

  • Minor, misc improved error messages.
  • Do not show CPU model by default in virtualization test for better privacy.

New version uploaded.