DISCLAIMER: this guide may be updated. Please, check back for updates before the workshop General requirements ==================== At least 4 CPU cores, 4096MB of RAM and 64G of storage. This applies to the "build" environment (either the VM - if VMs are used, or bare metal - if using just Docker) Linux ===== 1. Install Docker Engine (if not available already): https://docs.docker.com/engine/install/ 2. Make sure it can run a Debian sid container by running "docker run --rm -it debian:sid" MacOS (Apple Silicon) ===================== 1. Install UTM: https://docs.getutm.app/installation/macos/ 2. Download Debian sid arm64 "nocloud" qcow2 image: https://cloud.debian.org/images/cloud/sid/daily/latest/debian-sid-nocloud-arm64-daily.qcow2 3. Open UTM and press "Create a New Virtual Machine" 4. Select "Virtualize", then "Linux" 5. Pick the downloaded "debian-sid-nocloud-arm64-daily.qcow2" as Boot ISO Image * actually you can select any file here as we will not use the boot image anyway 6. Put 4096 MB for VMs RAM and 4 CPU Cores (or more) 7. Leave the defaults in the "Storage" section: we will be changing them later anyway 8. Leave the defaults in the "Shared Directory" section 9. In the "Summary" section give the VM a name (for example, "wshop") and check "Open VM Settings" 10. In the settings "Drive" section select each drive and press "Delete Drive" button 11. In the settings "Drives" section select "New...", choose "Import..." point to the downloaded "debian-sid-nocloud-arm64-daily.qcow2" image 12. Click on the newly created "VirtIO Drive", press the "Resize..." button, enter "64GB" and confirm the drive resize 13. In the settings "Network" section switch "Network Mode" to "Emulated VLAN" 14. In the settings "Network" section press "Port Forward" and set up SSH port 22 forwarding to the VM * you can leave the IP address fields blank, the first port box should be set to "22", the second port box should be set to some local free port (for example, "2222") 15. Save the settings and boot the VM 16. Login as "root" (there should be no password required) 17. Confirm the VM has Internet connection, for example by running "curl http://cloud.pqsec.org/instructions.txt" to see this guide MacOS (Intel) ============= Use the same instructions as for "MacOS (Apple Silicon)", but use the amd64 Debian cloud image at https://cloud.debian.org/images/cloud/sid/daily/latest/debian-sid-nocloud-amd64-daily.qcow2 Windows ======= 1. Install VirtualBox: https://www.virtualbox.org/wiki/Downloads 2. Download Debian sid arm64 "nocloud" raw image: https://cloud.debian.org/images/cloud/sid/daily/latest/debian-sid-nocloud-amd64-daily.raw 3. Use a shell or cmdline to convert the raw image into VDI format: "VBoxManage convertfromraw debian-sid-nocloud-amd64-daily.raw debian.vdi --format VDI" 4. Use a shell or cmdline to modify the new VDI disk size: VBoxManage modifyhd debian.vdi --resize 64000 5. In the UI press "Create a new virtual machine" 6. Provide a VM name, set OS to "Linux", "OS Distribution" to "Debian" and "OS Version" to "Debian 12" (or later, if available) 7. Expand the "Specify virtual hard disk" tab 8. Select "Use an Existing Virtual Hard Disk Drive" and pick the newly created "debian.vdi" 9. Press "Finish", select the newly created VM and press "Settings" 10. Select "Network" tab on the left and press "Port Forwarding" 11. Setup SSH 22 port forwarding to a port on the host * IP addresses can be left blank * Guest Port should be set to 22 * Host Port should be set to some local free port (for example, "2222") 12. Save settings and boot the VM 13. Login as "root" (there should be no password required) 14. Confirm the VM has Internet connection, for example by running "curl http://cloud.pqsec.org/instructions.txt" to see this guide