从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
-
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/
文章版权归作者所有,未经允许请勿转载
如需获得支持,请点击网页右上角
一 编译环境和软件源
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
附录
TJ
佛西@TJ
yan