{"id":20060613,"url":"https://github.com/oasisprotocol/oasis-boot","last_synced_at":"2025-10-07T15:07:32.292Z","repository":{"id":256764617,"uuid":"856343968","full_name":"oasisprotocol/oasis-boot","owner":"oasisprotocol","description":"Oasis VM images for Intel TDX.","archived":false,"fork":false,"pushed_at":"2025-08-19T11:04:48.000Z","size":185,"stargazers_count":4,"open_issues_count":0,"forks_count":1,"subscribers_count":13,"default_branch":"main","last_synced_at":"2025-08-19T13:29:58.144Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"BitBake","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/oasisprotocol.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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":"2024-09-12T12:25:51.000Z","updated_at":"2025-08-19T08:50:07.000Z","dependencies_parsed_at":"2024-12-20T13:18:25.823Z","dependency_job_id":"37372132-45b7-4f2a-bb6d-99aa512dc8eb","html_url":"https://github.com/oasisprotocol/oasis-boot","commit_stats":null,"previous_names":["oasisprotocol/oasis-boot"],"tags_count":13,"template":false,"template_full_name":null,"purl":"pkg:github/oasisprotocol/oasis-boot","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oasisprotocol%2Foasis-boot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oasisprotocol%2Foasis-boot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oasisprotocol%2Foasis-boot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oasisprotocol%2Foasis-boot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/oasisprotocol","download_url":"https://codeload.github.com/oasisprotocol/oasis-boot/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oasisprotocol%2Foasis-boot/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278794458,"owners_count":26046983,"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","status":"online","status_checked_at":"2025-10-07T02:00:06.786Z","response_time":59,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":"2024-11-13T13:15:57.767Z","updated_at":"2025-10-07T15:07:32.261Z","avatar_url":"https://github.com/oasisprotocol.png","language":"BitBake","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Oasis VM\n\nThis repository contains the build system for the Oasis VM distribution, a\nminimal Linux distribution to be used when provisioning Intel TDX virtual\nmachines.\n\n## Building\n\nIn order to ensure a reproducible build you can use the prepared Makefile. It\nuses a Docker container to perform the build in a controlled environment, so\nmake sure Docker is available.\n\n```\nmake\n```\n\nThe resulting artifacts will be located in `build/artifacts`.\n\n## Targets\n\n### `oasis-vm-stage1`\n\nBuilds the Stage 1 image which is a Linux kernel with an initramfs that can\nload Stage 2 from the first available volume (e.g. `/dev/vda`). It expects the\nvolume to be linearly partitioned as follows:\n\n\n* `part-rootfs` (start: `0` end: `storage_offset`) is the partition containing\n  the root filesystem.\n\n* `part-storage` (start: `storage_offset` end: `storage_offset + storage_size`)\n  is the storage partition.\n\nWhere `storage_offset` and `storage_size` are obtained from the kernel command\nline using the following parameters:\n\n* `oasis.stage2.storage_offset` is the `storage_offset` in 512-byte sectors.\n* `oasis.stage2.storage_size` is the `storage_size` in 512-byte sectors.\n\nThe partitions are set up by using dm-linear to map the regions into respective\nblock devices. In case the `storage_offset` is not defined, only `part-rootfs`\nis mapped.\n\nThe root partition is expected to be a dm-verity device where its configuration\nis also passed via the kernel command line. The following command line arguments\nare expected:\n\n* `oasis.stage2.roothash=ROOTHASH` where `ROOTHASH` should be the hex-encoded\n  root hash of the dm-verity device.\n\n* `oasis.stage2.hash_offset=OFFSET` where `OFFSET` should be a decimal number\n  specifying the dm-verity hash offset within the Stage 2 image.\n\nIf the command line arguments are not provided, Stage 1 will panic. Otherwise\nit will map `/dev/mapper/part-rootfs` using dm-verity and will then proceed to\nmount the Stage 2 filesystem (which is expected to be squashfs). Finally, it\nwill switch the root filesystem to Stage 2 and execute `/init`.\n\n### `oasis-vm-stage2-basic`\n\nBuilds the basic Stage 2 _template_ which is a `tar.bz2` archive containing a\nminimal root filesystem that can be used as Stage 2 for a trivial Oasis runtime.\n\nSee below for information on using these templates.\n\n### `oasis-vm-stage2-podman`\n\nBuilds the basic Stage 2 _template_ which is a `tar.bz2` archive containing a\nminimal root filesystem that can be used as Stage 2 for a Podman container\nbased system.\n\nSee below for information on using these templates.\n\n### `ovmf`\n\nBuilds the virtual firmware that performs early boot of a TD.\n\n## Using Templates\n\nThese templates are meant to be used with the [Oasis CLI] using the `rofl build`\nsubcommand to build ROFL app images.\n\n[Oasis CLI]: https://github.com/oasisprotocol/cli\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foasisprotocol%2Foasis-boot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Foasisprotocol%2Foasis-boot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foasisprotocol%2Foasis-boot/lists"}