{"id":37203335,"url":"https://github.com/antmicro/rdfm-artifact","last_synced_at":"2026-01-14T23:27:12.863Z","repository":{"id":229955789,"uuid":"655772087","full_name":"antmicro/rdfm-artifact","owner":"antmicro","description":null,"archived":true,"fork":false,"pushed_at":"2025-07-28T13:06:19.000Z","size":4230,"stargazers_count":1,"open_issues_count":0,"forks_count":1,"subscribers_count":7,"default_branch":"main","last_synced_at":"2025-07-28T15:08:21.270Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/antmicro.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":"2023-06-19T15:05:31.000Z","updated_at":"2025-07-28T13:07:42.000Z","dependencies_parsed_at":null,"dependency_job_id":"f813aab4-b41a-40b2-83ad-7a4d66857574","html_url":"https://github.com/antmicro/rdfm-artifact","commit_stats":null,"previous_names":["antmicro/rdfm-artifact"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/antmicro/rdfm-artifact","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/antmicro%2Frdfm-artifact","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/antmicro%2Frdfm-artifact/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/antmicro%2Frdfm-artifact/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/antmicro%2Frdfm-artifact/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/antmicro","download_url":"https://codeload.github.com/antmicro/rdfm-artifact/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/antmicro%2Frdfm-artifact/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28438152,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-14T22:37:52.437Z","status":"ssl_error","status_checked_at":"2026-01-14T22:37:31.496Z","response_time":107,"last_error":"SSL_read: 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-14T23:27:12.415Z","updated_at":"2026-01-14T23:27:12.847Z","avatar_url":"https://github.com/antmicro.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003e [!NOTE]\n\u003e The contents of this repository have been moved to the [consolidated RDFM repository](https://github.com/antmicro/rdfm/tree/main/tools/rdfm-artifact).\n\n# rdfm-artifact - artifact creation tool for RDFM\n\nCopyright (c) 2023 [Antmicro](https://www.antmicro.com)\n\nArtifact creation and management utility for RDFM.\n\n## Description\n\nRDFM is an open-source over-the-air (OTA) update set of tools that enables the management and delivery of system releases to embedded Linux devices.\n\nThis repository contains the `rdfm-artifact` command line tool. It allows for easy creation and modification of RDFM-compatible artifacts containing rootfs partition images.\nA basic RDFM artifact consists of a rootfs image, as well as its checksum, metadata and compatibility with certain device types. \n\nAdditionally, `rdfm-artifact` allows for the generation of delta updates, which contain only the differences between two versions of an artifact rather than the entire artifact itself.\nThis can be useful for reducing the size of updates and improving the efficiency of the deployment process.\n\n\n## Getting started\nIn order to support rollback, the RDFM requires proper partition layout and integration with the U-Boot bootloader. To make it easy to integrate RDFM into your Yocto image-building project, it's recommended to use the [meta-rdfm](https://github.com/antmicro/meta-antmicro/tree/master/meta-rdfm) Yocto layer when building the BSPs.\n\nTo start using RDFM, we recommend that you begin with ['How to use'](https://github.com/antmicro/meta-antmicro/tree/master/meta-rdfm#how-to-use) section in the [meta-rdfm](https://github.com/antmicro/meta-antmicro/tree/master/meta-rdfm) Yocto layer documentation.\n\n## Building from source\n### Requirements\n* Go compiler\n* C Compiler\n* liblzma-dev and libglib2.0-dev packages\n\n### Steps\nTo build `rdfm-artifact` on a device from source, clone the repository and build the binary using `make`:\n```\ngit clone https://github.com/antmicro/rdfm-artifact.git \u0026\u0026 cd rdfm-artifact/\nmake\n```\n\n## Basic usage\n\nThe basic functionality of writing an artifact is available by using the `write` subcommand:\n\n```\nNAME:\n   rdfm-artifact write - Allows creation of RDFM-compatible artifacts\n\nUSAGE:\n   rdfm-artifact write command [command options] [arguments...]\n\nCOMMANDS:\n   rootfs-image        Create a full rootfs image artifact\n   delta-rootfs-image  Create a delta rootfs artifact\n\nOPTIONS:\n   --help, -h  show help\n```\n\n### Creating a full-rootfs artifact\n\nFor example, to create a simple rootfs artifact for a given system image:\n\n```\nrdfm-artifact write rootfs-image \\\n\t--file \"my-rootfs-image.img\" \\\n\t--artifact-name \"my-artifact-name\" \\\n\t--device-type \"my-device-type\" \\\n\t--output-path \"path-to-output.rdfm\"\n```\n\n### Creating a delta rootfs artifact\n\nFor creating a delta artifact, you must have already created two separate full-rootfs artifacts:\n- base artifact - the rootfs image that the deltas will be applied on top of, or in other words: the currently running rootfs on the device\n- target artifact - the updated rootfs image that will be installed on the device\n\nGiven these two artifacts, a delta artifact can be generated like this:\n```\nrdfm-artifact write delta-rootfs-image \\\n    --base-artifact \"base.rdfm\" \\\n    --target-artifact \"target.rdfm\" \\\n    --output-path \"base-to-target.rdfm\"\n```\n\n## Running tests\n\nTo run `rdfm-artifact` tests, use the `test`  Makefile target:\n\n```\nmake test\n```\n\n## License\n\n`rdfm-artifact` is licensed under the Apache-2.0 license. For details, see the [LICENSE](LICENSE) file.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fantmicro%2Frdfm-artifact","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fantmicro%2Frdfm-artifact","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fantmicro%2Frdfm-artifact/lists"}