diff --git a/0001-ignore-pin-memory-init-in-x86.patch b/0001-ignore-pin-memory-init-in-x86.patch new file mode 100644 index 0000000000000000000000000000000000000000..24f531942ada85c3c16d291913f7427bd2c0eeb6 --- /dev/null +++ b/0001-ignore-pin-memory-init-in-x86.patch @@ -0,0 +1,39 @@ +From fe0b709d2fe196097796b3b964803226c6ca9578 Mon Sep 17 00:00:00 2001 +From: hejingxian +Date: Thu, 1 Dec 2022 23:02:21 +0800 +Subject: [PATCH] ignore pin memory init in x86 + +Signed-off-by: hejingxian +--- + misc/nvwa-pre.sh | 9 ++++++--- + 1 file changed, 6 insertions(+), 3 deletions(-) + +diff --git a/misc/nvwa-pre.sh b/misc/nvwa-pre.sh +index 69f6de9..18960e7 100644 +--- a/misc/nvwa-pre.sh ++++ b/misc/nvwa-pre.sh +@@ -1,6 +1,6 @@ + #!/bin/bash + +-set -e ++#set -e + + # 1. Increase last pid by 2011 from saved last pid. + # So services restoring may use its old pid. +@@ -32,8 +32,11 @@ else + fi + + # 2. Enable Pin Memory +-modprobe pin_memory +-/usr/bin/nvwa-pin --init-pagemap-read ++is_x86=`uname -a | grep x86` ++if [[ $is_x86"X" == "X" ]]; then ++ modprobe pin_memory ++ /usr/bin/nvwa-pin --init-pagemap-read ++fi + + # 3. Enable PMEM + grep -q "Persistent Memory" /proc/iomem || exit 0 +-- +2.20.1.windows.1 + diff --git a/nvwa-v0.2.tar.gz b/nvwa-v0.2.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..d438b532e861c46d004e0f42ea4358033cb59ae3 Binary files /dev/null and b/nvwa-v0.2.tar.gz differ diff --git a/nvwa.spec b/nvwa.spec index 8db58572d636036ecd54de801b521286e9142beb..bd6d331e65dc9ec02d9aa1b7848c79d27cf59a66 100644 --- a/nvwa.spec +++ b/nvwa.spec @@ -1,11 +1,15 @@ Name: nvwa -Version: 0.1 -Release: 6 +Version: 0.2 +Release: 2 Summary: a tool used for openEuler kernel update License: MulanPSL-2.0 and Apache-2.0 and MIT and MPL-2.0 URL: https://gitee.com/openeuler/nvwa Source: %{name}-v%{version}.tar.gz +#source1 version sys@v0.0.0-20220908164124-27713097b956 +Source1: sys.tar.gz + +Patch1: 0001-ignore-pin-memory-init-in-x86.patch Patch1: 0001-add-use-fork-pid-support-for-kernel-4.19.patch Patch2: 0002-kexec-do-kexec-load-before-criu-dump.patch @@ -28,6 +32,10 @@ A tool used to automate the process of seamless update of the openEuler. %prep %autosetup -n %{name}-v%{version} -p1 +%ifarch loongarch64 +rm -rf src/vendor/golang.org/x/sys +tar -xf %{SOURCE1} -C src/vendor/golang.org/x/ +%endif %build @@ -36,7 +44,7 @@ go build -mod=vendor -buildmode=pie cd - cd tools/pin -gcc %{name}-pin.c -o %{name}-pin -fstack-protector-all -fPIE -pie -Wl,-z,noexecstack,-z,relro,-z,now +gcc %{name}-pin.c -o %{name}-pin -fstack-protector-all -fPIE -pie -Wl,-z,noexecstack,-z,relo,-z,now cd - %install @@ -50,16 +58,20 @@ mkdir -p %{buildroot}/var/%{name}/running install -m 0750 %{_builddir}/%{name}-v%{version}/src/%{name} %{buildroot}/%{_bindir}/ install -m 0750 %{_builddir}/%{name}-v%{version}/tools/pin/%{name}-pin %{buildroot}/%{_bindir}/ -install -m 0640 %{_builddir}/%{name}-v%{version}/config/%{name}-restore.yaml %{buildroot}/etc/%{name}/ -install -m 0640 %{_builddir}/%{name}-v%{version}/config/%{name}-server.yaml %{buildroot}/etc/%{name}/ +install -m 0640 %{_builddir}/%{name}-v%{version}/src/config/%{name}-restore.yaml %{buildroot}/etc/%{name}/ +install -m 0640 %{_builddir}/%{name}-v%{version}/src/config/%{name}-server.yaml %{buildroot}/etc/%{name}/ install -m 0750 %{_builddir}/%{name}-v%{version}/misc/%{name}-pre.sh %{buildroot}/%{_bindir}/ install -m 0644 %{_builddir}/%{name}-v%{version}/misc/%{name}.service %{buildroot}/usr/lib/systemd/system install -m 0644 %{_builddir}/%{name}-v%{version}/misc/%{name}-pre.service %{buildroot}/usr/lib/systemd/system +install -d $RPM_BUILD_ROOT/usr/share/bash-completion/completions +install -p -m 0644 %{_builddir}/%{name}-v%{version}/completion/nvwa %{buildroot}/usr/share/bash-completion/completions/nvwa + %post %systemd_post %{name}.service %systemd_post %{name}-pre.service +source /usr/share/bash-completion/completions/nvwa %preun %systemd_preun %{name}.service @@ -77,11 +89,16 @@ install -m 0644 %{_builddir}/%{name}-v%{version}/misc/%{name}-pre.service %{buil /etc/%{name}/%{name}-server.yaml /usr/lib/systemd/system/%{name}.service /usr/lib/systemd/system/%{name}-pre.service +/usr/share/bash-completion/completions/nvwa %{_bindir}/%{name} %{_bindir}/%{name}-pin %{_bindir}/%{name}-pre.sh %changelog +* Thu Jul 13 2023 huajingyun - 0.2-2 +- add loong64 support +* Fri Jul 30 2021 anatasluo - 0.2-1 +- Update to 0.2 * Fri Aug 06 2021 anatasluo - 0.1-6 - Add "--skip-in-flight" for criu dump/restore - restore pid file after restore from systemd diff --git a/sys.tar.gz b/sys.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..40a278ee856ba1d96d9f392d4e024426faf5881f Binary files /dev/null and b/sys.tar.gz differ