blikvm 在树莓派4 debian12 (raspbian)自行安装记录

前言

. 由于个人pc的主板没有ipmi,有时候需要远程折腾一下,折腾崩了还需要重装系统。因此需要一个ipkvm。向日葵控控价格高,还不方便(非开源,不能自己调整),自己手里有树莓派,于是想办法用它实现。github上有个pikvm的镜像可以直接用。但是不喜欢arch的系统,而且还是32位!而且价格还贵3k的价格直接劝退。
. tb发现了国产的 csi转hdmi采集芯片,blikvm也提供了镜像,但是比较老旧,很多默认配置不喜,还是自己安装吧。

一、刻录树莓派官方64位镜像。目前最新的已经基于debian12了。

这里就不多说了,用官方工具吧。
. Raspberry Pi OS Lite
. 内核6.6
. debian 12
. System: 64-bit

二 开始安装blikvm

  1. 安装依赖Janus:
    1. apt-get install janus-dev libjs-janus-gateway,后面编译插件,需要用到 dev包。
  2. 安装依赖ustreamer:
    1. apt-get install ustreamer
  3. 编译janus.plugin.ustreamer插件
    1. 安装依赖
      sudo apt install libmicrohttpd-dev libjansson-dev \
          libssl-dev libsrtp2-dev libsofia-sip-ua-dev libglib2.0-dev \
          libopus-dev libogg-dev libcurl4-openssl-dev liblua5.3-dev \
          libconfig-dev pkg-config libtool automake libnice-dev
      sudo apt-get install build-essential libspeex-dev libspeexdsp-dev libpulse-dev
      apt-get install -y libasound2-dev libc-ares-dev
      apt install -y build-essential libevent-dev libjpeg-dev libbsd-dev vim git
      
    2. 编译libjanus_ustreamer.so插件
sudo -i
mkdir -p /opt/bin
cd /opt/bin
git clone --depth=1 https://github.com/pikvm/ustreamer
cd ustreamer
sed \
  --in-place \
  --expression 's|^#include "refcount.h"$|#include "../refcount.h"|g' \
  /usr/include/janus/plugins/plugin.h
# 如果编译过程中缺失啥.h文件,自行搜索安装依赖即可。
make WITH_JANUS=1

#编译好了之后,复制so文件到lib
cp janus/libjanus_ustreamer.so /usr/lib/aarch64-linux-gnu/janus/plugins/libjanus_ustreamer.so
# 修改插件配置
vim /etc/janus/janus.plugin.ustreamer.jcfg
#add 
memsink: {
  object = "demo::ustreamer::h264"
}
  1. 安装web环境

    1. 安装php环境:
      apt install -y php8.2-bz2 php8.2-cli php8.2-curl php8.2-dev php8.2-mbstring php8.2-xml php8.2-zip php8.2-mysql
      
      vim /etc/php/8.2/cli/php.ini
      # 修改时区, timezone改成中国上海
      date.timezone = Asia/Shanghai
      
      # 安装pecl扩展
      apt install php-pear
      pecl install http://pecl.php.net/get/swoole-5.0.3.tgz
      #all is yes
      echo "extension=swoole.so" > /etc/php/8.2/cli/conf.d/swoole.ini
      
      pecl install inotify
      echo "extension=inotify.so" > /etc/php/8.2/cli/conf.d/inotify.ini
      
    2. nodejs环境
curl -fsSL https://deb.nodesource.com/setup_lts.x | bash - &&\
apt-get install -y nodejs
  1. 安装main程序
    1. 编译 wiringpi
    cd /opt/bin
    
    # install wiringpi
    #need to enable I2C on hardware(use raspi-config)
    #git clone https://github.com/WiringPi/WiringPi.git --depth 1
    # build the package
    #./build debian
    #mv debian-template/wiringpi-3.2.deb .
    wget https://github.com/WiringPi/WiringPi/releases/download/3.2/wiringpi_3.2_arm64.deb
    sudo apt install  ./wiringpi_3.2_arm64.deb
    
    1. 安装 Adafruit-SSD1306
    # install Adafruit-SSD1306
    sudo apt install -y python3-pip pipx
    pipx ensurepath
    pipx install adafruit-circuitpython-ssd1306 --include-deps
    # 或者 pip install --break-system-packages adafruit-circuitpython-ssd1306
    
    1. 安装blikvm
      cd /opt/bin
      git clone https://github.com/ThomasVon2021/blikvm.git --depth 1
      cd blikvm
      git submodule update --init --recursive
      cd src
      make RPI=1 SSD1306=1
      # 编译前端页面(不需要执行)
      cd /opt/bin/blikvm/package/blikvm-webclient
      npm install
      npm run build
      # 安装最新的blikvm服务
      cd /opt/bin
       wget https://mirror.ghproxy.com/https://github.com/ThomasVon2021/blikvm/releases/download/v1.4.0/release.tar.gz
       tar -zxvf release.tar.gz
       cd release
       python3 install_release.py --releasepath=./
      
      
    2. 手动安装kvmd服务(不需要执行)
       # 如果你不想直接安装release,可以手动安装各个包(非必须)
       # Install the main controller service
      cd /opt/bin/blikvm/package/kvmd-main
      ./install-kvmd-main.sh
      
      # Install the ustreamer service
      cd /opt/bin/blikvm/package/ustreamer
      ./install-ustreamer.sh 
      
      # Install the HID service
      cd /opt/bin/blikvm/package/kvmd-hid
      ./install-kvmd-hid.sh
      
      # Install the web service
      cd /opt/bin/blikvm/package/kvmd-web
      ./install-kvmd-web.sh
      
      # Install the MSD service
      cd /opt/bin/blikvm/package/kvmd-msd
      ./install-kvmd-msd.sh
      
      # Install the OLED service
      cd /opt/bin/blikvm/package/kvmd-oled
      ./install-kvmd-oled.sh
      
      # Install the fan service
      cd /opt/bin/blikvm/package/kvmd-fan
      ./install-kvmd-fan.sh
      
      # Copy the package.json file
      cp /opt/bin/blikvm/src/config/package.json /usr/bin/blikvm
      
  2. 修改树莓派的overlays配置
vim /boot/firmware/config.txt
# 在 底部的 [all]下面添加下面内容
dtoverlay=tc358743,4lane=1
dtoverlay=tc358743-audio
dtoverlay=dwc2,dr_mode=peripheral
dtoverlay=i2c-rtc,pcf8563
  1. 重启你的树莓派
reboot
打赏
Bookmark the permalink.
0 0 投票数
文章评分
订阅评论
提醒
guest

0 评论
内联反馈
查看所有评论