Skip to content

Commit ec2a592

Browse files
committed
README: move Running to the top
While users install once, they likely need to look up usage instructions more often. So move these to the top of the README. Signed-off-by: Valentin Rothberg <[email protected]>
1 parent 96bfc8f commit ec2a592

File tree

1 file changed

+44
-43
lines changed

1 file changed

+44
-43
lines changed

README.md

Lines changed: 44 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,50 @@ in alignment with the <https://github.com/containers/bootc> project.
99
- Be a backend for <https://github.com/containers/podman-desktop-extension-bootc>
1010
- Work on both MacOS and Linux
1111

12+
## Running
13+
14+
The core command right now is:
15+
16+
```shell
17+
podman-bootc run <imagename>
18+
```
19+
20+
This command creates a new virtual machine, backed by a persistent disk
21+
image from a "self install" of the container image, and makes a SSH
22+
connection to it.
23+
24+
This requires SSH to be enabled by default in your base image; by
25+
default an automatically generated SSH key is injected via a systemd
26+
credential attached to qemu.
27+
28+
Even after you close the SSH connection, the machine continues to run.
29+
30+
### Other commands:
31+
32+
- `podman-bootc list`: List running VMs
33+
- `podman-bootc ssh`: Connect to a VM
34+
- `podman-bootc rm`: Remove a VM
35+
36+
### Architecture
37+
38+
At the current time the `run` command uses a
39+
[bootc install](https://containers.github.io/bootc/bootc-install.html)
40+
flow - where the container installs itself executed in a privileged
41+
mode inside the podman-machine VM.
42+
43+
The installation target is a raw disk image is created on the host, but loopback
44+
mounted over virtiofs/9p from the podman-machine VM.
45+
46+
(The need for a real-root privileged container to write Linux filesystems is part of the
47+
rationale for requiring podman-machine even on Linux is that
48+
it keeps the architecture aligned with MacOS (where it's always required))
49+
50+
In the future, support for installing via [Anaconda](https://github.com/rhinstaller/anaconda/)
51+
and [bootc-image-builder](https://github.com/osbuild/bootc-image-builder)
52+
will be added.
53+
54+
## Installation
55+
1256
### MacOS
1357

1458
First be sure you have the Podman Desktop [bootc extension requirements](https://github.com/containers/podman-desktop-extension-bootc?tab=readme-ov-file#requirements).
@@ -67,46 +111,3 @@ To compile it, just run in the project directory:
67111
```shell
68112
make
69113
```
70-
71-
72-
## Running
73-
74-
The core command right now is:
75-
76-
```shell
77-
podman-bootc run <imagename>
78-
```
79-
80-
This command creates a new virtual machine, backed by a persistent disk
81-
image from a "self install" of the container image, and makes a SSH
82-
connection to it.
83-
84-
This requires SSH to be enabled by default in your base image; by
85-
default an automatically generated SSH key is injected via a systemd
86-
credential attached to qemu.
87-
88-
Even after you close the SSH connection, the machine continues to run.
89-
90-
### Other commands:
91-
92-
- `podman-bootc list`: List running VMs
93-
- `podman-bootc ssh`: Connect to a VM
94-
- `podman-bootc rm`: Remove a VM
95-
96-
### Architecture
97-
98-
At the current time the `run` command uses a
99-
[bootc install](https://containers.github.io/bootc/bootc-install.html)
100-
flow - where the container installs itself executed in a privileged
101-
mode inside the podman-machine VM.
102-
103-
The installation target is a raw disk image is created on the host, but loopback
104-
mounted over virtiofs/9p from the podman-machine VM.
105-
106-
(The need for a real-root privileged container to write Linux filesystems is part of the
107-
rationale for requiring podman-machine even on Linux is that
108-
it keeps the architecture aligned with MacOS (where it's always required))
109-
110-
In the future, support for installing via [Anaconda](https://github.com/rhinstaller/anaconda/)
111-
and [bootc-image-builder](https://github.com/osbuild/bootc-image-builder)
112-
will be added.

0 commit comments

Comments
 (0)