Zephyr West build without internet access (not a question)

Dear Nordic,

The west build system is not acceptable for firmware development.

Firmware != Software. When we create firmware for a product, it must last for years. We cannot  rely on the availability of 20 different github repositories being available 5 years from now.  If one goes missing the build breaks, and everything must be upgraded.  This is not how firmware development works.  

When we check in code to a repository, IT MUST BUILD WITHOUT INTERNET ACCESS.

This means all tools must be locked down.  So of course we aren't going to use any of the visual studio plugins, just CLI.

West must be bypassed through backup and restoration of all dependency .git folders in our build process so the 5 GB of bare metal SDK garbage can actually be checked in.

Day 127 of being tricked into using the "bare metal" SDK through false advertising.  

Regards,

David

Parents
  • Hi David,

    When making tools, such as the nRF Connect SDK Bare Metal, we are making choices on design that we think will be the most beneficial. Unfortunately, the fit can not be perfect for everyone. 

    That said, I think you will be happy to hear that you can build projects with the nRF Connect SDK Bare Metal without internet. To build with this SDK you do need to install the following: 

    1. Toolchain
    2. SDK

    To install and update these, you need internet. However, once  you have installed them, you can build and flash our devices without internet.

    Additionally, we provide the VS Code Extension as an IDE to help you develop with our devices. I do not think that this requires internet to work either.

    If you have any issues with operating the Toolchain or SDK without internet, let me know in this ticket, and I will assist you as best I can.

    Regards,
    Sigurd Hellesvik

  • Hi Sigurd,

    Once a firmware project begins, the tools are locked down and upgrading tools is not something to be taken lightly, as it requires extensive validation.  Software is much more flexible as it doesn't typically adhere to the same levels of validation.  That's the reason it's called Firmware.

    Firmware must be able to stored away for a few years, come back and have it still compile.  It will never treated as some continuous integration project of the latest updates and SDK updates.  If you survey your customers, I'm sure you will find this to be true across the board. 

    This means, I should be able to take any laptop with fresh OS installation, checkout the tools and code from my repository, and have it compile.  As simple as that, and your toolset does not support that.

    David

  • Toolchain: 

    See  Required tools for a list of which version of which tools in our toolchain. You can select "Version" on this docs page to see which versions we tested for a specific version of the nRF Connect SDK.
    You are free to install and "freeze" versions of these as you see fit. 
    There are multiple ways to do this, but to mention some:

    • You can use nrfutil device toolchain-manager to install a specific version of the toolchain.
    • you can for example use a docker container with pinned dependencies.

    SDK:

    You can see a list of repositories we depend on at nRF Connect SDK repository revisions. You can select "Version" on this docs page to see which versions we tested for a specific version of the nRF Connect SDK.
    You are free to download and "freeze" any of these as you see fit. 
    There are multiple ways to do this, but to mention one, you can install the SDK normally and then copy out the folders containing the SDK and store them where you want.

Reply
  • Toolchain: 

    See  Required tools for a list of which version of which tools in our toolchain. You can select "Version" on this docs page to see which versions we tested for a specific version of the nRF Connect SDK.
    You are free to install and "freeze" versions of these as you see fit. 
    There are multiple ways to do this, but to mention some:

    • You can use nrfutil device toolchain-manager to install a specific version of the toolchain.
    • you can for example use a docker container with pinned dependencies.

    SDK:

    You can see a list of repositories we depend on at nRF Connect SDK repository revisions. You can select "Version" on this docs page to see which versions we tested for a specific version of the nRF Connect SDK.
    You are free to download and "freeze" any of these as you see fit. 
    There are multiple ways to do this, but to mention one, you can install the SDK normally and then copy out the folders containing the SDK and store them where you want.

Children
No Data
Related