{"id":20929581,"url":"https://github.com/libreelec/usb-sd-creator","last_synced_at":"2025-05-13T18:32:32.255Z","repository":{"id":9114173,"uuid":"60923300","full_name":"LibreELEC/usb-sd-creator","owner":"LibreELEC","description":"the USB/SD creator app for LibreELEC","archived":false,"fork":false,"pushed_at":"2025-01-27T18:38:26.000Z","size":2392,"stargazers_count":70,"open_issues_count":3,"forks_count":39,"subscribers_count":19,"default_branch":"master","last_synced_at":"2025-05-09T06:27:49.327Z","etag":null,"topics":["dd","hacktoberfest","qt","usb-sd-creator"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/LibreELEC.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2016-06-11T19:02:15.000Z","updated_at":"2025-03-26T22:12:48.000Z","dependencies_parsed_at":"2022-09-06T05:20:13.547Z","dependency_job_id":"8ec4964d-e0b3-4c17-82ba-7accf403eb36","html_url":"https://github.com/LibreELEC/usb-sd-creator","commit_stats":{"total_commits":248,"total_committers":11,"mean_commits":"22.545454545454547","dds":0.6612903225806452,"last_synced_commit":"bb64dfda678da0f152e376c8de683915e2d3ef15"},"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LibreELEC%2Fusb-sd-creator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LibreELEC%2Fusb-sd-creator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LibreELEC%2Fusb-sd-creator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LibreELEC%2Fusb-sd-creator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/LibreELEC","download_url":"https://codeload.github.com/LibreELEC/usb-sd-creator/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254003403,"owners_count":21997881,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["dd","hacktoberfest","qt","usb-sd-creator"],"created_at":"2024-11-18T21:21:50.007Z","updated_at":"2025-05-13T18:32:32.189Z","avatar_url":"https://github.com/LibreELEC.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# **LibreELEC USB/SD Creator**\n\nThis is a lightweight image writing app with a simple four-step GUI for creating LibreELEC USB/SD Card installation media on Linux, macOS and Windows. It automatically displays the currently available downloads (defaulting to the latest release) and detects OS locale to switch the GUI to a matching local language.\n\n## Translation Changes\n\nChanges to master language (en_GB) strings can be submitted via pull request to this GitHub repo. English strings are periodically synchronised to a Transifex project: [https://www.transifex.com/libreelec/libreelec-usb-sd-creator](https://www.transifex.com/libreelec/libreelec-usb-sd-creator) allowing contributors to translate them into other languages. Translated strings are periodically synchronised from Transifex back to this repo for inclusion in the next release.\n\nPull requests for all other languages will be rejected. You will be asked to submit changes via Transifex.\n\n## Translation Languages\n\nRequests for new languages should be made on Transifex. Once a new language has been approved it will be added to the translation project where you can conribute translated strings.\n\nPlease note: languages are translated by people (you) not magic!\n\n## Issues and Support\n\nIssues should be reported via the forum here: [https://forum.libreelec.tv/board/41-usb-sd-creator-support](https://forum.libreelec.tv/board/41-usb-sd-creator-support)\n\n# **How to compile the USB/SD Creator**\n\nBuild instructions are supplied for Windows x64 (Installer and Portable), macOS (Intel and Apple Silicon) and Ubuntu Linux (x86_64). Instructions have been tested locally on Windows 11, macOS Sonoma and Ubuntu 24.04.\n\n- [Windows](#Windows)\n- [macOS](#macOS)\n- [Linux](#Linux)\n\n# Windows\n\nNote: the offical release for Windows is built using Visual Studio\n\n## Building for Windows using MSys2 and MinGW\n\n### 1. Install msys2 and MinGW\n\nInstall the latest msys2 via the installer (not the base installer): [https://repo.msys2.org](https://repo.msys2.org/distrib/x86_64/)\n\nAfter the install, from the resulting msys2 console install mingw:\n\n```\npacman -S mingw-w64-x86_64-cmake mingw-w64-x86_64-gcc mingw-w64-x86_64-ninja mingw-w64-x86_64-zlib mingw-w64-x86_64-qt6-base mingw-w64-x86_64-qt6-tools\n```\n\nAdd msys2 to PATH: `C:\\msys64\\mingw64\\bin`.\n\nNote: you must use a standard commnd prompt when using mingw for the build.\n\n### 2. Install Inno Setup (Compiler for Installer)\n\n[https://jrsoftware.org](https://jrsoftware.org/isdl.php), download and install the latest stable version.\n\nAdd Inno Setup to PATH: `C:\\Program Files (x86)\\Inno Setup 6`.\n\n### 3. Clone Git Repo\n\nClone the repository to `%UserProfile%/usb-sd-creator`\n`git clone https://github.com/LibreELEC/usb-sd-creator.git`\n\n### 4. Build USB-SD-Creator\n\nAssuming the repo is in your home directory\n\n```\ncd %UserProfile%/usb-sd-creator\n```\n\n#### Debug build\n\n```\ncmake -S . -B build -G Ninja \u0026\u0026 cmake --build build\n```\n\n#### Release build\n```\ncmake --preset release-ninja \u0026\u0026 cmake --build --preset release\n```\n\n### 4. Build Installer\n\n#### Release build\n\n##### Create installer\n\n```\ncpack --preset release\n```\n\n##### Create Zip for portable installs (UWP)\n\n```\ncpack --preset release -G ZIP\n```\n\n#### Debug build\n\n```\ncd build\ncpack -C Debug\n```\n\n### 5. Run USB-SD-Creator\n\nRun the installer in `build/cpack`. Then run the app from Start Menu: `LibreELEC USB-SD Creator x64`.\n\n## Building for Windows using Visual Studio (MSVC)\n\n### 1. Install Qt 6.7.2 and Visual Studio Community 2022\n\n#### Install required Qt packages\n\nTo see the available Qt versions run:\n\n```\naqt list-qt windows desktop\n```\n\nTo see the available compiler versions run:\n\n```\naqt list-qt linux desktop --arch 6.7.2\n```\n\nInstall the required packages:\n\n```\naqt install-qt --outputdir %UserProfile%/Qt windows desktop 6.7.2 win64_msvc2019_64 --archives qtbase qttools opengl32sw d3dcompiler_47 --external 7z.exe\naqt install-qt --outputdir %UserProfile%/Qt windows desktop 6.7.2 win64_msvc2019_64 --modules debug_info --external 7z.exe\n```\n\n#### Install Visual Studio Community 2022\n\nInstall Visual Studio Community 2022 from: [https://visualstudio.microsoft.com](https://visualstudio.microsoft.com/vs/community/). Note that you only require the Desktop C++ package which you can select in the online installer.\n\nNote that the command prompt is to be used thoughtout the MSVC build must be started from a standard command prompt for `x64` as follows: `\"C:/Program Files/Microsoft Visual Studio/2022/Community/Common7/Tools/VsDevCmd.bat\" -arch=x64 -host_arch=x64`.\n\n### 2. Clone Git Repo\n\nClone the repository to `%UserProfile%/usb-sd-creator`\n`git clone https://github.com/LibreELEC/usb-sd-creator.git`\n\n### 3. Build USB-SD-Creator\n\nAssuming the repo is in your home directory\n\n```\ncd %UserProfile%/usb-sd-creator\n```\n\n#### Debug build\n\n```\ncmake -S . -B build -D CMAKE_PREFIX_PATH=\"%UserProfile%/Qt/6.7.2/msvc2019_64\" \u0026\u0026 cmake --build build\n```\n\n#### Release build\n\n```\ncmake --preset release-msvc -D CMAKE_PREFIX_PATH=\"%UserProfile%/Qt/6.7.2/msvc2019_64\" \u0026\u0026 cmake --build --preset release\n```\n\n### 4. Build Installer\n\n#### Debug build\n\n```\ncd build\ncpack -C Debug\n```\n\n#### Release build\n\n##### Create installer\n\n```\ncpack --preset release\n```\n\n##### Create Zip for portable installs (UWP)\n\n```\ncpack --preset release -G ZIP\n```\n\n### 5. Run USB-SD-Creator\n\nRun the installer in `build/cpack`. Then run the app from Start Menu: `LibreELEC USB-SD Creator x64`.\n\n# macOS\n\n## Building for macOS\n\n### 1. Install XCode with Command-line tools\n\n### 2. Setup Qt 6.7.2\n\n#### Install pre-requisites\n\nThe build requires both `python3` and `cmake`. If you don't have them installed, run the following commands:\n\n```\nbrew install python\nbrew install pipx\nbrew install cmake\n```\n\nMake sure that `/opt/homebrew/bin` is in your `PATH`.\n\nNow install `aqt`, a command line package manager for `Qt`:\n\n```\npipx install aqtinstall\npipx ensurepath\n```\n\n#### Install required Qt packages\n\nTo see the available Qt versions run:\n\n```\naqt list-qt mac desktop\n```\n\nTo see the available compiler versions run:\n\n```\naqt list-qt linux desktop --arch 6.7.2\n```\n\nInstall the required packages:\n\n```\naqt install-qt --outputdir ~/Qt mac desktop 6.7.2 --archives qtbase qttools\n```\n\n### 3. Clone Git Repo\nClone the repository to `~/usb-sd-creator`\n`git clone https://github.com/LibreELEC/usb-sd-creator.git`\n\n### 4. Build USB-SD-Creator\n\nAssuming the repo is in your home directory\n\n```\ncd ~/usb-sd-creator\n```\n\n#### Debug build\n\n```\ncmake -S . -B build -D CMAKE_PREFIX_PATH=\"/Users/$USER/Qt/6.7.2/macos\" \u0026\u0026 cmake --build build\n```\n\n#### Release build\n\n```\ncmake --preset release -D CMAKE_PREFIX_PATH=\"/Users/$USER/Qt/6.7.2/macos\" \u0026\u0026 cmake --build --preset release\n```\n\n### 5. Run USB-SD-Creator\n\n#### Open the app\n\nSimply double click the app from a finder window in the `build` folder in the repo: `build/LibreELEC USB-SD Creator`\n\n#### Command line\n\nRun the app from the command line, that will prompt for a password:\n```\n./build/LibreELEC\\ USB-SD\\ Creator.app/Contents/MacOS/LibreELEC\\ USB-SD\\ Creator\n```\n\n**Or:**\n\nRun the app from the command line using sudo\n\n```\nsudo ./build/LibreELEC\\ USB-SD\\ Creator.app/Contents/MacOS/LibreELEC\\ USB-SD\\ Creator\n```\n\n### 6. Debugging USB-SD-Creator\n\n#### Using Qt Creator\n\nIf you need to, install Qt Creator:\n\n```\nbrew install --cask qt-creator\n```\n\nThen simply open CMakeLists.txt in Qt Creator\n\n#### Using XCode\n\nBuild the xcode project, and open the project file in Xcode, located in the build folder (note you may need to clear any previous build files before genreating for XCode):\n\n```\ncmake -S . -B build -G Xcode -D CMAKE_PREFIX_PATH=\"/Users/$USER/Qt/6.7.2/macos\" \u0026\u0026 cmake --build build\n```\n### 7. Build Install .dmg\n\nIf you wish to build the install `.dmg` (not required for development), you can create it using the following command. Note that code signing cannot be done locally (unless you have your own certs).\n\n#### Debug build\n\n```\ncd build\ncpack -C Debug\n```\n\n#### Release build\n\n```\ncpack --preset release\n```\n\n\n# Linux\n\n### 1. Install build tools\n\n```\nsudo apt install build-essential\nsudo apt install libgl-dev\nsudo apt install cmake\nsudo apt install git\n```\n\n### 2. Setup Qt 6.7.2\n\n#### Install pre-requisites (Pip and Pipx)\n\n```\nsudo apt install python3-pip pipx\npipx ensurepath\n```\n\nNow install `aqt`, a command line package manager for `Qt`:\n\n```\npipx install aqtinstall\n```\n\n#### Install required Qt packages\n\nTo see the available Qt versions run:\n\n```\naqt list-qt linux desktop\n```\n\nTo see the available compiler versions run:\n\n```\naqt list-qt linux desktop --arch 6.7.2\n```\n\nInstall the required packages:\n\n```\naqt install-qt --outputdir ~/Qt linux desktop 6.7.2 linux_gcc_64 --archives qtbase qttools\naqt install-qt --outputdir ~/Qt linux desktop 6.7.2 linux_gcc_64 --modules debug_info\n```\n\n### 3. Clone Git Repo\n\nClone the repository to `~/usb-sd-creator`\n`git clone https://github.com/LibreELEC/usb-sd-creator.git`\n\n### 4. Build USB-SD-Creator\n\nAssuming the repo is in your home directory\n\n```\ncd ~/usb-sd-creator\n```\n\n#### Debug build\n\n```\ncmake -S . -B build -D CMAKE_PREFIX_PATH=\"~/Qt/6.7.2/gcc_64\" \u0026\u0026 cmake --build build\n```\n\n#### Release build\n\n```\ncmake --preset release -D CMAKE_PREFIX_PATH=\"~/Qt/6.7.2/gcc_64\" \u0026\u0026 cmake --build --preset release\n```\n\n### 5. Run USB-SD-Creator\n\n#### Command line\n\nRun the app from the command line, that will prompt for a password:\n\n```\n./build/LibreELEC.USB-SD.Creator.Linux.bin\n```\n\n### 6. Build Install Package\n\nIf you wish to build the install package (not required for development), you can create tarballs using:\n\n#### Debug build\n\n```\ncd build\ncpack -C Debug\n```\n\n#### Release build\n\n```\ncpack --preset release\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flibreelec%2Fusb-sd-creator","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flibreelec%2Fusb-sd-creator","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flibreelec%2Fusb-sd-creator/lists"}