# Write Vuka to USB and add persistence

Vuka RC13 is a hybrid live ISO. Rufus writes it to a flash drive; it is not a blank disc workflow. A 16 GB drive is the practical minimum for the 9.03 GB image, and 32 GB or larger is recommended when persistence and local models are wanted.

## Windows and Rufus

1. Verify `vuka-os-0.1.0-dev-amd64.iso` against the supplied `SHA256SUMS` file. In PowerShell:

   ```powershell
   Get-FileHash .\vuka-os-0.1.0-dev-amd64.iso -Algorithm SHA256
   ```

2. Open Rufus, select the correct USB device, and select the Vuka ISO as **Boot selection**.
3. Leave partition scheme and target-system settings at their defaults unless the target computer requires a specific choice.
4. Select **START**. If Rufus asks how to write the ISOHybrid image, choose **DD Image mode** for the widest hardware compatibility.
5. Treat Rufus's persistence slider as optional/experimental. The supported layout is the ext4 partition below.

Writing the image destroys the USB's existing contents. Confirm the device by model and size before starting. Windows may subsequently say that one of the Linux partitions must be formatted; cancel that prompt.

## Supported unencrypted persistence layout

Complete these steps from a Linux system with the Vuka USB attached but not booted in persistence mode. Replace `/dev/sdX` with the whole USB device reported by `lsblk`. Selecting the wrong device will destroy data.

```bash
lsblk -o NAME,SIZE,MODEL,TRAN,MOUNTPOINTS
usb=/dev/sdX
sudo fdisk "$usb" <<< "$(printf 'p\nn\np\n\n\n\np\nw')"
lsblk "$usb"
sudo mkfs.ext4 -L persistence "${usb}3"
sudo mkdir -p /mnt/vuka-persistence
sudo mount "${usb}3" /mnt/vuka-persistence
printf '/ union\n' | sudo tee /mnt/vuka-persistence/persistence.conf
sync
sudo umount /mnt/vuka-persistence
```

The expected result is a third partition formatted as ext4, labelled exactly `persistence`, with a root-level `persistence.conf` containing exactly `/ union`.

Reboot from the USB and select **Start Vuka OS with USB persistence**. That entry must be selected whenever saved changes are wanted. The ordinary live entry deliberately ignores the persistence partition.

## Verify it

After booting the persistence entry:

```bash
printf 'Vuka persistence works\n' > ~/vuka-persistence-test.txt
sync
```

Shut down cleanly, boot the persistence entry again, and confirm:

```bash
cat ~/vuka-persistence-test.txt
```

RC13's automated acceptance used this same `persistence` label and `/ union` configuration across two separate boots. The second boot recovered the exact UID-1000 proof file from the overlay.

## Encrypted persistence and safety

Use the Vuka boot menu's encrypted-persistence entry only after creating a LUKS persistence volume. Follow Kali's current [encrypted-persistence procedure](https://www.kali.org/docs/usb/usb-persistence-encryption/), substituting the Vuka ISO name. Back up the LUKS header and recovery material separately.

Never edit, resize or remove a persistence partition while it is active. Boot the ordinary non-persistent live entry or another Linux system first. Back up important data before rewriting the ISO because imaging a new release replaces the USB partition table.

The underlying layout follows Kali's current [Windows USB imaging](https://www.kali.org/docs/usb/live-usb-install-with-windows/) and [USB persistence](https://www.kali.org/docs/usb/usb-persistence/) documentation; Vuka retains Kali's live-boot mechanism while replacing the product and desktop integration layers.
