Write tar.xz to an SD card to boot opensuse appliance

Hello, I downloaded a tar.xz file from http://download.opensuse.org/ports/aarch64/distribution/leap/15.3/appliances/, in order to use it as the OS for a developing board. I however can’t find a way to write it to the SD card. E.g.: openSUSE-Leap-15.3-ARM-JeOS.aarch64-rootfs.aarch64.tar.xz

Image writing programs refuse to accept this format. When I extract the .tar.xz file, they appear to be just standard linux OS folders like /bin, /etc, /usr…

A file with the sufix .xz is likely to be a compressed file.
A file with the suffix .tar is likely to be a tape archive as created using the tar utility.

A tape archive (tar) is nowadays less likely to be written to a tape, but (easy because in Unix “everything is a file”) stored as a file. And that is what you have: a file that contains the complete directory tree structure with all it’s files and afterwards compressed.

In this case the directory tree apparently starts at the root / of a (hopefully functioning) openSUSE system and contains all its files. The first level inside / being /bin, /etc, …

So theoretically you can use tar to untar the file to the root of a file system and that will result into a file system that contains the complete decompressed and unpacked directories and files as they were.

Thus, maybe first partition that mass-storage device, then create a file system on it (you can use YaST > system > Partitioner for that), mount it somewhere (I will use /mnt as an example below), then

cd /mnt
tar xvf /<path-to-the>/<filename>.tar.xf

Please take into account that you did not explain which goal you want to achieve, thus this is only a technical explanation how you can put a .tar.xz file unto a partition.

It’s all command line for those images…

xzcat openSUSE-Leap-15.3-ARM-JeOS.aarch64-rootfs.aarch64.tar.xz | dd bs=4M of=/dev/sdb iflag=fullblock oflag=direct

Where /dev/sdb is the SD card, it may be mm… you need to check what your system sees with the lsblk command.

I am assuming you downloaded a tar.xz image file to install a bootable system onto an SD card to be used elsewhere. I’m working on my linux pinephone pro and need to install new bootable OS to SD cards very frequently. to boot the phone.

The key app to use is balenaEtcher-(version number-x64).AppImage. You can download from: https://www.balena.io/etcher/

It runs as an app from a User directory.; no root install. It automatically handles the tar.gz extraction/decompression.

You need to have your SD card installed into the computer. The app will ask you for the file, and the target (sd card), after confirming it will flash and confirm the flash.

Has never failed thus far

tom kosvic

Hi Tom
These files are appliance images, zcat and dd are they way to create…

DIdn’t see that the files were appimages. As said by others these should be executible as a User after extracton to an appimage file.

tom kosvic

rootfs is not image. It is tar archive with content of root filesystem and you are supposed to prepare bootloader and kernel on your SD card yourself and configure them to use root partition.


First of all, thank you all for the replies.

xzcat and dd don’t seem to work. The device I have is not even in the above list. As I’m not knowledgeable enough to prepare bootloader, kernel etc, my current solution is to buy a new dev board where OS images are well supported… although I’ve spent quite some time to make it work.