forked from Proxmox-Port/Proxmox-Port
Compare commits
48 Commits
Author | SHA1 | Date | |
---|---|---|---|
![]() |
26f0698842 | ||
![]() |
df00611edf | ||
![]() |
66e6610ed2 | ||
![]() |
c64fc01440 | ||
![]() |
116502a2bd | ||
![]() |
6478f682f4 | ||
![]() |
71063b65c9 | ||
![]() |
469b65d0f4 | ||
![]() |
a1f4c084f4 | ||
![]() |
7bddd197c6 | ||
![]() |
9b20c2ffdc | ||
![]() |
b4c0b0afaa | ||
![]() |
9eacac198d | ||
![]() |
7da8e2b23e | ||
![]() |
60c4788a6e | ||
![]() |
f1e6c1838d | ||
![]() |
1a407be511 | ||
![]() |
ecd6a5d26a | ||
![]() |
fc4e69a6bc | ||
![]() |
d3696246f7 | ||
![]() |
66541d2c6d | ||
![]() |
441bdcadf8 | ||
![]() |
b1dc1e0064 | ||
![]() |
ad6595d2b9 | ||
![]() |
ee8a6ab722 | ||
![]() |
b83f897454 | ||
![]() |
6690f9fa2a | ||
![]() |
daff44a540 | ||
![]() |
919e555632 | ||
![]() |
f37a5e02e8 | ||
![]() |
eb89fa132e | ||
![]() |
f2e7ff258b | ||
![]() |
21fd17da7e | ||
![]() |
bcf7527fce | ||
![]() |
4e17e1ca24 | ||
![]() |
39078b1f15 | ||
![]() |
ea8ab340a9 | ||
![]() |
a68581305a | ||
![]() |
f469ecc6dd | ||
![]() |
dd2c2db0d5 | ||
![]() |
5faa3b8a0b | ||
![]() |
dda4385924 | ||
![]() |
caf02fa93b | ||
![]() |
88c6f1ea28 | ||
![]() |
b883b3ee1c | ||
![]() |
f02477f3dd | ||
![]() |
6778e5437a | ||
![]() |
916b8381e5 |
196
.gitmodules
vendored
Normal file
196
.gitmodules
vendored
Normal file
@ -0,0 +1,196 @@
|
|||||||
|
[submodule "packages/pve-manager/pve-manager"]
|
||||||
|
path = packages/pve-manager/pve-manager
|
||||||
|
url = https://git.proxmox.com/git/pve-manager.git
|
||||||
|
[submodule "packages/qemu-server/qemu-server"]
|
||||||
|
path = packages/qemu-server/qemu-server
|
||||||
|
url = https://git.proxmox.com/git/qemu-server.git
|
||||||
|
[submodule "packages/zfsonlinux/zfsonlinux"]
|
||||||
|
path = packages/zfsonlinux/zfsonlinux
|
||||||
|
url = https://git.proxmox.com/git/zfsonlinux.git
|
||||||
|
[submodule "packages/pve-qemu/pve-qemu"]
|
||||||
|
path = packages/pve-qemu/pve-qemu
|
||||||
|
url = https://git.proxmox.com/git/pve-qemu.git
|
||||||
|
[submodule "packages/pve-common/pve-common"]
|
||||||
|
path = packages/pve-common/pve-common
|
||||||
|
url = https://git.proxmox.com/git/pve-common
|
||||||
|
[submodule "packages/pve-installer/pve-installer"]
|
||||||
|
path = packages/pve-installer/pve-installer
|
||||||
|
url = https://git.proxmox.com/git/pve-installer.git
|
||||||
|
[submodule "packages/pve-container/pve-container"]
|
||||||
|
path = packages/pve-container/pve-container
|
||||||
|
url = https://git.proxmox.com/git/pve-container.git
|
||||||
|
[submodule "packages/proxmox-archive-keyring/proxmox-archive-keyring"]
|
||||||
|
path = packages/proxmox-archive-keyring/proxmox-archive-keyring
|
||||||
|
url = https://git.proxmox.com/git/proxmox-archive-keyring.git
|
||||||
|
[submodule "packages/proxmox-ve/proxmox-ve"]
|
||||||
|
path = packages/proxmox-ve/proxmox-ve
|
||||||
|
url = https://git.proxmox.com/git/proxmox-ve.git
|
||||||
|
[submodule "packages/pve-storage/pve-storage"]
|
||||||
|
path = packages/pve-storage/pve-storage
|
||||||
|
url = https://git.proxmox.com/git/pve-storage.git
|
||||||
|
[submodule "packages/proxmox-mini-journalreader/proxmox-mini-journalreader"]
|
||||||
|
path = packages/proxmox-mini-journalreader/proxmox-mini-journalreader
|
||||||
|
url = https://git.proxmox.com/git/proxmox-mini-journalreader.git
|
||||||
|
[submodule "packages/pve-cluster/pve-cluster"]
|
||||||
|
path = packages/pve-cluster/pve-cluster
|
||||||
|
url = https://git.proxmox.com/git/pve-cluster.git
|
||||||
|
[submodule "packages/proxmox-i18n/proxmox-i18n"]
|
||||||
|
path = packages/proxmox-i18n/proxmox-i18n
|
||||||
|
url = https://git.proxmox.com/git/proxmox-i18n
|
||||||
|
[submodule "packages/proxmox-widget-toolkit/proxmox-widget-toolkit"]
|
||||||
|
path = packages/proxmox-widget-toolkit/proxmox-widget-toolkit
|
||||||
|
url = https://git.proxmox.com/git/proxmox-widget-toolkit
|
||||||
|
[submodule "packages/pve-http-server/pve-http-server"]
|
||||||
|
path = packages/pve-http-server/pve-http-server
|
||||||
|
url = https://git.proxmox.com/git/pve-http-server
|
||||||
|
[submodule "packages/pve-docs/pve-docs"]
|
||||||
|
path = packages/pve-docs/pve-docs
|
||||||
|
url = https://git.proxmox.com/git/pve-docs
|
||||||
|
[submodule "packages/libgit2/libgit2"]
|
||||||
|
path = packages/libgit2/libgit2
|
||||||
|
url = https://git.proxmox.com/git/libgit2
|
||||||
|
[submodule "packages/pve-guest-common/pve-guest-common"]
|
||||||
|
path = packages/pve-guest-common/pve-guest-common
|
||||||
|
url = https://git.proxmox.com/git/pve-guest-common
|
||||||
|
[submodule "packages/pve-xtermjs/pve-xtermjs"]
|
||||||
|
path = packages/pve-xtermjs/pve-xtermjs
|
||||||
|
url = https://git.proxmox.com/git/pve-xtermjs
|
||||||
|
[submodule "packages/pve-access-control/pve-access-control"]
|
||||||
|
path = packages/pve-access-control/pve-access-control
|
||||||
|
url = https://git.proxmox.com/git/pve-access-control
|
||||||
|
[submodule "packages/ifupdown2/ifupdown2"]
|
||||||
|
path = packages/ifupdown2/ifupdown2
|
||||||
|
url = https://git.proxmox.com/git/ifupdown2
|
||||||
|
[submodule "packages/pve-ha-manager/pve-ha-manager"]
|
||||||
|
path = packages/pve-ha-manager/pve-ha-manager
|
||||||
|
url = https://git.proxmox.com/git/pve-ha-manager
|
||||||
|
[submodule "packages/pve-firewall/pve-firewall"]
|
||||||
|
path = packages/pve-firewall/pve-firewall
|
||||||
|
url = https://git.proxmox.com/git/pve-firewall
|
||||||
|
[submodule "packages/proxmox-acme/proxmox-acme"]
|
||||||
|
path = packages/proxmox-acme/proxmox-acme
|
||||||
|
url = https://git.proxmox.com/git/proxmox-acme
|
||||||
|
[submodule "packages/pve-network/pve-network"]
|
||||||
|
path = packages/pve-network/pve-network
|
||||||
|
url = https://git.proxmox.com/git/pve-network
|
||||||
|
[submodule "packages/pve-zsync/pve-zsync"]
|
||||||
|
path = packages/pve-zsync/pve-zsync
|
||||||
|
url = https://git.proxmox.com/git/pve-zsync
|
||||||
|
[submodule "packages/lxcfs/lxcfs"]
|
||||||
|
path = packages/lxcfs/lxcfs
|
||||||
|
url = https://git.proxmox.com/git/lxcfs
|
||||||
|
[submodule "packages/ksm-control-daemon/ksm-control-daemon"]
|
||||||
|
path = packages/ksm-control-daemon/ksm-control-daemon
|
||||||
|
url = https://git.proxmox.com/git/ksm-control-daemon
|
||||||
|
[submodule "packages/lxc/lxc"]
|
||||||
|
path = packages/lxc/lxc
|
||||||
|
url = https://git.proxmox.com/git/lxc
|
||||||
|
[submodule "packages/proxmox-kernel-helper/proxmox-kernel-helper"]
|
||||||
|
path = packages/proxmox-kernel-helper/proxmox-kernel-helper
|
||||||
|
url = https://git.proxmox.com/git/proxmox-kernel-helper
|
||||||
|
[submodule "packages/fonts-font-logos/fonts-font-logos"]
|
||||||
|
path = packages/fonts-font-logos/fonts-font-logos
|
||||||
|
url = https://git.proxmox.com/git/fonts-font-logos
|
||||||
|
[submodule "packages/kronosnet/kronosnet"]
|
||||||
|
path = packages/kronosnet/kronosnet
|
||||||
|
url = https://git.proxmox.com/git/kronosnet
|
||||||
|
[submodule "packages/pve-eslint/pve-eslint"]
|
||||||
|
path = packages/pve-eslint/pve-eslint
|
||||||
|
url = https://git.proxmox.com/git/pve-eslint
|
||||||
|
[submodule "packages/librados2-perl/librados2-perl"]
|
||||||
|
path = packages/librados2-perl/librados2-perl
|
||||||
|
url = https://git.proxmox.com/git/librados2-perl
|
||||||
|
[submodule "packages/extjs/extjs"]
|
||||||
|
path = packages/extjs/extjs
|
||||||
|
url = https://git.proxmox.com/git/extjs
|
||||||
|
[submodule "packages/libxdgmime-perl/libxdgmime-perl"]
|
||||||
|
path = packages/libxdgmime-perl/libxdgmime-perl
|
||||||
|
url = https://git.proxmox.com/git/libxdgmime-perl
|
||||||
|
[submodule "packages/libarchive-perl/libarchive-perl"]
|
||||||
|
path = packages/libarchive-perl/libarchive-perl
|
||||||
|
url = https://git.proxmox.com/git/libarchive-perl
|
||||||
|
[submodule "packages/smartmontools/smartmontools"]
|
||||||
|
path = packages/smartmontools/smartmontools
|
||||||
|
url = https://git.proxmox.com/git/smartmontools
|
||||||
|
[submodule "packages/vncterm/vncterm"]
|
||||||
|
path = packages/vncterm/vncterm
|
||||||
|
url = https://git.proxmox.com/git/vncterm
|
||||||
|
[submodule "packages/sencha-touch/sencha-touch"]
|
||||||
|
path = packages/sencha-touch/sencha-touch
|
||||||
|
url = https://git.proxmox.com/git/sencha-touch
|
||||||
|
[submodule "packages/spiceterm/spiceterm"]
|
||||||
|
path = packages/spiceterm/spiceterm
|
||||||
|
url = https://git.proxmox.com/git/spiceterm
|
||||||
|
[submodule "packages/swtpm/swtpm"]
|
||||||
|
path = packages/swtpm/swtpm
|
||||||
|
url = https://github.com/stefanberger/swtpm.git
|
||||||
|
[submodule "packages/libtpms/libtpms"]
|
||||||
|
path = packages/libtpms/libtpms
|
||||||
|
url = https://github.com/stefanberger/libtpms
|
||||||
|
[submodule "packages/libjs-qrcodejs/libjs-qrcodejs"]
|
||||||
|
path = packages/libjs-qrcodejs/libjs-qrcodejs
|
||||||
|
url = https://git.proxmox.com/git/libjs-qrcodejs
|
||||||
|
[submodule "packages/libpve-u2f-server-perl/libpve-u2f-server-perl"]
|
||||||
|
path = packages/libpve-u2f-server-perl/libpve-u2f-server-perl
|
||||||
|
url = https://git.proxmox.com/git/libpve-u2f-server-perl
|
||||||
|
[submodule "packages/corosync-pve/corosync-pve"]
|
||||||
|
path = packages/corosync-pve/corosync-pve
|
||||||
|
url = https://git.proxmox.com/git/corosync-pve
|
||||||
|
[submodule "packages/corosync-qdevice/corosync-qdevice"]
|
||||||
|
path = packages/corosync-qdevice/corosync-qdevice
|
||||||
|
url = https://git.proxmox.com/git/corosync-qdevice
|
||||||
|
[submodule "packages/proxmox-backup-qemu/proxmox-backup-qemu"]
|
||||||
|
path = packages/proxmox-backup-qemu/proxmox-backup-qemu
|
||||||
|
url = https://git.proxmox.com/git/proxmox-backup-qemu
|
||||||
|
[submodule "packages/proxmox-backup/proxmox-backup"]
|
||||||
|
path = packages/proxmox-backup/proxmox-backup
|
||||||
|
url = https://git.proxmox.com/git/proxmox-backup
|
||||||
|
[submodule "packages/debcargo-conf/debcargo-conf"]
|
||||||
|
path = packages/debcargo-conf/debcargo-conf
|
||||||
|
url = https://git.proxmox.com/git/debcargo-conf
|
||||||
|
[submodule "packages/proxmox-offline-mirror/proxmox-offline-mirror"]
|
||||||
|
path = packages/proxmox-offline-mirror/proxmox-offline-mirror
|
||||||
|
url = https://git.proxmox.com/git/proxmox-offline-mirror
|
||||||
|
[submodule "packages/proxmox-perl-rs/proxmox-perl-rs"]
|
||||||
|
path = packages/proxmox-perl-rs/proxmox-perl-rs
|
||||||
|
url = https://git.proxmox.com/git/proxmox-perl-rs
|
||||||
|
[submodule "packages/pxar/pxar"]
|
||||||
|
path = packages/pxar/pxar
|
||||||
|
url = https://git.proxmox.com/git/pxar
|
||||||
|
[submodule "packages/proxmox-firewall/proxmox-firewall"]
|
||||||
|
path = packages/proxmox-firewall/proxmox-firewall
|
||||||
|
url = https://git.proxmox.com/git/proxmox-firewall
|
||||||
|
[submodule "packages/pathpatterns/pathpatterns"]
|
||||||
|
path = packages/pathpatterns/pathpatterns
|
||||||
|
url = https://git.proxmox.com/git/pathpatterns
|
||||||
|
[submodule "packages/proxmox-backup-meta/proxmox-backup-meta"]
|
||||||
|
path = packages/proxmox-backup-meta/proxmox-backup-meta
|
||||||
|
url = https://git.proxmox.com/git/proxmox-backup-meta
|
||||||
|
[submodule "packages/proxmox-backup-restore-image/proxmox-backup-restore-image"]
|
||||||
|
path = packages/proxmox-backup-restore-image/proxmox-backup-restore-image
|
||||||
|
url = https://github.com/jiangcuo/proxmox-backup-restore-image
|
||||||
|
[submodule "packages/cargo/cargo"]
|
||||||
|
path = packages/cargo/cargo
|
||||||
|
url = https://git.proxmox.com/git/cargo
|
||||||
|
[submodule "packages/pve-lxc-syscalld/pve-lxc-syscalld"]
|
||||||
|
path = packages/pve-lxc-syscalld/pve-lxc-syscalld
|
||||||
|
url = https://git.proxmox.com/git/pve-lxc-syscalld
|
||||||
|
[submodule "packages/pve-edk2-firmware/pve-edk2-firmware"]
|
||||||
|
path = packages/pve-edk2-firmware/pve-edk2-firmware
|
||||||
|
url = https://github.com/jiangcuo/pve-edk2-firmware
|
||||||
|
branch = Port
|
||||||
|
[submodule "packages/pixman/pixman"]
|
||||||
|
path = packages/pixman/pixman
|
||||||
|
url = https://salsa.debian.org/xorg-team/lib/pixman
|
||||||
|
[submodule "packages/libqb/libqb"]
|
||||||
|
path = packages/libqb/libqb
|
||||||
|
url = https://salsa.debian.org/ha-team/libqb
|
||||||
|
[submodule "packages/ceph-17/ceph-17"]
|
||||||
|
path = packages/ceph-17/ceph-17
|
||||||
|
url = https://git.proxmox.com/git/ceph.git
|
||||||
|
[submodule "packages/ceph-18/ceph-18"]
|
||||||
|
path = packages/ceph-18/ceph-18
|
||||||
|
url = https://git.proxmox.com/git/ceph.git
|
||||||
|
[submodule "packages/ceph-19/ceph-19"]
|
||||||
|
path = packages/ceph-19/ceph-19
|
||||||
|
url = https://git.proxmox.com/git/ceph.git
|
@ -1,377 +0,0 @@
|
|||||||
diff -Nur -x .git a/Makefile b/Makefile
|
|
||||||
--- a/Makefile 2023-07-21 18:58:16.574930367 +0800
|
|
||||||
+++ b/Makefile 2023-07-21 18:56:39.570811493 +0800
|
|
||||||
@@ -98,18 +98,12 @@
|
|
||||||
cd ${BUILDDIR}; dpkg-buildpackage -S -us -uc -d
|
|
||||||
lintian ${DSC}
|
|
||||||
|
|
||||||
-.PHONY: test
|
|
||||||
-test:
|
|
||||||
- PVE_GENERATING_DOCS=1 perl -I. ./qm verifyapi
|
|
||||||
- $(MAKE) -C test
|
|
||||||
-
|
|
||||||
.PHONY: upload
|
|
||||||
upload: ${DEB}
|
|
||||||
tar cf - ${DEBS} | ssh -X repoman@repo.proxmox.com upload --product pve --dist buster
|
|
||||||
|
|
||||||
.PHONY: clean
|
|
||||||
clean:
|
|
||||||
- $(MAKE) -C test $@
|
|
||||||
rm -rf $(PACKAGE)-*/ *.deb *.buildinfo *.changes *.dsc $(PACKAGE)_*.tar.gz
|
|
||||||
$(MAKE) cleanup-docgen
|
|
||||||
find . -name '*~' -exec rm {} ';'
|
|
||||||
diff -Nur -x .git a/PVE/CLI/qm.pm b/PVE/CLI/qm.pm
|
|
||||||
--- a/PVE/CLI/qm.pm 2023-07-21 18:58:16.578930372 +0800
|
|
||||||
+++ b/PVE/CLI/qm.pm 2023-07-21 18:56:39.594811522 +0800
|
|
||||||
@@ -217,7 +217,7 @@
|
|
||||||
my $vnc_socket = PVE::QemuServer::Helpers::vnc_socket($vmid);
|
|
||||||
|
|
||||||
if (my $ticket = $ENV{LC_PVE_TICKET}) { # NOTE: ssh on debian only pass LC_* variables
|
|
||||||
- mon_cmd($vmid, "change", device => 'vnc', target => "unix:$vnc_socket,password");
|
|
||||||
+#no need this mon_cmd($vmid, "change", device => 'vnc', target => "unix:$vnc_socket,password");
|
|
||||||
mon_cmd($vmid, "set_password", protocol => 'vnc', password => $ticket);
|
|
||||||
mon_cmd($vmid, "expire_password", protocol => 'vnc', time => "+30");
|
|
||||||
} else {
|
|
||||||
diff -Nur -x .git a/PVE/QemuServer/CPUConfig.pm b/PVE/QemuServer/CPUConfig.pm
|
|
||||||
--- a/PVE/QemuServer/CPUConfig.pm 2023-07-21 18:58:16.578930372 +0800
|
|
||||||
+++ b/PVE/QemuServer/CPUConfig.pm 2023-07-21 18:56:39.598811527 +0800
|
|
||||||
@@ -456,9 +456,12 @@
|
|
||||||
|
|
||||||
my $cputype = $kvm ? "kvm64" : "qemu64";
|
|
||||||
if ($arch eq 'aarch64') {
|
|
||||||
- $cputype = 'cortex-a57';
|
|
||||||
+ $cputype = 'host';
|
|
||||||
+ } elsif ($arch eq 'riscv64') {
|
|
||||||
+ $cputype = 'rv64';
|
|
||||||
+ } elsif ($arch eq 'loongarch64'){
|
|
||||||
+ $cputype = 'la464-loongarch-cpu';
|
|
||||||
}
|
|
||||||
-
|
|
||||||
my $cpu = {};
|
|
||||||
my $custom_cpu;
|
|
||||||
my $hv_vendor_id;
|
|
||||||
@@ -519,7 +522,7 @@
|
|
||||||
$pve_forced_flags->{'vendor'} = {
|
|
||||||
value => $cpu_vendor,
|
|
||||||
} if $cpu_vendor ne 'default';
|
|
||||||
- } elsif ($arch ne 'aarch64') {
|
|
||||||
+ } elsif ($arch eq 'x86_64') {
|
|
||||||
die "internal error"; # should not happen
|
|
||||||
}
|
|
||||||
|
|
||||||
diff -Nur -x .git a/PVE/QemuServer/PCI.pm b/PVE/QemuServer/PCI.pm
|
|
||||||
--- a/PVE/QemuServer/PCI.pm 2023-07-21 18:58:16.582930377 +0800
|
|
||||||
+++ b/PVE/QemuServer/PCI.pm 2023-07-21 18:56:39.598811527 +0800
|
|
||||||
@@ -240,8 +240,8 @@
|
|
||||||
|
|
||||||
# using same bus slots on all HW, so we need to check special cases here:
|
|
||||||
my $busname = 'pci';
|
|
||||||
- if ($arch eq 'aarch64' && $machine =~ /^virt/) {
|
|
||||||
- die "aarch64/virt cannot use IDE devices\n" if $id =~ /^ide/;
|
|
||||||
+ if ($arch ne 'x86_64' && $machine =~ /^virt/) {
|
|
||||||
+ die "virt cannot use IDE devices\n" if $id =~ /^ide/;
|
|
||||||
$busname = 'pcie';
|
|
||||||
}
|
|
||||||
|
|
||||||
diff -Nur -x .git a/PVE/QemuServer/USB.pm b/PVE/QemuServer/USB.pm
|
|
||||||
--- a/PVE/QemuServer/USB.pm 2023-07-21 18:58:16.582930377 +0800
|
|
||||||
+++ b/PVE/QemuServer/USB.pm 2023-07-21 18:56:39.598811527 +0800
|
|
||||||
@@ -39,9 +39,9 @@
|
|
||||||
my $devices = [];
|
|
||||||
my $pciaddr = "";
|
|
||||||
|
|
||||||
- if ($arch eq 'aarch64') {
|
|
||||||
- $pciaddr = print_pci_addr('ehci', $bridges, $arch, $machine);
|
|
||||||
- push @$devices, '-device', "usb-ehci,id=ehci$pciaddr";
|
|
||||||
+ if ($arch ne 'x86_64') {
|
|
||||||
+ $pciaddr = print_pci_addr('qemu-xhci', $bridges, $arch, $machine);
|
|
||||||
+ push @$devices, '-device', "qemu-xhci,id=qemu-xhci";
|
|
||||||
} elsif ($machine !~ /q35/) { # FIXME: combine this and machine_type_is_q35
|
|
||||||
$pciaddr = print_pci_addr("piix3", $bridges, $arch, $machine);
|
|
||||||
push @$devices, '-device', "piix3-usb-uhci,id=uhci$pciaddr.0x2";
|
|
||||||
diff -Nur -x .git a/PVE/QemuServer.pm b/PVE/QemuServer.pm
|
|
||||||
--- a/PVE/QemuServer.pm 2023-07-21 18:58:16.578930372 +0800
|
|
||||||
+++ b/PVE/QemuServer.pm 2023-07-21 18:56:39.594811522 +0800
|
|
||||||
@@ -71,6 +71,14 @@
|
|
||||||
"$EDK2_FW_BASE/AAVMF_CODE.fd",
|
|
||||||
"$EDK2_FW_BASE/AAVMF_VARS.fd"
|
|
||||||
],
|
|
||||||
+ loongarch64 => [
|
|
||||||
+ "$EDK2_FW_BASE/LOONGARCH_CODE.fd",
|
|
||||||
+ "$EDK2_FW_BASE/LOONGARCH_VARS.fd",
|
|
||||||
+ ],
|
|
||||||
+ riscv64 => [
|
|
||||||
+ "$EDK2_FW_BASE/RISCV_CODE.fd",
|
|
||||||
+ "$EDK2_FW_BASE/RISCV_VARS.fd",
|
|
||||||
+ ],
|
|
||||||
};
|
|
||||||
|
|
||||||
my $cpuinfo = PVE::ProcFSTools::read_cpuinfo();
|
|
||||||
@@ -607,7 +615,7 @@
|
|
||||||
description => "Virtual processor architecture. Defaults to the host.",
|
|
||||||
optional => 1,
|
|
||||||
type => 'string',
|
|
||||||
- enum => [qw(x86_64 aarch64)],
|
|
||||||
+ enum => [qw(x86_64 aarch64 riscv64 loongarch64)],
|
|
||||||
},
|
|
||||||
smbios1 => {
|
|
||||||
description => "Specify SMBIOS type 1 fields.",
|
|
||||||
@@ -1388,8 +1396,8 @@
|
|
||||||
|
|
||||||
# we use uhci for old VMs because tablet driver was buggy in older qemu
|
|
||||||
my $usbbus;
|
|
||||||
- if (PVE::QemuServer::Machine::machine_type_is_q35($conf) || $arch eq 'aarch64') {
|
|
||||||
- $usbbus = 'ehci';
|
|
||||||
+ if (PVE::QemuServer::Machine::machine_type_is_q35($conf) || $arch ne 'x86_64') {
|
|
||||||
+ $usbbus = 'qemu-xhci';
|
|
||||||
} else {
|
|
||||||
$usbbus = 'uhci';
|
|
||||||
}
|
|
||||||
@@ -1400,9 +1408,9 @@
|
|
||||||
sub print_keyboarddevice_full {
|
|
||||||
my ($conf, $arch, $machine) = @_;
|
|
||||||
|
|
||||||
- return if $arch ne 'aarch64';
|
|
||||||
+ return if $arch eq 'x86_64';
|
|
||||||
|
|
||||||
- return "usb-kbd,id=keyboard,bus=ehci.0,port=2";
|
|
||||||
+ return "usb-kbd,id=keyboard,bus=qemu-xhci.0,port=2";
|
|
||||||
}
|
|
||||||
|
|
||||||
my sub get_drive_id {
|
|
||||||
@@ -1753,7 +1761,7 @@
|
|
||||||
my ($conf, $vga, $arch, $machine_version, $machine, $id, $qxlnum, $bridges) = @_;
|
|
||||||
|
|
||||||
my $type = $vga_map->{$vga->{type}};
|
|
||||||
- if ($arch eq 'aarch64' && defined($type) && $type eq 'virtio-vga') {
|
|
||||||
+ if ($arch ne 'x86_64' && defined($type) && $type eq 'virtio-vga') {
|
|
||||||
$type = 'virtio-gpu';
|
|
||||||
}
|
|
||||||
my $vgamem_mb = $vga->{memory};
|
|
||||||
@@ -2934,6 +2942,8 @@
|
|
||||||
my $default_machines = {
|
|
||||||
x86_64 => 'pc',
|
|
||||||
aarch64 => 'virt',
|
|
||||||
+ loongarch64 => 'virt',
|
|
||||||
+ riscv64 => 'virt',
|
|
||||||
};
|
|
||||||
|
|
||||||
sub get_installed_machine_version {
|
|
||||||
@@ -3012,6 +3022,8 @@
|
|
||||||
my $Arch2Qemu = {
|
|
||||||
aarch64 => '/usr/bin/qemu-system-aarch64',
|
|
||||||
x86_64 => '/usr/bin/qemu-system-x86_64',
|
|
||||||
+ riscv64 => '/usr/bin/qemu-system-riscv64',
|
|
||||||
+ loongarch64 => '/usr/bin/qemu-system-loongarch64',
|
|
||||||
};
|
|
||||||
sub get_command_for_arch($) {
|
|
||||||
my ($arch) = @_;
|
|
||||||
@@ -3052,8 +3064,8 @@
|
|
||||||
|
|
||||||
# FIXME: Once this is merged, the code below should work for ARM as well:
|
|
||||||
# https://lists.nongnu.org/archive/html/qemu-devel/2019-06/msg04947.html
|
|
||||||
- die "QEMU/KVM cannot detect CPU flags on ARM (aarch64)\n" if
|
|
||||||
- $arch eq "aarch64";
|
|
||||||
+ die "QEMU/KVM only can detect CPU flags on x86_64\n" if
|
|
||||||
+ $arch ne "x86_64";
|
|
||||||
|
|
||||||
my $kvm_supported = defined(kvm_version());
|
|
||||||
my $qemu_cmd = get_command_for_arch($arch);
|
|
||||||
@@ -3069,7 +3081,7 @@
|
|
||||||
$qemu_cmd,
|
|
||||||
'-machine', $default_machine,
|
|
||||||
'-display', 'none',
|
|
||||||
- '-chardev', "socket,id=qmp,path=/var/run/qemu-server/$fakevmid.qmp,server,nowait",
|
|
||||||
+ '-chardev', "socket,id=qmp,path=/var/run/qemu-server/$fakevmid.qmp,server=on,wait=off",
|
|
||||||
'-mon', 'chardev=qmp,mode=control',
|
|
||||||
'-pidfile', $pidfile,
|
|
||||||
'-S', '-daemonize'
|
|
||||||
@@ -3226,7 +3238,7 @@
|
|
||||||
my $use_virtio = 0;
|
|
||||||
|
|
||||||
my $qmpsocket = PVE::QemuServer::Helpers::qmp_socket($vmid);
|
|
||||||
- push @$cmd, '-chardev', "socket,id=qmp,path=$qmpsocket,server,nowait";
|
|
||||||
+ push @$cmd, '-chardev', "socket,id=qmp,path=$qmpsocket,server=on,wait=off";
|
|
||||||
push @$cmd, '-mon', "chardev=qmp,mode=control";
|
|
||||||
|
|
||||||
if (min_version($machine_version, 2, 12)) {
|
|
||||||
@@ -3240,6 +3252,8 @@
|
|
||||||
|
|
||||||
if ($conf->{smbios1}) {
|
|
||||||
my $smbios_conf = parse_smbios1($conf->{smbios1});
|
|
||||||
+ # other not need smbios
|
|
||||||
+ if ( $arch eq 'x86_64' ||$arch eq 'aarch64' ){
|
|
||||||
if ($smbios_conf->{base64}) {
|
|
||||||
# Do not pass base64 flag to qemu
|
|
||||||
delete $smbios_conf->{base64};
|
|
||||||
@@ -3260,6 +3274,7 @@
|
|
||||||
push @$cmd, '-smbios', "type=1,$conf->{smbios1}";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
+ }
|
|
||||||
|
|
||||||
if ($conf->{bios} && $conf->{bios} eq 'ovmf') {
|
|
||||||
my ($ovmf_code, $ovmf_vars) = get_ovmf_files($arch);
|
|
||||||
@@ -3293,12 +3308,20 @@
|
|
||||||
if ($format eq 'raw' && $version_guard->(4, 1, 2)) {
|
|
||||||
$size_str = ",size=" . (-s $ovmf_vars);
|
|
||||||
}
|
|
||||||
-
|
|
||||||
- push @$cmd, '-drive', "if=pflash,unit=0,format=raw,readonly,file=$ovmf_code";
|
|
||||||
- push @$cmd, '-drive', "if=pflash,unit=1,format=$format,id=drive-efidisk0$size_str,file=$path";
|
|
||||||
+ if ($arch eq 'loongarch64') {
|
|
||||||
+ push @$cmd, '-bios','/usr/share/pve-edk2-firmware//LOONGARCH_CODE.fd';
|
|
||||||
+ } elsif ($arch eq 'riscv64') {
|
|
||||||
+ push @$cmd, '-bios','/usr/share/pve-edk2-firmware//fw_dynamic.bin';
|
|
||||||
+ push @$cmd, '-drive', "if=pflash,unit=0,format=raw,readonly,file=$ovmf_code";
|
|
||||||
+ push @$cmd, '-drive', "if=pflash,unit=1,format=$format,id=drive-efidisk0$size_str,file=$path";
|
|
||||||
+ }else {
|
|
||||||
+ push @$cmd, '-drive', "if=pflash,unit=0,format=raw,readonly,file=$ovmf_code";
|
|
||||||
+ push @$cmd, '-drive', "if=pflash,unit=1,format=$format,id=drive-efidisk0$size_str,file=$path";
|
|
||||||
}
|
|
||||||
+ }
|
|
||||||
|
|
||||||
# load q35 config
|
|
||||||
+ if ($arch eq 'x86_64'){
|
|
||||||
if ($q35) {
|
|
||||||
# we use different pcie-port hardware for qemu >= 4.0 for passthrough
|
|
||||||
if (min_version($machine_version, 4, 0)) {
|
|
||||||
@@ -3307,10 +3330,16 @@
|
|
||||||
push @$devices, '-readconfig', '/usr/share/qemu-server/pve-q35.cfg';
|
|
||||||
}
|
|
||||||
}
|
|
||||||
+ } else {
|
|
||||||
+ push @$devices, '-readconfig', '/usr/share/qemu-server/pve-port.cfg';
|
|
||||||
+ }
|
|
||||||
|
|
||||||
- if ($conf->{vmgenid}) {
|
|
||||||
- push @$devices, '-device', 'vmgenid,guid='.$conf->{vmgenid};
|
|
||||||
- }
|
|
||||||
+ # only x86_64 need vmgenid
|
|
||||||
+ if ($arch eq 'x86_64'){
|
|
||||||
+ if ($conf->{vmgenid}) {
|
|
||||||
+ push @$devices, '-device', 'vmgenid,guid='.$conf->{vmgenid};
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
|
|
||||||
# add usb controllers
|
|
||||||
my @usbcontrollers = PVE::QemuServer::USB::get_usb_controllers(
|
|
||||||
@@ -3322,7 +3351,7 @@
|
|
||||||
$vga->{type} = 'qxl' if $qxlnum;
|
|
||||||
|
|
||||||
if (!$vga->{type}) {
|
|
||||||
- if ($arch eq 'aarch64') {
|
|
||||||
+ if ($arch ne 'x86_64') {
|
|
||||||
$vga->{type} = 'virtio';
|
|
||||||
} elsif (min_version($machine_version, 2, 9)) {
|
|
||||||
$vga->{type} = (!$winversion || $winversion >= 6) ? 'std' : 'cirrus';
|
|
||||||
@@ -3366,11 +3395,11 @@
|
|
||||||
if (my $path = $conf->{"serial$i"}) {
|
|
||||||
if ($path eq 'socket') {
|
|
||||||
my $socket = "/var/run/qemu-server/${vmid}.serial$i";
|
|
||||||
- push @$devices, '-chardev', "socket,id=serial$i,path=$socket,server,nowait";
|
|
||||||
+ push @$devices, '-chardev', "socket,id=serial$i,path=$socket,server=on,wait=off";
|
|
||||||
# On aarch64, serial0 is the UART device. Qemu only allows
|
|
||||||
# connecting UART devices via the '-serial' command line, as
|
|
||||||
# the device has a fixed slot on the hardware...
|
|
||||||
- if ($arch eq 'aarch64' && $i == 0) {
|
|
||||||
+ if ($arch ne 'x86_64' && $i == 0) {
|
|
||||||
push @$devices, '-serial', "chardev:serial$i";
|
|
||||||
} else {
|
|
||||||
push @$devices, '-device', "isa-serial,chardev=serial$i";
|
|
||||||
@@ -3438,7 +3467,7 @@
|
|
||||||
push @$devices, '-device', print_vga_device(
|
|
||||||
$conf, $vga, $arch, $machine_version, $machine_type, undef, $qxlnum, $bridges);
|
|
||||||
my $socket = PVE::QemuServer::Helpers::vnc_socket($vmid);
|
|
||||||
- push @$cmd, '-vnc', "unix:$socket,password";
|
|
||||||
+ push @$cmd, '-vnc', "unix:$socket,password=on";
|
|
||||||
} else {
|
|
||||||
push @$cmd, '-vga', 'none' if $vga->{type} eq 'none';
|
|
||||||
push @$cmd, '-nographic';
|
|
||||||
@@ -3486,7 +3515,7 @@
|
|
||||||
|
|
||||||
if ($guest_agent->{enabled}) {
|
|
||||||
my $qgasocket = PVE::QemuServer::Helpers::qmp_socket($vmid, 1);
|
|
||||||
- push @$devices, '-chardev', "socket,path=$qgasocket,server,nowait,id=qga0";
|
|
||||||
+ push @$devices, '-chardev', "socket,path=$qgasocket,server=on,wait=off,id=qga0";
|
|
||||||
|
|
||||||
if (!$guest_agent->{type} || $guest_agent->{type} eq 'virtio') {
|
|
||||||
my $pciaddr = print_pci_addr("qga0", $bridges, $arch, $machine_type);
|
|
||||||
@@ -4545,10 +4574,10 @@
|
|
||||||
if ($defaults->{tablet}) {
|
|
||||||
vm_deviceplug($storecfg, $conf, $vmid, 'tablet', $arch, $machine_type);
|
|
||||||
vm_deviceplug($storecfg, $conf, $vmid, 'keyboard', $arch, $machine_type)
|
|
||||||
- if $arch eq 'aarch64';
|
|
||||||
+ if $arch ne 'x86_x64';
|
|
||||||
} else {
|
|
||||||
vm_deviceunplug($vmid, $conf, 'tablet');
|
|
||||||
- vm_deviceunplug($vmid, $conf, 'keyboard') if $arch eq 'aarch64';
|
|
||||||
+ vm_deviceunplug($vmid, $conf, 'keyboard') if $arch ne 'x86_x64';
|
|
||||||
}
|
|
||||||
} elsif ($opt =~ m/^usb\d+/) {
|
|
||||||
die "skip\n";
|
|
||||||
@@ -4628,10 +4657,10 @@
|
|
||||||
if ($value == 1) {
|
|
||||||
vm_deviceplug($storecfg, $conf, $vmid, 'tablet', $arch, $machine_type);
|
|
||||||
vm_deviceplug($storecfg, $conf, $vmid, 'keyboard', $arch, $machine_type)
|
|
||||||
- if $arch eq 'aarch64';
|
|
||||||
+ if $arch ne 'x86_64';
|
|
||||||
} elsif ($value == 0) {
|
|
||||||
vm_deviceunplug($vmid, $conf, 'tablet');
|
|
||||||
- vm_deviceunplug($vmid, $conf, 'keyboard') if $arch eq 'aarch64';
|
|
||||||
+ vm_deviceunplug($vmid, $conf, 'keyboard') if $arch ne 'x86_64';
|
|
||||||
}
|
|
||||||
} elsif ($opt =~ m/^usb\d+$/) {
|
|
||||||
die "skip\n";
|
|
||||||
diff -Nur -x .git a/qemu-configs/Makefile b/qemu-configs/Makefile
|
|
||||||
--- a/qemu-configs/Makefile 2023-07-21 18:58:04.294915319 +0800
|
|
||||||
+++ b/qemu-configs/Makefile 2023-07-21 18:56:39.598811527 +0800
|
|
||||||
@@ -2,11 +2,12 @@
|
|
||||||
USRSHAREDIR=$(DESTDIR)/usr/share/qemu-server
|
|
||||||
|
|
||||||
.PHONY: install
|
|
||||||
-install: pve-usb.cfg pve-q35.cfg pve-q35-4.0.cfg
|
|
||||||
+install: pve-usb.cfg pve-q35.cfg pve-q35-4.0.cfg pve-port.cfg
|
|
||||||
install -d $(USRSHAREDIR)
|
|
||||||
install -m 0644 pve-usb.cfg $(USRSHAREDIR)
|
|
||||||
install -m 0644 pve-q35.cfg $(USRSHAREDIR)
|
|
||||||
install -m 0644 pve-q35-4.0.cfg $(USRSHAREDIR)
|
|
||||||
+ install -m 0644 pve-port.cfg $(USRSHAREDIR)
|
|
||||||
|
|
||||||
.PHONY: clean
|
|
||||||
clean:
|
|
||||||
diff -Nur -x .git a/qemu-configs/pve-port.cfg b/qemu-configs/pve-port.cfg
|
|
||||||
--- a/qemu-configs/pve-port.cfg 1970-01-01 08:00:00.000000000 +0800
|
|
||||||
+++ b/qemu-configs/pve-port.cfg 2023-07-21 18:56:39.598811527 +0800
|
|
||||||
@@ -0,0 +1,30 @@
|
|
||||||
+[device "pcie.1"]
|
|
||||||
+ driver = "pci-bridge"
|
|
||||||
+ bus = "pcie.0"
|
|
||||||
+ addr = "0xa"
|
|
||||||
+ chassis_nr = "1"
|
|
||||||
+
|
|
||||||
+#[device "pciroot"]
|
|
||||||
+# driver = "pci-bridge"
|
|
||||||
+# bus = "pci.1"
|
|
||||||
+# addr = "1.0"
|
|
||||||
+# chassis_nr = "1"
|
|
||||||
+
|
|
||||||
+[device "pcie.2"]
|
|
||||||
+ driver = "pci-bridge"
|
|
||||||
+ bus = "pci.1"
|
|
||||||
+ addr = "1.0"
|
|
||||||
+ chassis_nr = "2"
|
|
||||||
+
|
|
||||||
+
|
|
||||||
+[device "pcie.3"]
|
|
||||||
+ driver = "pci-bridge"
|
|
||||||
+ bus = "pci.2"
|
|
||||||
+ addr = "1.0"
|
|
||||||
+ chassis_nr = "3"
|
|
||||||
+
|
|
||||||
+[device "pcie.4"]
|
|
||||||
+ driver = "pci-bridge"
|
|
||||||
+ bus = "pci.2"
|
|
||||||
+ addr = "2.0"
|
|
||||||
+ chassis_nr = "4"
|
|
||||||
\ No newline at end of file
|
|
64
README.md
Normal file → Executable file
64
README.md
Normal file → Executable file
@ -1,51 +1,29 @@
|
|||||||
# Proxmox-Port
|
# Proxmox VE Port package source
|
||||||
|
|
||||||
Arm64/Riscv64/Loongarch64 are ok.
|
## How to Build
|
||||||
|
|
||||||
There is a detailed introduction in the wiki.
|
### Initializing the build host
|
||||||
|
We need Debian 12 for this code
|
||||||
|
|
||||||
## 1. Tested platform:
|
```bash
|
||||||
- Rockpi (arm64)
|
apt update
|
||||||
- Raspberry Pi (arm64)
|
apt install quilt docker.io -y
|
||||||
- Amlogic TV box (arm64)
|
cd docker
|
||||||
- Kunpeng (arm64)
|
docker build -t pvebuilder -f dockerfile.arm64 .
|
||||||
- FT (arm64)
|
```
|
||||||
- Ampere (arm64)
|
|
||||||
- Apple (arm64,vm only,no kvm support)
|
|
||||||
- 3A5000/3A6000/3C5000 (loongarch64)
|
|
||||||
- VisionFive2 (riscv64)
|
|
||||||
|
|
||||||
Detailed: https://github.com/jiangcuo/Proxmox-Port/wiki/Support-List
|
### Build via Docker
|
||||||
|
|
||||||
|
```bash
|
||||||
|
bash build.sh pve-common
|
||||||
|
```
|
||||||
|
|
||||||
|
The built package will be under /tmp/pve-common
|
||||||
|
|
||||||
|
|
||||||
## 2. screen shot
|
### Custom Docker Image
|
||||||
arm64
|
|
||||||
|
|
||||||
<img width="800" alt="image" src="https://github.com/jiangcuo/Proxmox-Port/assets/49061187/0628e750-e0ff-4b74-a90e-865aac4df8fa">
|
```bash
|
||||||
|
BUILDERNAME=dockerpull.com/pvebuilder:20241101 bash build.sh pve-common
|
||||||
|
```
|
||||||
|
|
||||||
riscv64
|
|
||||||
|
|
||||||
<img width="800" alt="image" src="https://github.com/jiangcuo/Proxmox-Port/assets/49061187/841799fc-85c0-4227-ab12-e999ee66ffd3">
|
|
||||||
|
|
||||||
|
|
||||||
loongarch64
|
|
||||||
|
|
||||||
<img width="800" alt="image" src="https://github.com/jiangcuo/Proxmox-Port/assets/49061187/1d01de5a-455c-46d4-9ff1-12ba199a5e66">
|
|
||||||
|
|
||||||
|
|
||||||
## 3. Installation
|
|
||||||
|
|
||||||
If you are using server that supports EFI,you can install proxmox-ve with iso.
|
|
||||||
|
|
||||||
https://mirrors.apqa.cn/proxmox/isos/
|
|
||||||
|
|
||||||
If you are using u-boot device or failed with iso, you can install proxmox-ve from repo.
|
|
||||||
|
|
||||||
Head to the wiki page to learn more.
|
|
||||||
|
|
||||||
|
|
||||||
## Star History
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
[](https://star-history.com/#jiangcuo/Proxmox-Arm64&jiangcuo/Proxmox-Port&Date)
|
|
||||||
|
128
build.sh
Executable file
128
build.sh
Executable file
@ -0,0 +1,128 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
PKGNAME=$1
|
||||||
|
SH_PATH=$(readlink -f `dirname "$0"`)
|
||||||
|
PKG_LOCATION_PATH="/tmp/2022"
|
||||||
|
DEB_OPT="dd"
|
||||||
|
|
||||||
|
errlog(){
|
||||||
|
echo $1;
|
||||||
|
exit 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
copy_dir(){
|
||||||
|
rsync -ra $SH_DIR/$PKGNAME /build
|
||||||
|
cd /build/$PKGNAME
|
||||||
|
}
|
||||||
|
|
||||||
|
if [ ! -n "$PKGNAME" ];then
|
||||||
|
errlog "Useage: ./build.sh pve-common"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ ! -d "$SH_PATH/packages/$PKGNAME" ];then
|
||||||
|
errlog "$PKGNAME is not exsited!"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -n "$PKG_DIR" ];then
|
||||||
|
PKG_LOCATION_PATH=$PKG_DIR
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -n "$DEB_BUILD_OPTIONS" ];then
|
||||||
|
DEB_OPT=$DEB_BUILD_OPTIONS
|
||||||
|
fi
|
||||||
|
|
||||||
|
dscflag="dsc"
|
||||||
|
|
||||||
|
if [[ "$DEB_BUILD_OPTIONS" == *"nodsc"* ]];then
|
||||||
|
dscflag="nodsc"
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "--------------info------------------"
|
||||||
|
echo "This is Proxmox-Port package build scripts"
|
||||||
|
echo "Package is $PKGNAME"
|
||||||
|
echo "Docker build is $BUILDERNAME"
|
||||||
|
echo "Package dir is $PKG_LOCATION_PATH/$PKGNAME"
|
||||||
|
if [ -n "$DEB_BUILD_OPTIONS" ];
|
||||||
|
then
|
||||||
|
echo "DEB_BUILD_OPTIONS = $DEB_BUILD_OPTIONS"
|
||||||
|
fi
|
||||||
|
echo "--------------start-----------------"
|
||||||
|
|
||||||
|
dockerbuild(){
|
||||||
|
rm $SH_PATH/packages/$PKGNAME/$PKGNAME/pvebuild -rf
|
||||||
|
if [ -n "$BUILDERNAME" ];then
|
||||||
|
docker run -it -e DEB_BUILD_OPTIONS=$DEB_OPT -e PKGDIR=$SH_PATH/packages/$PKGNAME/$PKGNAME -v $SH_PATH/:$SH_PATH --name $PKGNAME --rm $BUILDERNAME || errlog "builderror"
|
||||||
|
else
|
||||||
|
docker run -it -e DEB_BUILD_OPTIONS=$DEB_OPT -e PKGDIR=$SH_PATH/packages/$PKGNAME/$PKGNAME -v $SH_PATH/:$SH_PATH --name $PKGNAME --rm pvebuilder|| errlog "builderror"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
upload_pkg(){
|
||||||
|
rm $PKG_LOCATION_PATH/$PKGNAME -rf
|
||||||
|
mkdir $PKG_LOCATION_PATH/$PKGNAME -p
|
||||||
|
find "$SH_PATH/packages/$PKGNAME/$PKGNAME" -name "*.deb" -exec cp {} $PKG_LOCATION_PATH/$PKGNAME \;
|
||||||
|
find "$SH_PATH/packages/$PKGNAME/$PKGNAME" -name "*.buildinfo" -exec cp {} $PKG_LOCATION_PATH/$PKGNAME \;
|
||||||
|
find "$SH_PATH/packages/$PKGNAME/$PKGNAME" -name "*.changes" -exec cp {} $PKG_LOCATION_PATH/$PKGNAME \;
|
||||||
|
find "$SH_PATH/packages/$PKGNAME/$PKGNAME" -name "*.dsc" -exec cp {} $PKG_LOCATION_PATH/$PKGNAME \;
|
||||||
|
find "$SH_PATH/packages/$PKGNAME/$PKGNAME" -name "*.tar*" -exec cp {} $PKG_LOCATION_PATH/$PKGNAME \;
|
||||||
|
ls $PKG_LOCATION_PATH/$PKGNAME/
|
||||||
|
for i in `ls $PKG_LOCATION_PATH/$PKGNAME/*.deb`;
|
||||||
|
do
|
||||||
|
md5sum $i > $i.md5
|
||||||
|
cat $i.md5
|
||||||
|
done
|
||||||
|
for i in `ls $PKG_LOCATION_PATH/$PKGNAME/*.buildinfo`;
|
||||||
|
do
|
||||||
|
md5sum $i > $i.md5
|
||||||
|
cat $i.md5
|
||||||
|
done
|
||||||
|
|
||||||
|
for i in `ls $PKG_LOCATION_PATH/$PKGNAME/*.changes`;
|
||||||
|
do
|
||||||
|
md5sum $i > $i.md5
|
||||||
|
cat $i.md5
|
||||||
|
done
|
||||||
|
|
||||||
|
if [ $dscflag == "dsc" ];then
|
||||||
|
for i in `ls $PKG_LOCATION_PATH/$PKGNAME/*.dsc`;
|
||||||
|
do
|
||||||
|
md5sum $i > $i.md5
|
||||||
|
cat $i.md5
|
||||||
|
done
|
||||||
|
for i in `ls $PKG_LOCATION_PATH/$PKGNAME/*.tar*`;
|
||||||
|
do
|
||||||
|
md5sum $i > $i.md5
|
||||||
|
cat $i.md5
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
update_submodues(){
|
||||||
|
rm $SH_PATH/packages/$PKGNAME/$PKGNAME/ -rf
|
||||||
|
mkdir $SH_PATH/packages/$PKGNAME/$PKGNAME/
|
||||||
|
git submodule update --init --recursive "$SH_PATH/packages/$PKGNAME/$PKGNAME"
|
||||||
|
}
|
||||||
|
|
||||||
|
update_submodues || errlog "Failed to update submodule"
|
||||||
|
|
||||||
|
if [ -f "$SH_PATH/packages/$PKGNAME/series" ];then
|
||||||
|
cd "$SH_PATH/packages/$PKGNAME/$PKGNAME"
|
||||||
|
for i in `cat $SH_PATH/packages/$PKGNAME/series`;
|
||||||
|
do patch -p1 < $SH_PATH/packages/$PKGNAME/$i
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
|
||||||
|
ARCH=$(arch)
|
||||||
|
|
||||||
|
if [ -f "$SH_PATH/packages/$PKGNAME/series.$ARCH" ];then
|
||||||
|
cd "$SH_PATH/packages/$PKGNAME/$PKGNAME"
|
||||||
|
for i in `cat $SH_PATH/packages/$PKGNAME/series.$ARCH`;
|
||||||
|
do patch -p1 < $SH_PATH/packages/$PKGNAME/$i
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
|
||||||
|
cd $SH_PATH
|
||||||
|
|
||||||
|
dockerbuild
|
||||||
|
upload_pkg || errlog "upload pkg failed"
|
||||||
|
|
43
docker/dockerfile.arm64
Normal file
43
docker/dockerfile.arm64
Normal file
@ -0,0 +1,43 @@
|
|||||||
|
FROM debian:12
|
||||||
|
ARG DEBIAN_APT=http://mirrors.ustc.edu.cn
|
||||||
|
ARG PVE_APT=https://mirrors.lierfang.com
|
||||||
|
ARG ARCH=
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
RUN rm /etc/apt/sources.list.d/* \
|
||||||
|
&& echo "deb $DEBIAN_APT/debian bookworm main contrib non-free non-free-firmware" >/etc/apt/sources.list \
|
||||||
|
&& echo "deb $DEBIAN_APT/debian bookworm-updates main contrib non-free non-free-firmware" >> /etc/apt/sources.list \
|
||||||
|
&& echo "deb $DEBIAN_APT/debian bookworm-backports main contrib non-free non-free-firmware" >> /etc/apt/sources.list \
|
||||||
|
&& echo "deb $DEBIAN_APT/debian-security bookworm-security main contrib non-free non-free-firmware " >> /etc/apt/sources.list
|
||||||
|
|
||||||
|
|
||||||
|
RUN apt update && apt install -y wget nano curl gnupg ca-certificates apt-utils
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
RUN ARCH=$(dpkg --print-architecture) \
|
||||||
|
&& if [ "$ARCH" = "amd64" ]; then \
|
||||||
|
echo "deb $PVE_APT/proxmox/debian/pve bookworm pve-no-subscription" >> /etc/apt/sources.list; \
|
||||||
|
echo "deb $PVE_APT/proxmox/debian/devel bookworm main" >> /etc/apt/sources.list; \
|
||||||
|
curl -l -o /etc/apt/trusted.gpg.d/proxmox-release-bookworm.gpg $PVE_APT/proxmox/debian/proxmox-release-bookworm.gpg; \
|
||||||
|
else \
|
||||||
|
echo "deb $PVE_APT/proxmox/debian/pve bookworm port" >> /etc/apt/sources.list; \
|
||||||
|
echo "deb $PVE_APT/proxmox/debian/devel bookworm port" >> /etc/apt/sources.list; \
|
||||||
|
curl -l -o /etc/apt/trusted.gpg.d/pveport.gpg $PVE_APT/proxmox/debian/pveport.gpg; \
|
||||||
|
fi
|
||||||
|
|
||||||
|
RUN apt update && apt -y install build-* devscripts cargo dh-cargo devscripts rsync debcargo pkg-config debhelper git bison dwarves flex meson equivs
|
||||||
|
|
||||||
|
RUN apt update \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractiv apt-get -y --no-install-recommends install proxmox-ve || echo ok
|
||||||
|
|
||||||
|
RUN rm /var/lib/dpkg/info/pve-manager.postinst \
|
||||||
|
&& rm /var/lib/dpkg/info/proxmox-ve.postinst \
|
||||||
|
&& dpkg --configure -a
|
||||||
|
|
||||||
|
|
||||||
|
ADD ./start.sh /
|
||||||
|
|
||||||
|
CMD ["bash","/start.sh"]
|
50
docker/start.sh
Normal file
50
docker/start.sh
Normal file
@ -0,0 +1,50 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
errlog(){
|
||||||
|
echo $1
|
||||||
|
exit 1
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
export dscflag="dsc"
|
||||||
|
|
||||||
|
if [[ "$DEB_BUILD_OPTIONS" == *"nodsc"* ]];then
|
||||||
|
dscflag="nodsc"
|
||||||
|
fi
|
||||||
|
|
||||||
|
exec_build(){
|
||||||
|
echo "install depends"
|
||||||
|
apt update
|
||||||
|
yes |mk-build-deps --install --remove
|
||||||
|
mkdir /tmp/$PKGDIR -p
|
||||||
|
if [ -f "Makefile" ];then
|
||||||
|
echo "clean "
|
||||||
|
make clean || echo ok
|
||||||
|
echo "build deb in `pwd` "
|
||||||
|
if [ "$dscflag" == "dsc" ];then
|
||||||
|
make dsc || echo "dsc build error but it is not fatal error"
|
||||||
|
cp *.dsc *.tar.* /tmp/$PKGDIR
|
||||||
|
fi
|
||||||
|
make deb || errlog "build deb error"
|
||||||
|
# We need copy deb files first beacuse of deb will be clean when dsc build
|
||||||
|
if [ "$dscflag" == "dsc" ];then
|
||||||
|
cp -r /tmp/$PKGDIR/* ./
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
dpkg-buildpackage -b -us -uc ||errlog "build deb error"
|
||||||
|
mv ../*.deb ../*.buildinfo ../*.changes ../*.dsc ../*.tar.* $PKGDIR
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
if [ ! -d "$PKGDIR" ];then
|
||||||
|
errlog "$PKGDIR dir is not existd,Exitting !"
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
if [ -f "$PKGDIR/../autobuild.sh" ];then
|
||||||
|
cd $PKGDIR/../
|
||||||
|
bash autobuild.sh
|
||||||
|
else
|
||||||
|
cd $PKGDIR
|
||||||
|
exec_build
|
||||||
|
|
||||||
|
fi
|
@ -1,9 +0,0 @@
|
|||||||
# Help
|
|
||||||
|
|
||||||
## Kernel
|
|
||||||
|
|
||||||
[kernel.md](./kernel.md)
|
|
||||||
|
|
||||||
## Port Registry
|
|
||||||
|
|
||||||
[repo.md](./repo.md)
|
|
@ -1,95 +0,0 @@
|
|||||||
# Proxmox Port Kernel
|
|
||||||
|
|
||||||
I forked a kernel project:
|
|
||||||
|
|
||||||
`https://github.com/jiangcuo/pve-port-kernel.git`
|
|
||||||
|
|
||||||
The pre-build kernel file of this project is stored in the repo:
|
|
||||||
|
|
||||||
`deb https://global.mirrors.apqa.cn/proxmox/debian/kernel sid port`
|
|
||||||
|
|
||||||
Currently, there are two architectures: LoongArch64 and ARM64.
|
|
||||||
|
|
||||||
The config in the kernel selects all arm64 devices and can theoretically be used for all.
|
|
||||||
|
|
||||||
## 1. How to install the kernel
|
|
||||||
|
|
||||||
### 1.1 Use apt
|
|
||||||
|
|
||||||
```bash
|
|
||||||
#add repo
|
|
||||||
$ echo "deb https://global.mirrors.apqa.cn/proxmox/debian/kernel sid port" >> /etc/apt/sources.list.d/pveport.list
|
|
||||||
|
|
||||||
#fresh
|
|
||||||
$ apt update
|
|
||||||
|
|
||||||
#Lists the available kernels
|
|
||||||
$ apt search pve-kernel
|
|
||||||
|
|
||||||
#install latest kernel by metapackage
|
|
||||||
$ apt install pve-kernel-6.1-generic
|
|
||||||
```
|
|
||||||
|
|
||||||
### 1.2 Use dpkg
|
|
||||||
|
|
||||||
download kernel package form project releases or repo, use
|
|
||||||
`dpkg -i pve-kernel-*` to install.
|
|
||||||
|
|
||||||
### 1.3 Boot from new kernel
|
|
||||||
|
|
||||||
A PC booted with should automatically set the latest kernel as the first boot kernel. You just need reboot to apply.
|
|
||||||
|
|
||||||
If you encounter a failure with a new kernel ,reboot to grub, select Advanced, and in the next options, select the previous kernel.
|
|
||||||
|
|
||||||
|
|
||||||
### 1.3 uboot devices
|
|
||||||
|
|
||||||
The uboot device will read the `/{boot_partition}/extlinux/extlinux.conf` file on the boot.
|
|
||||||
|
|
||||||
```bash
|
|
||||||
# if your boot_partition is /dev/mmcblk0p3
|
|
||||||
$ mount /dev/mmcblk0p3 /opt
|
|
||||||
# if pve kernel vmlinuz is vmlinuz-6.1.60-generic
|
|
||||||
$ cp /boot/vmlinuz-6.1.60-generic /opt
|
|
||||||
$ sync
|
|
||||||
```
|
|
||||||
|
|
||||||
|
|
||||||
You can edit your extlinux.conf.
|
|
||||||
```bash
|
|
||||||
$ nano /opt/extlinux/extlinux.conf
|
|
||||||
```
|
|
||||||
```
|
|
||||||
default l0
|
|
||||||
menu title QuartzPro64 Boot Menu
|
|
||||||
prompt 0
|
|
||||||
timeout 50
|
|
||||||
|
|
||||||
# create a new item with new kernel.
|
|
||||||
label l0
|
|
||||||
menu label Boot Linux Kernel SDMMC
|
|
||||||
linux /vmlinuz-6.1.60-generic
|
|
||||||
fdt /rk3588-quartzpro64.dtb
|
|
||||||
append earlycon=uart8250,mmio32,0xfeb50000 console=ttyS2,1500000n8 root=/dev/mmcblk1p5 rw rootwait
|
|
||||||
|
|
||||||
# backup old boot item
|
|
||||||
label 20
|
|
||||||
menu label Boot Linux Kernel SDMMC Backup
|
|
||||||
linux /Image
|
|
||||||
fdt /rk3588-quartzpro64.dtb
|
|
||||||
append earlycon=uart8250,mmio32,0xfeb50000 console=ttyS2,1500000n8 root=/dev/mmcblk1p5 rw rootwait
|
|
||||||
```
|
|
||||||
|
|
||||||
The kernel package has compiled the DTB file, if you need it, you can go to the "/boot/dtbs/{kernel_version}/" folder.
|
|
||||||
|
|
||||||
!!! NOTE
|
|
||||||
|
|
||||||
*** Make sure you can access your device using the serial port. If your changes are wrong, you may not be able to boot the system, so you have a serial port that you can debug again. ***
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
## 2. Manual build
|
|
||||||
|
|
||||||
See https://github.com/jiangcuo/pve-port-kernel readme.md
|
|
||||||
|
|
||||||
|
|
85
help/repo.md
85
help/repo.md
@ -1,85 +0,0 @@
|
|||||||
# Proxmox-Port Repo List
|
|
||||||
|
|
||||||
### Mirrors
|
|
||||||
|
|
||||||
```bash
|
|
||||||
Golbal: https://global.mirrors.apqa.cn (Cloudflare)
|
|
||||||
Korea: https://mirrors.apqa.cn (Cloudflare)
|
|
||||||
Hong Kong: https://hk.mirrors.apqa.cn (direct)
|
|
||||||
China: https://mirrors.lierfang.com (direct)
|
|
||||||
Germany: https://de.mirrors.apqa.cn (direct)
|
|
||||||
```
|
|
||||||
|
|
||||||
### key
|
|
||||||
|
|
||||||
https://mirrors.apqa.cn/proxmox/debian/pveport.gpg
|
|
||||||
|
|
||||||
```bash
|
|
||||||
curl -L https://mirrors.apqa.cn/proxmox/debian/pveport.gpg -o /etc/apt/trusted.gpg.d/pveport.gpg
|
|
||||||
```
|
|
||||||
|
|
||||||
### pve repo
|
|
||||||
|
|
||||||
pve7
|
|
||||||
|
|
||||||
```bash
|
|
||||||
deb https://mirrors.apqa.cn/proxmox/debian/pve bullseye port
|
|
||||||
```
|
|
||||||
|
|
||||||
pve8
|
|
||||||
|
|
||||||
```bash
|
|
||||||
deb https://mirrors.apqa.cn/proxmox/debian/pve bookworm port
|
|
||||||
```
|
|
||||||
If you want to use test repo:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
deb https://mirrors.apqa.cn/proxmox/debian/pve bookworm pvetest
|
|
||||||
```
|
|
||||||
ceph-reef
|
|
||||||
```bash
|
|
||||||
deb https://mirrors.apqa.cn/proxmox/debian/pve bookworm ceph-reef
|
|
||||||
```
|
|
||||||
|
|
||||||
|
|
||||||
loong64 sid only
|
|
||||||
|
|
||||||
```bash
|
|
||||||
deb https://mirrors.apqa.cn/proxmox/debian/pve sid port
|
|
||||||
```
|
|
||||||
|
|
||||||
### pbs repo
|
|
||||||
|
|
||||||
pve7
|
|
||||||
|
|
||||||
```bash
|
|
||||||
deb https://mirrors.apqa.cn/proxmox/debian/pbs bullseye port
|
|
||||||
```
|
|
||||||
|
|
||||||
pve8
|
|
||||||
|
|
||||||
```bash
|
|
||||||
deb https://mirrors.apqa.cn/proxmox/debian/pbs bookworm port
|
|
||||||
```
|
|
||||||
|
|
||||||
|
|
||||||
### devel
|
|
||||||
|
|
||||||
pve7
|
|
||||||
|
|
||||||
```bash
|
|
||||||
deb https://mirrors.apqa.cn/proxmox/debian/devel bullseye port
|
|
||||||
```
|
|
||||||
|
|
||||||
pve8
|
|
||||||
|
|
||||||
```bash
|
|
||||||
deb https://mirrors.apqa.cn/proxmox/debian/devel bookworm port
|
|
||||||
```
|
|
||||||
|
|
||||||
### Kernel Repo
|
|
||||||
|
|
||||||
```bash
|
|
||||||
deb https://mirrors.apqa.cn/proxmox/debian/kernel sid port
|
|
||||||
```
|
|
||||||
kernel build form https://github.com/jiangcuo/pve-port-kernel and may not compatible all machine
|
|
BIN
Patchs/QemuServer/.DS_Store → packages/.DS_Store
vendored
BIN
Patchs/QemuServer/.DS_Store → packages/.DS_Store
vendored
Binary file not shown.
1
packages/cargo/cargo
Submodule
1
packages/cargo/cargo
Submodule
@ -0,0 +1 @@
|
|||||||
|
Subproject commit f1ba41e0910163a360d824811b8ceaeda5302e17
|
13
packages/ceph-17/autobuild.sh
Normal file
13
packages/ceph-17/autobuild.sh
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
SCRIPT_DIR=$(cd $(dirname ${BASH_SOURCE[0]}); pwd)
|
||||||
|
PKGNAME=$(basename $SCRIPT_DIR)
|
||||||
|
|
||||||
|
echo "This is $PKGNAME build scripts"
|
||||||
|
|
||||||
|
. ../common.sh
|
||||||
|
|
||||||
|
cd $SCRIPT_DIR/$PKGNAME/ceph
|
||||||
|
apt update
|
||||||
|
yes |mk-build-deps --install --remove
|
||||||
|
cd $SCRIPT_DIR/$PKGNAME
|
||||||
|
exec_build_make
|
1
packages/ceph-17/ceph-17
Submodule
1
packages/ceph-17/ceph-17
Submodule
@ -0,0 +1 @@
|
|||||||
|
Subproject commit eccf199d63457659c09677399928203b7903c888
|
13
packages/ceph-18/autobuild.sh
Normal file
13
packages/ceph-18/autobuild.sh
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
SCRIPT_DIR=$(cd $(dirname ${BASH_SOURCE[0]}); pwd)
|
||||||
|
PKGNAME=$(basename $SCRIPT_DIR)
|
||||||
|
|
||||||
|
echo "This is $PKGNAME build scripts"
|
||||||
|
|
||||||
|
. ../common.sh
|
||||||
|
|
||||||
|
cd $SCRIPT_DIR/$PKGNAME/ceph
|
||||||
|
apt update
|
||||||
|
yes |mk-build-deps --install --remove
|
||||||
|
cd $SCRIPT_DIR/$PKGNAME
|
||||||
|
exec_build_make
|
1
packages/ceph-18/ceph-18
Submodule
1
packages/ceph-18/ceph-18
Submodule
@ -0,0 +1 @@
|
|||||||
|
Subproject commit 2064df84afc61c7e63928121bfdd74c59453c893
|
13
packages/ceph-19/autobuild.sh
Normal file
13
packages/ceph-19/autobuild.sh
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
SCRIPT_DIR=$(cd $(dirname ${BASH_SOURCE[0]}); pwd)
|
||||||
|
PKGNAME=$(basename $SCRIPT_DIR)
|
||||||
|
|
||||||
|
echo "This is $PKGNAME build scripts"
|
||||||
|
|
||||||
|
. ../common.sh
|
||||||
|
|
||||||
|
cd $SCRIPT_DIR/$PKGNAME/ceph
|
||||||
|
apt update
|
||||||
|
yes |mk-build-deps --install --remove
|
||||||
|
cd $SCRIPT_DIR/$PKGNAME
|
||||||
|
exec_build_make
|
1
packages/ceph-19/ceph-19
Submodule
1
packages/ceph-19/ceph-19
Submodule
@ -0,0 +1 @@
|
|||||||
|
Subproject commit 3815e3391b18c593539df6fa952c9f45c37ee4d0
|
31
packages/common.sh
Normal file
31
packages/common.sh
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
copy_dir(){
|
||||||
|
rsync -ra $SH_DIR/$PKGNAME /build
|
||||||
|
cd /build/$PKGNAME
|
||||||
|
}
|
||||||
|
|
||||||
|
exec_build_make(){
|
||||||
|
apt update
|
||||||
|
yes |mk-build-deps --install --remove
|
||||||
|
echo "clean "
|
||||||
|
make clean || echo ok
|
||||||
|
echo "build deb in `pwd` "
|
||||||
|
if [ $dscflag == "dsc" ];then
|
||||||
|
make dsc || "dsc build error but it is not fatal error"
|
||||||
|
fi
|
||||||
|
DEB_BUILD_OPTIONS=nocheck make deb || errlog "build deb error"
|
||||||
|
}
|
||||||
|
|
||||||
|
exec_build_dpkg(){
|
||||||
|
apt update
|
||||||
|
yes |mk-build-deps --install --remove
|
||||||
|
echo "clean "
|
||||||
|
make clean || echo ok
|
||||||
|
echo "build deb in `pwd` "
|
||||||
|
dpkg-buildpackage -b -us -uc || errlog "build deb error"
|
||||||
|
}
|
||||||
|
|
||||||
|
errlog(){
|
||||||
|
echo $1;
|
||||||
|
exit 1;
|
||||||
|
}
|
1
packages/corosync-pve/corosync-pve
Submodule
1
packages/corosync-pve/corosync-pve
Submodule
@ -0,0 +1 @@
|
|||||||
|
Subproject commit 89610ded4948736e822e2348e8b94051d5b22b1e
|
1
packages/corosync-qdevice/corosync-qdevice
Submodule
1
packages/corosync-qdevice/corosync-qdevice
Submodule
@ -0,0 +1 @@
|
|||||||
|
Subproject commit b101bf59c3979c076e3406062021aae1fd36ed21
|
1
packages/debcargo-conf/debcargo-conf
Submodule
1
packages/debcargo-conf/debcargo-conf
Submodule
@ -0,0 +1 @@
|
|||||||
|
Subproject commit e66fc12f82bc1a420fb9e045b84a1719ec26ef98
|
1
packages/extjs/extjs
Submodule
1
packages/extjs/extjs
Submodule
@ -0,0 +1 @@
|
|||||||
|
Subproject commit c0c1b0b6335618415ada92f04bd35774e3edb856
|
1
packages/fonts-font-logos/fonts-font-logos
Submodule
1
packages/fonts-font-logos/fonts-font-logos
Submodule
@ -0,0 +1 @@
|
|||||||
|
Subproject commit 063091d1a7ea70eba36c5684d20428ba215cb769
|
1
packages/ifupdown2/ifupdown2
Submodule
1
packages/ifupdown2/ifupdown2
Submodule
@ -0,0 +1 @@
|
|||||||
|
Subproject commit 48bff42bc2022d8569616244f20c1717c0f04ca2
|
1
packages/kronosnet/kronosnet
Submodule
1
packages/kronosnet/kronosnet
Submodule
@ -0,0 +1 @@
|
|||||||
|
Subproject commit e14981235facc99b29b36fcc15d06bd0b2b0045a
|
1
packages/ksm-control-daemon/ksm-control-daemon
Submodule
1
packages/ksm-control-daemon/ksm-control-daemon
Submodule
@ -0,0 +1 @@
|
|||||||
|
Subproject commit 23493367096149c17219da76c035c127cd7e19f1
|
1
packages/libarchive-perl/libarchive-perl
Submodule
1
packages/libarchive-perl/libarchive-perl
Submodule
@ -0,0 +1 @@
|
|||||||
|
Subproject commit a58f726945c5ff565d596726df04de591182d9a6
|
1
packages/libgit2/libgit2
Submodule
1
packages/libgit2/libgit2
Submodule
@ -0,0 +1 @@
|
|||||||
|
Subproject commit 903bba0abb02cc36f969e5df22c897517792bc32
|
1
packages/libjs-qrcodejs/libjs-qrcodejs
Submodule
1
packages/libjs-qrcodejs/libjs-qrcodejs
Submodule
@ -0,0 +1 @@
|
|||||||
|
Subproject commit ff240abbe9dbb226d9b37cc95c181a3e09920a8c
|
@ -0,0 +1 @@
|
|||||||
|
Subproject commit 6567779c7cb2f2216f3037d77f238fed4138e258
|
14
packages/libqb/autobuild.sh
Normal file
14
packages/libqb/autobuild.sh
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
SCRIPT_DIR=$(cd $(dirname ${BASH_SOURCE[0]}); pwd)
|
||||||
|
PKGNAME=$(basename $SCRIPT_DIR)
|
||||||
|
|
||||||
|
echo "This is $PKGNAME build scripts"
|
||||||
|
|
||||||
|
SH_PATH=$(realpath "$0")
|
||||||
|
SH_DIR=$(dirname $SH_PATH)
|
||||||
|
|
||||||
|
. ../common.sh
|
||||||
|
|
||||||
|
copy_dir
|
||||||
|
exec_build_dpkg
|
||||||
|
cp /build/*.changes /build/*.buildinfo /build/*.deb $SH_DIR/$PKGNAME
|
1
packages/libqb/libqb
Submodule
1
packages/libqb/libqb
Submodule
@ -0,0 +1 @@
|
|||||||
|
Subproject commit bd3c7387ede5949d4f9f6621697a18450f8335e0
|
53
packages/libqb/patches/001-add-loongarch-support.patch
Normal file
53
packages/libqb/patches/001-add-loongarch-support.patch
Normal file
@ -0,0 +1,53 @@
|
|||||||
|
From 1a783707b03c7219c22816ca7af6befc6559f791 Mon Sep 17 00:00:00 2001
|
||||||
|
From: jiangcuo <jiangcuo@bingsin.com>
|
||||||
|
Date: Sat, 16 Nov 2024 17:27:31 +0800
|
||||||
|
Subject: [PATCH] add-support-for-loongson
|
||||||
|
|
||||||
|
---
|
||||||
|
configure.ac | 5 +++++
|
||||||
|
lib/unix.c | 2 +-
|
||||||
|
2 files changed, 6 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/configure.ac b/configure.ac
|
||||||
|
index 879ad154..ec9b35b8 100644
|
||||||
|
--- a/configure.ac
|
||||||
|
+++ b/configure.ac
|
||||||
|
@@ -353,6 +353,11 @@ case $host_cpu in
|
||||||
|
AC_DEFINE_UNQUOTED([QB_ARCH_MIPS], [1], [mips])
|
||||||
|
arch_force_shmlba=yes
|
||||||
|
;;
|
||||||
|
+ loongson*)
|
||||||
|
+ AC_MSG_RESULT([loongson])
|
||||||
|
+ AC_DEFINE_UNQUOTED([QB_ARCH_LOONGSON], [1], [loongson])
|
||||||
|
+ arch_force_shmlba=yes
|
||||||
|
+ ;;
|
||||||
|
*)
|
||||||
|
AC_MSG_RESULT([${host_cpu}])
|
||||||
|
;;
|
||||||
|
diff --git a/lib/unix.c b/lib/unix.c
|
||||||
|
index 6bd3cc24..0dc76470 100644
|
||||||
|
--- a/lib/unix.c
|
||||||
|
+++ b/lib/unix.c
|
||||||
|
@@ -229,7 +229,7 @@ qb_sys_circular_mmap(int32_t fd, void **buf, size_t bytes)
|
||||||
|
flags |= MAP_PRIVATE;
|
||||||
|
#endif /* QB_FORCE_SHM_ALIGN */
|
||||||
|
|
||||||
|
-#if defined(QB_ARCH_HPPA)
|
||||||
|
+#if defined(QB_ARCH_HPPA) || defined(QB_ARCH_LOONGSON)
|
||||||
|
/* map twice the size we want to make sure we have already mapped
|
||||||
|
the second memory location behind it too. Otherwise the Linux
|
||||||
|
kernel may map it in the upper memory so that we can't map
|
||||||
|
diff --git a/debian/changelog b/debian/changelog
|
||||||
|
index 5f009af..e53f81c 100644
|
||||||
|
--- a/debian/changelog
|
||||||
|
+++ b/debian/changelog
|
||||||
|
@@ -1,3 +1,9 @@
|
||||||
|
+libqb (2.0.8-2+port) unstable; urgency=medium
|
||||||
|
+
|
||||||
|
+ * Add loongarch64 support
|
||||||
|
+
|
||||||
|
+ -- Jiangcuo <jiangcuo@lierfang.com> Thu, 21 Nov 2024 13:59:33 +0800
|
||||||
|
+
|
||||||
|
libqb (2.0.8-2) unstable; urgency=medium
|
||||||
|
|
||||||
|
* [ca9bf88] Add procps build dependency for resources.test
|
1
packages/libqb/series
Normal file
1
packages/libqb/series
Normal file
@ -0,0 +1 @@
|
|||||||
|
patches/001-add-loongarch-support.patch
|
22
packages/librados2-perl/autobuild.sh
Normal file
22
packages/librados2-perl/autobuild.sh
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
SCRIPT_DIR=$(cd $(dirname ${BASH_SOURCE[0]}); pwd)
|
||||||
|
PKGNAME=$(basename $SCRIPT_DIR)
|
||||||
|
. ../common.sh
|
||||||
|
echo "This is $PKGNAME build scripts"
|
||||||
|
|
||||||
|
|
||||||
|
exec_build(){
|
||||||
|
apt update
|
||||||
|
apt install libpve-access-control librados2 librados-dev -y
|
||||||
|
yes |mk-build-deps --install --remove
|
||||||
|
echo "clean "
|
||||||
|
make clean || echo ok
|
||||||
|
echo "build deb in `pwd` "
|
||||||
|
make deb || errlog "build deb error"
|
||||||
|
if [ $dscflag == "dsc" ];then
|
||||||
|
make dsc || errlog "build dsc error"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
cd $SCRIPT_DIR/$PKGNAME
|
||||||
|
exec_build
|
1
packages/librados2-perl/librados2-perl
Submodule
1
packages/librados2-perl/librados2-perl
Submodule
@ -0,0 +1 @@
|
|||||||
|
Subproject commit b2017399cac82628e15ec14e95551c14fdfbf14f
|
14
packages/libtpms/autobuild.sh
Normal file
14
packages/libtpms/autobuild.sh
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
SCRIPT_DIR=$(cd $(dirname ${BASH_SOURCE[0]}); pwd)
|
||||||
|
PKGNAME=$(basename $SCRIPT_DIR)
|
||||||
|
|
||||||
|
echo "This is $PKGNAME build scripts"
|
||||||
|
|
||||||
|
SH_PATH=$(realpath "$0")
|
||||||
|
SH_DIR=$(dirname $SH_PATH)
|
||||||
|
|
||||||
|
. ../common.sh
|
||||||
|
|
||||||
|
copy_dir
|
||||||
|
exec_build_dpkg
|
||||||
|
cp /build/*.changes /build/*.buildinfo /build/*.deb /build/*.tar.* /build/*.dsc $SH_DIR/$PKGNAME
|
1
packages/libtpms/libtpms
Submodule
1
packages/libtpms/libtpms
Submodule
@ -0,0 +1 @@
|
|||||||
|
Subproject commit b8c9153a3f74d0c80a34b21b527625524063216c
|
1
packages/libxdgmime-perl/libxdgmime-perl
Submodule
1
packages/libxdgmime-perl/libxdgmime-perl
Submodule
@ -0,0 +1 @@
|
|||||||
|
Subproject commit 77017fd76baaa3cd6e90ca75bf50a736fe9f9b05
|
1
packages/lxc/lxc
Submodule
1
packages/lxc/lxc
Submodule
@ -0,0 +1 @@
|
|||||||
|
Subproject commit 12c47dd66cd23c96259e8c38eb009cfb2098be2e
|
1
packages/lxcfs/lxcfs
Submodule
1
packages/lxcfs/lxcfs
Submodule
@ -0,0 +1 @@
|
|||||||
|
Subproject commit 9a51a616a09dd8ffeb0c920128ced3cfe50af66d
|
16
packages/lxcfs/patches/001-fix-aarch64-lib-path.patch
Normal file
16
packages/lxcfs/patches/001-fix-aarch64-lib-path.patch
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
From 1590a0be2c1b7b238f4962d4f28ec36af91f10f4 Mon Sep 17 00:00:00 2001
|
||||||
|
From: jiangcuo <49061187+jiangcuo@users.noreply.github.com>
|
||||||
|
Date: Wed, 30 Oct 2024 21:11:26 +0800
|
||||||
|
Subject: [PATCH] fix lib patch
|
||||||
|
|
||||||
|
---
|
||||||
|
debian/lxcfs.links | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/debian/lxcfs.links b/debian/lxcfs.links
|
||||||
|
index 36e0af9..78a35d3 100644
|
||||||
|
--- a/debian/lxcfs.links
|
||||||
|
+++ b/debian/lxcfs.links
|
||||||
|
@@ -1 +1 @@
|
||||||
|
-usr/lib/x86_64-linux-gnu/lxcfs/liblxcfs.so usr/lib/x86_64-linux-gnu/liblxcfs.so
|
||||||
|
+usr/lib/aarch64-linux-gnu/lxcfs/liblxcfs.so usr/lib/aarch64-linux-gnu/liblxcfs.so
|
@ -0,0 +1,16 @@
|
|||||||
|
From 1590a0be2c1b7b238f4962d4f28ec36af91f10f4 Mon Sep 17 00:00:00 2001
|
||||||
|
From: jiangcuo <49061187+jiangcuo@users.noreply.github.com>
|
||||||
|
Date: Wed, 30 Oct 2024 21:11:26 +0800
|
||||||
|
Subject: [PATCH] fix lib patch
|
||||||
|
|
||||||
|
---
|
||||||
|
debian/lxcfs.links | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/debian/lxcfs.links b/debian/lxcfs.links
|
||||||
|
index 36e0af9..78a35d3 100644
|
||||||
|
--- a/debian/lxcfs.links
|
||||||
|
+++ b/debian/lxcfs.links
|
||||||
|
@@ -1 +1 @@
|
||||||
|
-usr/lib/x86_64-linux-gnu/lxcfs/liblxcfs.so usr/lib/x86_64-linux-gnu/liblxcfs.so
|
||||||
|
+usr/lib/loongarch64-linux-gnu/lxcfs/liblxcfs.so usr/lib/loongarch64-linux-gnu/liblxcfs.so
|
16
packages/lxcfs/patches/other/001-fix-riscv64-lib-path.patch
Normal file
16
packages/lxcfs/patches/other/001-fix-riscv64-lib-path.patch
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
From 1590a0be2c1b7b238f4962d4f28ec36af91f10f4 Mon Sep 17 00:00:00 2001
|
||||||
|
From: jiangcuo <49061187+jiangcuo@users.noreply.github.com>
|
||||||
|
Date: Wed, 30 Oct 2024 21:11:26 +0800
|
||||||
|
Subject: [PATCH] fix lib patch
|
||||||
|
|
||||||
|
---
|
||||||
|
debian/lxcfs.links | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/debian/lxcfs.links b/debian/lxcfs.links
|
||||||
|
index 36e0af9..78a35d3 100644
|
||||||
|
--- a/debian/lxcfs.links
|
||||||
|
+++ b/debian/lxcfs.links
|
||||||
|
@@ -1 +1 @@
|
||||||
|
-usr/lib/x86_64-linux-gnu/lxcfs/liblxcfs.so usr/lib/x86_64-linux-gnu/liblxcfs.so
|
||||||
|
+usr/lib/riscv64-linux-gnu/lxcfs/liblxcfs.so usr/lib/riscv64-linux-gnu/liblxcfs.so
|
1
packages/lxcfs/series.aarch64
Normal file
1
packages/lxcfs/series.aarch64
Normal file
@ -0,0 +1 @@
|
|||||||
|
patches/001-fix-aarch64-lib-path.patch
|
1
packages/lxcfs/series.loongarch64
Normal file
1
packages/lxcfs/series.loongarch64
Normal file
@ -0,0 +1 @@
|
|||||||
|
patches/other/001-fix-loongarch64-lib-path.patch
|
1
packages/lxcfs/series.riscv64
Normal file
1
packages/lxcfs/series.riscv64
Normal file
@ -0,0 +1 @@
|
|||||||
|
patches/other/001-fix-riscv64-lib-path.patch
|
1
packages/pathpatterns/pathpatterns
Submodule
1
packages/pathpatterns/pathpatterns
Submodule
@ -0,0 +1 @@
|
|||||||
|
Subproject commit 394f6f679a54d014f8a29241b9f03e124f2a7726
|
14
packages/pixman/autobuild.sh
Normal file
14
packages/pixman/autobuild.sh
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
SCRIPT_DIR=$(cd $(dirname ${BASH_SOURCE[0]}); pwd)
|
||||||
|
PKGNAME=$(basename $SCRIPT_DIR)
|
||||||
|
|
||||||
|
echo "This is $PKGNAME build scripts"
|
||||||
|
|
||||||
|
SH_PATH=$(realpath "$0")
|
||||||
|
SH_DIR=$(dirname $SH_PATH)
|
||||||
|
|
||||||
|
. ../common.sh
|
||||||
|
|
||||||
|
copy_dir
|
||||||
|
exec_build_dpkg
|
||||||
|
cp /build/*.changes /build/*.buildinfo /build/*.deb $SH_DIR/$PKGNAME
|
13
packages/pixman/patches/001-fix-vm-crush-on-aarch64.patch
Normal file
13
packages/pixman/patches/001-fix-vm-crush-on-aarch64.patch
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
diff --git a/pixman/pixman-arma64-neon-asm.S b/pixman/pixman-arma64-neon-asm.S
|
||||||
|
index 7329d4b..1c1fdd5 100644
|
||||||
|
--- a/pixman/pixman-arma64-neon-asm.S
|
||||||
|
+++ b/pixman/pixman-arma64-neon-asm.S
|
||||||
|
@@ -1325,7 +1325,7 @@ generate_composite_function \
|
||||||
|
.macro pixman_composite_src_8888_8888_process_pixblock_tail_head
|
||||||
|
st1 {v0.2s, v1.2s, v2.2s, v3.2s}, [DST_W], #32
|
||||||
|
fetch_src_pixblock
|
||||||
|
- cache_preload 8, 8
|
||||||
|
+ /* cache_preload 8, 8 */
|
||||||
|
.endm
|
||||||
|
|
||||||
|
generate_composite_function \
|
1
packages/pixman/pixman
Submodule
1
packages/pixman/pixman
Submodule
@ -0,0 +1 @@
|
|||||||
|
Subproject commit 7d26aad890739b5d2152638f26624e4167cf2d44
|
1
packages/pixman/series
Normal file
1
packages/pixman/series
Normal file
@ -0,0 +1 @@
|
|||||||
|
patches/001-fix-vm-crush-on-aarch64.patch
|
1
packages/proxmox-acme/proxmox-acme
Submodule
1
packages/proxmox-acme/proxmox-acme
Submodule
@ -0,0 +1 @@
|
|||||||
|
Subproject commit bb6df0b8185829b5c1757330c12f977e196ed2b8
|
3
packages/proxmox-archive-keyring/Readme.txt
Normal file
3
packages/proxmox-archive-keyring/Readme.txt
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
## proxmox-archive-keyring
|
||||||
|
|
||||||
|
This repository stores Promxox VE and my gpg signature.
|
11
packages/proxmox-archive-keyring/autobuild.sh
Normal file
11
packages/proxmox-archive-keyring/autobuild.sh
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
SCRIPT_DIR=$(cd $(dirname ${BASH_SOURCE[0]}); pwd)
|
||||||
|
PKGNAME=$(basename $SCRIPT_DIR)
|
||||||
|
|
||||||
|
echo "This is $PKGNAME build scripts"
|
||||||
|
|
||||||
|
. ../common.sh
|
||||||
|
|
||||||
|
cd $SCRIPT_DIR/$PKGNAME
|
||||||
|
cp ../pveport.gpg debian/
|
||||||
|
exec_build_make
|
@ -0,0 +1,23 @@
|
|||||||
|
diff --git a/debian/changelog b/debian/changelog
|
||||||
|
index f0481b7..d5ed5d3 100644
|
||||||
|
--- a/debian/changelog
|
||||||
|
+++ b/debian/changelog
|
||||||
|
@@ -1,3 +1,9 @@
|
||||||
|
+proxmox-archive-keyring (3.0+port1) bookworm; urgency=medium
|
||||||
|
+
|
||||||
|
+ * Add pveport key.
|
||||||
|
+
|
||||||
|
+ -- Jiangcuo <jiangcuo@bingsin.com> Sun, 24 Dec 2023 06:28:45 +0000
|
||||||
|
+
|
||||||
|
proxmox-archive-keyring (3.0) bookworm; urgency=medium
|
||||||
|
|
||||||
|
* drop key for Debian Buster based installations
|
||||||
|
diff --git a/debian/proxmox-archive-keyring.install b/debian/proxmox-archive-keyring.install
|
||||||
|
index 05d99cb..934ebfc 100644
|
||||||
|
--- a/debian/proxmox-archive-keyring.install
|
||||||
|
+++ b/debian/proxmox-archive-keyring.install
|
||||||
|
@@ -1,3 +1,4 @@
|
||||||
|
+debian/pveport.gpg etc/apt/trusted.gpg.d/
|
||||||
|
debian/proxmox-release-bullseye.gpg etc/apt/trusted.gpg.d/
|
||||||
|
debian/proxmox-release-bookworm.gpg etc/apt/trusted.gpg.d/
|
||||||
|
debian/proxmox-offline-signing-key.pub /usr/share/keyrings/
|
@ -0,0 +1 @@
|
|||||||
|
Subproject commit 05ecf7b18223f6dcb3cefb0913e6f6450f776140
|
BIN
packages/proxmox-archive-keyring/pveport.gpg
Normal file
BIN
packages/proxmox-archive-keyring/pveport.gpg
Normal file
Binary file not shown.
1
packages/proxmox-archive-keyring/series
Normal file
1
packages/proxmox-archive-keyring/series
Normal file
@ -0,0 +1 @@
|
|||||||
|
patches/001-add-port-gpg.patch
|
1
packages/proxmox-backup-meta/proxmox-backup-meta
Submodule
1
packages/proxmox-backup-meta/proxmox-backup-meta
Submodule
@ -0,0 +1 @@
|
|||||||
|
Subproject commit 92fce779be77901d741ad2f56e33fa4f60cb0fa4
|
14
packages/proxmox-backup-qemu/autobuild.sh
Executable file
14
packages/proxmox-backup-qemu/autobuild.sh
Executable file
@ -0,0 +1,14 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
SCRIPT_DIR=$(cd $(dirname ${BASH_SOURCE[0]}); pwd)
|
||||||
|
PKGNAME=$(basename $SCRIPT_DIR)
|
||||||
|
|
||||||
|
echo "This is $PKGNAME build scripts"
|
||||||
|
|
||||||
|
. ../common.sh
|
||||||
|
|
||||||
|
cd $SCRIPT_DIR/$PKGNAME/submodules/proxmox-backup/
|
||||||
|
apt update
|
||||||
|
yes |mk-build-deps --install --remove
|
||||||
|
cd $SCRIPT_DIR/$PKGNAME
|
||||||
|
exec_build_make
|
||||||
|
|
1
packages/proxmox-backup-qemu/proxmox-backup-qemu
Submodule
1
packages/proxmox-backup-qemu/proxmox-backup-qemu
Submodule
@ -0,0 +1 @@
|
|||||||
|
Subproject commit 261437c26fd2937efef6d3e37efbe8f4a24d5c70
|
@ -0,0 +1 @@
|
|||||||
|
Subproject commit 800220bc897d24ac703c248a28e652947c290f32
|
72
packages/proxmox-backup/patches/001-add-aarch64-build.patch
Normal file
72
packages/proxmox-backup/patches/001-add-aarch64-build.patch
Normal file
@ -0,0 +1,72 @@
|
|||||||
|
From 1faf5a07df1a39bd9dced247a46441ae00b01bc4 Mon Sep 17 00:00:00 2001
|
||||||
|
From: jiangcuo <jiangcuo@bingsin.com>
|
||||||
|
Date: Tue, 14 Nov 2023 18:05:35 +0800
|
||||||
|
Subject: [PATCH] add for aarch64
|
||||||
|
|
||||||
|
---
|
||||||
|
debian/lintian-overrides | 6 +++---
|
||||||
|
debian/proxmox-backup-file-restore.install | 2 +-
|
||||||
|
debian/proxmox-backup-file-restore.postinst | 2 +-
|
||||||
|
debian/proxmox-backup-server.install | 10 +++++-----
|
||||||
|
pbs-buildcfg/src/lib.rs | 4 ++--
|
||||||
|
5 files changed, 12 insertions(+), 12 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/debian/lintian-overrides b/debian/lintian-overrides
|
||||||
|
index 809cd2972..49f1429e6 100644
|
||||||
|
--- a/debian/lintian-overrides
|
||||||
|
+++ b/debian/lintian-overrides
|
||||||
|
@@ -1,7 +1,7 @@
|
||||||
|
proxmox-backup-server: mail-transport-agent-dependency-does-not-specify-default-mta
|
||||||
|
proxmox-backup-server: package-installs-apt-sources [etc/apt/sources.list.d/pbs-enterprise.list]
|
||||||
|
-proxmox-backup-server: elevated-privileges 4755 root/root [usr/lib/x86_64-linux-gnu/proxmox-backup/sg-tape-cmd]
|
||||||
|
+proxmox-backup-server: elevated-privileges 4755 root/root [usr/lib/aarch64-linux-gnu/proxmox-backup/sg-tape-cmd]
|
||||||
|
proxmox-backup-server: systemd-service-file-refers-to-unusual-wantedby-target getty.target [lib/systemd/system/proxmox-backup-banner.service]
|
||||||
|
-proxmox-backup-server: uses-dpkg-database-directly [usr/lib/x86_64-linux-gnu/proxmox-backup/proxmox-backup-api]
|
||||||
|
-proxmox-backup-server: uses-dpkg-database-directly [usr/lib/x86_64-linux-gnu/proxmox-backup/proxmox-backup-proxy]
|
||||||
|
+proxmox-backup-server: uses-dpkg-database-directly [usr/lib/aarch64-linux-gnu/proxmox-backup/proxmox-backup-api]
|
||||||
|
+proxmox-backup-server: uses-dpkg-database-directly [usr/lib/aarch64-linux-gnu/proxmox-backup/proxmox-backup-proxy]
|
||||||
|
proxmox-backup-server: uses-dpkg-database-directly [usr/sbin/proxmox-backup-debug]
|
||||||
|
diff --git a/debian/proxmox-backup-file-restore.install b/debian/proxmox-backup-file-restore.install
|
||||||
|
index 409988a34..baf1d0422 100644
|
||||||
|
--- a/debian/proxmox-backup-file-restore.install
|
||||||
|
+++ b/debian/proxmox-backup-file-restore.install
|
||||||
|
@@ -1,4 +1,4 @@
|
||||||
|
usr/bin/proxmox-file-restore
|
||||||
|
-usr/lib/x86_64-linux-gnu/proxmox-backup/file-restore/proxmox-restore-daemon
|
||||||
|
+usr/lib/aarch64-linux-gnu/proxmox-backup/file-restore/proxmox-restore-daemon
|
||||||
|
usr/share/man/man1/proxmox-file-restore.1
|
||||||
|
usr/share/zsh/vendor-completions/_proxmox-file-restore
|
||||||
|
diff --git a/debian/proxmox-backup-file-restore.postinst b/debian/proxmox-backup-file-restore.postinst
|
||||||
|
index 9792bfb46..89ff4d792 100755
|
||||||
|
--- a/debian/proxmox-backup-file-restore.postinst
|
||||||
|
+++ b/debian/proxmox-backup-file-restore.postinst
|
||||||
|
@@ -4,7 +4,7 @@ set -e
|
||||||
|
|
||||||
|
update_initramfs() {
|
||||||
|
# regenerate initramfs for single file restore VM
|
||||||
|
- INST_PATH="/usr/lib/x86_64-linux-gnu/proxmox-backup/file-restore"
|
||||||
|
+ INST_PATH="/usr/lib/aarch64-linux-gnu/proxmox-backup/file-restore"
|
||||||
|
CACHE_PATH="/var/cache/proxmox-backup/file-restore-initramfs.img"
|
||||||
|
CACHE_PATH_DBG="/var/cache/proxmox-backup/file-restore-initramfs-debug.img"
|
||||||
|
|
||||||
|
diff --git a/debian/proxmox-backup-server.install b/debian/proxmox-backup-server.install
|
||||||
|
index ee114ea34..09951b8f2 100644
|
||||||
|
--- a/debian/proxmox-backup-server.install
|
||||||
|
+++ b/debian/proxmox-backup-server.install
|
||||||
|
@@ -7,11 +7,11 @@ etc/proxmox-backup.service /lib/systemd/system/
|
||||||
|
usr/bin/pmt
|
||||||
|
usr/bin/pmtx
|
||||||
|
usr/bin/proxmox-tape
|
||||||
|
-usr/lib/x86_64-linux-gnu/proxmox-backup/proxmox-backup-api
|
||||||
|
-usr/lib/x86_64-linux-gnu/proxmox-backup/proxmox-backup-banner
|
||||||
|
-usr/lib/x86_64-linux-gnu/proxmox-backup/proxmox-backup-proxy
|
||||||
|
-usr/lib/x86_64-linux-gnu/proxmox-backup/proxmox-daily-update
|
||||||
|
-usr/lib/x86_64-linux-gnu/proxmox-backup/sg-tape-cmd
|
||||||
|
+usr/lib/aarch64-linux-gnu/proxmox-backup/proxmox-backup-api
|
||||||
|
+usr/lib/aarch64-linux-gnu/proxmox-backup/proxmox-backup-banner
|
||||||
|
+usr/lib/aarch64-linux-gnu/proxmox-backup/proxmox-backup-proxy
|
||||||
|
+usr/lib/aarch64-linux-gnu/proxmox-backup/proxmox-daily-update
|
||||||
|
+usr/lib/aarch64-linux-gnu/proxmox-backup/sg-tape-cmd
|
||||||
|
usr/sbin/pbs2to3
|
||||||
|
usr/sbin/proxmox-backup-debug
|
||||||
|
usr/sbin/proxmox-backup-manager
|
158
packages/proxmox-backup/patches/002-fix-qemu-cmdline.patch
Normal file
158
packages/proxmox-backup/patches/002-fix-qemu-cmdline.patch
Normal file
@ -0,0 +1,158 @@
|
|||||||
|
diff --git a/pbs-buildcfg/src/lib.rs b/pbs-buildcfg/src/lib.rs
|
||||||
|
index 3d087015b..ba3b5702a 100644
|
||||||
|
--- a/pbs-buildcfg/src/lib.rs
|
||||||
|
+++ b/pbs-buildcfg/src/lib.rs
|
||||||
|
@@ -53,8 +53,9 @@ macro_rules! PROXMOX_BACKUP_CACHE_DIR_M {
|
||||||
|
|
||||||
|
#[macro_export]
|
||||||
|
macro_rules! PROXMOX_BACKUP_FILE_RESTORE_BIN_DIR_M {
|
||||||
|
- () => {
|
||||||
|
- "/usr/lib/x86_64-linux-gnu/proxmox-backup/file-restore"
|
||||||
|
+ ($arch:expr) => {
|
||||||
|
+ // Different architectures have different paths.
|
||||||
|
+ format!("/usr/lib/{}-linux-gnu/proxmox-backup/file-restore", $arch)
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
@@ -93,8 +94,16 @@ pub const PROXMOX_BACKUP_INITRAMFS_DBG_FN: &str = concat!(
|
||||||
|
);
|
||||||
|
|
||||||
|
/// filename of the kernel to use for booting single file restore VMs
|
||||||
|
-pub const PROXMOX_BACKUP_KERNEL_FN: &str =
|
||||||
|
- concat!(PROXMOX_BACKUP_FILE_RESTORE_BIN_DIR_M!(), "/bzImage");
|
||||||
|
+pub fn PROXMOX_BACKUP_KERNEL_FN() -> String {
|
||||||
|
+ let arch = std::env::consts::ARCH;
|
||||||
|
+ let file_restore_dir = PROXMOX_BACKUP_FILE_RESTORE_BIN_DIR_M!(arch);
|
||||||
|
+
|
||||||
|
+ if arch == "x86_64" {
|
||||||
|
+ format!("{}/bzImage", file_restore_dir)
|
||||||
|
+ } else {
|
||||||
|
+ format!("{}/Image", file_restore_dir)
|
||||||
|
+ }
|
||||||
|
+}
|
||||||
|
|
||||||
|
pub const PROXMOX_BACKUP_SUBSCRIPTION_FN: &str = configdir!("/subscription");
|
||||||
|
|
||||||
|
diff --git a/proxmox-file-restore/src/qemu_helper.rs b/proxmox-file-restore/src/qemu_helper.rs
|
||||||
|
index 471010aa1..adea944d2 100644
|
||||||
|
--- a/proxmox-file-restore/src/qemu_helper.rs
|
||||||
|
+++ b/proxmox-file-restore/src/qemu_helper.rs
|
||||||
|
@@ -4,6 +4,7 @@ use std::io::prelude::*;
|
||||||
|
use std::os::unix::io::AsRawFd;
|
||||||
|
use std::path::PathBuf;
|
||||||
|
use std::time::{Duration, Instant};
|
||||||
|
+use std::env;
|
||||||
|
|
||||||
|
use anyhow::{bail, format_err, Error};
|
||||||
|
use serde_json::json;
|
||||||
|
@@ -52,7 +53,7 @@ fn create_restore_log_dir() -> Result<String, Error> {
|
||||||
|
}
|
||||||
|
|
||||||
|
fn validate_img_existence(debug: bool) -> Result<(), Error> {
|
||||||
|
- let kernel = PathBuf::from(pbs_buildcfg::PROXMOX_BACKUP_KERNEL_FN);
|
||||||
|
+ let kernel = PathBuf::from(pbs_buildcfg::PROXMOX_BACKUP_KERNEL_FN());
|
||||||
|
let initramfs = PathBuf::from(if debug {
|
||||||
|
pbs_buildcfg::PROXMOX_BACKUP_INITRAMFS_DBG_FN
|
||||||
|
} else {
|
||||||
|
@@ -253,9 +254,8 @@ pub async fn start_vm(
|
||||||
|
"chardev:log",
|
||||||
|
"-vnc",
|
||||||
|
"none",
|
||||||
|
- "-enable-kvm",
|
||||||
|
"-kernel",
|
||||||
|
- pbs_buildcfg::PROXMOX_BACKUP_KERNEL_FN,
|
||||||
|
+ &pbs_buildcfg::PROXMOX_BACKUP_KERNEL_FN(),
|
||||||
|
"-initrd",
|
||||||
|
&ramfs_path,
|
||||||
|
"-append",
|
||||||
|
@@ -294,38 +294,56 @@ pub async fn start_vm(
|
||||||
|
"file=pbs:repository={}{},,snapshot={},,archive={}{},read-only=on,if=none,id=drive{}",
|
||||||
|
details.repo, namespace, details.snapshot, file, keyfile, id
|
||||||
|
));
|
||||||
|
-
|
||||||
|
+ let arch = std::env::consts::ARCH;
|
||||||
|
// a PCI bus can only support 32 devices, so add a new one every 32
|
||||||
|
let bus = (id / 32) + 2;
|
||||||
|
- if id % 32 == 0 {
|
||||||
|
- drives.push("-device".to_owned());
|
||||||
|
- drives.push(format!("pci-bridge,id=bridge{bus},chassis_nr={bus}"));
|
||||||
|
+ if arch == "x86_64" {
|
||||||
|
+ if id % 32 == 0 {
|
||||||
|
+ drives.push("-device".to_owned());
|
||||||
|
+ drives.push(format!("pci-bridge,id=bridge{bus},chassis_nr={bus}"));
|
||||||
|
+ }
|
||||||
|
}
|
||||||
|
|
||||||
|
drives.push("-device".to_owned());
|
||||||
|
// drive serial is used by VM to map .fidx files to /dev paths
|
||||||
|
let serial = file.strip_suffix(".img.fidx").unwrap_or(&file);
|
||||||
|
- drives.push(format!(
|
||||||
|
- "virtio-blk-pci,drive=drive{id},serial={serial},bus=bridge{bus}"
|
||||||
|
- ));
|
||||||
|
+ if arch == "x86_64" {
|
||||||
|
+ drives.push(format!(
|
||||||
|
+ "virtio-blk-pci,drive=drive{id},serial={serial},bus=bridge{bus}"
|
||||||
|
+ ));
|
||||||
|
+ } else {
|
||||||
|
+ drives.push(format!(
|
||||||
|
+ // We use virtio-blk-device because QEMU will automatically assigns PCI addresses.
|
||||||
|
+ "virtio-blk-device,drive=drive{id},serial={serial}"
|
||||||
|
+ ));
|
||||||
|
+ }
|
||||||
|
id += 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
- let ram = if debug {
|
||||||
|
+ let arch = std::env::consts::ARCH;
|
||||||
|
+
|
||||||
|
+ let mut ram = if debug {
|
||||||
|
1024
|
||||||
|
} else {
|
||||||
|
// add more RAM if many drives are given
|
||||||
|
+ // We need more memory for !x86 device
|
||||||
|
match id {
|
||||||
|
- f if f < 10 => 192,
|
||||||
|
- f if f < 20 => 256,
|
||||||
|
- _ => 384,
|
||||||
|
+ f if f < 10 => 512,
|
||||||
|
+ f if f < 20 => 768,
|
||||||
|
+ _ => 1024,
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
+ // loongarch minimum memeory is 1024
|
||||||
|
+ if arch == "loongarch64" {
|
||||||
|
+ ram = 1024;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
// Try starting QEMU in a loop to retry if we fail because of a bad 'cid' value
|
||||||
|
+ let qemu_bin = format!("qemu-system-{}", arch);
|
||||||
|
let mut attempts = 0;
|
||||||
|
loop {
|
||||||
|
- let mut qemu_cmd = std::process::Command::new("qemu-system-x86_64");
|
||||||
|
+ let mut qemu_cmd = std::process::Command::new(&qemu_bin);
|
||||||
|
qemu_cmd.args(base_args.iter());
|
||||||
|
qemu_cmd.arg("-m");
|
||||||
|
qemu_cmd.arg(format!(
|
||||||
|
@@ -346,6 +364,21 @@ pub async fn start_vm(
|
||||||
|
qemu_cmd.arg("-mon");
|
||||||
|
qemu_cmd.arg("chardev=qmp,mode=control");
|
||||||
|
|
||||||
|
+ // Use virt and tcg to start file-restore.
|
||||||
|
+ // If pve run in neasted env ,this will be ok.
|
||||||
|
+ // If you make sure that pve run on host, -accel kvm will be better!
|
||||||
|
+ if arch != "x86_64" {
|
||||||
|
+ qemu_cmd.arg("-M");
|
||||||
|
+ qemu_cmd.arg("virt");
|
||||||
|
+ qemu_cmd.arg("-accel");
|
||||||
|
+ qemu_cmd.arg("tcg");
|
||||||
|
+ qemu_cmd.arg("-cpu");
|
||||||
|
+ qemu_cmd.arg("max");
|
||||||
|
+ } else {
|
||||||
|
+ qemu_cmd.arg("-accel");
|
||||||
|
+ qemu_cmd.arg("kvm");
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
if debug {
|
||||||
|
let debug_args = [
|
||||||
|
"-chardev",
|
@ -0,0 +1,73 @@
|
|||||||
|
From 1faf5a07df1a39bd9dced247a46441ae00b01bc4 Mon Sep 17 00:00:00 2001
|
||||||
|
From: jiangcuo <jiangcuo@bingsin.com>
|
||||||
|
Date: Tue, 14 Nov 2023 18:05:35 +0800
|
||||||
|
Subject: [PATCH] add for loongarch64
|
||||||
|
|
||||||
|
---
|
||||||
|
debian/lintian-overrides | 6 +++---
|
||||||
|
debian/proxmox-backup-file-restore.install | 2 +-
|
||||||
|
debian/proxmox-backup-file-restore.postinst | 2 +-
|
||||||
|
debian/proxmox-backup-server.install | 10 +++++-----
|
||||||
|
pbs-buildcfg/src/lib.rs | 4 ++--
|
||||||
|
5 files changed, 12 insertions(+), 12 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/debian/lintian-overrides b/debian/lintian-overrides
|
||||||
|
index 809cd2972..49f1429e6 100644
|
||||||
|
--- a/debian/lintian-overrides
|
||||||
|
+++ b/debian/lintian-overrides
|
||||||
|
@@ -1,7 +1,7 @@
|
||||||
|
proxmox-backup-server: mail-transport-agent-dependency-does-not-specify-default-mta
|
||||||
|
proxmox-backup-server: package-installs-apt-sources [etc/apt/sources.list.d/pbs-enterprise.list]
|
||||||
|
-proxmox-backup-server: elevated-privileges 4755 root/root [usr/lib/x86_64-linux-gnu/proxmox-backup/sg-tape-cmd]
|
||||||
|
+proxmox-backup-server: elevated-privileges 4755 root/root [usr/lib/loongarch64-linux-gnu/proxmox-backup/sg-tape-cmd]
|
||||||
|
proxmox-backup-server: systemd-service-file-refers-to-unusual-wantedby-target getty.target [lib/systemd/system/proxmox-backup-banner.service]
|
||||||
|
-proxmox-backup-server: uses-dpkg-database-directly [usr/lib/x86_64-linux-gnu/proxmox-backup/proxmox-backup-api]
|
||||||
|
-proxmox-backup-server: uses-dpkg-database-directly [usr/lib/x86_64-linux-gnu/proxmox-backup/proxmox-backup-proxy]
|
||||||
|
+proxmox-backup-server: uses-dpkg-database-directly [usr/lib/loongarch64-linux-gnu/proxmox-backup/proxmox-backup-api]
|
||||||
|
+proxmox-backup-server: uses-dpkg-database-directly [usr/lib/loongarch64-linux-gnu/proxmox-backup/proxmox-backup-proxy]
|
||||||
|
proxmox-backup-server: uses-dpkg-database-directly [usr/sbin/proxmox-backup-debug]
|
||||||
|
diff --git a/debian/proxmox-backup-file-restore.install b/debian/proxmox-backup-file-restore.install
|
||||||
|
index 409988a34..baf1d0422 100644
|
||||||
|
--- a/debian/proxmox-backup-file-restore.install
|
||||||
|
+++ b/debian/proxmox-backup-file-restore.install
|
||||||
|
@@ -1,4 +1,4 @@
|
||||||
|
usr/bin/proxmox-file-restore
|
||||||
|
-usr/lib/x86_64-linux-gnu/proxmox-backup/file-restore/proxmox-restore-daemon
|
||||||
|
+usr/lib/loongarch64-linux-gnu/proxmox-backup/file-restore/proxmox-restore-daemon
|
||||||
|
usr/share/man/man1/proxmox-file-restore.1
|
||||||
|
usr/share/zsh/vendor-completions/_proxmox-file-restore
|
||||||
|
diff --git a/debian/proxmox-backup-file-restore.postinst b/debian/proxmox-backup-file-restore.postinst
|
||||||
|
index 9792bfb46..89ff4d792 100755
|
||||||
|
--- a/debian/proxmox-backup-file-restore.postinst
|
||||||
|
+++ b/debian/proxmox-backup-file-restore.postinst
|
||||||
|
@@ -4,7 +4,7 @@ set -e
|
||||||
|
|
||||||
|
update_initramfs() {
|
||||||
|
# regenerate initramfs for single file restore VM
|
||||||
|
- INST_PATH="/usr/lib/x86_64-linux-gnu/proxmox-backup/file-restore"
|
||||||
|
+ INST_PATH="/usr/lib/loongarch64-linux-gnu/proxmox-backup/file-restore"
|
||||||
|
CACHE_PATH="/var/cache/proxmox-backup/file-restore-initramfs.img"
|
||||||
|
CACHE_PATH_DBG="/var/cache/proxmox-backup/file-restore-initramfs-debug.img"
|
||||||
|
|
||||||
|
diff --git a/debian/proxmox-backup-server.install b/debian/proxmox-backup-server.install
|
||||||
|
index ee114ea34..09951b8f2 100644
|
||||||
|
--- a/debian/proxmox-backup-server.install
|
||||||
|
+++ b/debian/proxmox-backup-server.install
|
||||||
|
@@ -7,11 +7,11 @@ etc/proxmox-backup.service /lib/systemd/system/
|
||||||
|
usr/bin/pmt
|
||||||
|
usr/bin/pmtx
|
||||||
|
usr/bin/proxmox-tape
|
||||||
|
-usr/lib/x86_64-linux-gnu/proxmox-backup/proxmox-backup-api
|
||||||
|
-usr/lib/x86_64-linux-gnu/proxmox-backup/proxmox-backup-banner
|
||||||
|
-usr/lib/x86_64-linux-gnu/proxmox-backup/proxmox-backup-proxy
|
||||||
|
-usr/lib/x86_64-linux-gnu/proxmox-backup/proxmox-daily-update
|
||||||
|
-usr/lib/x86_64-linux-gnu/proxmox-backup/sg-tape-cmd
|
||||||
|
+usr/lib/loongarch64-linux-gnu/proxmox-backup/proxmox-backup-api
|
||||||
|
+usr/lib/loongarch64-linux-gnu/proxmox-backup/proxmox-backup-banner
|
||||||
|
+usr/lib/loongarch64-linux-gnu/proxmox-backup/proxmox-backup-proxy
|
||||||
|
+usr/lib/loongarch64-linux-gnu/proxmox-backup/proxmox-daily-update
|
||||||
|
+usr/lib/loongarch64-linux-gnu/proxmox-backup/sg-tape-cmd
|
||||||
|
usr/sbin/pbs2to3
|
||||||
|
usr/sbin/proxmox-backup-debug
|
||||||
|
usr/sbin/proxmox-backup-manager
|
||||||
|
|
@ -0,0 +1,73 @@
|
|||||||
|
From 1faf5a07df1a39bd9dced247a46441ae00b01bc4 Mon Sep 17 00:00:00 2001
|
||||||
|
From: jiangcuo <jiangcuo@bingsin.com>
|
||||||
|
Date: Tue, 14 Nov 2023 18:05:35 +0800
|
||||||
|
Subject: [PATCH] add for riscv64
|
||||||
|
|
||||||
|
---
|
||||||
|
debian/lintian-overrides | 6 +++---
|
||||||
|
debian/proxmox-backup-file-restore.install | 2 +-
|
||||||
|
debian/proxmox-backup-file-restore.postinst | 2 +-
|
||||||
|
debian/proxmox-backup-server.install | 10 +++++-----
|
||||||
|
pbs-buildcfg/src/lib.rs | 4 ++--
|
||||||
|
5 files changed, 12 insertions(+), 12 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/debian/lintian-overrides b/debian/lintian-overrides
|
||||||
|
index 809cd2972..49f1429e6 100644
|
||||||
|
--- a/debian/lintian-overrides
|
||||||
|
+++ b/debian/lintian-overrides
|
||||||
|
@@ -1,7 +1,7 @@
|
||||||
|
proxmox-backup-server: mail-transport-agent-dependency-does-not-specify-default-mta
|
||||||
|
proxmox-backup-server: package-installs-apt-sources [etc/apt/sources.list.d/pbs-enterprise.list]
|
||||||
|
-proxmox-backup-server: elevated-privileges 4755 root/root [usr/lib/x86_64-linux-gnu/proxmox-backup/sg-tape-cmd]
|
||||||
|
+proxmox-backup-server: elevated-privileges 4755 root/root [usr/lib/riscv64-linux-gnu/proxmox-backup/sg-tape-cmd]
|
||||||
|
proxmox-backup-server: systemd-service-file-refers-to-unusual-wantedby-target getty.target [lib/systemd/system/proxmox-backup-banner.service]
|
||||||
|
-proxmox-backup-server: uses-dpkg-database-directly [usr/lib/x86_64-linux-gnu/proxmox-backup/proxmox-backup-api]
|
||||||
|
-proxmox-backup-server: uses-dpkg-database-directly [usr/lib/x86_64-linux-gnu/proxmox-backup/proxmox-backup-proxy]
|
||||||
|
+proxmox-backup-server: uses-dpkg-database-directly [usr/lib/riscv64-linux-gnu/proxmox-backup/proxmox-backup-api]
|
||||||
|
+proxmox-backup-server: uses-dpkg-database-directly [usr/lib/riscv64-linux-gnu/proxmox-backup/proxmox-backup-proxy]
|
||||||
|
proxmox-backup-server: uses-dpkg-database-directly [usr/sbin/proxmox-backup-debug]
|
||||||
|
diff --git a/debian/proxmox-backup-file-restore.install b/debian/proxmox-backup-file-restore.install
|
||||||
|
index 409988a34..baf1d0422 100644
|
||||||
|
--- a/debian/proxmox-backup-file-restore.install
|
||||||
|
+++ b/debian/proxmox-backup-file-restore.install
|
||||||
|
@@ -1,4 +1,4 @@
|
||||||
|
usr/bin/proxmox-file-restore
|
||||||
|
-usr/lib/x86_64-linux-gnu/proxmox-backup/file-restore/proxmox-restore-daemon
|
||||||
|
+usr/lib/riscv64-linux-gnu/proxmox-backup/file-restore/proxmox-restore-daemon
|
||||||
|
usr/share/man/man1/proxmox-file-restore.1
|
||||||
|
usr/share/zsh/vendor-completions/_proxmox-file-restore
|
||||||
|
diff --git a/debian/proxmox-backup-file-restore.postinst b/debian/proxmox-backup-file-restore.postinst
|
||||||
|
index 9792bfb46..89ff4d792 100755
|
||||||
|
--- a/debian/proxmox-backup-file-restore.postinst
|
||||||
|
+++ b/debian/proxmox-backup-file-restore.postinst
|
||||||
|
@@ -4,7 +4,7 @@ set -e
|
||||||
|
|
||||||
|
update_initramfs() {
|
||||||
|
# regenerate initramfs for single file restore VM
|
||||||
|
- INST_PATH="/usr/lib/x86_64-linux-gnu/proxmox-backup/file-restore"
|
||||||
|
+ INST_PATH="/usr/lib/riscv64-linux-gnu/proxmox-backup/file-restore"
|
||||||
|
CACHE_PATH="/var/cache/proxmox-backup/file-restore-initramfs.img"
|
||||||
|
CACHE_PATH_DBG="/var/cache/proxmox-backup/file-restore-initramfs-debug.img"
|
||||||
|
|
||||||
|
diff --git a/debian/proxmox-backup-server.install b/debian/proxmox-backup-server.install
|
||||||
|
index ee114ea34..09951b8f2 100644
|
||||||
|
--- a/debian/proxmox-backup-server.install
|
||||||
|
+++ b/debian/proxmox-backup-server.install
|
||||||
|
@@ -7,11 +7,11 @@ etc/proxmox-backup.service /lib/systemd/system/
|
||||||
|
usr/bin/pmt
|
||||||
|
usr/bin/pmtx
|
||||||
|
usr/bin/proxmox-tape
|
||||||
|
-usr/lib/x86_64-linux-gnu/proxmox-backup/proxmox-backup-api
|
||||||
|
-usr/lib/x86_64-linux-gnu/proxmox-backup/proxmox-backup-banner
|
||||||
|
-usr/lib/x86_64-linux-gnu/proxmox-backup/proxmox-backup-proxy
|
||||||
|
-usr/lib/x86_64-linux-gnu/proxmox-backup/proxmox-daily-update
|
||||||
|
-usr/lib/x86_64-linux-gnu/proxmox-backup/sg-tape-cmd
|
||||||
|
+usr/lib/riscv64-linux-gnu/proxmox-backup/proxmox-backup-api
|
||||||
|
+usr/lib/riscv64-linux-gnu/proxmox-backup/proxmox-backup-banner
|
||||||
|
+usr/lib/riscv64-linux-gnu/proxmox-backup/proxmox-backup-proxy
|
||||||
|
+usr/lib/riscv64-linux-gnu/proxmox-backup/proxmox-daily-update
|
||||||
|
+usr/lib/riscv64-linux-gnu/proxmox-backup/sg-tape-cmd
|
||||||
|
usr/sbin/pbs2to3
|
||||||
|
usr/sbin/proxmox-backup-debug
|
||||||
|
usr/sbin/proxmox-backup-manager
|
||||||
|
|
1
packages/proxmox-backup/proxmox-backup
Submodule
1
packages/proxmox-backup/proxmox-backup
Submodule
@ -0,0 +1 @@
|
|||||||
|
Subproject commit 59243d200e713f6c14a14f7eddc3015186dc6eb7
|
1
packages/proxmox-backup/series
Normal file
1
packages/proxmox-backup/series
Normal file
@ -0,0 +1 @@
|
|||||||
|
patches/002-fix-qemu-cmdline.patch
|
1
packages/proxmox-backup/series.aarch64
Normal file
1
packages/proxmox-backup/series.aarch64
Normal file
@ -0,0 +1 @@
|
|||||||
|
patches/001-add-aarch64-build.patch
|
1
packages/proxmox-backup/series.loongarch64
Normal file
1
packages/proxmox-backup/series.loongarch64
Normal file
@ -0,0 +1 @@
|
|||||||
|
patches/other/001-add-loongarch64-build.patch
|
1
packages/proxmox-backup/series.riscv64
Normal file
1
packages/proxmox-backup/series.riscv64
Normal file
@ -0,0 +1 @@
|
|||||||
|
patches/other/001-add-riscv64-build.patch
|
@ -0,0 +1,7 @@
|
|||||||
|
diff --git a/debian/proxmox-firewall.install b/debian/proxmox-firewall.install
|
||||||
|
index 8eb376c..5e5c5f0 100644
|
||||||
|
--- a/debian/proxmox-firewall.install
|
||||||
|
+++ b/debian/proxmox-firewall.install
|
||||||
|
@@ -1 +1 @@
|
||||||
|
-target/x86_64-unknown-linux-gnu/release/proxmox-firewall usr/libexec/proxmox
|
||||||
|
+target/aarch64-unknown-linux-gnu/release/proxmox-firewall usr/libexec/proxmox
|
@ -0,0 +1,7 @@
|
|||||||
|
diff --git a/debian/proxmox-firewall.install b/debian/proxmox-firewall.install
|
||||||
|
index 8eb376c..5e5c5f0 100644
|
||||||
|
--- a/debian/proxmox-firewall.install
|
||||||
|
+++ b/debian/proxmox-firewall.install
|
||||||
|
@@ -1 +1 @@
|
||||||
|
-target/x86_64-unknown-linux-gnu/release/proxmox-firewall usr/libexec/proxmox
|
||||||
|
+target/loongarch64-unknown-linux-gnu/release/proxmox-firewall usr/libexec/proxmox
|
@ -0,0 +1,7 @@
|
|||||||
|
diff --git a/debian/proxmox-firewall.install b/debian/proxmox-firewall.install
|
||||||
|
index 8eb376c..5e5c5f0 100644
|
||||||
|
--- a/debian/proxmox-firewall.install
|
||||||
|
+++ b/debian/proxmox-firewall.install
|
||||||
|
@@ -1 +1 @@
|
||||||
|
-target/x86_64-unknown-linux-gnu/release/proxmox-firewall usr/libexec/proxmox
|
||||||
|
+target/riscv64-unknown-linux-gnu/release/proxmox-firewall usr/libexec/proxmox
|
1
packages/proxmox-firewall/proxmox-firewall
Submodule
1
packages/proxmox-firewall/proxmox-firewall
Submodule
@ -0,0 +1 @@
|
|||||||
|
Subproject commit ac39ec3c660e2e258731a2a6349b7a9370de183d
|
1
packages/proxmox-firewall/series.aarch64
Normal file
1
packages/proxmox-firewall/series.aarch64
Normal file
@ -0,0 +1 @@
|
|||||||
|
patches/001-add-aarch64-support.patch
|
1
packages/proxmox-firewall/series.loongarch64
Normal file
1
packages/proxmox-firewall/series.loongarch64
Normal file
@ -0,0 +1 @@
|
|||||||
|
patches/other/001-add-loongarch64-support.patch
|
1
packages/proxmox-firewall/series.riscv64
Normal file
1
packages/proxmox-firewall/series.riscv64
Normal file
@ -0,0 +1 @@
|
|||||||
|
patches/other/001-add-riscv64-support.patch
|
1
packages/proxmox-i18n/proxmox-i18n
Submodule
1
packages/proxmox-i18n/proxmox-i18n
Submodule
@ -0,0 +1 @@
|
|||||||
|
Subproject commit 7ad0dd7af88a60be1c5ce55aff2463e57ce321f6
|
@ -0,0 +1 @@
|
|||||||
|
Subproject commit 7007b33cbb9a0b77f0f04d5b053a3739441bd9d6
|
@ -0,0 +1,37 @@
|
|||||||
|
From d8725bc9a988c81c713e17a4cdde62d23630ac3e Mon Sep 17 00:00:00 2001
|
||||||
|
From: jiangcuo <jiangcuo@bingsin.com>
|
||||||
|
Date: Mon, 16 Oct 2023 12:24:22 +0800
|
||||||
|
Subject: [PATCH] init
|
||||||
|
|
||||||
|
---
|
||||||
|
src/mini-journalreader.c | 7 ++++---
|
||||||
|
1 file changed, 4 insertions(+), 3 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/src/mini-journalreader.c b/src/mini-journalreader.c
|
||||||
|
index 98bcaac..1396d2e 100644
|
||||||
|
--- a/src/mini-journalreader.c
|
||||||
|
+++ b/src/mini-journalreader.c
|
||||||
|
@@ -169,7 +169,8 @@ static bool print_field(sd_journal *j, const char *field) {
|
||||||
|
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 {
|
||||||
|
@@ -256,11 +257,11 @@ int main(int argc, char *argv[]) {
|
||||||
|
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);
|
@ -0,0 +1 @@
|
|||||||
|
Subproject commit 3dff2a5a7d696a5a659f2f384236aa6672874f18
|
1
packages/proxmox-mini-journalreader/series
Normal file
1
packages/proxmox-mini-journalreader/series
Normal file
@ -0,0 +1 @@
|
|||||||
|
patches/001-add-for-port.patch
|
28
packages/proxmox-offline-mirror/autobuild.sh
Normal file
28
packages/proxmox-offline-mirror/autobuild.sh
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
PKGNAME="proxmox-offline-mirror"
|
||||||
|
|
||||||
|
errlog(){
|
||||||
|
echo $1
|
||||||
|
exit 1
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
exec_build(){
|
||||||
|
apt update
|
||||||
|
apt install librust-proxmox-router-dev=2.2.4-1 librust-proxmox-router-2+cli-dev=2.2.4-1 -y
|
||||||
|
yes |mk-build-deps --install --remove
|
||||||
|
echo "clean "
|
||||||
|
make clean || echo ok
|
||||||
|
echo "build deb in `pwd` "
|
||||||
|
make dsc || errlog "build dsc error"
|
||||||
|
make deb || errlog "build deb error"
|
||||||
|
}
|
||||||
|
|
||||||
|
echo "This is $PKGNAME build scripts"
|
||||||
|
|
||||||
|
|
||||||
|
SH_PATH=$(realpath "$0")
|
||||||
|
SH_DIR=$(dirname $SH_PATH)
|
||||||
|
|
||||||
|
cd $SH_DIR/$PKGNAME
|
||||||
|
exec_build
|
@ -0,0 +1 @@
|
|||||||
|
Subproject commit d4a4d278b345e4bddaa89754976e441edc305673
|
15
packages/proxmox-perl-rs/autobuild.sh
Executable file
15
packages/proxmox-perl-rs/autobuild.sh
Executable file
@ -0,0 +1,15 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
#!/bin/bash
|
||||||
|
SCRIPT_DIR=$(cd $(dirname ${BASH_SOURCE[0]}); pwd)
|
||||||
|
PKGNAME=$(basename $SCRIPT_DIR)
|
||||||
|
|
||||||
|
echo "This is $PKGNAME build scripts"
|
||||||
|
|
||||||
|
. ../common.sh
|
||||||
|
|
||||||
|
for i in common/pkg pve-rs;
|
||||||
|
do
|
||||||
|
cd $SCRIPT_DIR/$PKGNAME/$i
|
||||||
|
exec_build_make
|
||||||
|
done
|
||||||
|
|
1
packages/proxmox-perl-rs/proxmox-perl-rs
Submodule
1
packages/proxmox-perl-rs/proxmox-perl-rs
Submodule
@ -0,0 +1 @@
|
|||||||
|
Subproject commit ae27b307b8593c652d18afd41658c43a1e68070a
|
@ -0,0 +1,34 @@
|
|||||||
|
From 974e952c2b49e3c25005a846cbd20b02429c3652 Mon Sep 17 00:00:00 2001
|
||||||
|
From: jiangcuo <jiangcuo@bingsin.com>
|
||||||
|
Date: Sat, 2 Dec 2023 05:11:40 -0500
|
||||||
|
Subject: [PATCH] update
|
||||||
|
|
||||||
|
---
|
||||||
|
debian/control | 10 ----------
|
||||||
|
1 file changed, 10 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/debian/control b/debian/control
|
||||||
|
index d14e449..98157e9 100644
|
||||||
|
--- a/debian/control
|
||||||
|
+++ b/debian/control
|
||||||
|
@@ -14,7 +14,6 @@ Depends: apt,
|
||||||
|
openssh-server,
|
||||||
|
proxmox-archive-keyring,
|
||||||
|
proxmox-kernel-helper (>= 8.0.3),
|
||||||
|
- proxmox-default-kernel,
|
||||||
|
pve-manager (>= 8.0.4),
|
||||||
|
pve-qemu-kvm,
|
||||||
|
qemu-server,
|
||||||
|
@@ -24,12 +23,3 @@ Description: Proxmox Virtual Environment
|
||||||
|
virtualization platform for running Virtual Appliances and Virtual
|
||||||
|
Machines. This is a meta package which will install everything
|
||||||
|
needed.
|
||||||
|
-
|
||||||
|
-Package: pve-headers
|
||||||
|
-Architecture: all
|
||||||
|
-Depends: proxmox-default-headers,
|
||||||
|
- ${misc:Depends},
|
||||||
|
-Section: oldlibs
|
||||||
|
-Description: Default Proxmox Kernel Headers (transitional package)
|
||||||
|
- This is a dummy transitional package to transition to proxmox-default-headers.
|
||||||
|
- It can be safely removed.
|
1
packages/proxmox-ve/proxmox-ve
Submodule
1
packages/proxmox-ve/proxmox-ve
Submodule
@ -0,0 +1 @@
|
|||||||
|
Subproject commit 73261d652c34ebacb810de812aedb9a2e6c4872f
|
1
packages/proxmox-ve/series
Normal file
1
packages/proxmox-ve/series
Normal file
@ -0,0 +1 @@
|
|||||||
|
patches/001-remove-default-kernel-and-pve-headers.patch
|
@ -0,0 +1 @@
|
|||||||
|
Subproject commit 6af66f9626459af252a63ec26ad32042d22ed4fe
|
1
packages/pve-access-control/pve-access-control
Submodule
1
packages/pve-access-control/pve-access-control
Submodule
@ -0,0 +1 @@
|
|||||||
|
Subproject commit 37a813d72178de69e2bc20ddf70c05968bb6bd05
|
@ -0,0 +1,159 @@
|
|||||||
|
From e844f6462955d7416300c1a02e9227339b7293b8 Mon Sep 17 00:00:00 2001
|
||||||
|
From: jiangcuo <jiangcuo@bingsin.com>
|
||||||
|
Date: Fri, 17 Nov 2023 09:10:39 +0000
|
||||||
|
Subject: [PATCH] init for riscv64
|
||||||
|
|
||||||
|
---
|
||||||
|
data/src/Makefile | 2 +-
|
||||||
|
data/src/database.c | 2 +-
|
||||||
|
data/src/dcdb.c | 2 +-
|
||||||
|
data/src/dfsm.c | 4 ++--
|
||||||
|
data/src/logger.c | 2 +-
|
||||||
|
data/src/memdb.c | 6 +++---
|
||||||
|
data/src/status.c | 8 ++++----
|
||||||
|
debian/changelog | 6 ++++++
|
||||||
|
8 files changed, 19 insertions(+), 13 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/data/src/Makefile b/data/src/Makefile
|
||||||
|
index 3d39201..976cbba 100644
|
||||||
|
--- a/data/src/Makefile
|
||||||
|
+++ b/data/src/Makefile
|
||||||
|
@@ -3,7 +3,7 @@ DEPENDENCIES=libcpg libcmap libquorum libqb glib-2.0 fuse sqlite3 librrd
|
||||||
|
|
||||||
|
CC = gcc
|
||||||
|
CFLAGS += -std=gnu99
|
||||||
|
-CFLAGS += -Wall -Werror -Wno-unknown-pragmas -Wno-strict-aliasing
|
||||||
|
+CFLAGS += -Wall -Werror -Wno-unknown-pragmas -Wno-strict-aliasing -Wno-unused-result
|
||||||
|
CFLAGS += -Wpedantic
|
||||||
|
CFLAGS += -g -O2 -Wl,-z,relro
|
||||||
|
CFLAGS += -I.
|
||||||
|
diff --git a/data/src/database.c b/data/src/database.c
|
||||||
|
index 80e0b60..9abcea0 100644
|
||||||
|
--- a/data/src/database.c
|
||||||
|
+++ b/data/src/database.c
|
||||||
|
@@ -356,7 +356,7 @@ static gboolean bdb_backend_load_index(
|
||||||
|
|
||||||
|
if (te->type == DT_REG) {
|
||||||
|
if (size > 0)
|
||||||
|
- te->data.value = g_memdup(value, size);
|
||||||
|
+ te->data.value = g_memdup2(value, size);
|
||||||
|
} else if (te->type == DT_DIR) {
|
||||||
|
if (size) {
|
||||||
|
cfs_critical("directory inode contains data (inode = %016" PRIX64 ")",
|
||||||
|
diff --git a/data/src/dcdb.c b/data/src/dcdb.c
|
||||||
|
index b690355..4194ce8 100644
|
||||||
|
--- a/data/src/dcdb.c
|
||||||
|
+++ b/data/src/dcdb.c
|
||||||
|
@@ -347,7 +347,7 @@ dcdb_parse_update_inode(
|
||||||
|
te->type = type;
|
||||||
|
|
||||||
|
if (te->type == DT_REG && te->size) {
|
||||||
|
- te->data.value = g_memdup(data, te->size);
|
||||||
|
+ te->data.value = g_memdup2(data, te->size);
|
||||||
|
if (!te->data.value) {
|
||||||
|
memdb_tree_entry_free(te);
|
||||||
|
return NULL;
|
||||||
|
diff --git a/data/src/dfsm.c b/data/src/dfsm.c
|
||||||
|
index ddfcc23..84f7df7 100644
|
||||||
|
--- a/data/src/dfsm.c
|
||||||
|
+++ b/data/src/dfsm.c
|
||||||
|
@@ -460,7 +460,7 @@ dfsm_queue_add_message(
|
||||||
|
|
||||||
|
qm->nodeid = nodeid;
|
||||||
|
qm->pid = pid;
|
||||||
|
- qm->msg = g_memdup (msg, msg_len);
|
||||||
|
+ qm->msg = g_memdup2 (msg, msg_len);
|
||||||
|
qm->msg_len = msg_len;
|
||||||
|
qm->msg_count = msg_count;
|
||||||
|
|
||||||
|
@@ -877,7 +877,7 @@ dfsm_cpg_deliver_callback(
|
||||||
|
goto leave;
|
||||||
|
}
|
||||||
|
|
||||||
|
- ni->state = g_memdup(msg, msg_len);
|
||||||
|
+ ni->state = g_memdup2(msg, msg_len);
|
||||||
|
ni->state_len = msg_len;
|
||||||
|
|
||||||
|
int received_all = 1;
|
||||||
|
diff --git a/data/src/logger.c b/data/src/logger.c
|
||||||
|
index 4cf9cce..38feb06 100644
|
||||||
|
--- a/data/src/logger.c
|
||||||
|
+++ b/data/src/logger.c
|
||||||
|
@@ -589,7 +589,7 @@ clusterlog_get_state(
|
||||||
|
}
|
||||||
|
|
||||||
|
*res_len = clog_size(cl->base);
|
||||||
|
- gpointer msg = g_memdup(cl->base, *res_len);
|
||||||
|
+ gpointer msg = g_memdup2(cl->base, *res_len);
|
||||||
|
|
||||||
|
g_mutex_unlock(&cl->mutex);
|
||||||
|
|
||||||
|
diff --git a/data/src/memdb.c b/data/src/memdb.c
|
||||||
|
index 7ec7e0b..4a4ce89 100644
|
||||||
|
--- a/data/src/memdb.c
|
||||||
|
+++ b/data/src/memdb.c
|
||||||
|
@@ -73,7 +73,7 @@ memdb_tree_entry_copy(
|
||||||
|
cpy->size = te->size;
|
||||||
|
|
||||||
|
if (with_data && te->size && te->type == DT_REG) {
|
||||||
|
- cpy->data.value = g_memdup(te->data.value, te->size);
|
||||||
|
+ cpy->data.value = g_memdup2(te->data.value, te->size);
|
||||||
|
} else {
|
||||||
|
cpy->data.value = NULL;
|
||||||
|
}
|
||||||
|
@@ -676,7 +676,7 @@ memdb_read_nolock(
|
||||||
|
|
||||||
|
if ((te = memdb_lookup_path(memdb, path, &parent))) {
|
||||||
|
if (te->type == DT_REG) {
|
||||||
|
- *data_ret = g_memdup(te->data.value, te->size);
|
||||||
|
+ *data_ret = g_memdup2(te->data.value, te->size);
|
||||||
|
guint32 size = te->size;
|
||||||
|
return size;
|
||||||
|
}
|
||||||
|
@@ -1451,7 +1451,7 @@ memdb_index_copy(memdb_index_t *idx)
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
- memdb_index_t *copy = (memdb_index_t *)g_memdup(idx, bytes);
|
||||||
|
+ memdb_index_t *copy = (memdb_index_t *)g_memdup2(idx, bytes);
|
||||||
|
|
||||||
|
return copy;
|
||||||
|
}
|
||||||
|
diff --git a/data/src/status.c b/data/src/status.c
|
||||||
|
index ff0b1e9..0b17cfa 100644
|
||||||
|
--- a/data/src/status.c
|
||||||
|
+++ b/data/src/status.c
|
||||||
|
@@ -1008,14 +1008,14 @@ kventry_hash_set(
|
||||||
|
g_hash_table_remove(kvhash, key);
|
||||||
|
} else if ((entry = (kventry_t *)g_hash_table_lookup(kvhash, key))) {
|
||||||
|
g_free(entry->data);
|
||||||
|
- entry->data = g_memdup(data, len);
|
||||||
|
+ entry->data = g_memdup2(data, len);
|
||||||
|
entry->len = len;
|
||||||
|
entry->version++;
|
||||||
|
} else {
|
||||||
|
kventry_t *entry = g_new0(kventry_t, 1);
|
||||||
|
|
||||||
|
entry->key = g_strdup(key);
|
||||||
|
- entry->data = g_memdup(data, len);
|
||||||
|
+ entry->data = g_memdup2(data, len);
|
||||||
|
entry->len = len;
|
||||||
|
|
||||||
|
g_hash_table_replace(kvhash, entry->key, entry);
|
||||||
|
@@ -1372,14 +1372,14 @@ rrdentry_hash_set(
|
||||||
|
rrdentry_t *entry;
|
||||||
|
if ((entry = (rrdentry_t *)g_hash_table_lookup(rrdhash, key))) {
|
||||||
|
g_free(entry->data);
|
||||||
|
- entry->data = g_memdup(data, len);
|
||||||
|
+ entry->data = g_memdup2(data, len);
|
||||||
|
entry->len = len;
|
||||||
|
entry->time = time(NULL);
|
||||||
|
} else {
|
||||||
|
rrdentry_t *entry = g_new0(rrdentry_t, 1);
|
||||||
|
|
||||||
|
entry->key = g_strdup(key);
|
||||||
|
- entry->data = g_memdup(data, len);
|
||||||
|
+ entry->data = g_memdup2(data, len);
|
||||||
|
entry->len = len;
|
||||||
|
entry->time = time(NULL);
|
||||||
|
|
1
packages/pve-cluster/pve-cluster
Submodule
1
packages/pve-cluster/pve-cluster
Submodule
@ -0,0 +1 @@
|
|||||||
|
Subproject commit 456814e9468092bc69940936b92e1f69b88ed10a
|
1
packages/pve-cluster/series
Normal file
1
packages/pve-cluster/series
Normal file
@ -0,0 +1 @@
|
|||||||
|
patches/other/001-add-loongarch64-riscv64.patch
|
26
packages/pve-common/patches/001-add-for-port.patch
Normal file
26
packages/pve-common/patches/001-add-for-port.patch
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
diff --git a/src/PVE/Syscall.pm b/src/PVE/Syscall.pm
|
||||||
|
index 9ef3d5d..d7b0b3f 100644
|
||||||
|
--- a/src/PVE/Syscall.pm
|
||||||
|
+++ b/src/PVE/Syscall.pm
|
||||||
|
@@ -16,7 +16,6 @@ BEGIN {
|
||||||
|
openat => &SYS_openat,
|
||||||
|
close => &SYS_close,
|
||||||
|
mkdirat => &SYS_mkdirat,
|
||||||
|
- mknod => &SYS_mknod,
|
||||||
|
faccessat => &SYS_faccessat,
|
||||||
|
setresuid => &SYS_setresuid,
|
||||||
|
fchownat => &SYS_fchownat,
|
||||||
|
diff --git a/src/PVE/Tools.pm b/src/PVE/Tools.pm
|
||||||
|
index bd305bd..2aab9e2 100644
|
||||||
|
--- a/src/PVE/Tools.pm
|
||||||
|
+++ b/src/PVE/Tools.pm
|
||||||
|
@@ -1753,7 +1753,8 @@ sub mkdirat($$$) {
|
||||||
|
|
||||||
|
sub mknod($$$) {
|
||||||
|
my ($filename, $mode, $dev) = @_;
|
||||||
|
- return syscall(PVE::Syscall::mknod, $filename, int($mode), int($dev)) == 0;
|
||||||
|
+ die "https://github.com/jiangcuo/Proxmox-Arm64/issues/58";
|
||||||
|
+ #return syscall(PVE::Syscall::SYS_mknod, $filename, int($mode), int($dev)) == 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
sub fchownat($$$$$) {
|
@ -0,0 +1,17 @@
|
|||||||
|
diff --git a/debian/changelog b/debian/changelog
|
||||||
|
index e628a2a..ff213c4 100644
|
||||||
|
--- a/debian/changelog
|
||||||
|
+++ b/debian/changelog
|
||||||
|
@@ -158,6 +158,12 @@ libpve-common-perl (8.0.2) bookworm; urgency=medium
|
||||||
|
* remove unused SysFSTools::pci_cleanup_mdev_device
|
||||||
|
|
||||||
|
-- Proxmox Support Team <support@proxmox.com> Wed, 07 Jun 2023 13:12:18 +0200
|
||||||
|
+
|
||||||
|
+libpve-common-perl (8.1.0-1) bookworm; urgency=medium
|
||||||
|
+
|
||||||
|
+ * tools: remove mknod syscall#
|
||||||
|
+
|
||||||
|
+ -- Jiangcuo <jiangcuo@bingsin.com> Tue, 21 Nov 2023 13:04:21 +0100
|
||||||
|
|
||||||
|
libpve-common-perl (8.0.1) bookworm; urgency=medium
|
||||||
|
|
1
packages/pve-common/pve-common
Submodule
1
packages/pve-common/pve-common
Submodule
@ -0,0 +1 @@
|
|||||||
|
Subproject commit 8915b9669cdb67e5222e174fc6c5d079c69b02c3
|
2
packages/pve-common/series
Normal file
2
packages/pve-common/series
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
patches/001-add-for-port.patch
|
||||||
|
patches/changelog/001-add-changlog-8.1.0-1.patch
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user