{"id":40627199,"url":"https://github.com/thesofproject/rimage","last_synced_at":"2026-01-21T07:25:54.642Z","repository":{"id":37752178,"uuid":"220991536","full_name":"thesofproject/rimage","owner":"thesofproject","description":"DSP firmware image creation and signing tool","archived":false,"fork":false,"pushed_at":"2024-07-11T07:19:50.000Z","size":582,"stargazers_count":6,"open_issues_count":1,"forks_count":60,"subscribers_count":38,"default_branch":"main","last_synced_at":"2024-07-11T10:25:54.536Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/thesofproject.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}},"created_at":"2019-11-11T13:49:59.000Z","updated_at":"2024-07-11T10:25:54.537Z","dependencies_parsed_at":"2023-09-26T10:55:32.806Z","dependency_job_id":"891342b3-b087-4434-8a38-a016ecded017","html_url":"https://github.com/thesofproject/rimage","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/thesofproject/rimage","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thesofproject%2Frimage","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thesofproject%2Frimage/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thesofproject%2Frimage/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thesofproject%2Frimage/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/thesofproject","download_url":"https://codeload.github.com/thesofproject/rimage/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thesofproject%2Frimage/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28629915,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-21T04:47:28.174Z","status":"ssl_error","status_checked_at":"2026-01-21T04:47:22.943Z","response_time":86,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":[],"created_at":"2026-01-21T07:25:54.542Z","updated_at":"2026-01-21T07:25:54.622Z","avatar_url":"https://github.com/thesofproject.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# rimage\n\n`rimage` is a DSP firmware image creation and signing tool targeting\nthe DSP on certain Intel System-on-Chip (SoC). This is used by\nthe [Sound Open Firmware (SOF)](https://github.com/thesofproject/sof)\nto generate binary image files.\n\n**As of October 2023, the main branch and active development of\nhttps://github.com/thesofproject/sof/rimage has been transferred to a\nsubdirectory of the main sof repo** and frozen in the standalone rimage\ngit repo. See https://github.com/thesofproject/sof/issues/8178 for more.\n\nOther, stable/maintenance branches of the standalone rimage git repo are\nstill being used!\n\nBecause the entire rimage git history has been transferred, it is very\neasy to `cherry-pick -x` commits across sof.git and rimage.git. Here's\nan example how:\n\n```shell\ncd sof/\ngit -C rimage/ remote add sof-parent \"$(pwd)\"\ncd rimage/\ngit checkout stable-v2.7\ngit fetch sof-parent\ngit cherry-pick -x abcdef\n```\n\n... where `abcdef` is a commit from sof.git that you want to cherry-pick\nto a stable branch of rimage.git. Obviously, `abcdef` changes outside\nthe `sof/tools/rimage/` directory will not apply.\n\n\n## Building\n\nMost SOF users never build `rimage` directly but as an ExternalProject\ndefined by CMake in SOF. This makes sure they always use an up-to-date\nversion of rimage and configuration files that have been fully tested.\n\nIf needed, `rimage` can be built manually with the usual CMake commands:\n\n```shell\n$ cmake -B build/\n$ make  -C build/ help # lists all targets\n$ make  -C build/\n```\n\nThe `build/rimage` executable can then be copied to a directory in the\nPATH. Zephyr users can run `west config rimage.path\n/path/to/rimage/build/rimage`; Zephyr documentation and `west sign -h`\nhave more details.\n\n## Testing rimage changes with SOF Continuous Integration\n\nThis section is about leveraging SOF validation to test rimage changes\n_before_ submitting them to the rimage repository.\n\nNothing here is actually specific to SOF and rimage; you can apply the\nsame test logic to any submodule and parent on Github. In fact the same\nlogic applies to submodule alternatives. Github is the only requirement.\n\n### Get familiar with git submodules\n\nThis is unfortunately not optional for SOF and rimage.\n\nFor various reasons submodules seem to confuse many git users. Maybe\nbecause the versions of the submodules are not directly visible in some\nconfiguration file like with most alternatives? Either way, an\nunfortunate prerequisite before doing any rimage work is to get familiar\nwith git submodules in general. As submodules are built-in there are\nmany resources about them on the Internet. One possible starting point\nis https://git-scm.com/book/en/v2/Git-Tools-Submodules but feel free\nto use any other good tutorial instead. Make sure you actually practice\na tutorial; don't just read it. Practicing on a temporary and throw-away\ncopy of SOF + rimage is a great idea.\n\nObviously, you also need to be familiar with regular Github pull\nrequests.\n\n### Run SOF tests on unmerged rimage commits\n\nFirst, push the rimage commits you want to be tested to any branch of\nyour rimage fork on Github.  Do _not_ submit an rimage pull request yet.\n\nNote your rimage fork must have been created using the actual \"fork\"\nbutton on Github so Github is aware of the connection with the upstream\nrimage repo. In the top-left corner you should see `forked from\nthesofproject/rimage` under the name of your fork. If not then search\nthe Internet for \"re-attach detached github fork\".\n\nThen, **pretend** these rimage commits have already been accepted and\nmerged (they have been neither) and submit to SOF a draft pull request\nthat updates the main SOF branch with your brand new rimage commits to\ntest. The only SOF commit in this SOF TEST pull request is an SOF commit\nthat updates the rimage pointer to the SHA of your last rimage\ncommit. If you're not sure how to do this then you must go back to the\nprevious section and practice submodules more.\n\nSubmit this SOF pull request as a Github _draft_ so reviewers are _not_\nnotified. Starting every pull request as a draft is always a good idea\nbut in this case this particular SOF pull request can be especially\nconfusing because it points at commits in a different repo and commits\nthat are not merged yet. So you _really_ don't want to bother busy\nreviewers (here's a secret: some of the reviewers don't like submodules\neither). You can freely switch back and forth between draft and ready\nstatus and should indeed switch to draft if you forgot at submission\ntime but you can never \"un-notify\" reviewers.\n\nGithub has very good support for submodules and will display your SOF\nTEST pull request better than what the git command line can show. For\ninstance Github will list your rimage changes directly in the SOF Pull\nRequest. So if something looks unexpected on Github then it means you\ndid something wrong. Stop immediately (except for switching to draft if\nyou forgot) and ask the closest git guru for help.\n\nSearch for \"Submodule\" in the build logs and make sure the last of your\nnew rimage commits has been checked out.\n\nIterate and force-push your rimage branch and your SOF TEST pull request\nuntil all the SOF tests pass. Then you can submit your rimage pull\nrequest as usual. In the comments section of the rimage pull request,\npoint at your test results on the SOF side to impress the rimage\nreviewers and get your rimage changes merged faster.\n\nFinally, after your rimage changes have been merged, you can if you want\nsubmit one final SOF pull request that points to the final rimage\nSHA. Or, if your rimage change is not urgently needed, you can just wait\nfor someone else to do it later. If you do it, copy the rimage git log\n--oneline in the SOF commit message. Find some good (and less good)\nrimage commit message examples at\nhttps://github.com/thesofproject/sof/commits/main/rimage\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthesofproject%2Frimage","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fthesofproject%2Frimage","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthesofproject%2Frimage/lists"}