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
+30-13Lines changed: 30 additions & 13 deletions
Original file line number
Diff line number
Diff line change
@@ -23,7 +23,7 @@ Lima is expected to be used on macOS hosts, but can be used on Linux hosts as we
23
23
24
24
✅ Intel on ARM
25
25
26
-
✅ Various guest Linux distributions: [Ubuntu](./examples/ubuntu.yaml), [Debian](./examples/debian.yaml), [Fedora](./examples/fedora.yaml), [Alpine](./examples/alpine.yaml), [Arch Linux](./examples/archlinux.yaml), [openSUSE](./examples/opensuse.yaml)...
26
+
✅ Various guest Linux distributions: [Alpine](./examples/alpine.yaml), [Arch Linux](./examples/archlinux.yaml), [CentOS](./examples/centos.yaml), [Debian](./examples/debian.yaml), [Fedora](./examples/fedora.yaml), [openSUSE](./examples/opensuse.yaml), [Ubuntu](./examples/ubuntu.yaml) (default), ...
27
27
28
28
Related project: [sshocker (ssh with file sharing and port forwarding)](https://github.com/lima-vm/sshocker)
29
29
@@ -40,8 +40,9 @@ Container environments:
40
40
-[Rancher Desktop](https://rancherdesktop.io/): Kubernetes and container management to the desktop
41
41
-[Colima](https://github.com/abiosoft/colima): Docker (and Kubernetes) on macOS with minimal setup
42
42
43
-
Misc:
44
-
-[Lima xbar plugin](https://github.com/unixorn/lima-xbar-plugin) - [xbar](https://xbarapp.com/) plugin to start/stop VMs from the menu bar and see their running status.
43
+
GUI:
44
+
-[Lima xbar plugin](https://github.com/unixorn/lima-xbar-plugin): [xbar](https://xbarapp.com/) plugin to start/stop VMs from the menu bar and see their running status.
45
+
-[lima-gui](https://github.com/afbjorklund/lima-gui): Qt GUI for Lima
45
46
46
47
## Examples
47
48
@@ -96,7 +97,7 @@ $ brew install lima
96
97
97
98
Install recent version of QEMU. v6.1.0 or later is recommended.
98
99
99
-
On ARM hosts, a [patched](https://patchwork.kernel.org/series/548227/mbox/) version of QEMU has to be installed for enabling `-accel hvf` support.
100
+
On ARM Mac hosts, a [patched](https://patchwork.kernel.org/series/548227/mbox/) version of QEMU has to be installed for enabling `-accel hvf` support.
100
101
101
102
The patch was merged into the master branch on [2021-09-21](https://github.com/qemu/qemu/commit/81ceb36b9) and will be included in QEMU v6.2.0.
102
103
@@ -153,6 +154,8 @@ Detailed usage:
153
154
154
155
- To enable bash completion, add `source <(limactl completion bash)` to `~/.bash_profile`.
155
156
157
+
- To enable zsh completion, see `limactl completion zsh --help`
158
+
156
159
### :warning: CAUTION: make sure to back up your data
157
160
Lima may have bugs that result in loss of data.
158
161
@@ -178,7 +181,7 @@ The current default spec:
178
181
## How it works
179
182
180
183
- Hypervisor: QEMU with HVF accelerator
181
-
- Filesystem sharing: [reverse sshfs](https://github.com/lima-vm/sshocker/blob/v0.2.0/pkg/reversesshfs/reversesshfs.go) (planned to be replaced with 9p soon)
184
+
- Filesystem sharing: [reverse sshfs](https://github.com/lima-vm/sshocker/blob/v0.2.0/pkg/reversesshfs/reversesshfs.go) (likely to be replaced with 9p or Samba in future)
182
185
- Port forwarding: `ssh -L`, automated by watching `/proc/net/tcp` and `iptables` events in the guest
183
186
184
187
## Developer guide
@@ -195,7 +198,6 @@ The current default spec:
195
198
- Performance optimization
196
199
- More guest distros
197
200
- Windows hosts
198
-
- GUI with system tray icon (Qt or Electron, for portability)
199
201
-[VirtFS to replace the current reverse sshfs (work has to be done on QEMU repo)](https://github.com/NixOS/nixpkgs/pull/122420)
200
202
-[vsock](https://github.com/apple/darwin-xnu/blob/xnu-7195.81.3/bsd/man/man4/vsock.4) to replace SSH (work has to be done on QEMU repo)
201
203
@@ -210,13 +212,14 @@ The current default spec:
210
212
-["What's my login password?"](#whats-my-login-password)
211
213
-["Does Lima work on ARM Mac?"](#does-lima-work-on-arm-mac)
212
214
-["Can I run non-Ubuntu guests?"](#can-i-run-non-ubuntu-guests)
213
-
-["Can I run other container engines such as Docker and Podman?"](#can-i-run-other-container-engines-such-as-docker-and-podman)
215
+
-["Can I run other container engines such as Docker and Podman? What about Kubernetes?"](#can-i-run-other-container-engines-such-as-docker-and-podman-what-about-kubernetes)
214
216
-["Can I run Lima with a remote Linux machine?"](#can-i-run-lima-with-a-remote-linux-machine)
215
217
-["Advantages compared to Docker for Mac?"](#advantages-compared-to-docker-for-mac)
216
218
-[QEMU](#qemu)
217
219
-["QEMU crashes with `HV_ERROR`"](#qemu-crashes-with-hv_error)
218
220
-["QEMU is slow"](#qemu-is-slow)
219
221
-[error "killed -9"](#error-killed--9)
222
+
-["QEMU crashes with `vmx_write_mem: mmu_gva_to_gpa XXXXXXXXXXXXXXXX failed`"](#qemu-crashes-with-vmx_write_mem-mmu_gva_to_gpa-xxxxxxxxxxxxxxxx-failed)
220
223
-[SSH](#ssh)
221
224
-["Port forwarding does not work"](#port-forwarding-does-not-work)
222
225
-[stuck on "Waiting for the essential requirement 1 of X: "ssh"](#stuck-on-waiting-for-the-essential-requirement-1-of-x-ssh)
@@ -237,7 +240,7 @@ Alternatively, you may also directly ssh into the guest: `ssh -p 60022 -i ~/.lim
237
240
Yes, it should work, but not regularly tested on ARM (due to lack of CI).
238
241
239
242
#### "Can I run non-Ubuntu guests?"
240
-
Debian, Fedora, Alpine, Arch Linux, and openSUSE are also known to work.
243
+
Alpine, Arch Linux, CentOS, Debian, Fedora, and openSUSE are also known to work.
241
244
See [`./examples/`](./examples/).
242
245
243
246
An image has to satisfy the following requirements:
@@ -250,16 +253,25 @@ An image has to satisfy the following requirements:
250
253
-`newuidmap` and `newgidmap`
251
254
-`apt-get`, `dnf`, `apk`, `pacman`, or `zypper` (if you want to contribute support for another package manager, run `git grep apt-get` to find out where to modify)
252
255
253
-
#### "Can I run other container engines such as Docker and Podman?"
256
+
#### "Can I run other container engines such as Docker and Podman? What about Kubernetes?"
The default Ubuntu image also contains LXD. Run`lima sudo lxc init` to set up LXD.
262
270
271
+
See also third party containerd projects based on Lima:
272
+
-[Rancher Desktop](https://rancherdesktop.io/): Kubernetes and container management to the desktop
273
+
-[Colima](https://github.com/abiosoft/colima): Docker (and Kubernetes) on macOS with minimal setup
274
+
263
275
#### "Can I run Lima with a remote Linux machine?"
264
276
Lima itself does not support connecting to a remote Linux machine, but [sshocker](https://github.com/lima-vm/sshocker),
265
277
the predecessor or Lima, provides similar features for remote Linux machines.
@@ -312,6 +324,11 @@ Note: **Only** on macOS versions **before** 10.15.7 you might need to add this e
312
324
- make sure qemu is codesigned, See ["QEMU crashes with `HV_ERROR`"](#qemu-crashes-with-hv_error).
313
325
- if you are on macOS 10.15.7 or 11.0 or later make sure the entitlement `com.apple.vm.hypervisor` is **not** added. It only works on older macOS versions. You can clear the codesigning with `codesign --remove-signature /usr/local/bin/qemu-system-x86_64` and [start over](#getting-started).
314
326
327
+
#### "QEMU crashes with `vmx_write_mem: mmu_gva_to_gpa XXXXXXXXXXXXXXXX failed`"
328
+
This error is known to happen when running an image of RHEL8-compatible distribution such as CentOS 8 on Intel Mac.
329
+
A workaround is to set environment variable `QEMU_SYSTEM_X86_64="qemu-system-x86_64 -cpu Haswell-v4"`.
0 commit comments