diff --git a/docs/INSTALL.md b/docs/INSTALL.md index f254bbac..82177097 100644 --- a/docs/INSTALL.md +++ b/docs/INSTALL.md @@ -237,28 +237,42 @@ sudo pacman -S libnotify ``` ### Dependencies: Raspbian (ARMHF) +Validated using: +* `Linux raspberrypi 5.4.79-v7+ #1373 SMP Mon Nov 23 13:22:33 GMT 2020 armv7l GNU/Linux` (2020-12-02-raspios-buster-armhf) using Raspberry Pi 2 Model B +* `Linux raspberrypi 5.4.83-v8+ #1379 SMP PREEMPT Mon Dec 14 13:15:14 GMT 2020 aarch64` (2021-01-11-raspios-buster-armhf) using Raspberry Pi 3 Model B+ + **Note:** Build environment must have at least 1GB of memory & 1GB swap space. Check with `swapon`. + ```text -sudo apt-get install libcurl4-openssl-dev -sudo apt-get install libsqlite3-dev -sudo apt-get install libxml2 -sudo apt-get install pkg-config -wget https://github.com/ldc-developers/ldc/releases/download/v1.16.0/ldc2-1.16.0-linux-armhf.tar.xz -tar -xvf ldc2-1.16.0-linux-armhf.tar.xz +sudo apt install build-essential +sudo apt install libcurl4-openssl-dev +sudo apt install libsqlite3-dev +sudo apt install pkg-config +sudo apt install git +sudo apt install curl +wget https://github.com/ldc-developers/ldc/releases/download/v1.17.0/ldc2-1.17.0-linux-armhf.tar.xz +tar -xvf ldc2-1.17.0-linux-armhf.tar.xz ``` For notifications the following is also necessary: ```text sudo apt install libnotify-dev ``` -### Dependencies: Debian (ARM64) +### Dependencies: Ubuntu 20.x / Debian 10 (ARM64) +Validated using: +* `Ubuntu 20.04.2 LTS (GNU/Linux 5.4.0-1028-raspi aarch64)` (ubuntu-20.04.2-preinstalled-server-arm64+raspi) using Raspberry Pi 3 Model B+ + +**Note:** Build environment must have at least 1GB of memory & 1GB swap space. Check with `swapon`. + ```text -sudo apt-get install libcurl4-openssl-dev -sudo apt-get install libsqlite3-dev -sudo apt-get install libxml2 -sudo apt-get install pkg-config -wget https://github.com/ldc-developers/ldc/releases/download/v1.16.0/ldc2-1.16.0-linux-aarch64.tar.xz -tar -xvf ldc2-1.16.0-linux-aarch64.tar.xz +sudo apt install build-essential +sudo apt install libcurl4-openssl-dev +sudo apt install libsqlite3-dev +sudo apt install pkg-config +sudo apt install git +sudo apt install curl +wget https://github.com/ldc-developers/ldc/releases/download/v1.25.1/ldc2-1.25.1-linux-aarch64.tar.xz +tar -xvf ldc2-1.25.1-linux-aarch64.tar.xz ``` For notifications the following is also necessary: ```text @@ -338,7 +352,7 @@ as far as possible automatically, but can be overridden by passing ```text git clone https://github.com/abraunegg/onedrive.git cd onedrive -./configure DC=~/ldc2-1.16.0-linux-armhf/bin/ldmd2 +./configure DC=~/ldc2-1.17.0-linux-armhf/bin/ldmd2 make clean; make sudo make install ``` @@ -348,7 +362,7 @@ sudo make install ```text git clone https://github.com/abraunegg/onedrive.git cd onedrive -./configure DC=~/ldc2-1.16.0-linux-aarch64/bin/ldmd2 +./configure DC=~/ldc2-1.25.1-linux-aarch64/bin/ldmd2 make clean; make sudo make install ``` diff --git a/docs/USAGE.md b/docs/USAGE.md index b27d7b64..2a06d52d 100644 --- a/docs/USAGE.md +++ b/docs/USAGE.md @@ -697,11 +697,35 @@ systemctl --user start onedrive **Note:** This will run the 'onedrive' process with a UID/GID of '0', thus, any files or folders that are created will be owned by 'root' -To see the logs run: +To see the systemd application logs run: ```text journalctl --user-unit=onedrive -f ``` +**Note:** It is a 'systemd' requirement that the XDG environment variables exist for correct enablement and operation of systemd services. If you receive this error when enabling the systemd service: +``` +Failed to connect to bus: No such file or directory +``` +The most likely cause is that the XDG environment variables are missing. To fix this, you must add the following to `.bashrc` or any other file which is run on user login: +``` +export XDG_RUNTIME_DIR="/run/user/$UID" +export DBUS_SESSION_BUS_ADDRESS="unix:path=${XDG_RUNTIME_DIR}/bus" +``` + +To make this change effective, you must logout of all user accounts where this change has been made. + +**Note:** On some systems (for example - Raspbian / Ubuntu / Debian on Raspberry Pi) the above XDG fix may not be reliable after system reboots. The potential alternative to start the client via systemd as root, is to perform the following: +1. Create a symbolic link from `/home/root/.config/onedrive` pointing to `/root/.config/onedrive/` +2. Create a systemd service using the '@' service file: `systemctl enable onedrive@root.service` +3. Start the root@service: `systemctl start onedrive@root.service` + +This will ensure that the service will correctly restart on system reboot. + +To see the systemd application logs run: +```text +journalctl --unit=onedrive@ -f +``` + ### OneDrive service running as root user via systemd (Red Hat Enterprise Linux, CentOS Linux) ```text systemctl enable onedrive @@ -709,7 +733,7 @@ systemctl start onedrive ``` **Note:** This will run the 'onedrive' process with a UID/GID of '0', thus, any files or folders that are created will be owned by 'root' -To see the logs run: +To see the systemd application logs run: ```text journalctl --unit=onedrive -f ``` @@ -731,7 +755,7 @@ systemctl start onedrive@.service systemctl status onedrive@.service ``` -To see the logs run: +To see the systemd application logs run: ```text journalctl --unit=onedrive@ -f ``` @@ -751,7 +775,7 @@ systemctl --user enable onedrive systemctl --user start onedrive ``` -To see the logs run: +To see the systemd application logs run: ```text journalctl --user-unit=onedrive -f ```