裸跑pikvm4.2的准备工作

部署运行你感兴趣的模型镜像

1. 构建python 3.12

    cd /tmp/
    wget https://www.python.org/ftp/python/3.12.2/Python-3.12.2.tgz
    tar -xzvf Python-3.12.2.tgz
    cd Python-3.12.2/
    
    apt-get install -fy --allow-downgrades make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev xz-utils tk-dev liblzma-dev tk-dev libffi-dev
    ./configure --enable-optimizations
    make -j 32
    sudo make altinstall
    sudo ln -s /usr/local/bin/python3.12 /usr/bin/python
    sudo ln -s /usr/local/bin/python3/pip3.12 /usr/bin/pip

2.通过pip构建 kvmd工作环境

    sudo apt-get update
    sudo apt-get install libsystemd-dev

    python -m pip install pygments                
    python -m pip install aiofiles                
    python -m pip install yaml                    
    python -m pip install pyyaml                
    python -m pip install pyotp                    
    python -m pip install aiohttp                
    python -m pip install setproctitle
    python -m pip install dbus_next
    python -m pip install systemd
    python -m pip install systemd-python
    python -m pip install pillow
    python -m pip install python3-xlib
    python -m pip install zstandard                
    python -m pip install async_lru
    python -m pip install passlib
    python -m pip install pyftdi
    python -m pip install gpiod
    python -m pip install Mako
    python -m pip install psutil    

3.复制PI kvm相关库到系统
    获得Python的LIB目录    python -m site
    下载wget -c https://github.com/pikvm/kvmd/archive/v4.2.tar.gz KVMD源代码
    tar -zxvf v4.2.tar.gz

4.单独编译 ustreamer
    sudo apt-get update
    apt-get install build-essential libevent-dev libjpeg-dev libbsd-dev libjansson-dev 
    apt-get install libgpiod-dev libopus-dev libasound2-dev libspeexdsp-dev
    apt-get install libdrm-dev   
     python -m pip install setuptools 
     python -m pip install build 
    $ git clone --depth=1 https://github.com/pikvm/ustreamer

    $ cd ustreamer
    $ make WITH_GPIO=1 WITH_SYSTEMD=1 WITH_PYTHON=1 WITH_JANUS=1
    $ make WITH_GPIO=1 WITH_SYSTEMD=1 WITH_PYTHON=1 WITH_JANUS=1 install
    检查ustreamer 属性 +x
    
    需要Python
    _options="WITH_V4P=1 WITH_GPIO=1 WITH_SYSTEMD=1 WITH_PYTHON=1"
    需要Janus
     options="WITH_V4P=1 WITH_GPIO=1 WITH_SYSTEMD=1 WITH_PYTHON=1                                  WITH_JANUS=1"
    安装
     PREFIX=/usr install

5.单独编译janus-gateway-pikvm
    wget https://github.com/meetecho/janus-gateway/archive/99e133bc00cb910186a34b4e2083821cb6c111fc.tar.gz
    wget https://webrtc.github.io/adapter/adapter-latest.js
    wget https://github.com/pikvm/packages/blob/master/packages/janus-gateway-pikvm/0001-unmute-hack.patch

    patch -p1 -i ../0001-unmute-hack.patch

    sudo apt-get update
    sudo apt-get install libjansson-dev libnice-dev libwebsockets-dev libsrtp2-dev libglib2.0-dev libconfig++-dev autoconf pkg-config autotools-dev automake libtool gengetopt
    手动修改 patch -p1 -i ../0001-unmute-hack.patch
    ./autogen.sh
    ./configure --prefix=/usr --sysconfdir=/etc --disable-docs --disable-data-channels --disable-turn-rest-api --disable-all-plugins --disable-all-loggers --disable-all-transports --enable-websockets --disable-sample-event-handler --disable-websockets-event-handler --disable-gelf-event-handler
    make
    make  install
    mkdir /usr/lib/janus/loggers
    sed -i -e 's|^#include "refcount.h"$|#include "../refcount.h"|g' "/usr/include/janus/plugins/plugin.h"
    sed -i -e 's|^function Janus(|export function Janus(|g' "/usr/share/janus/javascript/janus.js"
    sed -i '1s|^|import "./adapter.js"\n|' "/usr/share/janus/javascript/janus.js"
    cp ../adapter-latest.js "/usr/share/janus/javascript/adapter.js"

6.单读编译nginx-1.27.0
    wget -c http://nginx.org/download/nginx-1.27.0.tar.gz
    tar -zxvf nginx-1.27.0.tar.gz
    可以查看有哪些可供选的模块./configure --help
    ./configure --prefix=/usr --with-http_auth_request_module --with-http_ssl_module --with-http_v2_module
    ./configure --with-http_auth_request_module --with-http_ssl_module --with-http_v2_module
    make
    make install
    
    检查HTTP2功能模块方法 strings /usr/local/nginx/sbin/nginx | grep http2

6.单独编译TTYD
    sudo apt-get update
    sudo apt-get install -y build-essential cmake git libjson-c-dev libwebsockets-dev
    git clone --depth=1 https://github.com/tsl0922/ttyd.git
    cd ttyd && mkdir build && cd build
    cmake ..
    make && sudo make install

7.PIKVM所需要库版本对照
    python>=3.12
    libgpiod>=2.1
    v4l-utils>=1.22.1-1
    nginx-mainline>=1.25.1
    janus-gateway-pikvm>=0.14.2-3
    ustreamer>=6.11
    systemd>=248.3-2
    zstd>=1.5.1-2.1
    ttyd>=1.7.7

8.编译 kvmd-fan
    apt-get update
    apt-get install libmicrohttpd-dev doxygen
    编译安装iniparser
    git clone https://github.com/ndevilla/iniparser
    cd iniparser
    mkdir build
    cd build
    cmake ..
    make all
    
    在MAKEFILE 里关闭-lwiringPi
    make PREFIX=/usr install

您可能感兴趣的与本文相关的镜像

Python3.8

Python3.8

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值