linuxkit-nix/README.md

69 lines
2.0 KiB
Markdown
Raw Normal View History

# LinuxKit Nix - Linux Nix VM
LinuxKit Nix makes it easy to build Linux binaries from a macOS machine using
Nix. It's installing a VM using the native virtualization
(Hypervisor.Framework) so it's quite liteweight compared to installing
VirtualBox. The project also comes with an installation script that configures
Nix to use the VM as a remote builder automatically.
2018-04-02 17:34:28 +03:00
## Requirements
This project depends on Nix and a nixpkgs channel >= 18.03.
## Installation
2018-04-11 15:48:41 +03:00
Fetch it from the NixOS binary cache:
2018-04-11 15:48:41 +03:00
2018-11-07 21:40:21 +03:00
nix-env -i /nix/store/jgq3savsyyrpsxvjlrz41nx09z7r0lch-linuxkit-builder
nix-linuxkit-configure
It'll write to:
2018-04-11 15:48:41 +03:00
- ~/.cache/nix-linuxkit-builder/, in particular
~/.cache/nix-linuxkit-builder/nix-state/console-ring is interesting
- ~root/.ssh/ for the SSH config
- /etc/nix/machines
- ~/Library/LaunchAgents/org.nix-community.linuxkit-builder.plist
2018-04-11 15:48:41 +03:00
2018-11-08 00:14:50 +03:00
Once installed the daemon should automatically start and stay running.
2018-04-11 15:48:41 +03:00
2018-11-08 00:14:50 +03:00
## Debugging
2018-04-11 15:48:41 +03:00
2018-11-08 00:14:50 +03:00
To see if the daemon is running execute the following command and look at the
first column. If it has a number (PID) it's running, if it's `-` then it's
stopped:
lauchctl list | grep linuxkit
2018-04-11 15:48:41 +03:00
You can force start it with:
2018-04-11 15:48:41 +03:00
launchctl start org.nix-community.linuxkit-builder
2018-04-11 15:48:41 +03:00
You can force stop it with:
2018-04-11 15:48:41 +03:00
launchctl stop org.nix-community.linuxkit-builder
2018-04-11 15:48:41 +03:00
If after you stop it you may want to check for processes, like:
2018-04-02 17:34:28 +03:00
pgrep vpnkit
pgrep linuxkit
pgrep hyperkit
2018-04-02 17:34:28 +03:00
2018-08-11 13:49:19 +03:00
If something goes wrong and it didn't stop properly, you can try:
2018-04-02 17:34:28 +03:00
pkill -F ~/.cache/nix-linuxkit-builder/nix-state/hyperkit.pid hyperkit
2018-11-08 00:14:50 +03:00
## Known potential issues
### `error: 'x86_64-linux' is require to build ...`
Check the `/etc/nix/nix.conf` file for a `builders` option. It should either
be set to `@/etc/nix/machines` or not set at all for LinuxKit Nix to work
properly.
### `cannot build on 'ssh://nix-linuxkit': cannot connect ...: Operation timed out`
Something is wrong with LinuxKit. See the debugging section to try things out.
Leave an issue at https://github.com/nix-community/linuxkit-nix/issues