Skip to main content

Primary links

  • Home
  • AI
  • Kubernetes
  • Incus
  • Ansible
  • Terraform
  • OpenStack
  • Virtualization
  • Linux
  • SmartHome
  • HowTo

Misc

  • Linux
  • Hardware
  • Programming
  • Databases
  • Multimedia
  • Windows

Cloud

  • OpenStack
  • cloud-config
  • nextcloud

Virtualization

  • Virtualization
  • Incus
  • Docker
  • KVM
  • Kubernetes
  • LXC
  • LXD
  • QEMU
  • VMware
  • VirtualBox
  • multipass
  • podman
  • vagrant
  • XEN

Network

  • DNS
  • Firewall
  • Linux
  • OpenvSwitch
  • SSL
  • VLAN
  • VPN
  • iPXE
  • namespaces
  • nmcli
  • tcpdump

Storage

  • CEPH
  • DRBD
  • LVM
  • S3
  • ZFS
  • btrfs

Automation / CI/CD

  • Install
  • Ansible
  • GitLab
  • LLM
  • Preseed
  • Puppet
  • Terraform
  • Ubuntu autoinstall

Monitoring / Visualisation

  • Grafana
  • Icinga
  • Prometheus
  • Monitoring
  • ELK
  • mermaid

Home Assistant ustreamer

Video Capture AV USB card (ARKMICRO 18ec:5555) / dmesg

[141319.682908] usb 1-1.4: New USB device found, idVendor=18ec, idProduct=5555, bcdDevice= 1.00
[141319.682941] usb 1-1.4: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[141319.682955] usb 1-1.4: Product: USB2.0 PC CAMERA
[141319.682966] usb 1-1.4: Manufacturer: ARKMICRO
[141319.685776] usb 1-1.4: Found UVC 1.00 device USB2.0 PC CAMERA (18ec:5555)

TODO: Fix device permissions

chmod 0666 /dev/video0

# cat /etc/udev/rules.d/99-camera.rules
# DEVNAME="/dev/video0",MODE="0666"

Create container
https://hub.docker.com/r/mkuf/ustreamer

docker run -d \
  --name ustreamer \
  --restart always \
  -p 8082:8080 \
  --device /dev/video0:/dev/video0 \
  mkuf/ustreamer:latest

Stream
http://ha:8080/?action=stream

Debug

docker run -ti -p 8082:8080 --device /dev/video0:/dev/video0 --entrypoint=sh mkuf/ustreamer:latest
./ustreamer --device=/dev/video0 --host=0.0.0.0 --port=8080

Links
https://github.com/pikvm/ustreamer

LineageOS 21 / Android 14 on Samsung Galaxy A51

TWRP 3.7.0 on Samsung Galaxy A51 SM-A515F
https://www.recovery-mode.com/twrp/how-to-flash-twrp-3-7-0-on-samsung-galaxy-a51-sm-a515f-android-13-u8-a515fxxu8hwi1-firmware.html
https://www.youtube.com/watch?v=_-Opl8fKUAE

Odin3_v3.14.4.zip
Root_A51_U8_androidhowto.tar

# download to SD card from Telegram
DynaPatch-V2.0.zip
Disable_Dm-Verity_ForceEncrypt_03.04.2020.zip
multidisabler-samsung-3.1.3.zip

adb reboot recovery

LineageOS 21 / Android 14 ROM for Samsung Galaxy A51
https://www.recovery-mode.com/custom-rom/lineageos-21-unofficial-android-14-rom-for-samsung-galaxy-a51-update-240424.html
https://drive.google.com/drive/folders/1LqIfbjuEhngEMTNGa5SOPqoGgDyCDs5n

lineage-21.0-20240424-UNOFFICIAL-a51.zip

Install minimal PlayStore with NikGapps for Android 14(U)
https://nikgapps.com/downloads#downloads
https://sourceforge.net/projects/nikgapps/files/Releases/NikGapps-U/07-Nov-2023/NikGapps-core-arm64-14-20231107-signed.zip/download

NikGapps-core-arm64-14-20231107-signed.zip

Install Android Auto
https://sourceforge.net/projects/nikgapps/files/Releases/Addons-U/07-Nov-2023/

NikGapps-Addon-14-AndroidAuto-20231107-signed.zip

Install all zip files in TWRP recovery then reboot the phone

Large language models (LLM)

Ollama
https://ollama.com/download

curl -fsSL https://ollama.com/install.sh | sh
ollama run llama3

Nvidia GPUs / CUDA capability
https://github.com/ollama/ollama/blob/main/docs/gpu.md

Docker
https://hub.docker.com/r/ollama/ollama

Links
https://github.com/ollama/ollama

API

# list models
https://ai.example.com/v1/models

OpenChamber
https://github.com/openchamber/openchamber

Links
https://openrouter.ai/
https://github.com/code-yeongyu/oh-my-openagent - Sisyphus agent
https://zimage.run/ - image generator

OpenStack GPU passthrough

Enable iommu in BIOS

Get MMUI groups

shopt -s nullglob
for g in $(find /sys/kernel/iommu_groups/* -maxdepth 0 -type d | sort -V); do
    echo "IOMMU Group ${g##*/}:"
    for d in $g/devices/*; do
        echo -e "\t$(lspci -nns ${d##*/})"
    done;
done;

Configure compute node

NVIDIA_PCI_ID=$(lspci -nn | grep NVIDIA | cut -d "[" -f3 | cut -d "]" -f1)

echo "blacklist nouveau" >> /etc/modprobe.d/blacklist-nvidia.conf
echo "blacklist nvidiafb" >> /etc/modprobe.d/blacklist-nvidia.conf
echo vfio-pci >> /etc/modules-load.d/vfio-pci.conf
# configure all PCI IDs (also Audio device from same MMUI group as ids=10de:xxxx,10de:xxxx
echo options vfio-pci ids=${NVIDIA_PCI_ID} >> /etc/modprobe.d/gpu-vfio.conf

#sed -i 's/GRUB_CMDLINE_LINUX_DEFAULT=.*/GRUB_CMDLINE_LINUX_DEFAULT="amd_iommu=on iommu=pt"/g' /etc/default/grub

cat < /etc/default/grub.d/gpu.cfg
GRUB_CMDLINE_LINUX_DEFAULT="\$GRUB_CMDLINE_LINUX_DEFAULT amd_iommu=on iommu=pt kvm.ignore_msrs=1 default_hugepagesz=2M hugepagesz=1G hugepages=160 hugepagesz=2M hugepages=2048 transparent_hugepage=never"
EOF


update-grub

reboot
#/etc/modprobe.d/kvm.conf
#options kvm ignore_msrs=Y

#echo "options vfio-pci ids=${NVIDIA_PCI_ID}" >> /etc/modprobe.d/vfio.conf
#echo "softdep drm pre: vfio-pci" >> /etc/modprobe.d/vfio.conf
#echo "options kvm ignore_msrs=1" >> /etc/modprobe.d/kvm.conf
#echo "vfio vfio_iommu_type1 vfio_virqfd vfio_pci ids=${NVIDIA_PCI_ID}" >> /etc/initramfs-tools/modules
#echo GRUB_CMDLINE_LINUX_DEFAULT=\"intel_iommu=on vfio-pci.ids=${NVIDIA_PCI_ID} vfio_iommu_type1.allow_unsafe_interrupts=1 modprobe.blacklist=nvidiafb,nouveau\" >> /etc/default/grub
#echo GRUB_CMDLINE_LINUX_DEFAULT=\"amd_iommu=on vfio-pci.ids=${NVIDIA_PCI_ID} vfio_iommu_type1.allow_unsafe_interrupts=1 modprobe.blacklist=nvidiafb,nouveau\" >> /etc/default/grub
#echo 'GRUB_CMDLINE_LINUX_DEFAULT="amd_iommu=on kvm.ignore_msrs=1 vfio-pci.ids=10de:27b8"' >> /etc/default/grub
#echo 'GRUB_CMDLINE_LINUX_DEFAULT="amd_iommu=on kvm.ignore_msrs=1"' >> /etc/default/grub

# iommu=pt

Test whather vfio driver is loaded

Show neutron router namespaces by floating IP (FIP)

FLOATING_IP=1.2.3.4

# search in floating IP table
ROUTER_ID=$(openstack floating ip list --floating-ip-address ${FLOATING_IP} --long -c Router -f value)
if [ -z ${ROUTER_ID} ]; then
    # search in router
    ROUTER_ID=$(openstack router list --long | grep ${FLOATING_IP} | cut -d" " -f2)
fi

PROJECT_ID=$(openstack router show ${ROUTER_ID} -c project_id -f value)

echo -e "\e[34m# Project"
openstack router show ${ROUTER_ID} -c id -c name 

echo
echo -e "\e[34m# Router"
openstack project show ${PROJECT_ID} -c id -c name -c description

echo
echo -e "\e[34m# Router namespaces"
openstack network agent list --router ${ROUTER_ID} --long --sort-column 'HA State'
echo

ROUTER_HOSTS=$(openstack network agent list --router ${ROUTER_ID} --long --sort-column 'HA State' -c Host -f value)
for ROUTER_HOST in ${ROUTER_HOSTS}; do
    echo -e "\e[1m\e[32mssh -t ${ROUTER_HOST} sudo ip netns exec qrouter-${ROUTER_ID} bash"
    ssh ${ROUTER_HOST} sudo ip netns exec qrouter-${ROUTER_ID} ip a | sed -n '/BROADCAST/,$p' | egrep -v "inet6|valid_lft"
    echo
done

SERVER_FIXED_IP=$(openstack floating ip list --floating-ip-address ${FLOATING_IP} -c "Fixed IP Address" -f value 2>/dev/null)
if [ ! -z ${SERVER_FIXED_IP} ]; then
    echo -e "\e[34m# Server"
    openstack server list --all-projects --ip ${SERVER_FIXED_IP}
fi

Install Home Assistant on Raspberry Pi

Install Home Assistant on Raspberry Pi
https://www.home-assistant.io/installation/raspberrypi/

# Install rpi-imager
sudo apt install rpi-imager

rpi-imager

# Create Homeassistant SD-Card
# Other specific-purpose OS > Home assistants and home Automation > Home Assistant OS

# Connect to HA
http://YOUR_HOME_ASSISTANT_IP:8123/

# Create Home Assistant account

# Install SSH plugin in Add-on-Store
http://YOUR_HOME_ASSISTANT_IP:8123/hassio/addon/core_ssh/info

# Open SSH Web CLI
http://YOUR_HOME_ASSISTANT_IP:8123/hassio/ingress/core_ssh

# get wifi data from workstation
WIFI_SSID="$(nmcli dev wifi show-password | grep SSID | cut -d' ' -f2-)" 
WIFI_PASS="$(nmcli dev wifi show-password | grep Pass | cut -d' ' -f2-)"
echo ha network update wlan0 \
  --ipv4-method auto \
  --wifi-auth wpa-psk \
  --wifi-mode infrastructure \
  --wifi-ssid \'${WIFI_SSID}\' \
  --wifi-psk \'${WIFI_PASS}\'

# paste output to SSH online console 

# debug
ha network info

Enable SSH key to hypervisor (Raspberry Pi)
https://community.home-assistant.io/t/howto-how-to-access-the-home-assistant-os-host-itself-over-ssh/263352/6

#@homeassistant online console
curl https://github.com/foo.keys >> /root/authorized_keys 
systemctl enable --now dropbear
ssh root@YOUR_HOME_ASSISTANT_IP -p 22222

Backup
https://www.home-assistant.io/common-tasks/general/#backups

ls -l /mnt/data/supervisor/backup/

ha backups new

# copy files over SSH
ssh root@homeassistant.local 'for f in /mnt/data/supervisor/backup/*.tar; do printf "%s\n" "$f"; done' | while read -r f; do
   ssh -n root@homeassistant.local "cat \"$f\"" > "$(basename "$f")"; 
done

Raspberry Pi

Creeate boot SD card
https://www.raspberrypi.com/software/

sudo apt install rpi-imager

Configure WLAN
https://raspberrypi.stackexchange.com/questions/79613/raspbian-static-ip-for-eth0-and-dhcp-for-wlan0
https://www.elektronik-kompendium.de/sites/raspberry-pi/1912221.htm

# at workstation
WIFI_SSID="$(nmcli dev wifi show-password | grep SSID | cut -d' ' -f2-)"
WIFI_PASS="$(nmcli dev wifi show-password | grep Pass | cut -d' ' -f2-)"

wpa_passphrase "${WIFI_SSID}" "${WIFI_PASS}" | sudo tee -a /etc/wpa_supplicant/wpa_supplicant.conf

# /etc/network/interfaces
# static
#allow-hotplug wlan0
#iface wlan0 inet static
#address 192.168.1.100
#netmask 255.255.255.0
#gateway 192.168.1.254

# dhcp
allow-hotplug wlan0
iface wlan0 inet dhcp
    wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf

Enable MPEG decoder

mount -o remount,rw /flash/
LICENSE_KEY=0x12345678
sed -i "s|^#.*decode_MPG2=0x.*$|decode_MPG2=${LICENSE_KEY}|g" /flash/config.txt
reboot

Fix HDMI: force HDMI even if unplugged or powered off

mount /flash -o remount,rw
sed -i 's|#.*hdmi_force_hotplug=1|hdmi_force_hotplug=1|' /flash/config.txt

Images
https://www.raspberrypi.org/downloads/

Raspbian (Debian Jessie)

sudo umount /dev/mmcblk0*
wget -q http://director.downloads.raspberrypi.org/raspbian/images/raspbian-2016-02-29/2016-02-26-raspbian-jessie.zip -P /tmp
unzip -p /home/pako/Downloads/2016-02-26-raspbian-jessie.zip | sudo dd of=/dev/mmcblk0
sync

wget -q http://director.downloads.raspberrypi.org/raspbian_lite/images/raspbian_lite-2016-02-29/2016-02-26-raspbian-jessie-lite.zip -P /tmp

View used codecs

Tasmota on SONOFF Zigbee Bridge Pro

Flashing Tasmota on SONOFF Zigbee Bridge Pro
https://notenoughtech.com/home-automation/tasmota-on-sonoff-zb-bridge-pro/

Download
http://ota.tasmota.com/tasmota32/tasmota32-zbbrdgpro.bin

SonoffZBPro_coord
https://github.com/arendst/Tasmota/tree/development/tools/fw_SonoffZigbeeBridgePro_cc2652

Use ESP Flasher v.1.4.1
https://github.com/Jason2866/ESP_Flasher/releases/download/v.1.4.1/Ubuntu.zip

Install minikube

Install docker
http://www.panticz.de/docker

Install minikube
https://minikube.sigs.k8s.io/docs/start/

curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube_latest_$(dpkg --print-architecture).deb
sudo dpkg -i minikube_latest_*.deb
rm minikube_latest_*.deb

sudo usermod -aG docker $USER && newgrp docker

minikube start

minikube addons enable ingress

Install kubectl
https://kubernetes.io/docs/tasks/tools/install-kubectl-linux/#install-using-native-package-management

curl -fsSL https://pkgs.k8s.io/core:/stable:/v1.29/deb/Release.key | sudo gpg --dearmor -o /etc/apt/keyrings/kubernetes-apt-keyring.gpg
echo 'deb [signed-by=/etc/apt/keyrings/kubernetes-apt-keyring.gpg] https://pkgs.k8s.io/core:/stable:/v1.29/deb/ /' | sudo tee /etc/apt/sources.list.d/kubernetes.list
sudo apt-get update
sudo apt-get install -y kubectl

kubectl completion bash | sudo tee /etc/bash_completion.d/kubectl
source /etc/bash_completion.d/kubectl

echo "alias k=kubectl" >> ~/.bashrc
echo "complete -o default -F __start_kubectl k" >> ~/.bashrc

Test configuration

kubectl get all --all-namespaces -o wide

Install k9s
https://github.com/derailed/k9s/releases

K9S_VERSION=0.32.4
wget -q https://github.com/derailed/k9s/releases/download/v${K9S_VERSION}/k9s_linux_$(dpkg --print-architecture).deb -P /tmp/
sudo dpkg -i /tmp/k9s_linux_$(dpkg --print-architecture).deb
rm /tmp/k9s_linux_*.deb

Configure port forwad to minikube

Deploy kubernetes cluster with kubeadm

Prepare VM for Container Runtime
https://kubernetes.io/docs/setup/production-environment/container-runtimes/

# run on all nodes

cat <


<strong>Install containerd</strong>
https://github.com/containerd/containerd/blob/main/docs/getting-started.md
https://docs.docker.com/engine/install/ubuntu/#install-using-the-repository
<code>
# run on all nodes

# Add Docker's official GPG key:
sudo apt-get update
sudo apt-get install ca-certificates curl gnupg
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg

# Add the repository to Apt sources:
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
  $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
     sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

sudo apt-get update

# Install containerd
sudo apt-get install -y containerd.io

# Verify
systemctl status containerd.service

Configure systemd cgroup driver
https://kubernetes.io/docs/setup/production-environment/container-runtimes/#cgroup-drivers
https://kubernetes.io/docs/setup/production-environment/container-runtimes/#containerd-systemd

# run on all nodes

containerd config default | sudo tee /etc/containerd/config.toml
sudo sed -i 's/SystemdCgroup \= false/SystemdCgroup \= true/g' /etc/containerd/config.toml
sudo systemctl restart containerd

# Verify
# crictl ps -a

Installing kubeadm, kubelet and kubectl
https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/install-kubeadm/#installing-kubeadm-kubelet-and-kubectl

Pagination

  • First page
  • Previous page
  • Page 1
  • Page 2
  • Page 3
  • Page 4
  • Page 5
  • Page 6
  • Page 7
  • Page 8
  • Page 9
  • …
  • Next page
  • Last page
Profiles GitHub StackOverflow LinkedIn Xing
Contact Imprint
© panticz 2026

Cookie-Einstellungen

Diese Website nutzt eingebettete Inhalte von Drittanbietern (z.B. YouTube, SoundCloud). Beim Laden dieser Inhalte werden Daten an die jeweiligen Anbieter übermittelt. Datenverarbeitungserklärung