我正在尝试运行需要使用ptp获取硬件时间戳的软件。因此,我需要提供 / dev / ptp0 。我正在VMWare上运行Linux / Ubuntu。
有没有办法在VM上完成这项工作?
谢谢!
答案 0 :(得分:2)
简单答案VMware不支持模拟ptp设备的linuxptp。 最近的事情是 在this website
上找到它FYI在qemu-kvm上运行linuxptp
运行两个用于GM和Slave的虚拟机,并使用最新的Fedora RHEL 6.5 7.0 使用虚拟NIC仿真g e10000(支持软件时间戳) 不要忘记定义适当的防火墙规则以允许多播 不要期望高精度和准确性
答案 1 :(得分:1)
现在是 2021 年,我发现如果您能够编译自己的 Linux 内核,那么已经有一个内置驱动程序了。使用 make menuconfig
启用它:
Device Drivers --> PTP clock support --> KVM virtual PTP clock
在 KVM 来宾中,将出现一个新的 /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
答案 2 :(得分:0)
简而言之: ptp_kvm.ko
# 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