This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] VAR-3P-CPTS-AM62:在中的 CPTS 中从 SOM 生成自定义同步频率

Guru**** 2457950 points
Other Parts Discussed in Thread: AM625

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1474518/var-3p-som-am62-generating-a-custom-synchronous-frequency-out-of-genf-in-cpts-in-am625

器件型号:VAR-3P-AM62-AM62-AM62-AM62-AM62 SOM
主题中讨论的其他器件:AM625

工具与软件:

大家好、

我想从 AM625的 CPTS 中的 genf0生成自定义频率。 频率必须与 PTP 同步。

CPTS 中已经有一个 PPS 接口、该接口从 genF1衍生1Hz 频率、然后将其通过 TSR 传递到 HW3_TS_push 以生成时间戳。 该接口工作正常。

我想针对不同的频率实现相同的概念。

在 TRM 中、第12.3.1.4.7.11节提到了要寻址哪些寄存器来设置 Genf 频率。

在 PDK API 中、我们可以使用一些函数来设置该频率。

但我不知道如何正确使用它们而不会犯错、因为我不熟悉此 TI 架构、尤其是 CPSW 器件。

有人能帮我吗?

另一个问题是、PPS 的 genF1的频率必须存储在某个位置。 您知道如何和在哪里?

非常感谢。

此致。

Zane

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Zain、  

    Unknown 说:

    CPTS 中已经有一个 PPS 接口、该接口从 genF1衍生1Hz 频率、然后将其通过 TSR 传递到 HW3_TS_push 以生成时间戳。 该接口工作正常。

    我想针对不同的频率实现相同的概念。

    [报价]

    您的目标是否能够将 PPS 信号调整为不同于1Hz 的频率? 如果是这样、只需使用 testptp 选项即可调整 PPS 信号频率、而无需更改 Genf 频率。 我相信,如果按照 https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1471353/am625-var-som-am62中的规定删除 Genf 的静态映射,这是可能的

    Unknown 说:
    频率必须与 ptp 同步。

    您能解释一下这句话是什么意思吗? 据我了解、Genf 产生的默认 PPS 信号已经表明了多个器件之间的 PTP 同步、可以通过比较多个器件的 PPS 信号的上升沿来检查这一点。 我的理解是、PPS 信号本身的频率通常并不表示使用 PTP 的器件之间的同步程度。

    -道林

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Daolin:

    • PDK 是 TI 的平台开发套件。 尽管我本来打算让 PDK 支持 AM62x SoC、但我错了。 与 PSDK 不同?
    • 是的、我已经准备好使用 Debian 了。
    • 我的目标是根据与 PPS 相同的概念生成自定义频率、但也适用于200MHz 等更高频率。 我不想更改 PPS 频率、因为稍后我将需要它。 相反、我想实现另一个具有 genf0功能的接口、就像 genf1对 PPS 所做的那样。 我是否可以使用 testptp 生成500MHz 频率、如> testptp -d /dev/ptp0 -p 2 -w 1 -H 1? 我确信 CPTS 基准时钟(RFT_CLK)频率会限制 Genf 输出切换的速度。 但是在哪里可以找到这些信息呢?
    • 与 PTP 同步意味着 GENF0生成的频率被锁相。

    谢谢你  

    BR

    Zain

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Daolin

    Genf 生成我需要的 Testptp 频率。

    我使用了动态映射。

    但在某处、Genf 被编程为静态映射、每秒生成一个脉冲。

    我想知道在哪里和如何永久改变它,而不是每次开始 testptp。

    您能否向我介绍一下 Genf 在 CPTS 中如何工作以及与 HWTS 中断输入的连接?

    BR

    Zain

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Zain:

    [报价 userid="622102" url="~/support/processors-group/processors/f/processors-forum/1474518/var-3p-som-am62-generating-a-custom-synchronous-frequency-out-of-genf-in-cpts-in-am625/5660886 #5660886"]我的目标是根据与 PPS 相同的概念生成自定义频率、但针对200MHz 等更高频率。 我不想更改 PPS 频率、因为稍后我将需要它。 相反、我想实施另一个具有 genf0功能的接口、就像 genf1对 PPS 所做的那样。[/QUOT]

    您是否打算使用此高频信号来实现时间同步? 换句话说、您能否更详细地解释一下如何使用标准 PPS 无法实现的更高频率信号实现什么?

    我能否使用 testptp 生成500MHz 频率、如> testptp -d /dev/ptp0 -p 2 -w 1 -H 1?

    请注意、-testptp 的-w、-p、-H 选项应以纳秒为单位(https://github.com/torvalds/linux/blob/6537cfb395f352782918d8ee7b7f10ba2cc3cbf2/tools/testing/selftests/ptp/testptp.c#L139)  

    话虽如此、我还没有测试可以实现多小的 pps 周期。 我测试过的最小工作周期是在一个1ms 的周期与 testptp -w 500000 -p 1000000。 不过、这是在 AM64x EVM 上在 PRU-ICSSG 以太网(而不是 CPSW 以太网)上进行的测试。 这并不是说在 CPSW 以太网上无法实现更短的时间、而是我自己尚未进行过试用。

    [报价 userid="622102" url="~/support/processors-group/processors/f/processors-forum/1474518/var-3p-som-am62-generating-a-custom-synchronous-frequency-out-of-genf-in-cpts-in-am625/5660886 #5660886"]我确信 CPTS 参考时钟(RFT_CLK)频率限制了 Genf 输出切换的速度。 但在哪里可以找到此信息?[/报价用户 id="622102" url="~/support/processors-group/processors/f/processors-forum/1474518/var-3p-som-am62-generating-a-custom-synchronous-frequency-out-of-genf-in-cpts-in-am625

    在 TRM 中、第12.3.1.4.7.11节提到了要寻址哪些寄存器来设置 Genf 频率。

    在 PDK API 中、我们可以使用一些函数来设置该频率。

    [报价]

    我不太熟悉您所介绍的 PDK、但我认为它用于 Jacinto J721e 系列中的一些其他 TI 处理器、并且用于 RTOS 而不是 Linux。 据我所知、该 PDK 与 AM62x 不是特别相关、您可以查看适用于 AM62x 的 PROCESSOR-SDK-LINUX:https://www.ti.com/tool/download/AM62X-AM62X

    据我所知,既然你在使用 Linux (Debian),我不认为有任何改变 Genf 频率的特定 API。 正如您所提到的、TRM 中有一些详细信息表示支持在硬件中更改 Genf 频率。  不过、这并不会自动意味着我们已经启用了用于更改 Genf 频率的 Linux 软件示例。 我还将在内部与开发人员核实、以便查看是否有用于更改 Genf 频率的 Linux 驱动程序实施。

    我找到了 am65-cpts.c、我认为它参考了 Linux 驱动程序是如何实现 CPTS 和 Genf 的。 同时、您可以访问 https://git.ti.com/cgit/ti-linux-kernel/ti-linux-kernel/tree/drivers/net/ethernet/ti/am65-cpts.c?h=ti-rt-linux-6.6.y 、看看您是否有关于 CPTS 中 Genf 实现的任何具体问题。

    -道林

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    最新动态:

    我为此使用了动态映射。

    您是否能够通过"动态"映射在示波器上观察到可测量的物理引脚上的 PPS 信号? 在另一个 E2E 主题上、我想您可以在使用静态映射时测量 PPS 信号;但是、我们从未说明过它在使用"动态"映射时是否也起作用。

    我在另一个线程(https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1471353/am625-var-som-am62)中介绍的"动态"映射似乎需要进一步调查、以了解它是否支持与 ti、pps dts 属性(在另一个线程中提到)的静态映射相同的支持。 引用"动态"映射是因为它不是一个正式术语、而只是描述在 DTS 中未配置 ti,pps 属性的情况的一种方法。

    具体来说、当 dts 中配置 ti、pps 属性以静态方式将 Genf 映射到 HWPUSH 事件时、am65-cpts.c 驱动程序能够修改 CPTS 寄存器以启用硬件时间戳、从而启用您能够在物理引脚上观察到的 PPS 信号(请参阅另一线程中的说明)。 这就是为什么我要向您确认在"动态"映射时是否看到 PPS 信号的原因。  

    在您的用例中使用"动态"映射是否有特殊原因? 如果没有特别需要"动态"映射、最好坚持使用静态映射、因为静态映射可确保可以使用硬件时间戳、这对于生成更精确的时间戳/PTP 同步非常重要。  

    假设您可以使用静态映射、开发人员通知我、他需要更多时间来研究 am65-cpts.c 驱动程序是否可以修改 Genf 频率。 目前的预期是、如果可以、可能需要执行 DTS 配置。

    -道林

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Daolin

    是的、我能够通过物理引脚上的静态和动态映射实际测量 PPS 信号。

    但我主要关注动态映射、因为我想更改频率。

    然而,我已经发现,如果你开始 testptp 多次,有巨大的差异 PPS 从 Genf 主和 PPS 之间。

    仅在第一次、即仅当您首次启动 testptp 时、有200微秒的微小偏差。 然后它将变为800ms、我重新配置 Genf 以生成另一个频率1kHz。

    您还注意到了我也注意到了、也就是在每个动态映射中、硬件时间戳并不使用中断功能

    这就是静态映射比动态映射更精确的原因、也正是我想完全不做动态映射的原因。 但为了做到这一点,我必须编辑 am65-cpts.c 。 但我不知道从哪里开始!

    BR

    Zain

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Zain:  

    仅在第一次启动 testptp 时、即仅在首次启动 testptp 时、偏差为200微秒。 然后、当我重新配置 Genf 时、它将变为800ms、从而生成另一个1kHz 的频率。[/报价]

    您能解释一下如何重新配置 Genf 频率吗? 我想在这个上下文中您将描述动态映射的情况。

    这就是静态映射比动态映射更精确的原因、也是我想要完全不使用动态映射的原因。 但为了做到这一点,我必须编辑 am65-cpts.c 。 但我不知道从哪里开始!
    假设您能够使用静态映射、开发人员通知我、他需要更多时间来研究 am65-cpts.c 驱动程序是否可以修改 Genf 频率。 目前的预期是、如果可能、可能需要 DTS 配置。

    我需要一些时间对其进行内部检查。 我的第一个问题是、当使用静态映射时、是否可以仅通过 testptp 选项更改 PPS 周期。 在将 Genf 频率更改为更高的频率方面、正如我在上一个回答中提到的、我需要咨询我们的开发人员、是否有办法通过 CPTS 驱动程序来实现。 我计划在与开发人员核实后、下周再发布更新。

    -道林

    [/quote]
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Daolin:

    正如您在动态映射中建议的那样、我已经使用 testptp 重新配置了 Genf 频率、并且由于我使用动态映射、因此必须在 dts 中注释 ti、pps 属性。 我做了。

    例如:  

     testptp -d /dev/ptp0 -p 1000000 -H 0

    它生成1kHz 频率、该频率与 pps grand 主器件同步。 但正如我说过的,只有第一次 testptp 运行。 如果我然后将频率调整为例如2kHz、则频率不再同步。 顺便说一下、您不能直接写入

     testptp -d /dev/ptp0 -p 2000000 -H 0

    您需要首先通过编写来停止 Genf  

     testptp -d /dev/ptp0 -p 0 -H 0

    然后设置要求的频率。

    如果我错了,你可以纠正我,但这是我发现的。

    如果要使用动态映射、pps 接口将不再存在、我的意思是/dev/ppsN. 不再能够启用或禁用 pps、即使具有也是如此

    testptp -d /dev/ptp0 -P 1

    因此我只想使用静态变量、因为它的精确度越高越好、因为它使用的 HW_TS 比动态变量更好。 但另一个频率小于1Hz。

    BR

    Zain

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Zain:

    [报价 userid="643321" url="~/support/processors-group/processors/f/processors-forum/1474518/var-3p-som-am62-generating-a-custom-synchronous-frequency-out-of-genf-in-cpts-in-am625/5672267 #5672267"]

    您需要首先通过编写来停止 Genf  

    全屏
    1.
    testptp -d /dev/ptp0 -p 0 -H 0
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

    然后设置要求的频率。

    如果我错了,你可以纠正我,但这是我发现的。

    [报价]

    是的、正确的做法是、在尝试更改信号频率之前需要停止前一个 PPS 信号。  

    我认为、在使用静态映射时(即在更改信号之前停止先前的 PPS 信号)也需要执行相同的操作、但我尚未进行测试。

    [报价 userid="643321" url="~/support/processors-group/processors/f/processors-forum/1474518/var-3p-som-am62-generating-a-custom-synchronous-frequency-out-of-genf-in-cpts-in-am625/5672267 #5672267"]

    如果要使用动态映射、pps 接口将不再存在、我的意思是/dev/ppsN. 不再能够启用或禁用 pps、即使具有也是如此

    全屏
    1.
    testptp -d /dev/ptp0 -P 1.
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

    因此我只想使用静态变量、因为它的精确度越高越好、因为它使用的 HW_TS 比动态变量更好。 但另一个频率小于1Hz。

    [/引号]
    如果不需要"动态"映射、最好坚持使用静态映射、因为静态映射可确保使用硬件时间戳、这对于生成更精确的时间戳/PTP 同步非常重要。  [报价]

    是的、因为我之前提到的"动态"映射尚未经过广泛测试、所以最好坚持使用静态映射。

    如果我在下周星期三之前尚未回复更新、请 ping 此主题、因为我有机会与开发人员讨论如何将 Genf 频率修改为比您提到的目标要快得多的200MHz 信号。

    -道林

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Daolin:

    它不必是200 MHz。 10KHz 即可。 更重要的是、频率需要锁相到 PPS 主控方。

    谢谢 Daolin

    BR

    Zain

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Zain:  

    不必是200 MHz。 10KHz 即可。 更重要的是、频率需要锁相到 PPS 主站。

    感谢您澄清10kHz 是您的 PPS 频率目标。  

    [报价 userid="643321" url="~/support/processors-group/processors/f/processors-forum/1474518/var-3p-som-am62-generating-a-custom-synchronous-frequency-out-of-genf-in-cpts-in-am625/5672267 #5672267"]

    例如:  

    全屏
    1.
    testptp -d /dev/ptp0 -p 1000000 -H 0
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

    它生成1kHz 频率、该频率与 pps grand 主器件同步。 但正如我说过的,只有第一次 testptp 运行。

    [报价]

    通过"动态"映射、您可以通过更改 testptp 的-p 选项配置1kHz 频率。 您是否能够对"静态"映射执行相同的操作? 如果是、您是否能够更改为10kHz?

    更重要的是、频率需要锁相到 PPS 主控方。

    据我所知、只要使用 testptp 命令就可以 之后 ptp4l 已同步到主时钟、然后来自 testptp 的 pps 信号也将同步。 请参阅 CPSW PTP 上的 SDK 文档中的以下注释: https://software-dl.ti.com/processor-sdk-linux/esd/AM62X/latest/exports/docs/linux/Foundational_Components CPSW/Kernel/CPSW-PTP.441/CPSW-PTP.html Kernel_Drivers 

    -道林

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Daolin

    不可以、借助静态映射、无法更改频率或任何配置。

    此外、当使用 ti、pps 属性时、使用 testptp 时存在一些限制。 当使用具有 testptp 或其他 methods 的静态映射时、会发生错误、 这在 am65-cpts.c 驱动程序中的行中已编程: github.com/.../am65-cpts.c

    	if (cpts->pps_present && req->index == cpts->pps_genf_idx)
    		return -EINVAL;

    我在 ptp4l 之后始终运行 testptp。 但这也没有任何影响。

    由于 testptp 不使用 ts 的 HW 来测量频率的每个上升沿的时间戳、因此假定 testptp 使用软件端的系统时钟、该系统时钟由 ptp4l 持续同步。 但情况也不是这样、因为频率不同于 pps grandmaster!

    testptp -d /dev/ptp0 -p 1000000 -H 0

    使用该命令 genf1输出1kHz 频率、但相位未锁定。 即使具有1pps、相位也未锁定。 也许对于 frist minutes 是锁相的,但经过许多小时或更多。

    因为这个原因,我不想再使用 testptp,因为它的不确定性和不准确。 相反、我希望使用静态变量、因为即使我多次启用和禁用它、该变量也非常准确。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Zain:

    否、使用静态映射无法更改频率或任何配置。

    感谢 您澄清您观察到的这种行为、这也与我所看到的相符。

    使用此命令 genf1输出1kHz 频率、但相位未锁定。 即使具有1pps、相位也未锁定。 也许对于小细节是锁相,但经过许多小时或更多时间。[/报价]

    我在这里有一点困惑、因为 testptp -p 选项不能用于在使用静态映射时更改频率、如何仍然能够按此处所述更改频率? 在该描述中、您是否尝试没有 ti、pps 属性?

    -道林

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    其他问题:

    使用此命令 genf1输出1kHz 频率、但相位未锁定。 即使具有1pps、相位也未锁定。 也许对于小细节是锁相,但经过许多小时或更多时间。[/报价]

    当您说您在检查锁相时、您是否比较了 AM62x 器件上与另一个在 PTP 主站工作的器件同步的 PPS 信号、在这种情况下、您的 AM62x 器件连接到 PTP 主站器件?

    我最终能够在我的设备上复制测试、尽管该设备是在 AM62x SKEVM 上。  

    在我的设置中、当使用静态映射时、PPS 信号固定为1Hz 频率(每秒1个脉冲)。 当前 CPT 驱动程序似乎具有此 PPS 硬编码、这意味着频率无法动态更改。  

    当使用动态映射(DTS 中无 ti、pps)时、可以更改 PPS 信号频率;但是、仅当 testptp 的"-i 1"选项用于指示使用 genF1时。 如果没有"-i 1"、PPS 信号将不会显示。 下面的示例是10kHz 频率。

    root@am62xx-evm:~# /usr/kernel-selftest/ptp/testptp -d /dev/ptp0 -p 100000 -i 1
    periodic output request okay
    root@am62xx-evm:~# uname -a
    Linux am62xx-evm 6.6.58-rt45-gc79d7ef3a56f #2 SMP PREEMPT_RT Tue Feb 25 10:59:35 CST 2025 aarch64 GNU/Linux

    我尚未比较此 PPS 信号是否可以与另一个器件锁相。 如果您仍想评估动态映射、建议添加"-i 1"选项以查看此选项是否有任何变化。

    对于静态映射、暂时固定为1PPS (频率为1Hz)。

    -道林

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Daolin:

    是的、  静态映射的 pps 的频率已硬编码。 但我想出了在哪里以及如何针对特定的频率更改它、例如1kHz。  

    我对它进行了测试、它运行得很好。

    是的、即使对于其他频率、也需要将相位锁定到 PTP 主站 pps。

    更重要的是、我打算使动态映射成为静态映射的可能、这意味着不需要静态映射。 在中、CPTS 驱动程序被锁定为 对相同的动态映射使用 dts 中 ti、pps 属性的相同配置。 但很容易更改。

    BR

    也是如此

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Zain:

    [报价 userid="622102" url="~/support/processors-group/processors/f/processors-forum/1474518/var-3p-som-am62-generating-a-custom-synchronous-frequency-out-of-genf-in-cpts-in-am625/5686280 #5686280"]

    是的、  静态映射的 pps 的频率已硬编码。 但我想出了在哪里以及如何针对特定的频率更改它、例如1kHz。  

    我对它进行了测试、它运行得很好。

    [报价]

    很高兴您了解了如何启用该功能。 如果你不介意我的问题,作为一个参考未来的读者,你在哪里做了改变,以启用一个不同的频率?

    -道林

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Daolin:

    当然。 我为 am65-cpts.c 文件制作了一个补丁文件、其中需要更改两个变量以更改 Genf 的输出频率。
    https://github.com/ZainOA/am65-cpts-patch.git

    cd kernel/root/dir
    patch -p0 < path/to/cpts.patch

    我还将添加另一个补丁、说明如何使用 TESTPTP 工具更改静态映射的 Genf 频率。

    我会尽快通知你。

    BR

    Zain

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Zain:  

    感谢您的分享、您是否打算尝试将修补程序发布到上游 Linux?

    [报价 userid="622102" url="~/support/processors-group/processors/f/processors-forum/1474518/var-3p-som-am62-generating-a-custom-synchronous-frequency-out-of-genf-in-cpts-in-am625/5686819 #5686819"]

    我还将添加另一个补丁、说明如何使用 TESTPTP 工具更改静态映射的 Genf 频率。

    我会尽快通知你。

    [报价]

    期待您回复有关该补丁的信息!

    -道林

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Daolin:

    我真的不知道我会不会这样做,但为什么不。 我需要了解如何在 Linux 中发布上游版本。

    BR

    Zain