安装环境
Ubuntu 18.04
gcc 7.5.0
下载源码
这一步比较看脸,有时候速度快有时候速度慢。
需要的包
sudo apt-get install build-essential flex bison libssl-dev ncurses-dev
针对不同的发行版,安装的包可能不一样,缺啥装啥就OK了。
源码编译安装
老一套:
sudo make menuconfig
sudo make
sudo make modules_install
sudo make install
正常情况下不会出现编译错误的问题。之后调整grub:
sudo vim /etc/default/grub
注释掉GRUB_TIMEOUT_STYLE=hidden和GRUB_TIMEOUT=0
sudo update-grub
reboot
make menuconfig 的时候需要选择一些CONFIG:
Building NOVA
To build NOVA, build the kernel with LIBNVDIMM (CONFIG_LIBNVDIMM), PMEM (CONFIG_BLK_DEV_PMEM), DAX (CONFIG_FS_DAX) and NOVA (CONFIG_NOVA_FS) support. Install as usual. (When running make menuconfig, you can find those options under the Device Drivers and File Systems sections, respectively.)
Documentation/filesystems/nova.txt provides more detailed instructions on building and using NOVA.
如果在menuconfig时选择nova动态安装,那么就需要做一些修改:nova安装
insmod nova.ko 出现 insmod: ERROR: could not insert module nova.ko: Unknown symbol in module
初步测试
使用fio初步测试了一下nova和ext4顺序读写的性能,发现在模拟的pmem上,nova的读写性能均优于ext4。