Raspberry Pi

From Elvanör's Technical Wiki
Jump to navigationJump to search

Setup & Installation

  • PINN is an easy OS installation tool coupled with a boot loader. With it you can easily install several OSes on a single SD card, which makes it easier to multi boot on different distributions. Each distribution can be used for a different purpose (LibreELEC for Kodi, RetroArch for gaming, Raspberry Pi OS for general purpose, etc).
  • It seems that PINN strangely does not allow you custom configuration of the partition of the SD card. Partitions are created according to the chosen OSes you want to install, but you can not reserve more space for a given OS if you want to. Of course, you can use gparted after installation to change it as you want.
  • Normally the OS boot selection is done via keyboard / mouse when booting. For me, this is not ideal as many RPi systems will not be connected to a mouse or keyboard. However, there is a way to change the boot partition (and thus the selected boot distribution) via a text configuration file. So it's relatively easy to write scripts to change the OS via SSH (it requires SSH support for login in all installed OSes, though).

Raspberry Pi OS (Official OS)

  • This is based on Debian. You can install very easily Kodi and Retroarch (however getting the RA cores is much harder) via apt-get.
  • For Kodi, to play H265 movies (4K) you will probably need the followind added to your config.txt file:
dtoverlay=vc4-kms-v3d,cma-512
dtoverlay=rpivid-v4l2
  • For the Catchup TV addon to work, you will also need to install the kodi-inputstream-adaptive via apt-get.
  • Commands to perform the equivalent of a Gentoo emerge --sync && emerge --update world && emerge -a --depclean:
apt update
apt full-upgrade
apt autoremove
  • By default Raspberry Pi OS is configured with automatic upgrades. This can be problematic. You can disable this by removing the unattended-upgrades:
sudo apt remove unattended-upgrades
  • With an old LG TV, screen would remain black after a boot into Rasperry Pi OS (the same screen would work on Gentoo or RetroPie, or another screen would work in Raspberry Pi OS). To fix this, I ran raspi-config to setup console boot rather than an X session by default, I added hdmi_safe=1 to config.txt and I wrote the following login script (to place in /etc/profile.d/elvanor.sh):
if pgrep -x "Xorg" >/dev/null
then
       if pgrep -x "kodi" >/dev/null
       then
               echo "All good"
       else
               echo "Starting Kodi"
               sleep 5
               kodi
       fi
else
       echo "Starting Lightdm"
       sleep 5
       sudo systemctl restart lightdm
fi

Gentoo on the Raspberry Pi

  • It seems Gentoo would mostly work on the RPi, but I did not invest too much time. One of the default image in PINN is Gentoo and it works. It even comes pre-installed with Kodi (but not Retroarch) which is great, although I don't know if .
  • You will mostly want to reinstall Kodi with the webserver USE flag to include support for remote control via the Kore Android application.