Embedded Linux Technical Debt Calculator

Embedded Linux
Technical Debt Calculator
 

Calculate the expected and unexpected cost of technical debt to your embedded Linux programs, and understand which aspects of your program technical debt impacts most.

 

Technical debt — the cost of maintaining source code caused by deviation from a main project branch — is a commonly understood concept. Even so, according to a recent survey of embedded Linux practitioners, teams typically underestimate the cost of technical debt to their organizations by more than 60%. This expense is compounded across the number of projects your team develops and supports each year.

Find out the estimated cost of your organization's technical debt.

We spoke with hundreds of embedded Linux practitioners across a range of industries, on developments teams large and small, and with a wide range of budgets. On average, members of this group completed about seven projects of various sizes each year, including new platform work, significant updates, and minor updates.

While the specifics of your company's embedded Linux development practice may differ, you can select from the options below to arrive at an estimate of technical debt in your industry by team size or budget.

    1. SELECT AN INDUSTRY

  1. 2. Select one of the following

  2. OR

Calculated Annual Cost of Technical Debt

$18,741,120
Annual Average

This number is based on the average number of Linux projects per year.

$18,741,120
Predicted Technical Debt

Embedded Linux practitioners understand that they will create some technical debt as they develop their platforms and applications. Unfortunately, the amount of planned technical debt tends to be less than half of the debt they are creating.

$5,640,000
Unexpected Technical Debt

Across all industries, budget ranges, and team sizes, the amount of technical debt that teams did not plan for was significantly higher than the amount they did plan for.

Your technical debt was calculated using average annual development costs.

To get a customized analysis based on your own development program, get in touch with a Wind River expert.

Talk to an Expert

Survey Result Highlights

Which stages of a project are most critical when it comes to addressing technical debt?

Embedded Linux practitioners agree that the design stage is most critical when it comes to technical debt. If anything, the importance of this stage is understated, as many organizations underestimate both the cost and volume of their technical debt.

Which stages of a project are most critical when it comes to addressing technical debt?

Stages of development with lowest tolerance for technical debt

In which stages of development was there the lowest tolerance for technical debt?

The impact of technical debt is felt most acutely in the maintenance, operational, and compliance stages of the lifecycle — after a project team may already have disbanded, devices are already in the field, or a compliance matter demands attention regardless of such factors.


In which stages of development was there the lowest tolerance for technical debt?

Most critical stages for addressing technical debt, according to survey respondents

The Future of Autonomous Delivery Bots - Podcast | Wind River

Listen to Alistair Westgarth of Starship Technologies

The Future of Autonomous Delivery Bots
Alistair Westgarth

The idea of autonomous vehicles delivering products straight to our door may not sound novel, but there are not a lot of examples in practice right now. Listen as Alistair Westgarth of Starship Technologies discusses getting to the next stage, and the need to start now in an environment that is somewhat representative of a wider world of moving bodies, other modes of transport, and some levels of unpredictability.

Additional Podcasts

Back to all podcasts »

Wind River Studio Linux Services: Security Scanning

Wind River Studio Linux 
Services: Security Scanning

Wind River offers professional-grade security vulnerability (CVE) scanning tuned to the unique needs of embedded Linux development, helping you build higher-quality software and accelerate time-to-deployment.

 

Proliferating security exploitations make monitoring and managing CVEs a top priority for Linux platform builders. Automated scanning tuned for complex embedded software systems helps developers quickly identify high-risk vulnerabilities, build higher-quality code, and accelerate time-to-deployment.

  • Our security scanning service uses your SBOM or manifest to identify critical Common Vulnerabilities and Exposures (CVEs). The results allow us to provide a deeper analysis to determine the impact and effort to mitigate.
  • We use a curated collection of data sources, including the Yocto Project, NIST, and other public sources, as well as the Wind River® database of CVEs.
  • We analyze specific platform layers, including hardware, kernel, user space, libraries, and other system components. All vulnerabilities are ranked according to the CVSS v3 scoring system and are presented in a graphical and easy-to-read format.
A real-time snapshot of code health

A real-time snapshot of code health

What We Deliver

SECURITY SCAN AND CVE IDENTIFICATION

We scan your SBOM or manifest using our professional-grade scanner and compare it to an extensive database to accurately identify critical vulnerabilities. Our engineers then provide a deep analysis of results and the impact on your platform.

  • Security vulnerability scan of your Linux platform comprising the kernel, BSP, packages, and shared user libraries
  • Access to our curated knowledge base of vulnerabilities built from public sources such as NIST, the Yocto Project, and the MITRE database of CVEs
  • Detailed security report of all the CVEs that have been identified against your Linux platform code

CVE MITIGATION PLAN

We work with you to build a mitigation plan to address high-risk CVEs. Our team of experts actively engage with you to rapidly identify and prioritize CVEs based on the severity and the exploitability of each vulnerability identified.

  • Prioritization of existing CVEs based on their severity and impact
  • Assessment of the time and effort needed to make your Linux platform secure
  • Path to mitigation and remediation

Alleviating Technical Debt

The exponential increase in security vulnerabilities is one of the leading causes of unexpected technical debt. As development teams push to add new features and get to market faster, CVEs often go unaddressed until late in the development lifecycle, impacting quality and overall project success.

Try our calculator to see how planning for security across the lifecycle can help alleviate technical debt.

Try the Calculator

Wind River Studio Linux Services: Lifecycle Security

Securing your embedded Linux platform is a full lifecycle activity. New CVEs are identified every day, requiring significant investments in engineering resources to actively monitor and address vulnerabilities as they emerge. Wind River provides ongoing monitoring, mitigation, and management of CVEs for your embedded Linux platform throughout the software development and deployment lifecycle. Our team of security experts will take care of the mundane while your engineers focus on innovation.

Learn More »

Vulnerability by year

The Intelligent Systems Future Starts Now - Podcast Hub | Wind River

The Intelligent Systems
Future Starts Now

Browse our podcasts to hear how industry leaders are building the future — today.

 

Featured Podcast

The Future of Autonomous Delivery Bots
Alistair Westgarth

The idea of autonomous vehicles delivering products straight to our door may not sound novel, but there are not a lot of examples in practice right now. Listen as Alastair Westgarth of Starship Technologies discusses getting to the next stage, and the need to start now in an environment that is somewhat representative of a wider world of moving bodies, other modes of transport, and some levels of unpredictability.

Listen to More Podcasts

Wind River Product Security Incident Response Team (PSIRT)

Wind River Product Security
Incident Response Team (PSIRT)
 

The Wind River PSIRT leads the receipt, coordination, and timely resolution of product security vulnerabilities, alerts, and incidents across our supported products.

 

The Wind River® PSIRT works with customers, authorities, the security community, and our Security Office for Secure Development Lifecyle (SDL) polices and standards that empower our development teams and security champions with processes and procedures to identify and resolve, in a timely manner, supported product security issues — aligned to the FIRST.org PSIRT Services Framework and the ISO/IEC 30111 and 29147 standards.

Wind River PSIRT Policy

Wind River values and supports responsible vulnerability disclosure with confidential reporting of vulnerabilities, timely resolution, and a mutually agreed-to timeline for publication as warranted and when remediation is available.

Reporters must provide adequate detail to describe and reproduce the vulnerability in the Wind River product(s), including:

  • CVE number (if applicable)
  • Impacted product or component
  • Applicability to Wind River delivered product
  • Software version
  • Description of the vulnerability and its location
  • Technical details to reproduce the vulnerability
  • Proof-of-concept exploit code if available
  • Contact information (for follow-up and recognition)

For confidential reporting of product security vulnerabilities, please use our PGP Public Key to encrypt the message and email PSIRT@windriver.com.

The Wind River PSIRT will acknowledge receipt of reported vulnerabilities and contact the reporter to discuss the resolution plan, according to the severity and impact of the vulnerability. We do not currently support a monetary bug bounty program. However, we do offer public acknowledgement of researchers adhering to this policy. We support the creation of new CVE entries for our products for unique and un-remediated vulnerabilities.

Wind River continuously provides timely resolution and notification of vulnerabilities and remediations for our actively supported products with Security Bulletins and a comprehensive vulnerability database accessible from our Security Center website. Vulnerability support for Legacy products is provided for customers who have a Long-Term Security Shield (LTSS) agreement and end-of-life (EOL) products, which require a specific Professional Services agreement.

Getting started with Embedded Linux on a Raspberry Pi 4-Japan

 

Raspberry Pi 4で組込みLinuxを始めよう

Aug 12, 2022 Linux

著者:Ashley Tran

はじめに

組込みソフトウェア開発者は、新しいアプリケーションやプロジェクトを開発するために、信頼できるプラットフォーム(ハードウェアとオペレーティングシステム)を常に探しています。ハードウェアの選択において、Raspberry Piは多くの理由から魅力的な選択肢となりえます。Raspberry Piは、安価で多様な使い方ができるため、組込みコンピューティングの初心者にとって最適な選択肢となります。また、アプリケーションの開発だけでなく、製品プロトタイプのような本格的なエンジニアリングプロジェクトにも対応可能です。インテリジェントエッジの普及に伴い、ハードウェアリソースの制限は、ネットワーク接続、グラフィックス、AI/機械学習機能に対する要求の高まりと対照的であり、最短のブートタイムを達成することができます。Raspberry PiをどのOSと使うかを考えるとき、ボード自体に搭載されているRaspberry Pi OS(通称「Raspbian」)がデフォルトの選択肢になるでしょう。RaspbianはDebian GNU/Linuxをベースにしており、お使いのデバイスで起動できる数多くのLinuxディストリビューションの一つに過ぎません。

各OSが特定のリソースやパッケージを提供するため、開発ニーズに合ったOSを選択することが重要です。また、自社でOSを構築するよりも、検証済みのOSを使用する方がコスト面でも有益です。開発者を雇ってシステムを構築し、継続的に保守・更新することは困難であり、コストがかかります。

Raspberry Pi OSは、主にデモ用のプラットフォームですが、より体系的なライフサイクルメンテナンスを提供する代替オプションとしては、Canonical社のUbuntu CoreやWind River Linux Distroなどがあります。

Ubuntu Coreは、Canonical社がリリースしたLinuxディストリビューションで、人気の高いUbuntu Desktopをベースに、セキュリティ、アップデート、最小限のフットプリントに焦点を当てた、組込みデバイス用のバイナリ互換オプションを提供しています。また、ソフトウェアのパッケージングやシステムのデプロイのための「スナップ」(基本的にシステムコンテナ用に圧縮されたアプリケーション)によるカスタマイズが可能です。

Wind River Linux Distroは、市場をリードするWind River Linuxを使用して構築され、人気の高いコミュニティ主導のYocto Projectと互換性があり、Raspberry Pi 4sもサポートしているバイナリディストリビューションです。

目的

組込みソフトウェア開発者の視点に立ち、組込みソフトウェアプロジェクトの2つのプラットフォームを比較検討し、選択肢を分析したいと思います。Raspberry Pi 4でUbuntu CoreとWind River Linux Distroを起動する基本的なプロセスをご紹介します。その上で、どちらのOSがよりスムーズな起動を実現し信頼性の高いアプローチを提供できたか、具体的な開発作業やデプロイ後のメンテナンスに最適なOSを総合的に判断するという、私の経験をご紹介します。

使用機材とプログラム

    ・Raspberry Pi 4 (RPi4) モデルB

    ・マイクロ HDMI ポート

    ・64GBのマイクロSDカード

    ・USB-C電源

Ubuntu Coreを起動

1. 下記のリンクから、デバイスに対応したUbuntu Core with Raspberry Pi 4 イメージをダウンロードしてください。リンク:Raspberry PiにUbuntuをインストールする|Ubuntu

a. 64ビット版をダウンロードすることをおすすめします。

/

2. SDカードをパソコンに挿入してください。

3. Raspberry Pi Imagerを起動します。オペレーティングシステム(OS)イメージのアップロードと、ストレージ(SDカード)の選択が求められます。

4. OS(オペレーティングシステム)をアップロードします。

a. OSは、一番下の「custom」を選択し、ubuntu用の画像をアップロードします。

/

5. ストレージ(挿入したSDカード)を選択します。

/

Wind River Linux Distroの起動

1. Get Wind River Linux Download リンク | Wind River Linux | Distro無償版ダウンロード

a. お客様情報を入力し、Linux Boardとして「Raspberry Pi 4」を選択します。

b. 使用許諾契約書の内容に同意し、フォームを送信します。

/

2. 「Your Wind River Linux Download Links」というタイトルで、ダウンロードのリンクがメールで送信されます。

/

a. ダウンロード可能なファイルは4つです:Minimal Image、Full Image、Development SDK、Source Codeの4つのファイルがダウンロードできます。Minimal Imageは、Full Imageに比べ、デフォルトパッケージの数が少なくなっています。フルダウンロードとミニマムダウンロードを選択することで、ユーザーは、不要な追加パッケージのために容量が消費されることなく、作業中のストレージを効率的に使用することができます。- サイズ (Minimal: 124 MB、Full: 317 MB)

3. 「Minimal Image」または「Full Image」をダウンロードする。

a. これらは、WR Linuxをメモリカードにフラッシュするために必要なイメージファイルです。

b. 「'target-[full or minimal]-bcm-2xxx-rpi4.tar'」が表示されます。

4. ファイルを展開し、イメージファイルを取得します。

a. ファイルを識別しやすくするために、ダウンロードディレクトリに新しいフォルダを作成します。例:'WR Linux’

b.  ダウンロードした画像ファイルをフォルダーに移動します。

5. ファイルを2回解凍します。

a. Windows10では、WRイメージファイル>右クリック> 7-Zip>Extract filesを選択します。

b. 作成されたファイルの中で、前のイメージファイルと同じ名前で、接尾辞がtarでないものを探します。

c. ファイルを解凍します。

d. 7つくほどのファイルがあるはずですが、一番重要なのは画像ファイルが表示されることです。末尾は「.ustart.img.gz」で、ファイルにはRaspberry Piのロゴが表示されます。

/

6. SDカードをパソコンに挿入します。

7. Raspberry Pi Imagerを開き、OSを選択します。

a. 一番下までスクロールして、「Use custom(カスタムを使用)」を選択します。

b. イメージファイルを選択します:wrlinux-image-[full or minimal]-bcm-2xxx-rpi4.ustart.img.gz

/

8. 「Storage」は、SDカードを選択します。

9. 「Write」をクリックし、WR Linux イメージファイルがメモリカードにフラッシュされるのを待ちます。

比較

Wind River Linux Distroは最初から、Raspberry PiにOSをブートできるようになるまで、いくつかの追加手順を含んでいたのに対し、Ubuntu Coreのダウンロードからブートまでのプロセスは、より合理的でした。しかし、機能面では、この2つのLinuxディストリビューションは、異なるニーズに対応して動作しています。Wind River Distroは、Yocto ProjectやOpen Embeddedなどの一般的な技術との互換性に依存する組込みシステムの開発者のニーズを満たしています。Yocto Projectを活用することで、ウインドリバーは余計なものを排除して必要なものだけを含むカスタマイズされたLinuxプラットフォームを開発することができます。また、組込みプロセッサの幅広いサポート、セキュリティの脆弱性の継続的な監視、長期的なサポートを提供するなど、組込み機器に携わるものにとって最適な選択肢となっています。一方、Ubuntu Coreは、すでにエンタープライズ向けのUbuntu Desktopに慣れていて、汎用Linuxアプリケーションを組込みデバイスにデプロイするための代替手段を必要としている人に適したオプションです。この場合、開発者は、Linux Assembly Tool (LAT)を使ったカスタマイズや設定よりも、スナップストアを使ったパッケージの追加のしやすさを重視するかもしれません。

組込みソフトウェア開発者としては、Raspberry Pi4のような手頃で信頼性の高いハードウェアを利用できる一方で、その上での構築には複数の選択肢があることを知っておくとよいでしょう。

Ashley Tranについて

Ashley Tranは、ウインドリバーのプロダクトGo-to-Marketインターンとして、マーケティングおよびセールスチームのために、発売計画の策定、市場調査、競合分析に携わっています。南カリフォルニア大学でコンピュータサイエンスと経営管理の学士号を取得予定です。技術、デザイン、ビジネスに興味があります。