The virtio-pmem offers a virtual device that emulates a persistent memory device accessible by bytes. It delivers the disk image to the guest through a memory-mapped view of the file, allowing for direct mapping into the guest's address space if both the guest's operating system and filesystem are DAX compatible. The Linux virtio-pmem driver, activated by the CONFIG_VIRTIO_PMEM, makes pmem devices visible as /dev/pmem0, /dev/pmem1, and so on. These devices can be mounted like any regular block device. The riscv_em project includes support for a pmem-based ramdisk. This setup makes the filesystem accessible as /dev/pmem0, which can be mounted from userspace or designated as the root filesystem. It's important to note that this approach bypasses the initrd or initramdisk mechanisms due to their significant size constraints, which involve unpacking/copying the entire filesystem during boot.
The virtio-pmem offers a virtual device that emulates a persistent memory device accessible by bytes. It delivers the disk image to the guest through a memory-mapped view of the file, allowing for direct mapping into the guest's address space if both the guest's operating system and filesystem are DAX compatible. The Linux virtio-pmem driver, activated by the
CONFIG_VIRTIO_PMEM
, makes pmem devices visible as/dev/pmem0
,/dev/pmem1
, and so on. These devices can be mounted like any regular block device. The riscv_em project includes support for a pmem-based ramdisk. This setup makes the filesystem accessible as/dev/pmem0
, which can be mounted from userspace or designated as the root filesystem. It's important to note that this approach bypasses the initrd or initramdisk mechanisms due to their significant size constraints, which involve unpacking/copying the entire filesystem during boot.See