Live USB/Ventoy user and missing persistence? Please support this request!

I love EOS, but I severely miss persistence for the live system on a USB stick. It’s just so convenient to persist WiFi credentials, language settings, or a differing keyboard layout on a live system!

Since most of the other distro’s live media can do it, why not our beloved EOS?

It would require only one option added to the syslinu or grub command line: cow_label=vtoycow (used this instead of casper-rw since Arch distros typically use vtoycow instead).

I’m using Ventoy, a multi-ISO boot stick, most of the time, and you can have a persistence file on that even, making things super-easy. You can also select in the boot menu if you want persistence or not. Useful without end.

If you feel like me and would like an easier way to have persistence with EOS, please support my feature requests

Thanks—and many happy endeavours! :wink:

2 Likes

First of all welcome @Moonbase59 to the wonderful world of EndeavourOS and the wonderful community here.

I hope experts may guide us how to do it. Having EndeavourOS on a Live USB and persistent installation is a great thing to have.

But generally I think you should have at least another partition (non Ventoy), and simply install as usual on this partition.

I wonder if my understanding is correct.
I hope the experts help with this and how to do it in simple steps.

It would be nice to have your “computer” with you anywhere on a flash disk.

1 Like

Thanks for the warm welcome!

Actually, it’s two use cases:

  • for having “my computer” with me, installing on a portable (USB) SSD (stick or drive) is the way, and works nicely.
  • for having lots of tools and Linux install ISOs with some persisted settings (like language & kbd in my case), Ventoy + persistence is my way. For EOS, it’s actually just one boot option missing and it does everything: cow_label=vtoycow. It’s just I’m lazy and don’t want to type e or Tab in every EOS boot menu just to append it—and I might forget if not using the stick for a while :wink:

So it’d just be super user-friendly if it came preset in the install ISO, because it doesn’t affect any other thing badly. It’ll just look for a /dev/disk/by-label/vtoycow, use that if found, otherwise fall back to the currently used 10GB tmpfs.

I think the hybridiso is not designed for persistance.

Having a EOS ISO which can have persistence would be nice feature to have.

1 Like

Proof against that argument is the USB stick I use almost daily, with my persistent live EOS on it… :wink:

It simply replaces the files mentioned in the GitHub Feature Request with ones that have the additional parameter, and runs ever so smooth. Works for both syslinux & grub boot. It’s “just” a convenience feature, but the same most other Arch-based distros use that support persistence.

I wouldn’t have suggested the change without lots of testing before.

Ubuntu a´based could do pesistance but archbase not rest idk

In a rolling is not wise too xd

Why then are all the mechanisms already bulti into Arch, and EOS?
And why do many other Arch-based distros support it?

I agree it wouldn’t be wise to use the live as a “working system” (you should install it for that), but persistence is just great to have a more convenient install medium—like already having the correct keyboard layout and maybe language set if you don’t live in the U.S. and have to install it more often.

Just yesterday I could convince two more of my friends to try EOS, and they were impressed and said “Wow, is really that easy? Even the installer speaks German, and has my keyboard layout so I don’t have to find all the characters!” (They were allowed to use my Ventoy stick having persistent EOS for installing on their systems. One of them doesn’t even speak a word of English.)

I think that alone is a strong argument for supporting persistence in EOS out-of-the-box, don’t you think?

The live usb is meant to be used as an install process not a working system to run from the usb drive. The only linux distro pushing persistence in my mind is MX linux. I’m not a fan nor am i a fan of ventoy. I don’t see this happening on EOS unless of course you do it yourself.

idk arch wiki does write like install arch on a usb but that isnt persistence.. longtime agoo ubuntu and unetbootin was hot, archiso idk…and for manjaro based build tools i dont know…you can count garuda in it? as i dont know but history of iso builder …art..

but archiso maybe i am ignorant on this :slight_smile:

Sometimes a picture is worth a thousand words… Here’s from my daily life (EOS 2025.03 Live w/ persistence):

I’m a Linux advocate and do lots of support, teaching and trainings.

2 Likes

Persistence works?

I think there seems to be some confusion in this thread between the live ISO persistence, taking advantage of Ventoy’s persistent feature which permits you to have some settings readily available each time you boot up the ISO and installing the OS on a usb drive “persistently”.

If I am not confused, what OP has in mind is the former not the latter.

1 Like

You’re right, there seems to be a little confusion here. As I tried to say above,

  • what I wish for is inclusion of one parameter cow_label=vtoycow in the boot line(s), to get an install USB with persistence, if you provide a persistence partition or—in case of Ventoy—file. Meant to install, train, support, not as a “running system”.
  • For a personal running system, I always recommend installing EOS, and that can of course also be on a stick. This doesn’t need what is meant by “persistence”.

Persistence, as I mean it, is the ability to keep some settings on an—otherwise immutable—live system like an ISO, so that these survive reboots and restarts. This is mainly a convenience feature so that you don’t have to do the same things on an install ISO over and over again, like setting language and keyboard.

It could, but never should be misused to run your personalized little OS—that’s what an actual install is for.


And yes, persistence works. If you look at the EOS boot process, all the needed mechanisms are already there, it’s just a parameter missing to activate it. The Arch/EOS boot process already uses it (cow_spacesize=10G, see archiso docs) to provide a tmpfs (/run/archiso/cowspace, I believe) while the live system is running, otherwise we couldn’t even run a live. :wink:

You can already experiment with EOS persistence, by hitting e or Tab in the boot loader and adding cow_label=vtoycow to the options, but having to do that every time is of course awkward. That’s why I asked to include it. You’ll of course have to provide a mountable, Linux-formatted storage labelled vtoycow, say an ext4-formatted partition (or persistence file if using Ventoy). I’m still a little unsure if Arch requires a persistence.conf on it or not (containing / union).

As seen from the live system, the cowspace then looks like so:

It’s all in Arch/EOS—we just need to activate and use it!

And this is how it looks “from the outside”, my Ventoy stick in this case:

(I gave my EOS persistence file a generous 8 GiB so I could store updated packages on it, for offline installations.)

1 Like

My 2 cents, for OP considering all what was discussed here.
Get the Ventoy with ISO to boot and install from.
Boot into a live session.
Get another USB normal flash disk big enough (256GB perhaps)
When it comes to installing and selecting where to install just select this new USB drive and install to it.

Maybe this way you will have EndeavourOS installed on this USB flash drive. That is your system will be installed to this USB flash drive instead of the local drive.

I think and hope this way whatever you install, configure, update, whatever will remain on the USB flash drive (as it does with the local drive).

That is the USB flash drive think of it as an extra internal drive.

Try and let us know.

I hope I did not mess things up. But it is all about trying and learning.
I hope nobody will take this as an advise. It is just playing with EOS and trying new things.

Thanks, I know that works, but it’s not the targeted use case.

There is only kernel line needed? Gona test it..

Yeah, please do! :slight_smile: Remember: You need to

  • either set up Ventoy & prep the persistence file,
  • or put a vtoycow partition on the USB,
  • or just have some Linux-formatted partition labelled vtoycow somewhere the boot code can see it.

What the EOS boot process will actually do is:

  • Look for /dev/disk/by-label/vtoycow if you use the cow_label=vtoycow, and mount it as /run/archiso/cowspace.
  • If not found, or option not used, it’ll create a 10G tmpfs and mount that instead as /run/archiso/cowspace.

If it helps testing, here’s my ventoy.json plus a bunch of files I let Ventoy “pseudo-replace” in the ISO (no need if you edit kernel line manually). I also created a fresh (tar.gz’ed) 8 GiB EndeavourOS.dat persistence file for you. (Despite being named .dat, it’s mountable in case you wish to take a peek.)

Note: Just ignore entries for all the other OS’s, it’s from my real stick.

Ventoy persistence docs here: https://www.ventoy.net/en/plugin_persistence.html

ventoy.tar.gz (Expires 2025-04-29)

just need to read, isnt that ventoy create vtoycow ?

Sorry, don’ŧ understand your question? Could you rephrase, please?