From a7c76c251cb3416009d7ba4b6eda389130d5f995 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?St=C3=A9phane=20Graber?= Date: Mon, 15 Apr 2024 10:18:14 -0400 Subject: [PATCH 1/3] doc/installing: Sort source-build distro instructions MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Stéphane Graber --- doc/installing.md | 53 +++++++++++++++++++++++------------------------ 1 file changed, 26 insertions(+), 27 deletions(-) diff --git a/doc/installing.md b/doc/installing.md index 4a7225b4a86..022b44323e4 100644 --- a/doc/installing.md +++ b/doc/installing.md @@ -229,33 +229,6 @@ version to work. ````{tabs} -```{group-tab} Debian and Ubuntu -Install the build and required runtime dependencies with: - - sudo apt update - sudo apt install acl attr autoconf automake dnsmasq-base git golang-go libacl1-dev libcap-dev liblxc1 liblxc-dev libsqlite3-dev libtool libudev-dev liblz4-dev libuv1-dev make pkg-config rsync squashfs-tools tar tcl xz-utils ebtables - -There are a few storage drivers for Incus besides the default `dir` driver. -Installing these tools adds a bit to initramfs and may slow down your -host boot, but are needed if you'd like to use a particular driver: - - sudo apt install btrfs-progs - sudo apt install ceph-common - sudo apt install lvm2 thin-provisioning-tools - sudo apt install zfsutils-linux - -To run the test suite, you'll also need: - - sudo apt install busybox-static curl gettext jq sqlite3 socat bind9-dnsutils - -****NOTE:**** If you use the `liblxc-dev` package and get compile time errors when building the `go-lxc` module, -ensure that the value for `LXC_DEVEL` is `0` for your `liblxc` build. To check that, look at `/usr/include/lxc/version.h`. -If the `LXC_DEVEL` value is `1`, replace it with `0` to work around the problem. It's a packaging bug, and -we are aware of it for Ubuntu 22.04/22.10. Ubuntu 23.04/23.10 does not have this problem. - -``` - - ```{group-tab} Alpine Linux You can get the development resources required to build Incus on your Alpine Linux via the following command: @@ -283,6 +256,32 @@ Also, due to a [`gettext` issue](https://github.com/gosexy/gettext/issues/1), yo export CGO_CPPFLAGS="-I/usr/include" ``` +```{group-tab} Debian and Ubuntu +Install the build and required runtime dependencies with: + + sudo apt update + sudo apt install acl attr autoconf automake dnsmasq-base git golang-go libacl1-dev libcap-dev liblxc1 liblxc-dev libsqlite3-dev libtool libudev-dev liblz4-dev libuv1-dev make pkg-config rsync squashfs-tools tar tcl xz-utils ebtables + +There are a few storage drivers for Incus besides the default `dir` driver. +Installing these tools adds a bit to initramfs and may slow down your +host boot, but are needed if you'd like to use a particular driver: + + sudo apt install btrfs-progs + sudo apt install ceph-common + sudo apt install lvm2 thin-provisioning-tools + sudo apt install zfsutils-linux + +To run the test suite, you'll also need: + + sudo apt install busybox-static curl gettext jq sqlite3 socat bind9-dnsutils + +****NOTE:**** If you use the `liblxc-dev` package and get compile time errors when building the `go-lxc` module, +ensure that the value for `LXC_DEVEL` is `0` for your `liblxc` build. To check that, look at `/usr/include/lxc/version.h`. +If the `LXC_DEVEL` value is `1`, replace it with `0` to work around the problem. It's a packaging bug, and +we are aware of it for Ubuntu 22.04/22.10. Ubuntu 23.04/23.10 does not have this problem. + +``` + ```` ### From source: Build the latest version From 219643a9477fcb48aa39203fab808393e68e5bed Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?St=C3=A9phane=20Graber?= Date: Mon, 15 Apr 2024 10:40:34 -0400 Subject: [PATCH 2/3] doc/installing: Add OpenSUSE source instructions MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Stéphane Graber --- doc/installing.md | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/doc/installing.md b/doc/installing.md index 022b44323e4..f84e7c518ad 100644 --- a/doc/installing.md +++ b/doc/installing.md @@ -282,6 +282,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: + + 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 + +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 + +As OpenSUSE stores QEMU firmware files using an unusual filename and location, you will need to create some symlinks for them: + + 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 From 195fbf27ce5f1f2d91906e973e79d4522a3193e0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?St=C3=A9phane=20Graber?= Date: Mon, 15 Apr 2024 10:47:57 -0400 Subject: [PATCH 3/3] doc/installing: Add Alpine instructions MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Stéphane Graber --- doc/installing.md | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/doc/installing.md b/doc/installing.md index f84e7c518ad..f6d073fcbd3 100644 --- a/doc/installing.md +++ b/doc/installing.md @@ -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`.