ArchLinux package for LibreElec-USB-SD-Creator

  • Nice, but I have no plan to install Arch Linux to test a single package. If you created it, you need to test it :)

    To release official LE binaries we need to build Qt6 "static" to avoid depending on sizeable Qt packages. Since the codebase was bumped to Qt6 I've not stumbled upon a working Qt6 static build recipe for Linux.

  • Quote

    Nice, but I have no plan to install Arch Linux to test a single package. If you created it, you need to test it

    No worries, I've just CC-ed you because you are one of the active members here. I've already tested a build process on bootstrapped system in chroot, but I believe I need to add there some runtime dependencies as you use other packages in your code, spawning system processes.

    Quote

    To release official LE binaries we need to build Qt6 "static" to avoid depending on sizeable Qt packages.

    I wouldn't release binaries, because this tool requires a root access. Distributions and package maintainers can support. You may just a mentioned in the documentation, that ArchLinux's package exist. It doesn't need to be official. It's ambivalent for me.

    Quote

    Since the codebase was bumped to Qt6 I've not stumbled upon a working Qt6 static build recipe for Linux.

    I will have a look if I may quickly update QT dependencies.

    I'll also test an old-fission dd. I believe that would be the easiest approach for Linux users.

    If we don't need to do anything specific for u-boot, then dd an ISO image is rather straight forward.

    I'll test it within few days on my Odroid C2.

  • You don't need to execute the app as root, but Linux ultimately requires that privilege to reimage the target device so once you reach the point of writing the app must prompt for (sudo) rights. Users with a Linux desktop OS tend to be more technical in nature and thus less fazed with using dd or the need for root privs (which are unavoidable) and it's similar to a lesser extend with macOS. The goal of the tool has always been to simplify the process of acquiring and writing the latest version, and we'd prefer to make the current tool work than have different tools for different OS (consistency is good for users).

    Unfortunately shared Qt builds are simple. Static is something else :)

  • Quote

    Thanks Robert, i've tested on Plasma Wayland and it works fine

    Thanks for a quick feedback.

    Quote

    Unfortunately shared Qt builds are simple. Static is something else

    I'm aware about it. Static linking is doable but requires some time to make it done. I'm not sure I will invest in that now at least not using ArchLinux as this is a rolling distro that rather avoids static linking.

    Quote

    To release official LE binaries we need to build Qt6 "static" to avoid depending on sizeable Qt packages. Since the codebase was bumped to Qt6 I've not stumbled upon a working Qt6 static build recipe for Linux.

    I updated the dependencies to QT6 and adopted the code.

    @herrmeier / chewitt Feel free to check the newest package.

  • It seems that an old dd works as a charm, so there is no special need for anything else.
    Initially I experience some errors writing an image and my SD card couldn't properly boot.
    Then I used the same card with the same USB reader on another hardware and it works. Magic ;)

    But, anyway here is a short description I believe should be published in the download/installation section for linux:

    Code
    1. Find a correct disk in my case it was /dev/mmcblk0, but will use /dev/sdX
    2. Check mounting points: mount | grep '/dev/sdX'
    3. dd if=/dev/zero of=/dev/sdX bs=1M count=8
    4. sync
    5. download the image (e.g. LibreELEC-AMLGX.arm-11.0-nightly-20230204-7beffea-odroid-c2.img.gz)
    6. gunzip -c image.img.gz | dd of=/dev/sdX conv=fsync bs=4M
    7. sync

    You may optionally verify saved bytes using a similar approach (just decompress an image first) :

    Code
    dd if=/dev/sdX bs=512 count=$((`stat -c%s image.img`/512)) | md5sum
    dd if=image.img bs=512 count=$((`stat -c%s image.img>`/512)) | md5sum