<?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>Feedback Request: Self-Contained NCS  Local SDK/Toolchain</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/121978/feedback-request-self-contained-ncs-local-sdk-toolchain</link><description>Hi, We’re trying to develop a way to create fully self-contained repositories that include: 
 -the toolchain 
 -the entire SDK 
 -the necessary tools (for example, flashing tools (i.e., nrfutil-device)) 
 Anyone downloading the repository should have</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Thu, 05 Jun 2025 17:17:15 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/121978/feedback-request-self-contained-ncs-local-sdk-toolchain" /><item><title>RE: Feedback Request: Self-Contained NCS  Local SDK/Toolchain</title><link>https://devzone.nordicsemi.com/thread/538300?ContentTypeID=1</link><pubDate>Thu, 05 Jun 2025 17:17:15 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:df0b026a-5c78-4584-b241-4479c3322b33</guid><dc:creator>dejans</dc:creator><description>&lt;p&gt;Hi,&lt;br /&gt;&lt;br /&gt;Your approach looks reasonable as you use repository&lt;span&gt;&amp;nbsp;structure which is similar to&lt;/span&gt;&lt;span&gt;&amp;nbsp;the official in&amp;nbsp;&lt;a href="https://github.com/nrfconnect/ncs-example-application"&gt;NCS example application&lt;/a&gt;.&amp;nbsp;&lt;br /&gt;We have some resources in the documentation about this which can provide additional information. You can look at following webpages (if you have not already):&lt;br /&gt;&lt;a href="https://docs.nordicsemi.com/bundle/ncs-latest/page/nrf/dev_model_and_contributions/adding_code.html"&gt;adding code&lt;/a&gt;&lt;br /&gt;&lt;a href="https://docs.nordicsemi.com/bundle/ncs-latest/page/nrf/dev_model_and_contributions/adding_code.html#creating_your_own_manifest_repository_from_scratch"&gt;creating manifest repository from scratch&lt;/a&gt;&lt;br /&gt;&lt;a href="https://docs.nordicsemi.com/bundle/ncs-latest/page/nrf/dev_model_and_contributions/adding_code.html#workflow_4_workspace_application_repository_recommended"&gt;workspace application repository&lt;/a&gt;&lt;br /&gt;&lt;a href="https://docs.nordicsemi.com/bundle/ncs-latest/page/nrf/dev_model_and_contributions/ncs_distro.html#providing_a_west_manifest"&gt;redistributing NCS&lt;/a&gt;&lt;br /&gt;&lt;a href="https://docs.nordicsemi.com/bundle/ncs-latest/page/zephyr/develop/west/manifest.html#self"&gt;west manifests&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Best regards,&lt;br /&gt;Dejan&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Feedback Request: Self-Contained NCS  Local SDK/Toolchain</title><link>https://devzone.nordicsemi.com/thread/537853?ContentTypeID=1</link><pubDate>Tue, 03 Jun 2025 11:36:30 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:3c3dc765-b1c4-43b4-beaa-2acbf3d827cd</guid><dc:creator>longo92</dc:creator><description>&lt;p&gt;Hi Dejan,&lt;/p&gt;
&lt;p&gt;yes it is similar- the main difference is the presence of zephyr/module.yml which allows to add custom board/driver/library without relying on&amp;nbsp;&lt;strong class="makevar"&gt;EXTRA_ZEPHYR_MODULES&lt;/strong&gt;&lt;span&gt;&amp;nbsp;in CMakeLists.txt of the application.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;My question is on the methodology:&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;If you needed to implement something similar, how would you approach it in a Nordic environment? All the examples I&amp;rsquo;ve found, including those from the Developer Academy, assume having &lt;code data-start="619" data-end="628"&gt;nrfutil&lt;/code&gt;, the SDK, and the toolchain already installed on the system.&amp;nbsp;&lt;/li&gt;
&lt;li&gt;Is in your opnion my approach the &amp;quot;right&amp;quot; way?&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Regarding scalability/reliability:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Since the SDK/Toolchain and &lt;code data-start="131" data-end="140"&gt;nrfutil&lt;/code&gt; (along with its subcommands) are updated quite frequently, I want to maintain full control over them within our repository. We develop many projects under NCS, each with its own SDK, toolchain, and &lt;code data-start="339" data-end="348"&gt;nrfutil&lt;/code&gt; version. Managing these at the system level would be messy and impractical for our needs.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Regarding nrfutil:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;in folder tools/nrfutil/nerfutil.exe a specific version is commited with the repo.&lt;/li&gt;
&lt;li&gt;All subcommands are installed there by setting&amp;nbsp; $env:NRFUTIL_HOME =&lt;span&gt; &lt;/span&gt;&lt;span&gt;&amp;quot;tools/nrfutil/.nrfutil&amp;quot;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&lt;span&gt;All subcommands are called by setting also&amp;nbsp;&lt;/span&gt;&lt;/span&gt;$env:NRFUTIL_HOME&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&amp;quot;&lt;/span&gt;&lt;span&gt;$cwd&lt;/span&gt;&lt;span&gt;\tools\nrfutil\.nrfutil&amp;quot;, for example here the flash_build.ps1 called by my binding tasks (check the .code-workspace file):&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&lt;pre class="ui-code" data-mode="text"&gt;param (
    [string]$build_folder,
    [bool] $erase_all = $false
)
$cwd = Get-Location
$nrfutil_command = &amp;quot;$cwd\tools\nrfutil\nrfutil.exe&amp;quot;
#set the env variable pointing nrfutil install dir
$env:NRFUTIL_HOME = &amp;quot;$cwd\tools\nrfutil\.nrfutil&amp;quot;
# program fw
if($erase_all){
    $erase_option = &amp;quot;chip_erase_mode=ERASE_ALL&amp;quot;
} else{
    $erase_option = &amp;quot;chip_erase_mode=ERASE_RANGES_TOUCHED_BY_FIRMWARE&amp;quot;
}
$nrfutil_program_command = &amp;quot;$nrfutil_command device program  --traits jlink --firmware $build_folder/merged.hex  --options $erase_option,reset=RESET_SYSTEM&amp;quot;
Invoke-Expression -Command $nrfutil_program_command&lt;/pre&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Feedback Request: Self-Contained NCS  Local SDK/Toolchain</title><link>https://devzone.nordicsemi.com/thread/537848?ContentTypeID=1</link><pubDate>Tue, 03 Jun 2025 11:16:26 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:107077f4-72d8-4418-aeb6-26d21c9b0ebf</guid><dc:creator>dejans</dc:creator><description>&lt;p&gt;Hi Alessandro,&lt;br /&gt;&lt;br /&gt;Is your setup the same as in your other ticket linked below?&lt;br /&gt;&lt;a href="https://devzone.nordicsemi.com/f/nordic-q-a/121693/vsc-extension-nrf-connect-nrfutil-home-how-should-be-used"&gt;devzone.nordicsemi.com/.../vsc-extension-nrf-connect-nrfutil-home-how-should-be-used&lt;/a&gt;&lt;br /&gt;How do you intend to use nrfutil from your local folder?&lt;/p&gt;
[quote user=""]From your expert point of view — do you think the system we’ve set up is scalable and reliable enough?[/quote]
&lt;p&gt;What are your future plans with regard to scalability?&amp;nbsp;&lt;br /&gt;Do you have any specific concerns regarding reliability? What would be &amp;quot;reliable enough&amp;quot; in your case?&lt;br /&gt;&lt;br /&gt;Best regards,&lt;br /&gt;Dejan&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>