- Raspberry Pi 2B/3B/3B+/4B/5B
- Raspberry Pi OS Bullseye or Bookworm (32 bit image or 64 bit image; the mixed mode 32 bit image with 64 bit kernel is not supported)
-
Create full backup of your SD card
-
Add the public key of the repository
wget -q -O - https://apt.pivccu.de/piVCCU/public.key | sudo tee /usr/share/keyrings/pivccu.asc
-
Add the package repository
echo "deb [signed-by=/usr/share/keyrings/pivccu.asc] https://apt.pivccu.de/piVCCU stable main" | sudo tee /etc/apt/sources.list.d/pivccu.list sudo apt update
Instead of
stable
you can also use thetesting
tree, but be aware testing sometimes means not that stable. -
Install the neccessary kernel modules
sudo apt install build-essential bison flex libssl-dev sudo apt install raspberrypi-kernel-headers pivccu-modules-dkms
-
If you are using a HB-RF-ETH, install the neccessary support package
sudo apt install hb-rf-eth
-
Install the neccessary device tree patches (You can skip this step, if you do not use the HM-MOD-RPI-PCB or RPI-RF-MOD on GPIO header, for the HB-RF-USB(-2) and HB-RF-ETH this step is not neccessary)
sudo apt install pivccu-modules-raspberrypi
-
Enable UART GPIO pins (not required on Raspberry Pi 2) (You can skip this step, if you do not use the HM-MOD-RPI-PCB or RPI-RF-MOD on GPIO header, for the HB-RF-USB this step is not neccessary)
-
Option 1: Disabled bluetooth (prefered)
sudo bash -c 'cat << EOT >> /boot/firmware/config.txt dtoverlay=pi3-disable-bt EOT' sudo systemctl disable hciuart.service
-
Option 2: Bluetooth attached to mini uart
sudo bash -c 'cat << EOT >> /boot/firmware/config.txt dtoverlay=pi3-miniuart-bt enable_uart=1 force_turbo=1 core_freq=250 EOT'
-
-
Disable serial console in command line (You can skip this step, if you do not use the HM-MOD-RPI-PCB or RPI-RF-MOD on GPIO header, for the HB-RF-USB this step is not neccessary)
sudo sed -i /boot/firmware/cmdline.txt -e "s/console=serial0,[0-9]\+ //" sudo sed -i /boot/firmware/cmdline.txt -e "s/console=ttyAMA0,[0-9]\+ //"
-
Add network bridge (if you are using wifi please refer to the debian documentation how to configure the network and the bridge)
-
Verify, that eth0 is the name of your primary network interface:
sudo ip link show | cut -d' ' -f2 | cut -d: -f1 | grep -e '^e.*'
-
Update your config. (Replace eth0 if necessary)
sudo apt remove dhcpcd5 sudo apt install bridge-utils sudo bash -c 'cat << EOT > /etc/network/interfaces source-directory /etc/network/interfaces.d auto lo iface lo inet loopback iface eth0 inet manual auto br0 iface br0 inet dhcp bridge_ports eth0 EOT'
-
You can use an static IP address, too. In that case use instead:
sudo apt remove dhcpcd5 sudo apt install bridge-utils sudo bash -c 'cat << EOT > /etc/network/interfaces source-directory /etc/network/interfaces.d auto lo iface lo inet loopback iface eth0 inet manual auto br0 iface br0 inet static bridge_ports eth0 address <address> netmask <netmask> gateway <gateway> dns-nameservers <dns1> <dns2> EOT'
-
To use Wireless LAN, please take a look here
-
-
Reboot the system
sudo reboot
-
Install CCU container
sudo apt install pivccu3
- Start using your new virtualized CCU, you can get the IP of the container using
sudo pivccu-info
The stable kernel for the Raspberry Pi is distributed via apt. Normally you should use this kernel. But still there are some reasons to use rpi-update to install the latest (unstable) kernel. Since version 2.0.7 the pivccu-modules-raspberrypi does support kernels installed by rpi-update. Be aware, that piVCCU start after the reboot with a new kernel will take approx. 15 minutes.
Migrating from custom kernel to original Raspbian kernel with custom modules and device tree overlay
-
Create full backup of your SD card
-
Upgrade to latest pivccu package
sudo apt update sudo apt upgrade
-
Verify, that at least Version 2.29.23-12 is installed
sudo dpkg -s pivccu | grep 'Version'
-
Install original Raspbian kernel and additional custom kernel modules
sudo apt install pivccu-modules-raspberrypi raspberrypi-kernel
(In this step, the two packages should be get installed and the package raspberrypi-kernel-pivccu should be get removed)
-
Reboot the system
sudo reboot