While I dealt with a mild dose of COVID-19, I wanted a way to have a laptop in bed so I could idly browse, or have it streaming from an online service while I dozed. My work laptops (haven’t returned one of them) both deny any use of USB sticks once Windows has booted, so I looked into ways I could make them boot a Linux distro without touching the onboard storage.
The first option was a simple “Live CD” installation. I’ve already got a 64 GB stick set up with Ventoy, and it’s trivial to add a Kubuntu (or any other Live CD capable distro) ISO image and boot it. The problem is that I have to wait each time for the OS to unpack to a ramdisk, do the whole dance of “I want to try it”, and then not have my settings changes be kept.
The second option was similar, but with a persistence loopback filesystem. Ventoy supports this natively – just create a file with an ext2/3/4 filesystem in it, tell Ventoy to map that file to the ISO as “use this for persistence”, and boot up. Still have to wait for the ramdisk, and do the “I want to try it” dance, but at least settings can be kept.
The third option, and the one I settled for in the end, was to do a full installation inside QEMU on my desktop PC, add the Ventoy tooling to make the image Ventoy-compatible, and then copy the whole image over to the USB drive so that Ventoy could find it for booting. For this, I switched to a Crucial X6 SSD that attaches via USB-C – faster than my older USB-A drives, even if they are USB3. Works a charm, and it’s basically a fully installed OS that can be updated normally via apt.
The neat thing about this is it gives me a fully portable OS – I just need a computer than can boot from USB (be it 2, 3, A or C), and I can have a familiar environment available to me. I only set up a 15 GB image, but I could extend it if needed. Plus I have all my other tools available to me, like CloneZilla.