Long-Term Supported Versions

    Innovation Versions

      How to Run


      • nvwa help

        Prints the help information. The printed information is as follows:

        nvwa - a tool used for openEuler kernel update.
        nvwa [global options] command [command options] [arguments...]
        update   specify kernel version for nvwa to update
        init     init nvwa running environment
        help, h  Shows a list of commands or help for one command
        --help, -h     show help (default: false)
        --version, -v  print the version (default: false)
      • nvwa update <kernel version>

        When the kernel is hot upgraded to a version, the NVWA searches for the kernel image and ramfs in the /boot directory. The kernel must be named in the vmlinuz-<kernel version> format, and rootfs in the initramfs-<kernel version>.img format.

        Note that the upgrade may fail. If the upgrade fails, some processes or services that are dumped will stop running.

      • nvwa init

        Clears the running information generated by NVWA and modifies the systemd configuration. This command is used to clear the running information before the NVWA is executed or after the execution fails.


      1. For services that need to be saved using NVWA, you need to set StandardOutput and StandardError in the configuration. The following uses Redis as an example:

        Description=Redis persistent key-value database
        ExecStart=/usr/bin/redis-server /etc/redis.conf --supervised systemd
      2. To use the acceleration feature, you need to modify the cmdline and allocate proper memory. For details, see NVWA Acceleration Feature Description and Usage.

      3. SELINUX needs to be disabled during the running process.

        Theoretically, you need to disable the NVWA service only after you run the NVWA update command and before you restart the system to restore the process. It is recommended that SELinux be disabled during the entire process.

      NVWA Acceleration Feature Description and Usage

      1. cpu park

        The cpu park command uses the kexec process to make the CPU stay busy waiting, so as to respond to the interrupt request sent by the primary core more quickly, and reduce the status changes.

        To use cpu park, you need to add "cpuparkmem=0x200000000" to cmdline. 0x200000000 is the start address of the memory that is not used by other programs. cpuparkmem occupies the memory space whose size is about 1 MB from this address.

        Note that if the memory is sufficient, it is recommended that the address range be after 4G(0x100000000). The first 4 GB is usually reserved by each system component, which is prone to conflict.

      2. quick kexec

        quick kexec accelerates image loading using kexec.

        To use quick kexec, you need to enable related options in the configuration file. For more information, see Configurations.

      3. pin_memory

        pin memory accelerates the storage and recovery of the CRIU.

        To use pin memory, you need to enable related options in the configuration file. For more information, see Configurations.

      Generated Log Information

      The logs generated by the kernel hot upgrade tool consist of two parts:

      • Logs generated during running

        Run the service nvwa status command to view logs.

      • Logs generated while retaining the running information

        The logs are stored in the process/service folder in the path specified by criu_dir.

      Bug Catching

      Buggy Content

      Bug Description

      Submit As Issue

      It's a little complicated....

      I'd like to ask someone.


      Just a small problem.

      I can fix it online!

      Bug Type
      Specifications and Common Mistakes

      ● Misspellings or punctuation mistakes;

      ● Incorrect links, empty cells, or wrong formats;

      ● Chinese characters in English context;

      ● Minor inconsistencies between the UI and descriptions;

      ● Low writing fluency that does not affect understanding;

      ● Incorrect version numbers, including software package names and version numbers on the UI.


      ● Incorrect or missing key steps;

      ● Missing prerequisites or precautions;

      ● Ambiguous figures, tables, or texts;

      ● Unclear logic, such as missing classifications, items, and steps.


      ● Technical principles, function descriptions, or specifications inconsistent with those of the software;

      ● Incorrect schematic or architecture diagrams;

      ● Incorrect commands or command parameters;

      ● Incorrect code;

      ● Commands inconsistent with the functions;

      ● Wrong screenshots.

      Risk Warnings

      ● Lack of risk warnings for operations that may damage the system or important data.

      Content Compliance

      ● Contents that may violate applicable laws and regulations or geo-cultural context-sensitive words and expressions;

      ● Copyright infringement.

      How satisfied are you with this document

      Not satisfied at all
      Very satisfied
      Click to create an issue. An issue template will be automatically generated based on your feedback.
      Bug Catching
      编组 3备份