This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

relationship sdk-zephyr and zephyhrproject/zephyr

Hi,

Please excuse me if I ask some stupid questions I am new to wesr and have only used git simply over the last few years.
These questions stem from trying to get percepio tracealyzer working with sdk 1.6.0 and nrf5340.


Primary question is what is the relationship between the nordic sdk-zephyr repo and the atual zephyproject repo?

I have dining philosophers running on devkit and now want to lay with tracealyzer to actually see the system visualisations. I have used Tracealyzer on several FreeRtos based dprodjects in the past where it has proved to be a very impressive and indispensable tool.

OK to crux of mater; it does not work using the 1,6,0 sdk-zephyr repo; now I have been told I "just" need to merge changes from the zephyrproject/zephyr repo on github; as the code in the sdk-zephyr is not working. So I thought nordic sdk-zephyr is just a nordic github fork of the zephyrproject github repo; and hence should be a straight forward merge via github and should be listed as a fork.

But looking at git hub I am unable to compare the two forks as they are not listed as related in the drop downs for the github fork compare. So the nordic repo is not a dirct github fork?
Comment for nordic repo says "NCS downstream of https://github.com/zephyrproject-rtos/zephyr"; but github does not show the relationship.

Then how are these kept in sync? Do I just have to point my local git to the actual zephyproject remote and just merge from the appropriate branch?

Is or is not the noridc repo a direct github fork of the zephyrproject?
If not "why not"?

Can any of you please advise.
Again sorry for stupid questions.

Regards,
Owain

Parents
  • Hi Owain,

     

     

    Please excuse me if I ask some stupid questions I am new to wesr and have only used git simply over the last few years.
    These questions stem from trying to get percepio tracealyzer working with sdk 1.6.0 and nrf5340.


    Primary question is what is the relationship between the nordic sdk-zephyr repo and the atual zephyproject repo?

    First off, this is not a "dumb question" - it's a very valid one.

     

    sdk-zephyr is our fork of zephyr, but it is not forked github-wise "directly" from the zephyrproject-rtos/zephyr repo.

    We manually keep up-to-date with upstream zephyr by sync'ing using git, and then doing an "upmerge" pull-request to sdk-zephyr.

     

    Certain features on github are proprietary to github, like pull-requests, and comparing forks is also one of these things. Doing it directly with "git" does not necessarily mean that the github webui is able to figure it out.

      

    I have dining philosophers running on devkit and now want to lay with tracealyzer to actually see the system visualisations. I have used Tracealyzer on several FreeRtos based dprodjects in the past where it has proved to be a very impressive and indispensable tool.

    OK to crux of mater; it does not work using the 1,6,0 sdk-zephyr repo; now I have been told I "just" need to merge changes from the zephyrproject/zephyr repo on github; as the code in the sdk-zephyr is not working. So I thought nordic sdk-zephyr is just a nordic github fork of the zephyrproject github repo; and hence should be a straight forward merge via github and should be listed as a fork.

    But looking at git hub I am unable to compare the two forks as they are not listed as related in the drop downs for the github fork compare. So the nordic repo is not a dirct github fork?
    Comment for nordic repo says "NCS downstream of https://github.com/zephyrproject-rtos/zephyr"; but github does not show the relationship.

    Then how are these kept in sync? Do I just have to point my local git to the actual zephyproject remote and just merge from the appropriate branch?

    Is or is not the noridc repo a direct github fork of the zephyrproject?
    If not "why not"?

    We deviate between upstream zephyr wrt. multi-image builds, and that we link in other repositories (like NCS).

     

    You can manually add upstream zephyr as a remote in your ncs installation:

    cd path/to/ncs/zephyr
    git remote add upstream https://github.com/zephyrproject-rtos/zephyr
    git fetch upstream
    
    # list your remote using 'git remote -v'
     

    Then cherry pick certain fixes if you'd like.

     

     

    What changes do you specifically need?

    If its a specific PR you want to apply, you can take the URL and add ".diff" to download it, for instance if you want to apply this one:

    https://github.com/zephyrproject-rtos/zephyr/pull/36799

     

    You just add .patch or .diff at the end:

    https://github.com/zephyrproject-rtos/zephyr/pull/36799.diff 

    Then you can try to apply it using "cd ..\ncs\zephyr && git apply path\to\pr.diff"

     

    Kind regards,

    Håkon

Reply
  • Hi Owain,

     

     

    Please excuse me if I ask some stupid questions I am new to wesr and have only used git simply over the last few years.
    These questions stem from trying to get percepio tracealyzer working with sdk 1.6.0 and nrf5340.


    Primary question is what is the relationship between the nordic sdk-zephyr repo and the atual zephyproject repo?

    First off, this is not a "dumb question" - it's a very valid one.

     

    sdk-zephyr is our fork of zephyr, but it is not forked github-wise "directly" from the zephyrproject-rtos/zephyr repo.

    We manually keep up-to-date with upstream zephyr by sync'ing using git, and then doing an "upmerge" pull-request to sdk-zephyr.

     

    Certain features on github are proprietary to github, like pull-requests, and comparing forks is also one of these things. Doing it directly with "git" does not necessarily mean that the github webui is able to figure it out.

      

    I have dining philosophers running on devkit and now want to lay with tracealyzer to actually see the system visualisations. I have used Tracealyzer on several FreeRtos based dprodjects in the past where it has proved to be a very impressive and indispensable tool.

    OK to crux of mater; it does not work using the 1,6,0 sdk-zephyr repo; now I have been told I "just" need to merge changes from the zephyrproject/zephyr repo on github; as the code in the sdk-zephyr is not working. So I thought nordic sdk-zephyr is just a nordic github fork of the zephyrproject github repo; and hence should be a straight forward merge via github and should be listed as a fork.

    But looking at git hub I am unable to compare the two forks as they are not listed as related in the drop downs for the github fork compare. So the nordic repo is not a dirct github fork?
    Comment for nordic repo says "NCS downstream of https://github.com/zephyrproject-rtos/zephyr"; but github does not show the relationship.

    Then how are these kept in sync? Do I just have to point my local git to the actual zephyproject remote and just merge from the appropriate branch?

    Is or is not the noridc repo a direct github fork of the zephyrproject?
    If not "why not"?

    We deviate between upstream zephyr wrt. multi-image builds, and that we link in other repositories (like NCS).

     

    You can manually add upstream zephyr as a remote in your ncs installation:

    cd path/to/ncs/zephyr
    git remote add upstream https://github.com/zephyrproject-rtos/zephyr
    git fetch upstream
    
    # list your remote using 'git remote -v'
     

    Then cherry pick certain fixes if you'd like.

     

     

    What changes do you specifically need?

    If its a specific PR you want to apply, you can take the URL and add ".diff" to download it, for instance if you want to apply this one:

    https://github.com/zephyrproject-rtos/zephyr/pull/36799

     

    You just add .patch or .diff at the end:

    https://github.com/zephyrproject-rtos/zephyr/pull/36799.diff 

    Then you can try to apply it using "cd ..\ncs\zephyr && git apply path\to\pr.diff"

     

    Kind regards,

    Håkon

Children
No Data
Related