从0开始编译Proxmox VE

访问PVE git仓库

https://git.proxmox.com

一 编译环境和软件源

1.1 编译所需要的系统

pve6  debian10

pve7 debian11

建议直接使用PVE版本进行编译。因为debian可能会有一些Perl模块缺失

1.2 软件源

  • deb https://mirrors.ustc.edu.cn/debian/ bullseye main contrib non-free
  • deb https://mirrors.ustc.edu.cn/debian/ bullseye-updates main contrib non-free
  • deb https://mirrors.ustc.edu.cn/debian/ bullseye-backports main contrib non-free
  • deb https://mirrors.ustc.edu.cn/debian-security bullseye-security main contrib
  • #pve源
  • deb https://mirrors.ustc.edu.cn/proxmox/debian bullseye pve-no-subscription
  • #ceph源
  • deb https://mirrors.ustc.edu.cn/proxmox/debian/ceph-pacific bullseye main
  • #开发源,必须
  • deb https://mirrors.ustc.edu.cn/proxmox/debian/devel bullseye main

编译前需要安装的软件包

  • apt install -y devscripts build-essential librust-openssl-sys-dev git git-email pkg-config debhelper pve-doc-generator \
  • cmake bison dwarves flex libdw-dev libelf-dev libiberty-dev lz4 zstd librados-dev \
  • libtest-mockmodule-perl check libcmap-dev libcorosync-common-dev libcpg-dev libfuse-dev \
  • libglib2.0-dev libpve-access-control libpve-apiclient-perl libquorum-dev librrd-dev librrds-perl \
  • libsqlite3-dev libtest-mockmodule-perl libuuid-perl rrdcached sqlite3 rsync \
  • libauthen-pam-perl libnet-ldap-perl libpve-cluster-perl pve-cluster \
  • libjs-marked pve-eslint esbuild quilt bash-completion dh-apparmor docbook2x libapparmor-dev libcap-dev \
  • libgnutls28-dev libseccomp-dev meson libarchive-dev libanyevent-perl dh-python python3-all python3-setuptools python3-docutils \
  • liblocale-po-perl help2man libpam0g-dev libpve-storage-perl lxc-pve \
  • libjpeg62-turbo-dev libpng-dev unifont libspice-protocol-dev libspice-server-dev libcap-ng-dev \
  • libio-multiplex-perl libjson-c-dev libpve-guest-common-perl libpve-storage-perl pve-edk2-firmware pve-firewall pve-ha-manager \
  • libposix-strptime-perl librados2-perl pve-qemu-kvm zfsutils-linux \
  • libacl1-dev libaio-dev libattr1-dev libcap-ng-dev libepoxy-dev libfdt-dev libgbm-dev libglusterfs-dev libiscsi-dev libjemalloc-dev libjpeg-dev \
  • libnuma-dev libpixman-1-dev libproxmox-backup-qemu0-dev librbd-dev \
  • libsdl1.2-dev liburing-dev libusb-1.0-0-dev libusbredirparser-dev \
  • libvirglrenderer-dev libzstd-dev python3-sphinx python3-sphinx-rtd-theme texi2html xfslibs-dev \
  • abigail-tools libpam0g-dev python3-cffi python3-all-dev

 

1.3 Rust和Cargo

1.3.1 安装Cargo 和debcargo

  • apt install cargo debcargo -y

1.3.2 手动安装cargo

安装Cargo主程序

curl https://sh.rustup.rs -sSf | sh

安装nighlty

  • rustup toolchain install nightly
  • #复制nightly toolchain 并且重命名为system.因为PVE开发团队代码定义system作为toolchain,所以拷贝
  • cp -a ~/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/ ~/.rustup/toolchains/system
  • rustup default system

或者

# rustup toolchain link system /usr
# rustup default system

配置rust仓库

参考Rust Crates 源使用帮助 — USTC Mirror Help 文档

  • cd /opt
  • git clone https://salsa.debian.org/rust-team/debcargo.git
  • cd /opt/debcargo
  • cargo build --release
  • ln -s /opt/debcargo/target/release/debcargo /usr/bin/

1.4 技巧

  • #自动安装依赖
  • yes| mk-build-deps --install
  • #自动安装依赖之后,卸载deps包
  • yes| mk-build-deps --install --remove

基本所有包,都可以通过make deb来进行编译,如果出现依赖问题,可以通过apt安装对应的依赖。

二 开始编译

2.1 corosync-pve

  • git clone https://git.proxmox.com/git/corosync-pve.git
  • cd corosync-pve
  • #安装依赖
  • mk-build-deps --install
  • #编译deb
  • make deb

2.2 ceph

  • git clone https://git.proxmox.com/git/ceph.git
  • cd ceph/ceph
  • #安装依赖
  • mk-build-deps --install
  • #编译deb
  • cd ..
  • make clean && make deb

2.3 extjs

  • git clone https://git.proxmox.com/git/extjs.git
  • cd extjs
  • #安装依赖
  • mk-build-deps --install
  • #编译deb
  • make clean && make deb

2.3 framework7

  • git clone https://git.proxmox.com/git/framework7.git
  • cd framework7
  • #安装依赖
  • mk-build-deps --install
  • #编译deb
  • make clean && make deb

2.4 ifupdown2

  • git clone https://git.proxmox.com/git/ifupdown2.git
  • cd ifupdown2
  • #安装依赖
  • mk-build-deps --install
  • #编译deb
  • make clean && make deb

2.5 kronosnet

  • git clone https://git.proxmox.com/git/kronosnet.git
  • cd kronosnet
  • #安装依赖
  • mk-build-deps --install
  • #编译deb
  • make clean && make deb

2.6 ksm-control-daemon

  • git clone https://git.proxmox.com/git/ksm-control-daemon.git
  • cd ksm-control-daemon
  • #安装依赖
  • mk-build-deps --install
  • #编译deb
  • make clean && make all

2.7 libanyevent-http-perl

  • git clone https://git.proxmox.com/git/libanyevent-http-perl.git
  • cd libanyevent-http-perl
  • #编译deb
  • make clean && make deb

2.8 libarchive-perl

  • git clone https://git.proxmox.com/git/libarchive-perl.git
  • cd libarchive-perl
  • #安装依赖
  • mk-build-deps --install
  • #编译deb
  • make clean && make deb

2.9 libgtk3-webkit-perl(pve5包)

  • git clone https://git.proxmox.com/git/libgtk3-webkit-perl.git
  • cd libgtk3-webkit-perl
  • #安装依赖
  • gir1.2-webkit-3.0 gir1.2-javascriptcoregtk-3.0
  • gir1.2-soup-2.4 libjavascriptcoregtk-3.0-0 libwebkitgtk-3.0-0
  • #编译deb
  • make clean && make deb

2.10 libhttp-daemon-perl

  • git clone https://git.proxmox.com/git/libhttp-daemon-perl.git
  • cd libhttp-daemon-perl
  • #安装依赖
  • mk-build-deps --install
  • #编译deb
  • dpkg-buildpackage -b -us -uc

libiscsi.git

2.11 libjs-qrcodejs

  • git clone https://git.proxmox.com/git/libjs-qrcodejs.git
  • cd libjs-qrcodejs
  • #安装依赖
  • mk-build-deps --install
  • #编译deb
  • make clean && make deb

2.12 libpve-u2f-server-perl

  • git clone https://git.proxmox.com/git/libpve-u2f-server-perl.git
  • cd libpve-u2f-server-perl
  • #安装依赖
  • mk-build-deps --install
  • #编译deb
  • make clean && make deb

2.13 libqb

  • git clone https://git.proxmox.com/git/libqb.git
  • cd libqb
  • #安装依赖
  • mk-build-deps --install
  • #编译deb
  • make clean && make deb

2.14 librados2-perl

  • git clone https://git.proxmox.com/git/librados2-perl.git
  • cd librados2-perl
  • #编译deb
  • make clean && make deb

2.15 libxdgmime-perl

  • git clone https://git.proxmox.com/git/libxdgmime-perl.git
  • cd libxdgmime-perl
  • #安装依赖
  • mk-build-deps --install
  • #编译deb
  • make clean && make deb

2.16 llvm-toolchain

2.17 lvm

2.18 lxc

  • git clone https://git.proxmox.com/git/lxc.git
  • cd lxc
  • #安装依赖
  • mk-build-deps --install
  • #编译deb
  • make clean && make deb

2.19 lxcfs

  • git clone https://git.proxmox.com/git/lxcfs.git
  • cd lxcfs
  • #安装依赖
  • mk-build-deps --install
  • #for arm64
  • #sed -i "s/x86_64/aarch64/g" debian/rules
  • #编译deb
  • make clean && make deb

2.20 novnc-pve

  • git clone https://git.proxmox.com/git/novnc-pve.git
  • cd novnc-pve
  • #安装依赖
  • mk-build-deps --install
  • #编译deb
  • make clean && make deb

2.21 ovs

  • git clone https://github.com/openvswitch/ovs.git
  • cd ovs
  • #安装依赖
  • ./boot.sh && ./configure && make debian
  • #编译deb
  • make debian-deb

2.22 proxmox-acme

  • git clone https://git.proxmox.com/git/proxmox-acme.git
  • cd proxmox-acme
  • #编译deb
  • make deb

2.23 proxmox-archive-keyring

  • git clone https://git.proxmox.com/git/proxmox-archive-keyring.git
  • cd proxmox-archive-keyring
  • #编译deb
  • make deb

2.24 proxmox-i18n

  • git clone https://git.proxmox.com/git/proxmox-i18n.git
  • cd proxmox-i18n
  • #安装依赖
  • mk-build-deps --install
  • #编译deb
  • make deb

2.25 proxmox-mini-journalreader

  • git clone https://git.proxmox.com/git/proxmox-mini-journalreader.git
  • cd proxmox-mini-journalreader
  • #安装依赖
  • mk-build-deps --install
  • #编译deb
  • #for arm
  • --- mini-journalreader.c 2022-08-09 06:10:01.094646393 +0000
  • +++ mini-journalreader.c 2022-08-09 06:11:34.538310642 +0000
  • @@ -174,7 +174,8 @@
  • if (json) {
  • char tmp[7];
  • for (size_t i = 0; i < l;i++) {
  • - if (d[i] == '"' || d[i] == '\\' || (d[i] >= 0 && d[i] <= 0x1F)) {
  • + int x = (int)d[i];
  • + if (d[i] == '"' || d[i] == '\\' || (x >= 0 && x <= 0x1F)) {
  • sprintf(tmp, "\\u%04X", d[i]);
  • print_to_buf(tmp, 6);
  • } else {
  • @@ -262,11 +263,11 @@
  • const char *endcursor = NULL;
  • uint64_t begin = 0;
  • uint64_t end = 0;
  • - char c;
  • + int c;
  • progname = argv[0];
  • - while ((c = (char)getopt (argc, argv, "b:e:d:n:f:t:jh")) != -1) {
  • + while ((c = getopt (argc, argv, "b:e:d:n:f:t:jh")) != -1) {
  • switch (c) {
  • case 'b':
  • begin = arg_to_uint64(optarg);

 

2.26 proxmox-ve

  • git clone https://git.proxmox.com/git/proxmox-ve.git
  • cd proxmox-ve
  • #安装依赖
  • mk-build-deps --install
  • #编译deb
  • make deb

2.27 proxmox-widget-toolkit

  • git clone https://git.proxmox.com/git/proxmox-widget-toolkit.git
  • cd proxmox-widget-toolkit
  • #安装依赖
  • mk-build-deps --install
  • #编译deb
  • make deb

2.28 pve-access-control

  • git clone https://git.proxmox.com/git/pve-access-control.git
  • cd pve-access-control
  • #安装依赖
  • mk-build-deps --install
  • #可修改cpan源 https://mirrors.tuna.tsinghua.edu.cn/help/CPAN/
  • cpan install Test::MockModule
  • #编译deb
  • make deb

2.29 pve-apiclient

  • git clone https://git.proxmox.com/git/pve-apiclient.git
  • cd pve-apiclient
  • #安装依赖
  • mk-build-deps --install
  • #编译deb
  • make deb

2.30 pve-client(废弃)

2.31 pve-cluster

  • git clone https://git.proxmox.com/git/pve-cluster.git
  • cd pve-cluster
  • #安装依赖
  • mk-build-deps --install
  • #编译deb
  • make deb

2.32 pve-common

  • git clone https://git.proxmox.com/git/pve-common.git
  • cd pve-common
  • #安装依赖
  • mk-build-deps --install
  • #编译deb
  • make deb

2.33 pve-container

  • git clone https://git.proxmox.com/git/pve-container.git
  • cd pve-container
  • #安装依赖
  • mk-build-deps --install
  • #编译deb
  • make deb

2.34 pve-doc

  • git clone https://git.proxmox.com/git/pve-doc.git
  • cd pve-apiclient
  • #安装依赖
  • mk-build-deps --install
  • #编译deb
  • make deb

2.35 pve-edk2-firmware

  • git clone https://git.proxmox.com/git/pve-edk2-firmware.git
  • cd pve-apiclient
  • #安装依赖
  • mk-build-deps --install
  • #编译deb
  • make deb

2.36 pve-eslint

  • git clone https://git.proxmox.com/git/pve-eslint.git
  • cd pve-eslint
  • #安装依赖
  • mk-build-deps --install
  • #编译deb
  • make deb

2.37 pve-firewall

  • git clone https://git.proxmox.com/git/pve-firewall.git
  • cd pve-firewall
  • #安装依赖
  • mk-build-deps --install
  • #编译deb
  • make deb

2.38 pve-firmware

  • git clone https://git.proxmox.com/git/pve-firmware.git
  • cd pve-firmware
  • #安装依赖
  • mk-build-deps --install
  • #编译deb
  • make deb

2.39 pve-guest-common

  • git clone https://git.proxmox.com/git/pve-guest-common.git
  • cd pve-guest-common
  • #安装依赖
  • mk-build-deps --install
  • #编译deb
  • make deb

2.40 pve-ha-manager

  • git clone https://git.proxmox.com/git/pve-ha-manager.git
  • cd pve-ha-manager
  • #安装依赖
  • mk-build-deps --install
  • #编译deb
  • make deb

2.41 pve-http-server

  • git clone https://git.proxmox.com/git/pve-http-server.git
  • cd pve-http-server
  • #安装依赖
  • mk-build-deps --install
  • #编译deb
  • make deb

2.42 pve-installer(none)

  • git clone https://git.proxmox.com/git/pve-installer.git
  • cd pve-installer
  • #安装依赖
  • mk-build-deps --install
  • #编译deb
  • make deb

2.43 pve-jslint

  • git clone https://git.proxmox.com/git/pve-jslint.git
  • cd pve-jslint
  • #安装依赖
  • mk-build-deps --install
  • #编译deb
  • make deb

2.44 pve-kernel

  • git clone https://git.proxmox.com/git/pve-kernel.git
  • cd pve-kernel
  • #安装依赖
  • mk-build-deps --install
  • #编译deb
  • make deb

2.45 pve-kernel-meta

  • git clone https://git.proxmox.com/git/pve-kernel-meta.git
  • cd pve-kernel-meta
  • #安装依赖
  • mk-build-deps --install
  • #编译deb
  • make deb

2.46 pve-libseccomp2.4-dev

  • git clone https://git.proxmox.com/git/pve-libseccomp2.4-dev.git
  • cd pve-libseccomp2.4-dev
  • #安装依赖
  • mk-build-deps --install
  • #编译deb
  • make deb

2.47 pve-spice-protocol

  • git clone https://git.proxmox.com/git/pve-spice-protocol.git
  • cd pve-spice-protocol
  • sed -i "s/0.14.0/0.14.3/g" Makefile
  • sed -i "s/bz2/xz/g" Makefile
  • #编译deb
  • make deb

2.48 pve-libspice-server

  • git clone https://git.proxmox.com/git/pve-libspice-server.git
  • cd pve-libspice-server
  • sed -i "s/0.14.2/0.14.3/g" Makefile
  • sed -i "s/0.14.3-4/0.14.3-2.1/g" Makefile
  • sed -i '/applying patch/d' Makefile
  • #安装依赖
  • apt install -y gstreamer1.0-libav gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-plugins-ugly gstreamer1.0-tools libcacard-dev libgstreamer-plugins-base1.0-dev libgstreamer1.0-dev libopus-dev libsasl2-dev liborc-0.4-dev
  • #编译deb
  • make deb

2.49 pve-lxc-syscalld (Rust)

  • git clone https://git.proxmox.com/git/pve-lxc-syscalld.git
  • cd pve-lxc-syscalld
  • #编译deb
  • make deb
##arm sed -i 's/i8/libc::c_char/g' src/sys_quotactl.rs #注释macros.rs #![allow(unused_unsafe)]

2.50 pve-manager

  • git clone https://git.proxmox.com/git/pve-manager.git
  • cd pve-manager
  • #安装依赖
  • mk-build-deps --install
  • #编译deb
  • make deb

2.51 pve-network

  • git clone https://git.proxmox.com/git/pve-network.git
  • cd pve-network
  • #安装依赖
  • mk-build-deps --install
  • #可修改cpan源 https://mirrors.tuna.tsinghua.edu.cn/help/CPAN/
  • cpan install File::Slurp
  • #编译deb
  • make deb

2.52 pve-omping(not must need)

  • git clone https://git.proxmox.com/git/pve-omping.git
  • cd pve-omping
  • #编译deb
  • make deb

2.53 pve-qemu

  • git clone https://git.proxmox.com/git/pve-qemu.git
  • cd pve-qemu
  • #安装依赖
  • mk-build-deps --install
  • apt install -y libproxmox-backup*
  • #编译deb
  • make deb

2.54 pve-storage

  • git clone https://git.proxmox.com/git/pve-storge.git
  • cd pve-storge
  • #编译deb
  • make deb

2.55 pve-xtermjs(Rust)

  • git clone https://git.proxmox.com/git/pve-xtermjs.git
  • cd pve-xtermjs
  • apt install librust-proxmox-sys-dev=0.3.2
  • #编译deb
  • make deb

2.56 pve-zsync

  • git clone https://git.proxmox.com/git/pve-zsync.git
  • cd pve-zsync
  • #编译deb
  • make deb

2.57 qemu-defaults.git

2.58 qemu-server

  • git clone https://git.proxmox.com/git/qemu-server.git
  • cd qemu-server
  • #安装依赖
  • mk-build-deps --install
  • #编译deb
  • make deb

2.59 smartmontools

  • git clone https://git.proxmox.com/git/smartmontools.git
  • cd smartmontools
  • #编译deb
  • make deb

2.60 spiceterm

  • git clone https://git.proxmox.com/git/spiceterm.git
  • cd spiceterm
  • #安装依赖
  • mk-build-deps --install
  • #编译deb
  • make deb

2.61 tar.git

2.62 vncterm

  • git clone https://git.proxmox.com/git/vncterm.git
  • cd vncterm
  • #安装依赖
  • mk-build-deps --install
  • #编译deb
  • make deb

zfs-grub.git

2.63 zfsonlinux

  • git clone https://git.proxmox.com/git/zfsonlinux.git
  • cd zfsonlinux
  • #安装依赖
  • mk-build-deps --install
  • #编译deb
  • make deb

Rust部份

3.1 pathpatterns

  • git clone https://git.proxmox.com/git/pathpatterns.git
  • cd pathpatterns
  • #检测
  • mk-build-deps --install
  • apt install librust-bitflags+rustc-dep-of-std-dev librust-bitflags+core-dev librust-bitflags+compiler-builtins-dev -y
  • #编译deb
  • make deb

3.2 perlmod

  • git clone https://git.proxmox.com/git/perlmod.git
  • cd perlmod
  • apt install librust-perlmod-macro-0.8+default-dev
make deb

3.3 proxmox-acme-rs(Rust)

  • git clone https://git.proxmox.com/git/proxmox-acme-rs.git
  • cd proxmox-acme-rs
  • #检测
  • cargo check
  • #编译deb
  • make deb

3.4 proxmox-apt(Rust)

  • git clone https://git.proxmox.com/git/proxmox-apt.git
  • cd proxmox-apt
  • #检测
  • cargo check
  • apt install librust-hex-0.4+default-dev librust-rfc822-like-0.2+default-dev librust-proxmox-schema-dev=1.0.1-1 librust-proxmox-schema+api-macro-dev=1.0.1-1
  • #编译deb
  • make deb

3.5 proxmox-backup-meta

  • git clone https://git.proxmox.com/git/proxmox-backup-meta.git
  • cd proxmox-backup-meta
  • mk-build-deps --install
  • #编译deb
  • make deb

3.6 proxmox-backup-qemu

  • git clone https://git.proxmox.com/git/proxmox-backup-qemu.git
  • cd proxmox-backup-qemu
  • #安装依赖
  • mk-build-deps --install
  • #编译deb
  • make deb
  • #处理依赖包之后,建议rm Cargo.lock
  • #如果还报依赖问题,请安装
  • apt install librust-anyhow-dev librust-bytes-dev librust-futures-dev \
  • librust-hex-dev librust-h2-dev librust-lazy-static-dev librust-libc-dev \
  • librust-once-cell-dev librust-openssl-dev librust-serde-json-dev librust-proxmox-async-dev \
  • librust-proxmox-sys-dev=0.2.2 librust-nix-dev=0.19.1-1~bpo11+pve1 librust-cbindgen-dev \
  • librust-percent-encoding-dev librust-proxmox-serde-dev librust-proxmox-uuid-dev librust-serde-plain-dev \
  • librust-hyper-dev librust-pathpatterns-dev librust-proxmox-compression-dev librust-proxmox-router-dev=1.2.2-1 \
  • librust-proxmox-router+cli-dev=1.2.2-1 librust-proxmox-router+libc-dev=1.2.2-1 \
  • librust-proxmox-router+tokio-dev=1.2.2-1 librust-proxmox-router+rustyline-dev=1.2.2-1 \
  • librust-pxar-dev librust-tokio-stream-dev=0.1.6-1~bpo11+pve1 librust-rustyline-dev=7.1.0-1~bpo11+pve1 \
  • librust-xdg-dev librust-h2-dev librust-proxmox-section-config-dev librust-proxmox-shared-memory-dev=0.2.0-1 \
  • librust-url-dev=2.1.1-2 librust-proxmox-api-macro-dev librust-proxmox-sortable-macro-dev \
  • librust-proxmox-http-dev=0.6.0-1 librust-tokio-openssl-dev librust-dirs-next-dev librust-hex+serde-dev \
  • librust-proxmox-http+client-dev=0.6.0-1 librust-proxmox-http+http-helpers-dev=0.6.0-1 \
  • librust-proxmox-http+websocket-dev=0.6.0-1 librust-proxmox-fuse-dev \
  • librust-proxmox-sys+proxmox-sortable-macro-dev=0.2.2 librust-proxmox-sys-dev=0.2.2 librust-proxmox-uuid-1+serde-dev \
  • librust-cbindgen-dev=0.20.0-1~deb11u1 librust-heck-dev=0.3.1-1+b1 librust-nom-dev=5.1.1-1~bpo11+pve1 \
  • librust-rustyline+dirs-next-dev=7.1.0-1~bpo11+pve1 librust-tokio-stream-dev=0.1.8-1~bpo11+pve1
  • apt install librust-bincode-dev librust-proxmox-schema-dev=1.3.4-1 librust-proxmox-schema+proxmox-api-macro-dev patchelf librust-base32-dev librust-proxmox-fuse-dev
  • apt install librust-anyhow-dev librust-bytes-dev librust-futures-dev librust-hex-dev librust-h2-dev librust-lazy-static-dev librust-libc-dev librust-once-cell-dev librust-openssl-dev librust-serde-json-dev librust-proxmox-async-dev librust-proxmox-sys-dev=0.2.2 librust-nix-dev=0.19.1-1~bpo11+pve1 librust-cbindgen-dev librust-percent-encoding-dev librust-proxmox-serde-dev librust-proxmox-uuid-dev librust-serde-plain-dev librust-hyper-dev librust-pathpatterns-dev librust-proxmox-compression-dev librust-proxmox-router-dev=1.2.2-1 librust-proxmox-router+cli-dev=1.2.2-1 librust-proxmox-router+libc-dev=1.2.2-1 librust-proxmox-router+tokio-dev=1.2.2-1 librust-proxmox-router+rustyline-dev=1.2.2-1 librust-rustyline+dirs-next-dev=7.1.0-1~bpo11+pve1 librust-rustyline-dev=7.1.0-1~bpo11+pve1

 

 

3.7 proxmox-openid-rs(Rust)

  • git clone https://git.proxmox.com/git/proxmox-openid-rs.git
  • cd proxmox-openid-rs
  • 依赖
  • apt install librust-proxmox-sys-0.4+default-dev librust-proxmox-sys-0.4+timer-dev
  • #编译deb
  • make deb

3.8 proxmox

  • git clone https://git.proxmox.com/git/proxmox.git
  • cd proxmox
  • #更新依赖
  • apt update && apt upgrade
  • #编译deb
  • make deb

3.9 proxmox-backup-restore-image

  • git clone https://git.proxmox.com/git/proxmox-backup-restore-image.git
  • cd proxmox-backup-restore-image
  • #更新依赖
  • mk-build-deps --install
  • #编译deb
  • make deb

3.10 proxmox-backup

  • git clone https://git.proxmox.com/git/proxmox-backup.git
  • cd proxmox-backup
  • #更新依赖
  • mk-build-deps --install
  • #编译deb
  • make deb
#如果缺失librust-nom-dev=7,请切换版本 git checkout 2a23675db30a3d607ac2082ada911ce9c1635c03

 

3.11 proxmox-perl-rs

  • git clone https://git.proxmox.com/git/proxmox-perl-rs.git
  • cd proxmox-perl-rs
  • #更新依赖
  • cd pve-rs
  • mk-build-deps --install
  • #编译deb
  • cd ..&& make pve&& make pve-deb && make pve-common

3.12 pxar

  • git clone https://git.proxmox.com/git/pxar.git
  • cd pxar
  • #更新依赖
  • mk-build-deps --install
  • #编译deb
  • make deb

3.13 proxmox-websocket-tunnel

  • git clone https://git.proxmox.com/git/proxmox-websocket-tunnel.git
  • cd proxmox-websocket-tunnel
  • #更新依赖
  • apt install -y librust-proxmox-http+client-dev=0.6.2-1 \
  • librust-proxmox-http+websocket-dev=0.6.2-1 \
  • librust-proxmox-http-dev=0.6.2-1 \
  • librust-proxmox-http+futures-dev=0.6.2-1 \
  • librust-proxmox-http+http-helpers-dev=0.6.2-1 \
  • librust-proxmox-http+openssl-dev=0.6.2-1 \
  • librust-proxmox-http+hyper-dev=0.6.2-1 \
  • librust-proxmox-http+proxmox-sys-dev=0.6.2-1 \
  • librust-proxmox-http+proxmox-lang-dev=0.6.2-1 \
  • librust-proxmox-http+base64-dev=0.6.2-1 \
  • librust-proxmox-http+http-dev=0.6.2-1 \
  • librust-proxmox-http+hyper-dev=0.6.2-1 \
  • librust-proxmox-http+tokio-openssl-dev=0.6.2-1 \
  • librust-proxmox-http+proxmox-sys-dev=0.6.2-1 \
  • librust-proxmox-sys-0.3+default-dev \
  • librust-tokio-stream+io-util-dev \
  • librust-itertools-dev
  • #编译deb
  • make deb

3.14 dh-cargo

  • git clone https://git.proxmox.com/git/dh-cargo.git
  • cd dh-cargo
  • dpkg-buildpackage -b -us -uc
  • ##包在上级目录

 

tpm

https://www.jianshu.com/p/44bb54e7d4aa

Ciru

  • git clone https://git.proxmox.com/git/criu.git
  • cd criu
  • #更新依赖
  • apt install asciidoc libnet1-dev libprotobuf-c-dev libprotobuf-dev \
  • protobuf-c-compiler protobuf-compiler python-all
  • sed -i "s/3.11-2/3.15-2/g" Makefile
  • make download
  • #编译deb
  • make deb

附录

  • https://git.proxmox.com/git/aab.git
  • https://git.proxmox.com/git/arch-pacman.git
  • https://git.proxmox.com/git/ceph.git
  • https://git.proxmox.com/git/corosync-pve.git
  • https://git.proxmox.com/git/corosync-qdevice.git
  • https://git.proxmox.com/git/criu.git
  • https://git.proxmox.com/git/dab-pve-appliances.git
  • https://git.proxmox.com/git/dab.git
  • https://git.proxmox.com/git/extjs.git
  • https://git.proxmox.com/git/fence-agents-pve.git
  • https://git.proxmox.com/git/framework7.git
  • https://git.proxmox.com/git/frr.git
  • https://git.proxmox.com/git/ifupdown2.git
  • https://git.proxmox.com/git/iproute2.git
  • https://git.proxmox.com/git/kronosnet.git
  • https://git.proxmox.com/git/ksm-control-daemon.git
  • https://git.proxmox.com/git/libanyevent-http-perl.git
  • https://git.proxmox.com/git/libarchive-perl.git
  • https://git.proxmox.com/git/libgtk3-webkit-perl.git
  • https://git.proxmox.com/git/libhttp-daemon-perl.git
  • https://git.proxmox.com/git/libiscsi.git
  • https://git.proxmox.com/git/libjs-qrcodejs.git
  • https://git.proxmox.com/git/libpve-u2f-server-perl.git
  • https://git.proxmox.com/git/libqb.git
  • https://git.proxmox.com/git/librados2-perl.git
  • https://git.proxmox.com/git/libxdgmime-perl.git
  • https://git.proxmox.com/git/lvm.git
  • https://git.proxmox.com/git/lxc.git
  • https://git.proxmox.com/git/lxcfs.git
  • https://git.proxmox.com/git/novnc-pve.git
  • https://git.proxmox.com/git/ovs.git
  • https://git.proxmox.com/git/pmg-api.git
  • https://git.proxmox.com/git/pmg-docs.git
  • https://git.proxmox.com/git/pmg-gui.git
  • https://git.proxmox.com/git/pmg-log-tracker.git
  • https://git.proxmox.com/git/proxmox-acme.git
  • https://git.proxmox.com/git/proxmox-archive-keyring.git
  • https://git.proxmox.com/git/proxmox-i18n.git
  • https://git.proxmox.com/git/proxmox-mailgateway.git
  • https://git.proxmox.com/git/proxmox-mini-journalreader.git
  • https://git.proxmox.com/git/proxmox-spamassassin.git
  • https://git.proxmox.com/git/proxmox-ve.git
  • https://git.proxmox.com/git/proxmox-widget-toolkit.git
  • https://git.proxmox.com/git/pve-access-control.git
  • https://git.proxmox.com/git/pve-apiclient.git
  • https://git.proxmox.com/git/pve-client.git
  • https://git.proxmox.com/git/pve-cluster.git
  • https://git.proxmox.com/git/pve-common.git
  • https://git.proxmox.com/git/pve-container.git
  • https://git.proxmox.com/git/pve-docs.git
  • https://git.proxmox.com/git/pve-edk2-firmware.git
  • https://git.proxmox.com/git/pve-eslint.git
  • https://git.proxmox.com/git/pve-firewall.git
  • https://git.proxmox.com/git/pve-firmware.git
  • https://git.proxmox.com/git/pve-guest-common.git
  • https://git.proxmox.com/git/pve-ha-manager.git
  • https://git.proxmox.com/git/pve-http-server.git
  • https://git.proxmox.com/git/pve-installer.git
  • https://git.proxmox.com/git/pve-jslint.git
  • https://git.proxmox.com/git/pve-kernel-meta.git
  • https://git.proxmox.com/git/pve-kernel.git
  • https://git.proxmox.com/git/pve-libseccomp2.4-dev.git
  • https://git.proxmox.com/git/pve-libspice-server.git
  • https://git.proxmox.com/git/pve-lxc-syscalld.git
  • https://git.proxmox.com/git/pve-manager.git
  • https://git.proxmox.com/git/pve-network.git
  • https://git.proxmox.com/git/pve-omping.git
  • https://git.proxmox.com/git/pve-qemu.git
  • https://git.proxmox.com/git/pve-spice-protocol.git
  • https://git.proxmox.com/git/pve-storage.git
  • https://git.proxmox.com/git/pve-xtermjs.git
  • https://git.proxmox.com/git/pve-zsync.git
  • https://git.proxmox.com/git/qemu-defaults.git
  • https://git.proxmox.com/git/qemu-server.git
  • https://git.proxmox.com/git/qemu.git
  • https://git.proxmox.com/git/smartmontools.git
  • https://git.proxmox.com/git/spiceterm.git
  • https://git.proxmox.com/git/tar.git
  • https://git.proxmox.com/git/vncterm.git
  • https://git.proxmox.com/git/zfs-grub.git
  • https://git.proxmox.com/git/zfsonlinux.git
  • https://git.proxmox.com/git/flutter/proxmox_dart_api_client.git
  • https://git.proxmox.com/git/flutter/proxmox_login_manager.git
  • https://git.proxmox.com/git/flutter/pve_flutter_frontend.git
  • https://git.proxmox.com/git/cargo.git
  • https://git.proxmox.com/git/debcargo-conf.git
  • https://git.proxmox.com/git/dh-cargo.git
  • https://git.proxmox.com/git/llvm-toolchain.git
  • https://git.proxmox.com/git/pathpatterns.git
  • https://git.proxmox.com/git/perlmod.git
  • https://git.proxmox.com/git/pmg-rs.git
  • https://git.proxmox.com/git/proxmox-acme-rs.git
  • https://git.proxmox.com/git/proxmox-apt.git
  • https://git.proxmox.com/git/proxmox-backup-meta.git
  • https://git.proxmox.com/git/proxmox-backup-qemu.git
  • https://git.proxmox.com/git/proxmox-backup-restore-image.git
  • https://git.proxmox.com/git/proxmox-backup.git
  • https://git.proxmox.com/git/proxmox-fuse.git
  • https://git.proxmox.com/git/proxmox-openid-rs.git
  • https://git.proxmox.com/git/proxmox-perl-rs.git
  • https://git.proxmox.com/git/proxmox-websocket-tunnel.git
  • https://git.proxmox.com/git/proxmox.git
  • https://git.proxmox.com/git/pve-rs.git
  • https://git.proxmox.com/git/pxar.git
  • https://git.proxmox.com/git/rustc.git
  • https://git.proxmox.com/git/wasi-libc.git
  • https://git.proxmox.com/git/mirror_acme.sh.git
  • https://git.proxmox.com/git/mirror_corosync-qdevice.git
  • https://git.proxmox.com/git/mirror_corosync.git
  • https://git.proxmox.com/git/mirror_dvb-firmware.git
  • https://git.proxmox.com/git/mirror_edk2.git
  • https://git.proxmox.com/git/mirror_frr.git
  • https://git.proxmox.com/git/mirror_ifupdown2.git
  • https://git.proxmox.com/git/mirror_iproute2.git
  • https://git.proxmox.com/git/mirror_kronosnet.git
  • https://git.proxmox.com/git/mirror_libseccomp.git
  • https://git.proxmox.com/git/mirror_linux-firmware.git
  • https://git.proxmox.com/git/mirror_lxc.git
  • https://git.proxmox.com/git/mirror_lxcfs.git
  • https://git.proxmox.com/git/mirror_novnc.git
  • https://git.proxmox.com/git/mirror_ovs.git
  • https://git.proxmox.com/git/mirror_qemu.git
  • https://git.proxmox.com/git/mirror_smartmontools-debian.git
  • https://git.proxmox.com/git/mirror_spl-debian.git
  • https://git.proxmox.com/git/mirror_spl.git
  • https://git.proxmox.com/git/mirror_ubuntu-artful-kernel.git
  • https://git.proxmox.com/git/mirror_ubuntu-bionic-kernel.git
  • https://git.proxmox.com/git/mirror_ubuntu-disco-kernel.git
  • https://git.proxmox.com/git/mirror_ubuntu-eoan-kernel.git
  • https://git.proxmox.com/git/mirror_ubuntu-focal-kernel.git
  • https://git.proxmox.com/git/mirror_ubuntu-hirsute-kernel.git
  • https://git.proxmox.com/git/mirror_ubuntu-impish-kernel.git
  • https://git.proxmox.com/git/mirror_ubuntu-jammy-kernel.git
  • https://git.proxmox.com/git/mirror_ubuntu-zesty-kernel.git
  • https://git.proxmox.com/git/mirror_xterm.js.git
  • https://git.proxmox.com/git/mirror_zfs-debian.git
  • https://git.proxmox.com/git/mirror_zfs.git
  • https://git.proxmox.com/git/apt.git
  • https://git.proxmox.com/git/cgmanager.git
  • https://git.proxmox.com/git/dlm.git
  • https://git.proxmox.com/git/drbd-utils.git
  • https://git.proxmox.com/git/gfs2-utils.git
  • https://git.proxmox.com/git/glusterfs.git
  • https://git.proxmox.com/git/libnet-http-perl.git
  • https://git.proxmox.com/git/libusb.git
  • https://git.proxmox.com/git/openais-pve.git
  • https://git.proxmox.com/git/openvswitch.git
  • https://git.proxmox.com/git/parted.git
  • https://git.proxmox.com/git/pve-kernel-2.6.32.git
  • https://git.proxmox.com/git/pve-kernel-3.10.0.git
  • https://git.proxmox.com/git/pve-kernel-jessie.git
  • https://git.proxmox.com/git/pve-qemu-kvm.git
  • https://git.proxmox.com/git/pve-sheepdog.git
  • https://git.proxmox.com/git/pve2-api-doc.git
  • https://git.proxmox.com/git/redhat-cluster-pve.git
  • https://git.proxmox.com/git/resource-agents-pve.git
  • https://git.proxmox.com/git/usb-redir.git
  • https://git.proxmox.com/git/vzctl.git
  • https://git.proxmox.com/git/vzquota.git
展开

 

 

版权声明:
作者:佛西
链接:https://foxi.buduanwang.vip/virtualization/pve/2000.html/
文章版权归作者所有,未经允许请勿转载
如需获得支持,请点击网页右上角
THE END
分享
二维码
海报
<<上一篇
下一篇>>
文章目录

一 编译环境和软件源

1.1 编译所需要的系统

1.2 软件源

1.3 Rust和Cargo

1.4 技巧

二 开始编译

2.1 corosync-pve

2.2 ceph

2.3 extjs

2.3 framework7

2.4 ifupdown2

2.5 kronosnet

2.6 ksm-control-daemon

2.7 libanyevent-http-perl

2.8 libarchive-perl

2.9 libgtk3-webkit-perl(pve5包)

2.10 libhttp-daemon-perl

2.11 libjs-qrcodejs

2.12 libpve-u2f-server-perl

2.13 libqb

2.14 librados2-perl

2.15 libxdgmime-perl

2.16 llvm-toolchain

2.17 lvm

2.18 lxc

2.19 lxcfs

2.20 novnc-pve

2.21 ovs

2.22 proxmox-acme

2.23 proxmox-archive-keyring

2.24 proxmox-i18n

2.25 proxmox-mini-journalreader

2.26 proxmox-ve

2.27 proxmox-widget-toolkit

2.28 pve-access-control

2.29 pve-apiclient

2.30 pve-client(废弃)

2.31 pve-cluster

2.32 pve-common

2.33 pve-container

2.34 pve-doc

2.35 pve-edk2-firmware

2.36 pve-eslint

2.37 pve-firewall

2.38 pve-firmware

2.39 pve-guest-common

2.40 pve-ha-manager

2.41 pve-http-server

2.42 pve-installer(none)

2.43 pve-jslint

2.44 pve-kernel

2.45 pve-kernel-meta

2.46 pve-libseccomp2.4-dev

2.47 pve-spice-protocol

2.48 pve-libspice-server

2.49 pve-lxc-syscalld (Rust)

2.50 pve-manager

2.51 pve-network

2.52 pve-omping(not must need)

2.53 pve-qemu

2.54 pve-storage

2.55 pve-xtermjs(Rust)

2.56 pve-zsync

2.57 qemu-defaults.git

2.58 qemu-server

2.59 smartmontools

2.60 spiceterm

2.61 tar.git

2.62 vncterm

zfs-grub.git

2.63 zfsonlinux

Rust部份

3.1 pathpatterns

3.2 perlmod

3.3 proxmox-acme-rs(Rust)

3.4 proxmox-apt(Rust)

3.5 proxmox-backup-meta

3.6 proxmox-backup-qemu

3.7 proxmox-openid-rs(Rust)

3.8 proxmox

3.9 proxmox-backup-restore-image

3.10 proxmox-backup

3.11 proxmox-perl-rs

3.12 pxar

3.13 proxmox-websocket-tunnel

3.14 dh-cargo

tpm

Ciru

附录

关闭
目 录