3

我正在尝试运行需要使用 ptp 获取硬件时间戳的软件。因此,我需要有/dev/ptp0可用。我在 VMWare 上运行 Linux/Ubuntu。

有没有办法让它在虚拟机上工作?

谢谢!

4

3 回答 3

4

简而言之:ptp_kvm.ko

# modprobe ptp_kvm
# ls /dev/ptp*
/dev/ptp0  /dev/ptp_kvm

长:

Red Hat Enterprise Linux 7.5 及更高版本提供了一个虚拟 PTP 硬件时钟 (PHC),它使客户机能够以亚微秒级的精度与主机同步。

https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/virtualization_deployment_and_administration_guide/chap-kvm_guest_timing_management#sect-KVM_guest_timing_management-Host-guest-time-sync(订阅墙?)

要启用 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
于 2019-11-24T21:20:46.307 回答
3

简单的回答 VMware 不支持 linuxptp 模拟 ptp 设备。最接近的是在这个网站上找到这个

仅供参考 在 qemu-kvm 上运行 linuxptp

为 GM 和 Slave 运行两个虚拟机并使用最新的 Fedora,RHEL 6.5 7.0 使用虚拟网卡仿真 g e10000(支持软件时间戳)不要忘记定义适当的防火墙规则以允许多播不要'期望高精度和准确度

于 2018-07-09T12:03:59.270 回答
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
于 2021-06-28T08:10:09.640 回答