diff --git a/docs/_update_os.md b/docs/_update_os.md index a1d84b1..4276650 100644 --- a/docs/_update_os.md +++ b/docs/_update_os.md @@ -1,20 +1,22 @@ -To update, run following commands under the `root` user: +??? example "Updating PiKVM OS" -```console -[root@pikvm ~]# rw -[root@pikvm ~]# pacman -Syu -[root@pikvm ~]# reboot -``` + To update, run following commands under the `root` user: -If you encounter any error during the upgrade, it is most likely due to the upgrade of the Arch Linux ARM repository upstream. -In this case, just use our script, which fixes this: + ```console + [root@pikvm ~]# pikvm-update + ``` -```console -[root@pikvm ~]# curl https://files.pikvm.org/update-os.sh | bash -``` + If you encounter an error like: -Next time you will be able to use the usual method with `pacman -Syu`. + ```console + [root@pikvm ~]# pikvm-update + bash: pikvm-update: command not found + ``` -Pacman saves all installed packages in a compressed format so that you can roll back to the old version if something goes wrong. -After you've updated and made sure everything works, it makes sense to clear the package cache so that it doesn't take up space -on the SD card (under the `root`): `rw; rm -rf /var/cache/pacman/pkg; ro`. + It's most likely you have an old OS release. You can update the OS as follows: + + ```console + [root@pikvm ~]# curl https://files.pikvm.org/update-os.sh | bash + ``` + + Next time you will be able to use the usual method with `pikvm-update`. diff --git a/docs/arduino_hid.md b/docs/arduino_hid.md index 5a1a791..93aa5f8 100644 --- a/docs/arduino_hid.md +++ b/docs/arduino_hid.md @@ -177,12 +177,11 @@ Programming assumes the Arduino is powered via USB, either from the connected ho ### Preparing the installation for SPI devices and programming -As of the latest package release, the kdmd service supports SPI. It should be sufficient to ensure the packages are up-to-date with the latest release, the programmer is installed, and the SPI device overlay is loaded at boot. +As of the latest package release, the kvmd service supports SPI. It should be sufficient to ensure the packages are up-to-date with the latest release, the programmer is installed, and the SPI device overlay is loaded at boot. * Switch the filesystem to read-write mode with `rw` -* Update the system and install the avrdude programmer `pacman -Syu avrdude-pikvm` * Add `dtoverlay=spi0-1cs` to `/boot/config.txt` -* Reboot with `reboot` or `systemctl reboot` +* Perform `reboot`. ### Flashing the Arduino diff --git a/docs/auth.md b/docs/auth.md index 5195971..a7bd6d0 100644 --- a/docs/auth.md +++ b/docs/auth.md @@ -96,11 +96,7 @@ It is strongly recommended to enable it if you expose the PiKVM in the big and s 1. Update OS and reboot: - ```console - [root@pikvm ~]# rw - [root@pikvm ~]# pacman -Syu - [root@pikvm ~]# reboot - ``` + {!_update_os.md!} 2. **Make sure that NTP is running otherwise you will not be able to access** (`timedatectl` command). The timezone doesn't matter. diff --git a/docs/bluetooth_hid.md b/docs/bluetooth_hid.md index 507b3cd..6081629 100644 --- a/docs/bluetooth_hid.md +++ b/docs/bluetooth_hid.md @@ -12,11 +12,12 @@ This is not the main case of using PiKVM since you still need it to pair with a ## Configuring the OS -1. Switch filesystem to RW-mode, perform update and install some packages: +1. Switch filesystem to RW-mode and install some packages: ``` # rw - # pacman -Syu bluez bluez-utils raspberrypi-bluetooth + # pacman -Syy + # pacman -Su bluez bluez-utils raspberrypi-bluetooth ``` 2. Edit `/boot/config.txt` and comment these lines: diff --git a/docs/faq.md b/docs/faq.md index 68b5887..52972d4 100644 --- a/docs/faq.md +++ b/docs/faq.md @@ -324,23 +324,23 @@ As a first step, we recommend carefully reading our documentation on [GitHub](ht * Switch filesystem to RO-mode with the command `ro`. +??? question "How do I update PiKVM with the latest software?" + + {!_update_os.md!} + + ??? question "How do I install or remove packages in PiKVM OS?" PiKVM OS is based on Arch Linux ARM and uses the [pacman](https://wiki.archlinux.org/title/Pacman) package manager. * Ensure the date is correct: `date`. Otherwise you may get the error `SSL certificate problem: certificate is not yet valid` + * It is recommended to update the OS before installing new packages (see the tip upper ^^^). * Switch filesystem to RW-mode: `rw`. * Find some packages (`emacs` for example): `pacman -Ss emacs`. - * Install it, while keeping the system updated: `pacman -Syu emacs`. - * To only update packages without installing new ones, use `pacman -Syu` + * Install it: `pacman -Syy` to update local packages list and `pacman -Su emacs` to install. * Remove it: `pacman -R emacs`. * Switch filesystem to RO-mode: `ro`. -??? question "How do I update PiKVM with the latest software?" - - {!_update_os.md!} - - ??? question "I don't need ATX functions. How do I disable this in the Web UI?" If you don't need ATX power control you can disable the relevant Web UI menu in `/etc/kvmd/override.yaml`: diff --git a/docs/first_steps.md b/docs/first_steps.md index 100a39a..df22e21 100644 --- a/docs/first_steps.md +++ b/docs/first_steps.md @@ -71,9 +71,7 @@ It's best to do this now, when you have physical access to the device, because i (for example, the power goes out during the update or some upstream change), you will need to [reflash the memory card](flashing_os.md). -??? example "Updating PiKVM OS" - - {!_update_os.md!} +{!_update_os.md!} **And now, after all...** diff --git a/docs/letsencrypt.md b/docs/letsencrypt.md index 9d3120e..82e4e83 100644 --- a/docs/letsencrypt.md +++ b/docs/letsencrypt.md @@ -15,44 +15,42 @@ file system, special tools around Certbot are required to work with certificates 1. Update the OS and make sure that you are using a new image with [PST storage](pst.md). - ``` - # rw - # pacman -Syu - # reboot - ... - # kvmd-pstrun -- true - ``` + {!_update_os.md!} + + ``` + # kvmd-pstrun -- true + ``` - If the storage is not available, you need to [reflash the OS image](flashing_os.md) to the latest one from our official website. + If the storage is not available, you need to [reflash the OS image](flashing_os.md) to the latest one from our official website. 2. Switch filesystem to RW and obtain the certificate (for example, `pikvm.example.com`. The method depends on the network configuration. In the simplest case, if PiKVM is open for access from the Internet, it is recommended to use the webroot. Another examples will be described below. - ``` - # rw - # kvmd-certbot certonly_webroot --agree-tos -n --email user@example.com -d pikvm.example.com - ``` + ``` + # rw + # kvmd-certbot certonly_webroot --agree-tos -n --email user@example.com -d pikvm.example.com + ``` 3. Install the certificate for KVMD-Nginx and (optionally) [KVMD-VNC](vnc.md). Running services will be restarted/reloaded automatically. Switch filesystem to RO. - ``` - # kvmd-certbot install_nginx pikvm.example.com - # kvmd-certbot install_vnc pikvm.example.com - # ro - ``` + ``` + # kvmd-certbot install_nginx pikvm.example.com + # kvmd-certbot install_vnc pikvm.example.com + # ro + ``` 4. Check the renewal immediately, just for testing: - ``` - # kvmd-certbot renew --force-renewal - ``` + ``` + # kvmd-certbot renew --force-renewal + ``` 5. Enable automatic certificate renewal: - ``` - # rw - # systemctl enable --now kvmd-certbot.timer - # ro - ``` + ``` + # rw + # systemctl enable --now kvmd-certbot.timer + # ro + ``` ----- diff --git a/docs/msd.md b/docs/msd.md index 91126dd..e9aded2 100644 --- a/docs/msd.md +++ b/docs/msd.md @@ -155,11 +155,14 @@ At the same time, you will be able to upload images via PiKVM Web UI to NFS, and ??? example "Step by step: Connecting NFS storage" - 1. Make some preparations: + 1. Update OS: + + {!_update_os.md!} + + 2. Make some preparations: ```console [root@pikvm ~]# rw - [root@pikvm ~]# pacman -Syu [root@pikvm ~]# pacman -S nfs-utils [root@pikvm ~]# kvmd-helper-otgmsd-remount rw [root@pikvm ~]# mkdir -p /var/lib/kvmd/msd/NFS_Primary diff --git a/docs/tailscale.md b/docs/tailscale.md index c63fbde..e4b314b 100644 --- a/docs/tailscale.md +++ b/docs/tailscale.md @@ -11,26 +11,29 @@ For detailed instructions, refer to [Tailscale support](https://tailscale.com/co ----- ## Configuring the PiKVM -1. Install the client, run `tailscaled` service and register it in the network: +1. Update OS: + + {!_update_os.md!} + +2. Install the Tailscale client, run `tailscaled` service and register it in the network: ```console [root@pikvm ~]# rw - [root@pikvm ~]# pacman -Syu [root@pikvm ~]# pacman -S tailscale-pikvm [root@pikvm ~]# systemctl enable --now tailscaled [root@pikvm ~]# tailscale up ``` -2. Follow the link to authorize this installation. +3. Follow the link to authorize this installation. You likely want to [disable key expiry](https://tailscale.com/kb/1028/key-expiry/)! -3. After authorization success, reboot to make sure that everything works correctly: +4. After authorization success, reboot to make sure that everything works correctly: ```console [root@pikvm ~]# reboot ``` -4. Now, you can view the IP address of the Tailscale network interface: +5. Now, you can view the IP address of the Tailscale network interface: ```console [root@pikvm ~]# ip addr show tailscale0 diff --git a/docs/v4.md b/docs/v4.md index 14c84ee..c1bbedf 100644 --- a/docs/v4.md +++ b/docs/v4.md @@ -116,27 +116,19 @@ The V4 Plus has an internal USB port that can be used at your discretion. It supports USB 3.0, but by default it only works with USB 2.0 devices due to energy savings. To enable USB 3.0, it is required to flash the USB controller firmware. It's very easy: -1. Install the package `flashrom-pikvm`: - - ```console - [root@pikvm ~]# rw - [root@pikvm ~]# pacman -Syu - [root@pikvm ~]# pacman -S flashrom-pikvm - ``` - -2. Flash the firmware: `usb3` for USB 3.0 support, or `default` for the default USB 2.0-only firmware: +1. Choose `usb3` for USB 3.0 support, or `default` for the default USB 2.0-only firmware: ```console [root@pikvm ~]# flashrom-vl805 usb3 ``` -3. Perform the soft reboot: +2. Perform the soft reboot: ```console [root@pikvm ~]# reboot ``` -4. After the soft reboot, perform **reboot by power** (unplug and plug again the power cable). +3. After the soft reboot, perform **reboot by power** (unplug and plug again the power cable). ----- diff --git a/docs/video.md b/docs/video.md index 7ba3006..0bf04a1 100644 --- a/docs/video.md +++ b/docs/video.md @@ -5,18 +5,22 @@ !!! info H.264 is available on Pi 3 and Pi 4. Older boards won't handle it. Best of all this feature only works for HDMI to CSI bridge. For the USB HDMI dongle, there will be a decrease in FPS to 10-15 for 1080p. Work in progress. -1. Perform full system update to get the latest uStreamer and install ffmpeg: +1. Update OS: + + {!_update_os.md!} + +2. Install ffmpeg: ``` # rw - # pacman -Syu ffmpeg + # pacman -S ffmpeg ``` -2. For USB dongle only: Add line `gpu_mem=256` to `/boot/config.txt`. +3. For USB dongle only: Add line `gpu_mem=256` to `/boot/config.txt`. -3. Perform `reboot` command. +4. Perform `reboot` command. -4. Run `rw` after the reboot. +5. Run `rw` after the reboot. 6. To record a video, you need to enable the stream (open the web interface or connect via VNC). Then run something like this in the console: