Vikix’s stick installs Void and Vikix together: you answer a few questions, it erases one disk, and twenty minutes after the first login you are at the desktop. It is the easier way, and on a new laptop often the only one that works: Void’s own image is from February 2025 (kernel 6.12), and laptops made since need a newer kernel and firmware for their Wi-Fi, sound and graphics. The stick carries Void’s current ones. Installing Void for Vikix is the other way, Void’s installer by hand, then Vikix.
The whole disk is erased, Windows included. The stick doesn’t install beside another system. Copy off anything you want to keep first.
You need:
The image is made from this repository by installer/build-image.sh, with Void’s own tool for its live images (void-mklive). On a Vikix or Void machine:
cd ~/vikix sudo installer/build-image.sh
About fifteen minutes and 4 GB of space the first time; it leaves vikix-VERSION-DATE-x86_64.iso and its checksum in the folder you ran it from. The image is about 1.3 GB, most of it firmware.
Write it to the stick. Find the stick’s name with lsblk (here /dev/sdX; the wrong name erases the wrong disk), then:
sudo dd if=vikix-VERSION-DATE-x86_64.iso of=/dev/sdX bs=4M status=progress oflag=sync
On Windows, Rufus writes it (choose DD image mode when it asks).
Switch Secure Boot off in the computer’s firmware settings. Void’s kernel isn’t signed for it, so with it on the stick may start but the installed system won’t. The installer checks, and stops with this advice if it’s on.
Start from the stick: its menu’s first entry starts it. The first screen logs in by itself and the installer starts. Arrows move, Enter chooses, Tab moves to the buttons, and Esc stops at any point: nothing is changed until the last question.
sudo asks for). root gets no password; sudo is the way in.
vikix add later.
erase to go ahead.
Then it works by itself for a few minutes: the disk, Void, the boot loader, a copy of Vikix brought up to date from GitHub. At the end it says what comes next, and restarts. Take the stick out.
If it stops, the message names the stage. Run ~/vikix/install.sh again (every stage is safe to re-run), or log out and in again on the first screen, which starts it again. When something breaks says more.
Before installing, the stick can tell you what it made of the machine: switch to the second screen (Alt+F2), log in as anon (password voidlinux), and run vikix-hwreport | less. It lists the machine, the kernel, every device with its driver, the network, sound cards, screens, touch and pen, the battery, and the firmware the kernel asked for and didn’t find. The installer saves the same report in your home, ~/vikix-hardware-DATE.txt, for when something doesn’t work later.
Two partitions, on a GPT table:
Size: 1 GiB
What: EFI System, vfat: GRUB, the kernel and the initramfs
Mounted at: /boot
Size: the rest
What: LUKS2 (when encrypting), then ext4
Mounted at: /
Only the boot files are left unencrypted, so GRUB starts without a passphrase of its own and the initramfs asks for the disk’s. The encryption uses LUKS2’s defaults (AES-XTS, Argon2id for the passphrase), with TRIM passed through and dm-crypt’s extra queues switched off, which on a fast NVMe disk only add delay; all three are kept in the LUKS header. The new system starts with NetworkManager (Vikix’s network) rather than Void’s dhcpcd.
installer/qemu-test.py starts the stick in QEMU under UEFI, installs onto an empty virtual disk with encryption from an answers file, then starts that disk alone, types the passphrase and checks the result: the kernel, LUKS2 and its settings, /boot, the services, the network, ~/vikix and the first-start step. tests/installer.sh, in the usual tests, checks the installer’s steps in a dry run and the first-start step with stand-ins. Neither runs Vikix’s own install, which the other tests cover.