You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+21-10Lines changed: 21 additions & 10 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,7 +2,7 @@
2
2
3
3
`docker2vm` converts OCI container images (or Dockerfiles via BuildKit) into VM-compatible outputs. Today, the runtime materialization target is [Gondolin](https://github.com/earendil-works/gondolin).
4
4
5
-
It follows an OCI-first flow inspired by "Docker without Docker":
5
+
It follows an OCI-first flow inspired by ["Docker without Docker"](https://fly.io/blog/docker-without-docker/):
6
6
7
7
- resolve/pull an OCI image
8
8
- apply layers to a root filesystem
@@ -16,6 +16,7 @@ Docker containers share the host kernel. Gondolin runs workloads inside a VM, so
16
16
17
17
## Current features
18
18
19
+
- zero runtime npm dependencies (`dependencies: {}`)
@@ -39,6 +40,7 @@ Docker containers share the host kernel. Gondolin runs workloads inside a VM, so
39
40
- Bun >= 1.2
40
41
-`e2fsprogs` (`mke2fs`, `debugfs`)
41
42
- QEMU (for runtime smoke checks via `gondolin exec`)
43
+
- Gondolin CLI installed separately (tested with `@earendil-works/gondolin@0.2.1`)
42
44
- Docker (only required for `dockerfile2gondolin`)
43
45
44
46
macOS helpers:
@@ -53,17 +55,25 @@ Ubuntu helpers:
53
55
sudo apt-get install -y e2fsprogs qemu-system-x86
54
56
```
55
57
56
-
## Platform setup guides
58
+
Install Gondolin CLI (tested version):
57
59
58
-
-[macOS guide](./docs/macos.md)
59
-
-[Linux guide](./docs/linux.md)
60
+
```bash
61
+
bun add -g @earendil-works/gondolin@0.2.1
62
+
```
60
63
61
-
## Install
64
+
Prime guest assets once:
62
65
63
66
```bash
64
-
bun install
67
+
gondolin exec -- /bin/true
65
68
```
66
69
70
+
> On macOS, `docker2vm` checks common Homebrew `e2fsprogs` locations automatically; updating `PATH` is usually optional.
71
+
72
+
## Platform setup guides
73
+
74
+
-[macOS guide](./docs/macos.md)
75
+
-[Linux guide](./docs/linux.md)
76
+
67
77
## Quickstart
68
78
69
79
### 1) Validate
@@ -92,11 +102,12 @@ For each distro row, tests run a distro-specific probe command (for example `/et
92
102
93
103
### Choosing the build platform (`--platform`)
94
104
95
-
`--platform` selects which OCI image variant to convert, and should match the architecture you plan to run in Gondolin.
105
+
`--platform` selects which OCI image variant to convert, and should match the architecture you plan to run in Gondolin. This applies to both `oci2gondolin` and `dockerfile2gondolin`.
96
106
97
107
- Apple Silicon / arm64 Linux hosts: `linux/arm64`
98
108
- Intel / amd64 hosts: `linux/amd64`
99
-
- If omitted, `oci2gondolin` defaults from host arch (`x64 -> linux/amd64`, `arm64 -> linux/arm64`).
109
+
- If omitted, both commands default from host arch (`x64 -> linux/amd64`, `arm64 -> linux/arm64`).
110
+
- You can always override manually with `--platform linux/amd64` or `--platform linux/arm64`.
Copy file name to clipboardExpand all lines: docs/macos.md
+30-16Lines changed: 30 additions & 16 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,6 +2,8 @@
2
2
3
3
This guide is for running `docker2vm` on macOS (Apple Silicon or Intel).
4
4
5
+
`docker2vm` itself has **0 runtime npm dependencies**; system/runtime tools are installed separately.
6
+
5
7
## 1) Install required tools
6
8
7
9
```bash
@@ -10,43 +12,55 @@ brew install bun qemu e2fsprogs
10
12
11
13
If you want Dockerfile conversion (`dockerfile2gondolin`), also install Docker Desktop.
12
14
13
-
## 2) Ensure `mke2fs` and `debugfs` are on `PATH`
15
+
## 2) Optional: add `e2fsprogs` binaries to `PATH`
16
+
17
+
With Homebrew, `e2fsprogs` is often keg-only. `docker2vm` checks common Homebrew locations automatically, so a PATH change is usually **not required** for normal usage.
18
+
19
+
If you want to run `mke2fs` / `debugfs` manually in your shell:
Use a platform that matches the architecture you will run in Gondolin.
52
66
@@ -65,7 +79,7 @@ bun run oci2gondolin -- \
65
79
--out ./out/busybox-assets
66
80
```
67
81
68
-
## 6) Run integration + smoke checks
82
+
## 7) Run integration + smoke checks
69
83
70
84
Apple Silicon:
71
85
@@ -85,7 +99,7 @@ PLATFORM=linux/amd64 bun run e2e:smoke
85
99
86
100
### `mke2fs` / `debugfs` not found
87
101
88
-
Confirm PATH includes the `e2fsprogs``sbin` directory shown above.
102
+
`docker2vm` should find common Homebrew locations automatically. If your install uses a custom prefix, either add it to `PATH` or point `GONDOLIN_GUEST_DIR` to prepared assets and verify `e2fsprogs` binaries are installed.
89
103
90
104
### Case-sensitive filename conflicts during conversion
0 commit comments