For context, I have professionally deployed Linux on USB, ever since around 2004. I honestly don't care to remember all the odd issues/failures I've encountered during those 17 years. The situation certainly got better/easier with the years, but it can still be a gamble if an odd Linux distro will actually boot successfully from USB or not.
Until I discovered Ventoy, about a year or two ago, I would always be hesitant to recommend running Linux from USB, unless I knew the exact setup (or it involved someone with a decent technical skills).
Ventoy is great!!! I'd recommend everyone to at least have a look at it. It's one of the very few tools I endorse without any hesitation or reservation.
I am in no way personally involved with Ventoy, nor do I have a stake in it. I just love the tool for what it is.
I suppose I could dig up an old Debian Iso-but I'd prefer something with a recent-ish kernel (wireguard) and a half-secure libssl and opensshd.
Hm, maybe openbsd (current) still has support?
Ed: I've been doing Linux installs since the 90s... Around kernel 1.3 or there abouts - but it's been a while since dipped my toes in 32bit/hybrid x86 systems. .
Could you point to some good sources that explain in detail the whole "bootable USB" world? It seems it's always a hassle to get right, especially when preparing a Windows bootable USB.
Unfortunately the required arguments tend to be poorly documented and quite specific to each distro. This looks like a neat tool that's sidestepping that issue. If anyone knows of a good resource that documents these boot arguments for a range of distros, please share!
# Ubuntu
linux .../vmlinuz boot=casper file=.../ubuntu.seed iso-scan/filename=...
initrd ...
# Arch
linux .../vmlinuz img_dev=... img_loop=... earlymodules=loop
initrd ..._ucode.img .../archiso.img
# Kali
linux ... boot=live components findiso=... # noautomount
initrd ...
# GParted
linux ... boot=live union=overlay config components toram=....squashfs findiso=...
initrd ...
In general you'll have to boot the kernels directly as shown above. Using the built-in GRUB menus won't work in many cases. Which makes it difficult to make these future-proof.You'll also want to make sure you've insmod'ed any modules you need for your hardware as necessary (storage, USB, etc.)... unfortunately documentation on these is poor, and some modules are mutually exclusive, so have fun.
Best of luck getting a robust boot menu script going. Expect to spend weeks if not months on it if you're new to GRUB scripts/components.
I only got it to work with simple things that load fully from RAM -- say, debian-installer, which only requires kernel+initrd.
It has to be simple and reliable. If it's only one of them, I would rather carry an extra USB stick which I can always format (I do).
loopback loop (hd0,gpt1)/PATH/TO/UBUNTU.iso
set root=(loop)
configfile /boot/grub/loopback.cfg
which in turn seems to load the kernel via linux /casper/vmlinuz file=/cdrom/preseed/ubuntu.seed iso-scan/filename=/PATH/TO/UBUNTU.iso
initrd /casper/initrd
if you just make sure your path doesn't have spaces. (I forget if you also need to pass boot=casper or not.)You'll have to detect the disk though. It's possible to automate it somewhat, but not trivial (at least if you don't know how). You'll want to use search. https://www.gnu.org/software/grub/manual/grub/html_node/sear...
And make sure you've insmod'ed any modules you need for your hardware if necessary (storage, USB, etc.)... unfortunately documentation on these is poor, and some modules are mutually exclusive, so have fun.
Without diving into the source code. :) Has anyone seen architecture/design documents on how it actually mounts the ISO file and "boots" from it? What does prevent "the other 10%" from not working?
I looked through the docs, found these so far:
Memdisk[1] section mentions:
> In normal mode, Ventoy will only read the iso file at booting time, and only read the content needed for boot.
Ventoy Compatible?[2] mentions a hook. What does this mean?
> Once Ventoy treats the iso file as Ventoy Compatible, it will just make the virtual disk and will not do the hook.
This is the neatest thing I've seen on HN since the actually portable executable!
There is also a couple of hardware projects that to that in hardware. I used the ISOstick for many years.
You can also PXE NetBoot a lot of installers with dynamic menu selection - see http://netboot.xyz
A nice companion could be a small *PI like board with a script that scans repositories for iso updates then downloads them using torrent to avoid taxing the servers too much, then when necessary (but not more than once every N days to avoid wearing the memory) updates the dongle automatically overnight. Just stick the dongle when you're back at home and the next morning if necessary it is updated to the latest images.
I really despise BE from engineering perspective.
I judge it based on whether I get a bootable bit of flash out the other side.
Even ignoring those last two, which just seem gross, running an entire web browser to accomplish the same thing as a 1MB native application is like using an anvil as a hammer. Yeah, it'll work, but why?
Thouroughly unimpressed with it and any project recommending or even insisting on using it.
I especially like the interface, including the automatic download of the current Windows 10 ISO. I find the whole process (and more importantly, walking others through the process) a breeze.
I like the cheat mode codes that let me walk people through tasks easily, but still retaining functionality I want for myself. https://github.com/pbatard/rufus/wiki/FAQ#Power_keysCheat_mo... Alt+E being one that I use myself, but absolutely would not want enabled for a novice user.
That's not to take anything away from Ventoy (although I'm an IODD user myself). Just saying one is better or worse doesn't feel fair to me.
I only had to patch script: https://github.com/ventoy/Ventoy/pull/877
I guess it will be valuable to ship this in distros no ?
EDIT: There have also been YUMI and Easy2Boot in a similar vein before Ventoy.
What the heck! How does anything else still exist!
Too bad because I'd really like to have a single USB with everything I could really carry around instead of a bunch of small one.
I've used it to successfully boot into both Windows and Linux. Although it's is only available for Windows, there seems to be a Linux counterpart as well, which I've never tried out: https://www.pendrivelinux.com/multiboot-create-a-multiboot-u...
Life saver.
The only reason I even keep an old Windows based laptop around for was to burn ISO’s to flash drives with Rufus for repairing computers of friends and family members.
All it needs now is some way to keep persistent files and I'll never need another thumb drive to install an OS.
<https://unetbootin.github.io/>
<https://en.wikipedia.org/wiki/UNetbootin>
This is barely a year old and comes all, besides a handful of comments, from one account https://github.com/ventoy/Ventoy/graphs/contributors
Personally and subjective this rings quite some alarm bells for me, seems just a bit sketchy and in any way really young, so not as much time out on the field and thus possibly not as much bugs shaken out...
> Multiple installs on the same device are not supported.
If one is limited to a single usb-stick per ISO, it's just easier to dd the installation image: run it the way it's (hopefully[x]) been tested by the vendors.
Ventoy is a different ballgame: drag & drop ISO file and boot from it. I tested it this morning with 3 things I carry around myself (debian-live, debian-installer, freebsd release installer), and it worked. 1 stick instead of 3, and I still have the remaining exFAT partition for other things. And a spare encrypted partition if I wanted to (I don't).
Regarding bugs -- it works or it doesn't for your distribution. I think it's remarkable what this, seemingly single developer, has achieved over a bit more than a year[2].
[1]: https://en.wikipedia.org/wiki/UNetbootin
[2]: https://github.com/ventoy/Ventoy/commit/2090c6fa978999d4ef1e...
[x]: don't get me started with Intel SSD firmware "bootable" images.
I'm not sure why a piece of software being built by one person is sketchy but ok.
You will only need to format your thumb drive once and for all. After that, you will simply only need to copy the image file such as .iso, .vhd etc on to the drive and you are all set. Check details from the following sites.
https://www.ventoy.net/en/index.html https://github.com/ventoy/Ventoy