我正在尝试运行需要使用ptp获取硬件时间戳的软件。因此,我需要有/dev/ptp0可用。我在VMWare上运行Linux/Ubuntu。
是否有办法让这个在虚拟机上工作?
谢谢!
我正在尝试运行需要使用ptp获取硬件时间戳的软件。因此,我需要有/dev/ptp0可用。我在VMWare上运行Linux/Ubuntu。
是否有办法让这个在虚拟机上工作?
谢谢!
# modprobe ptp_kvm
# ls /dev/ptp*
/dev/ptp0 /dev/ptp_kvm
简述:
Red Hat Enterprise Linux 7.5 及以上版本提供了虚拟 PTP 硬件时钟 (PHC),可使客户机与主机同步,精度高达亚微秒级。
要启用 PHC 设备,请在 虚拟机内部 执行以下操作:
设置 ptp_kvm 模块在重启后自动加载。
# echo ptp_kvm > /etc/modules-load.d/ptp_kvm.conf
将/dev/ptp0时钟添加为chrony配置的参考:
# echo "refclock PHC /dev/ptp0 poll 2" >> /etc/chrony.conf
重新启动chrony守护进程:
# systemctl restart chronyd
chronyc sources
命令。# chronyc sources
#* PHC0 0 2 377 4 -6ns[ -6ns] +/- 726ns
现在是2021年,如果你能够编译自己的Linux内核,就会发现已经有一个内置驱动程序了。使用make menuconfig
启用它:
Device Drivers --> PTP clock support --> KVM virtual PTP clock
/dev/ptp0
设备,以及以下内核引导日志:pps_core: LinuxPPS API ver. 1 registered
pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
PTP clock support registered