<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://devzone.nordicsemi.com/cfs-file/__key/system/syndication/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>How to find the toolchain bundle ID from a specific SDK release</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/124032/how-to-find-the-toolchain-bundle-id-from-a-specific-sdk-release</link><description>I&amp;#39;m trying to use nrfutil as part of a script that sets up the toolchain environment automatically using direnv . 
 For example: 
 
 I&amp;#39;d like to know how the bundle ID can be read/calculated assuming that the script has access to the files in a specific</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Wed, 03 Sep 2025 12:15:03 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/124032/how-to-find-the-toolchain-bundle-id-from-a-specific-sdk-release" /><item><title>RE: How to find the toolchain bundle ID from a specific SDK release</title><link>https://devzone.nordicsemi.com/thread/547626?ContentTypeID=1</link><pubDate>Wed, 03 Sep 2025 12:15:03 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:f2a3c487-a81a-434f-aeaf-eca454620fe4</guid><dc:creator>Maria Gilje</dc:creator><description>&lt;p&gt;Hi Chris,&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Thank you for sharing your solution to this.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;A version of the script which supports all operating systems may be added to a future version of the SDK. For details on this, you should contact your Regional Sales Manager, as we don&amp;#39;t discuss roadmaps here on DevZone.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Maria&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to find the toolchain bundle ID from a specific SDK release</title><link>https://devzone.nordicsemi.com/thread/547244?ContentTypeID=1</link><pubDate>Sat, 30 Aug 2025 23:50:30 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:6ea9d671-7652-4872-9264-c665035b04b7</guid><dc:creator>cgnd_chris</dc:creator><description>&lt;p&gt;Added this to repo so I can remember it for later (I&amp;#39;ll update the repo&amp;nbsp;with any changes moving forward)&lt;/p&gt;
&lt;p&gt;&lt;a href="https://github.com/cgnd/direnv-ncs"&gt;github.com/.../direnv-ncs&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to find the toolchain bundle ID from a specific SDK release</title><link>https://devzone.nordicsemi.com/thread/547243?ContentTypeID=1</link><pubDate>Sat, 30 Aug 2025 23:15:27 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:4a440100-2b78-4b66-9f19-83990258dfa2</guid><dc:creator>cgnd_chris</dc:creator><description>&lt;p&gt;Looking more closely at&amp;nbsp;&lt;code&gt;print_toolchain_checksum.sh&lt;/code&gt;, there are different&amp;nbsp;&lt;code&gt;tool-versions-${OS}.yml&lt;/code&gt; files for each OS, but&amp;nbsp;&lt;span&gt;&lt;code&gt;print_toolchain_checksum.sh&lt;/code&gt; hard codes the one for Linux.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;When the correct file for the OS is used in the checksum calculation, the checksum matches the bundle ID for that OS.&lt;/p&gt;
&lt;p&gt;Here&amp;#39;s an &lt;code&gt;.envrc&lt;/code&gt; that works on macOS and Linux:&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;# Detect OS
case &amp;quot;$(uname -s)&amp;quot; in
  Darwin)
    TOOLS_OS=&amp;quot;darwin&amp;quot;
    # On macOS, detect *hardware* arch (Rosetta-safe)
    if sysctl -n hw.optional.arm64 2&amp;gt;/dev/null | grep -q &amp;#39;^1$&amp;#39;; then
        ARCH=&amp;quot;aarch64&amp;quot;
    else
        ARCH=&amp;quot;x86_64&amp;quot;
    fi
    ;;
  Linux)
    TOOLS_OS=&amp;quot;linux&amp;quot;
    # On Linux, just trust uname -m
    ARCH=&amp;quot;$(uname -m)&amp;quot;
    # Only support x86_64 Linux
    if [ &amp;quot;$ARCH&amp;quot; != &amp;quot;x86_64&amp;quot; ]; then
        echo &amp;quot;This script only supports x86_64 Linux. Detected architecture: $ARCH&amp;quot;
        return 0
    fi
    ;;
  *)
    # Unsupported OS - exit early without doing anything
    echo &amp;quot;This script only supports Linux and macOS. Detected OS: $(uname -s)&amp;quot;
    return 0
    ;;
esac

BASEDIR=&amp;quot;./nrf/scripts&amp;quot;
REQUIREMENTS=$BASEDIR/requirements-fixed.txt
TOOLS_VERSIONS=$BASEDIR/tools-versions-${TOOLS_OS}.yml
TOOLCHAIN_VERSION=$(cat ${REQUIREMENTS} ${TOOLS_VERSIONS} | tr -d &amp;#39;\r&amp;#39; | sha256sum | head -c 10)
eval &amp;quot;$(nrfutil sdk-manager toolchain env --as-script --toolchain-bundle-id ${TOOLCHAIN_VERSION})&amp;quot;
source ./zephyr/zephyr-env.sh
&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;It would be nice if the Nordic folks can update the&amp;nbsp;&lt;span&gt;&lt;code&gt;print_toolchain_checksum.sh&lt;/code&gt; script so it works on both macOS and Linux.&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to find the toolchain bundle ID from a specific SDK release</title><link>https://devzone.nordicsemi.com/thread/547242?ContentTypeID=1</link><pubDate>Sat, 30 Aug 2025 22:47:25 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:4ea28031-543b-4ea2-887d-a989a6bd5462</guid><dc:creator>cgnd_chris</dc:creator><description>&lt;p&gt;It appears that the&amp;nbsp;&lt;code&gt;print_toolchain_checksum.sh&lt;/code&gt; script only returns the bundle ID for the &lt;code&gt;linux&lt;/code&gt; toolchain.&lt;/p&gt;
&lt;p&gt;When I run the same commands on a&amp;nbsp;Ubuntu &lt;code&gt;x86_64&lt;/code&gt; machine, the checksum matches the bundle ID:&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;$ cat nrf/VERSION
2.8.0-rc2

$ nrfutil sdk-manager toolchain list
Version     Toolchain
v2.8.0-rc2  /home/chris/ncs/toolchains/b81a7cd864

$ ./nrf/scripts/print_toolchain_checksum.sh
b81a7cd864&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;The problem is that for users on macOS,&amp;nbsp;&lt;span&gt;&lt;code&gt;print_toolchain_checksum.sh&lt;/code&gt; can&amp;#39;t be used to&amp;nbsp;calculate the correct toolchain bundle ID for the SDK. Why are there different toolchain bundle IDs based on OS? The bundle ID only appears to be unique across OS, but not architecture, given that &lt;code&gt;macos-aarch64&lt;/code&gt; and &lt;code&gt;macos-x86_64&lt;/code&gt; use identical bundle IDs for a given SDK release.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Is there a method for calculating the bundle ID that&amp;nbsp;returns the correct bundle ID on each OS?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;For now, I&amp;#39;ve switched to just using the NCS version instead of the bundle ID. Here&amp;#39;s the contents of the &lt;code&gt;.envrc&lt;/code&gt; file I&amp;#39;m using in the root of my NCS workspaces:&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;pre class="ui-code" data-mode="text"&gt;NCS_VERSION=&amp;quot;v$(cat ./nrf/VERSION)&amp;quot;
eval &amp;quot;$(nrfutil sdk-manager toolchain env --as-script --ncs-version $NCS_VERSION)&amp;quot;
source zephyr/zephyr-env.sh
&lt;/pre&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>