Skip to content

Commit

Permalink
Merge pull request #753 from stgraber/doc
Browse files Browse the repository at this point in the history
Update installation instructions
  • Loading branch information
tych0 authored Apr 15, 2024
2 parents ebe074f + 195fbf2 commit 25ff040
Showing 1 changed file with 54 additions and 21 deletions.
75 changes: 54 additions & 21 deletions doc/installing.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,21 @@ Packages are available for a number of Linux distributions, either in their main

````{tabs}
```{group-tab} Alpine
Incus and all of its dependencies are available in Alpine Linux's community repository as `incus`.
Install Incus with:
apk add incus incus-client
Then enable and start the service:
rc-update add incusd
rc-service incusd start
Please report packaging issues [here](https://gitlab.alpinelinux.org/alpine/aports/-/issues).
```
```{group-tab} Arch Linux
Incus and all of its dependencies are available in Arch Linux's main repository as `incus`.
Expand Down Expand Up @@ -229,6 +244,33 @@ version to work.

````{tabs}
```{group-tab} Alpine Linux
You can get the development resources required to build Incus on your Alpine Linux via the following command:
apk add acl-dev autoconf automake eudev-dev gettext-dev go intltool libcap-dev libtool libuv-dev linux-headers lz4-dev tcl-dev sqlite-dev lxc-dev make xz
To take advantage of all the necessary features of Incus, you must install additional packages.
You can reference the list of packages you need to use specific functions from [LXD package definition in Alpine Linux repository](https://gitlab.alpinelinux.org/alpine/infra/aports/-/blob/master/community/lxd/APKBUILD). <!-- wokeignore:rule=master -->
Also you can find the package you need with the binary name from [Alpine Linux packages contents filter](https://pkgs.alpinelinux.org/contents).
Install the main dependencies:
apk add acl attr ca-certificates cgmanager dbus dnsmasq lxc libintl iproute2 iptables netcat-openbsd rsync squashfs-tools shadow-uidmap tar xz
Install the extra dependencies for running virtual machines:
apk add qemu-system-x86_64 qemu-chardev-spice qemu-hw-usb-redirect qemu-hw-display-virtio-vga qemu-img qemu-ui-spice-core ovmf sgdisk util-linux-misc virtiofsd
After preparing the source from a release tarball or git repository, you need follow the below steps to avoid known issues during build time:
****NOTE:**** Some build errors may occur if `/usr/local/include` doesn't exist on the system.
Also, due to a [`gettext` issue](https://github.com/gosexy/gettext/issues/1), you may need to set those additional environment variables:
export CGO_LDFLAGS="$CGO_LDFLAGS -L/usr/lib -lintl"
export CGO_CPPFLAGS="-I/usr/include"
```
```{group-tab} Debian and Ubuntu
Install the build and required runtime dependencies with:
Expand All @@ -255,34 +297,25 @@ we are aware of it for Ubuntu 22.04/22.10. Ubuntu 23.04/23.10 does not have this
```
```{group-tab} OpenSUSE
You can get the development resources required to build Incus on your OpenSUSE Tumbleweed system via the following command:
```{group-tab} Alpine Linux
You can get the development resources required to build Incus on your Alpine Linux via the following command:
apk add acl-dev autoconf automake eudev-dev gettext-dev go intltool libcap-dev libtool libuv-dev linux-headers lz4-dev tcl-dev sqlite-dev lxc-dev make xz
To take advantage of all the necessary features of Incus, you must install additional packages.
You can reference the list of packages you need to use specific functions from [LXD package definition in Alpine Linux repository](https://gitlab.alpinelinux.org/alpine/infra/aports/-/blob/master/community/lxd/APKBUILD). <!-- wokeignore:rule=master -->
Also you can find the package you need with the binary name from [Alpine Linux packages contents filter](https://pkgs.alpinelinux.org/contents).
Install the main dependencies:
apk add acl attr ca-certificates cgmanager dbus dnsmasq lxc libintl iproute2 iptables netcat-openbsd rsync squashfs-tools shadow-uidmap tar xz
Install the extra dependencies for running virtual machines:
apk add qemu-system-x86_64 qemu-chardev-spice qemu-hw-usb-redirect qemu-hw-display-virtio-vga qemu-img qemu-ui-spice-core ovmf sgdisk util-linux-misc virtiofsd
sudo zypper install autoconf automake git go libacl-devel libcap-devel liblxc1 liblxc-devel sqlite3-devel libtool libudev-devel liblz4-devel libuv-devel make pkg-config tcl
After preparing the source from a release tarball or git repository, you need follow the below steps to avoid known issues during build time:
In addition, for normal operation, you'll also likely need
sudo zypper install dnsmasq squashfs xz rsync tar attr acl qemu qemu-img qemu-spice qemu-hw-display-virtio-gpu-pci iptables ebtables nftables
****NOTE:**** Some build errors may occur if `/usr/local/include` doesn't exist on the system.
Also, due to a [`gettext` issue](https://github.com/gosexy/gettext/issues/1), you may need to set those additional environment variables:
As OpenSUSE stores QEMU firmware files using an unusual filename and location, you will need to create some symlinks for them:
export CGO_LDFLAGS="$CGO_LDFLAGS -L/usr/lib -lintl"
export CGO_CPPFLAGS="-I/usr/include"
sudo mkdir /usr/share/OVMF
sudo ln -s /usr/share/qemu/ovmf-x86_64-4m-code.bin /usr/share/OVMF/OVMF_CODE.4MB.fd
sudo ln -s /usr/share/qemu/ovmf-x86_64-4m-vars.bin /usr/share/OVMF/OVMF_VARS.4MB.fd
sudo ln -s /usr/share/qemu/ovmf-x86_64-ms-4m-vars.bin /usr/share/OVMF/OVMF_VARS.4MB.ms.fd
sudo ln -s /usr/share/qemu/ovmf-x86_64-ms-4m-code.bin /usr/share/OVMF/OVMF_CODE.4MB.ms.fd
```
````

### From source: Build the latest version
Expand Down

0 comments on commit 25ff040

Please sign in to comment.