pop-os / popsicle

Multiple USB File Flasher
MIT License
634 stars 77 forks source link

[Feature] Flash from .img.{gz,bz,xz,…} and .zip #114

Open Salamandar opened 3 years ago

Salamandar commented 3 years ago

Something Etcher still does "better" is handling archives. For the moment we need to extract then flash with Popsicle.

Would it be hard to implement ? Could a newbie in Rust implement this ?

ids1024 commented 3 years ago

Seems like a good feature to add.

Would it be hard to implement ? Could a newbie in Rust implement this?

I don't think it would be too hard. But it might not be too straightforward for someone without familiarity with Rust and Popsicle's code to add.

Probably the library code could be updated to decompress the file on-the-fly, either with libraries on subprocesses. And while not strictly required, the GUI and CLI should probably display something to indicate that the compression format is recognized.

ids1024 commented 3 years ago

Do you have some examples of isos distributed compressed like this? It seems the convention of Linux distros is to use a plain iso, but containing a squashfs filesystem.

Salamandar commented 3 years ago

Do you have some examples of isos distributed compressed like this? It seems the convention of Linux distros is to use a plain iso, but containing a squashfs filesystem.

Actually, I was using Popsicle to flash SD cards for Raspberry pi or other ARM boards. Those usually are provided as .zip. Obviously, I'm not talking about filesystem tree archives like ArchlinuxARM provides, but disk images like Raspbian ;)

ergpopler commented 3 years ago

Do you have some examples of isos distributed compressed like this? It seems the convention of Linux distros is to use a plain iso, but containing a squashfs filesystem.

https://www.freebsd.org/ | has xz ISO's I've seen a few linux distros do the same.

ChaosBlades commented 3 years ago

Here are some examples. As mentioned Raspberry Pi .img files are usually provided zipped. Which these are. https://github.com/cadriel/FluiddPI/releases/tag/v1.15.0 https://octoprint.org/download/ https://github.com/raymondh2/MainsailOS/releases

perroboc commented 1 year ago

Bump because I was following the guide from Steam and this would've come in handy:

https://help.steampowered.com/en/faqs/view/1b71-edf2-eb6d-2bb3

The image comes in .img.bz2 format

cassidyjames commented 9 months ago

Endless OS also uses both .img.xz and .img.gz images for deployments of the OS.

jh-devv commented 5 months ago

Fedora ARM64 images use .raw.xz and .img.xz

taltamir commented 2 weeks ago

until such an ability is implemented, it should instead recognize it and warn the user something like:

you are trying to flash an img.xz file. compressed img files are currently not supported. please extract the file to get the .img and flash that instead.